asap-7 dual port SRAM #720
Replies: 16 comments
-
The SRAM2RW models allow a read or write operation simultaneously on both ports (but of course, you should not have the same address on both ports). Yes, 2prf would be suitable. For the |
Beta Was this translation helpful? Give feedback.
-
I substitube asap7-srams with T28 SRAMs macro. But the rv64-p-simple test occurs "A-write and B-read ,same-addr" error (same as the condition you mentioned to must avoid). And then I double check the signals in asap-7 sram simulation case.
|
Beta Was this translation helpful? Give feedback.
-
Avoiding the potential RAW on the same cycle is the responsibility of the microarchitecture. Using the Chisel 1R1W mem model, while the microarchitecture is allowed to issue a read and write to the same address on the same cycle, it must also be able to handle the undefined read data in this case. In the example shown, the branch predictor is a case where RAW hazards doesn't matter, as the pipeline will do the right thing no matter what is read |
Beta Was this translation helpful? Give feedback.
-
Hi: Thanks for the explanation. I have fixed this problem here. Then I want to leverage hammer-synopsys-plugin to do synthesis with Design Compiler tool. when rewriting t28 tech plugin nested in Best, Edit:and should I add all sram libraries description to tech.json? |
Beta Was this translation helpful? Give feedback.
-
A couple points:
|
Beta Was this translation helpful? Give feedback.
-
Huh, what a pity! honestly, we really rely on T28 tech and synopsys dc+icc toolchain to realize physical design. So I will still try to deubg with it.
I have tried to excute it in debug mode to check all the parameter inputs to run_synthesis bash file. Another question is : where does
So Great job! could you please tell me when? Maybe in a month? Excited about it! |
Beta Was this translation helpful? Give feedback.
-
We had a contributor update the ICC (legacy) plugin recently, but not DC. It's possible that he found the DC plugin to be sufficient? https://github.com/ucb-bar/hammer-synopsys-plugins/commits/master?author=harikumar27399
The .tech.json file is supposed to be part of the technology plugin that you have made for T28. I think you've used the documentation to build it: http://docs.hammer-eda.org/en/latest/Technology/Tech-json.html. As long as you've selected the technology library properly, the .tech.json is implicitly loaded, no command-line necessary. It is shared globally by all designs that use the tech plugin.
Probably less! |
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
-
If you look at the clock constraint, you can specify |
Beta Was this translation helpful? Give feedback.
-
Hi: After synthesis, I wanna give multiple benchmarks to sim parallely, could I assign mutiple binary inputs to the command by like this? best, |
Beta Was this translation helpful? Give feedback.
-
Unfortunately, Chipyard's Makefiles do not support that at the moment. However, Hammer does. If you look at this line in the vlsi Makefile: https://github.com/ucb-bar/chipyard/blob/main/vlsi/Makefile#L163, if you can modify this to put a list of strings, one for each binary, then Hammer sim does support running them in parallel with the |
Beta Was this translation helpful? Give feedback.
-
Thanks a lot. I have revise Makefile here then it can accept mutiple benchmarks input. and after estimating post-synthesis power using two benchmarks simulation outputs saif. I found the average power of this two are so close. I was wondering that the "time" saif mode might affect this(0.0ns - 100,000,000ns), there is only a small section of activity inside complete waveform. after checking vcs tool plugin, I found there are three saif are provided there: time, trigger(unsupported), trigger raw. In trigger-raw mode, we need to provide start_trigger_raw amd end_trigger_raw. I 've never used this mode to do vcs simulation before. Could I dump the most active section of the waveform by this way? if possible, could you please give me an example of start_trigger_raw amd end_trigger_raw scripts? |
Beta Was this translation helpful? Give feedback.
-
The trigger_raw mode is intended for you to set your own power dumping start/end triggers, and it is "raw" because you will need to write the exact UCLI commands into the keys. According to the UCLI user guide, I think you would need to use the
|
Beta Was this translation helpful? Give feedback.
-
Thank you so much! I will try to figure that out. |
Beta Was this translation helpful? Give feedback.
-
Hi: when I follow the hammer flow stage by stage, run the below command: makefile L248-L249 under vlsi folder tell me to set HAMMER_D_DEPS to empty string will avoid rebuild rtl, but it didn't work after I tested it, could you please give me some tips how can I avoid this rtl rebuild behavior? best, |
Beta Was this translation helpful? Give feedback.
-
I have not seen this behavior before, as long as none of the input configuration (yml files) are modified between each step in the flow. Can you try setting |
Beta Was this translation helpful? Give feedback.
-
Hi:
I am using asap-7 behavior model provided inside hammer. I was wondering whether both ports of SRAM2RW* instance will be used to write and read, because I want to substitute asap7-sram with other SRAMs of another technology. If one of them be only used to write and another used to read. Then 2prf (2 port register file) is suitable for reg-to-sram substitution. am I right ? or must I use DPSRAM whichever technology I choose ?
or let's say,will configuration
“rw, rw”
/"mrw, rw"
show up in top.mem.conf ?for now, I just see
"write, read", "mwrite, read"
casesbest,
Leon
Beta Was this translation helpful? Give feedback.
All reactions