-
Notifications
You must be signed in to change notification settings - Fork 894
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
synth for ECP5, inferred true dual port ram is not allocated DP16KD ram .. #1101
Comments
Right now Yosys' BRAM doesn't support shared read/write ports such as in a true dual port RAM. If you can suffice with one write and two read ports, then Yosys would be able to map this. Otherwise unfortunately you'll have to rely on instantiation until someone gets round to fixing |
Ok, thanks, that explains it .... |
Tried one write two read ports, (i.e removed the write section in Port B above ) still did not map .... |
Looks like it might be triggering the same bug as #1087, Yosys currently doesn't accept this style of read-after-write. |
I have this code:
Here is Yosys master output with signal 2 always block commented out:
Here is the output with full code:
I'm expecting the 2 signals to share the same DP16KD cell, especially since both of them are read only Here is the output of MEMORY_BRAM pass:
It knows there are 2 read ports but for some reason it fails to map it so it duplicates it instead EDIT: make new issue: #1836 |
Steps to reproduce the issue
I have inferred ram like so:
Expected behavior
DP16KD >0
Actual behavior
The routing report with nextpnr-ecp5 results in:
Any idea's ? Something to try ..
The text was updated successfully, but these errors were encountered: