How to change clock_period in sim_input.yml #719
Replies: 32 comments
-
This should be a Chipyard issue, but here's the answer.
Of course, matching the two clock periods only matters if you are doing timing-annotated gate-level simulations. |
Beta Was this translation helpful? Give feedback.
-
Got it. Thanks! |
Beta Was this translation helpful? Give feedback.
-
Hi,
Edit: |
Beta Was this translation helpful? Give feedback.
-
|
Beta Was this translation helpful? Give feedback.
-
I don't understand why would the delay be 0 in the simulation? Don't we have SRAM lib which delay can be calculated and annotated in the simulation?
That would be great.
Ok. I will test it out. |
Beta Was this translation helpful? Give feedback.
-
Oh, I see. Yes, indeed the SDF file encodes the SRAM timing, sorry for not checking this. You are also correct that Genus can't check hold time, hence you see the violation in Tempus (we are planning to add a Tempus plugin for STA soon). However, Tempus understands the uncertainty (100ps) but VCS does not, so that path in Tempus should not cause a hold violation in VCS... Another thing to check: what is the effective |
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
-
|
Beta Was this translation helpful? Give feedback.
-
|
Beta Was this translation helpful? Give feedback.
-
I add the |
Beta Was this translation helpful? Give feedback.
-
Thanks for catching the extra BYTEMASK in those 2 memories. I'm not sure how they ended up there. I will try to see if I can remove it since it's confusing if it's there, but I will need to see if I still have the ability to generate the collateral. |
Beta Was this translation helpful? Give feedback.
-
I was able to remove BYTEMASK from the LEF/GDS/LIB views for those 2 SRAMs (see the PR). Please try it out and see if it works. You will need to re-synthesize. |
Beta Was this translation helpful? Give feedback.
-
Also, can you make a PR with this? |
Beta Was this translation helpful? Give feedback.
-
Yes, I have made a PR with the patch. |
Beta Was this translation helpful? Give feedback.
-
The inst name of SRAMs is generated from the MacroCompiler step, and cannot be changed unless you change it in the generated Verilog. As for the floorplan, you must provide a position for each SRAM instance (see |
Beta Was this translation helpful? Give feedback.
-
In this case, if I change a design from
Edit: I think the same question is asked here: https://groups.google.com/d/msgid/chipyard/e8f6e896-2f58-495d-a7b0-c29acedeb82cn%40googlegroups.com. Edit: Is the "coreSite" the same as the asap7 site? Because the "coreSite" is not defined yet. |
Beta Was this translation helpful? Give feedback.
-
Correct. It is definitely a bit tedious. As for placement guidelines, you should cluster ICache and DCache, and within those clusters, the tag and data arrays should be placed together. Placement/orientation needs to leave room for routing and cannot block pin access. We are working on a research project to automatically generate placement constraints from Chisel. Ack - good catch on the coreSite. With the ASAP7 r1.7 update, they changed the site to asap7sc7p5t. I'll update the #653 PR with this fix. Edit: done, please test! |
Beta Was this translation helpful? Give feedback.
-
I just use genus to dump the SRAM list from ``get_db insts -if {.is_macro==true}] > sram.log. |
Beta Was this translation helpful? Give feedback.
-
You could also just have Innovus do auto-floorplanning with the key Yes, we've also been interested in Google's placer, but we haven't had the resources to play with it. |
Beta Was this translation helpful? Give feedback.
-
I will test this PR today and let you know the result.
Nice, I will also test this out.
I think it will be a very nice topic/feature! About resources, do you mean not enough researchers to play with it? |
Beta Was this translation helpful? Give feedback.
-
Thanks!
Correct. But also, there are some claims that this doesn't actually improve upon the auto-placers in commercial tools, so that's an entire research project in itself to analyze its performance in generalized designs. |
Beta Was this translation helpful? Give feedback.
-
I am trying to run Genus physical flow. Have you tried this flow before? If we can get some physical information at the synthesis stage before really run PAR, it would be useful. |
Beta Was this translation helpful? Give feedback.
-
No, we have not yet, but is something we do want to support. I'm not familiar with how it works, but can vlsi.inputs.placement_constraints be used to constrain the initial floorplan? |
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
-
|
Beta Was this translation helpful? Give feedback.
-
|
Beta Was this translation helpful? Give feedback.
-
If want to avoid the first reset cycle using only half clock period causing timing violation, modify The original testbench will look like this: |
Beta Was this translation helpful? Give feedback.
-
I saw a lot of people encountered this VCS 2021.09
Edit: Maybe I should upgrade my vcs from 2021.09 to 2022.06, I will try this too. VCS 2022.06
Edit: If I turn off the |
Beta Was this translation helpful? Give feedback.
-
I have a question, I am still solving the simulation failed with SDF annotation. Edit: 1ns/10ps -- *I am still running other tests Edit: Update some waveform file on chipyard mail group: https://groups.google.com/g/chipyard/c/s41ND6XJtik |
Beta Was this translation helpful? Give feedback.
-
Hi,
After I change the config in
example-asap7.yml
The design sdc and
sim-syn-input.json
are using 1.25ns setting without problem but the sim-input.yml stays at the 1ns setting.Where can I change the
sim-input.yml
to follow thevlsi.inputs.clocks
?Thanks!
Beta Was this translation helpful? Give feedback.
All reactions