-
Notifications
You must be signed in to change notification settings - Fork 38
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
Slow SRAM #59
Comments
the issue is in the data cache / instruction cache ? or you mean the main SRAM of the chip, (the peripheral) |
Yes, the sram in the data cache and instruction cache. The sram that fab gives can only run at 200MHz, but the logic of the nax core can run much higher in this process. |
natively, there is no option to have a multi cycle ram for the caches. It may also be faisable for the D$, but that a bit more tricky, as the LSU is interacting with it. Hmm, so, even with a fully relax data path on the SRAM read data, the fmax is 200 Mhz ? |
May i ask which fab it is ? |
The max speed of SRAM block itself is about 280MHz, but I need to support ECC... (The fmax of nax without SRAM is up to 350MHz in this process)
Ahhhh, UMC, with eflash process. |
And the large rams in Nax (BTB,GShare,Cache) are dual-port rams. In simulation, these pieces of RAM all have the situation of simultaneously reading and writing data to the same address. So are they read-first? Or write-first? |
The CPU is designed to not care about the readed value when there is conflicts. The only thing which matther to it is that it doesn't generate metastable value i would say. |
I just want to use Nax as a embedded core of MCU, but the SRAM the fab provides can't run at the frequency that CPU can do. My solution is to integrate a half-speed SRAM. So, is there anyway to increase the number of cycles for cache accessing the SRAM? Or, is there a better idea?
The text was updated successfully, but these errors were encountered: