-
Notifications
You must be signed in to change notification settings - Fork 88
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
FullMemoryWE
leads to excessive blockram usage on ECP5
#70
Comments
I've investigated this a bit more: The memory get has a port with a we granularity of 8, which means that If I remove With Ethernet
EDIT: Sorry, turns out I had accidentally removed Not sure what |
FullMemoryWE
leads to excessive blockram usage on ECP5
For reference I don't have this problem. But I use the standalone core generator. |
@umarcor - You were talking about this in reference to GHDL or something? |
On ecp5 `FullMemoryWE` leads to an increase of DP16KD block mem, while it works better on Intel/Altera devices according to 6c3af74. Simple solution: Allow it to be toggled
On ecp5 `FullMemoryWE` leads to an increase of DP16KD block mem, while it works better on Intel/Altera devices according to 6c3af74. Simple solution: Make it configurable
Leads to an increase in DP16KD, first noticed in enjoy-digital/liteeth#70. With full_mem_we: ``` Info: DP16KD: 41/ 56 73% ``` Without: ``` Info: DP16KD: 29/ 56 51% ```
I found the commit: 6c3af74 UPD: oops, it was already mentioned. |
For some reason github didn't pick it up, but I opened a PR to make this configurable: #72 |
On ecp5 `FullMemoryWE` leads to an increase of DP16KD block mem, while it works better on Intel/Altera devices according to 6c3af74. Simple solution: Make it configurable
Yes. @stnolting wants to use "tool agnostic VHDL" in NEORV32, so we did several tests for inferring memories with GHDL and Yosys. There were two main issues: global enable and byte granularity. |
mac: Allow configuring usage of FullMemoryWE (fixes #70)
Leads to an increase in DP16KD, first noticed in enjoy-digital/liteeth#70. With full_mem_we: ``` Info: DP16KD: 41/ 56 73% ``` Without: ``` Info: DP16KD: 29/ 56 51% ```
The colorlight target doesn't build anymore, due to too much blockram being used. It seems like tx/rx slots use up an excessive amount.
Versions
Yosys 0.9+4081 (git sha1 5a73f296c, gcc 11.1.0 -march=native -mtune=generic -O2 -fno-plt -fPIC -Os)
nextpnr-ecp5 -- Next Generation Place and Route (Version c73d4cf6)
Project Trellis ecppack Version 1.0-505-g0e6a320
(current git versions)
Without
With Ethernet
With Ethernet (ntxslot = 1)
With Ethernet (ntxslot = 1, nrxslot = 1)
With Ethernet (ntxslot = 0, nrxslot = 1)
With Ethernet (ntxslot = 4, nrxslot = 1)
It seems that a txslot takes 8 dp16kd (naive calculation means a tx slot takes 16kB, that's probably not how they're used) and an rxslot takes 4 dp16kd.
In my (very naive) search for ntxslots memory usage I only found
liteeth/liteeth/mac/sram.py
Line 277 in 6febb1a
The text was updated successfully, but these errors were encountered: