lowRISC / lowRISC/opentitan

[prim_fifo_async] Unifying prim_fifo_async and prim_fifo_async_sram_adapter

Open
#7,706 1 comment 0 reactions 0 assignees View on GitHub
Component:RTL Earlgrey-PROD Triaged Priority:P4 Type:Enhancement
Dominant language
SystemVerilog
Stars
3.6k
Forks
1.1k
Avg merge
2d 22h
Merged PRs (30d)
141

Description

This issue is a follow-up of #7678 . The `prim_fifo_async_sram_adapter` module in the PR #7678 has a common logic (managing pointers) that is used in `prim_fifo_async`. This issue is to suggest changes:

- [ ] Create a submodule to manage pointers and instantiate the module in both FIFO Async primitives.
- [ ] Use `prim_fifo_async_sram_adapter` inside the `prim_fifo_async` for the DPSRAM FIFO implementation.

CC: @tjaychen @msfschaffner

Contributor guide

Open the contributing guide

Research direction

Start by reading the prim_fifo_async and prim_fifo_async_sram_adapter modules and the related changes in PR #7678. Identify the shared pointer-management logic and how the DPSRAM FIFO implementation is selected. Done means both FIFO primitives use a common pointer submodule and prim_fifo_async uses prim_fifo_async_sram_adapter for DPSRAM.

Written by the indexing model from the issue text.

Assessment

Domain
embedded-iot
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.