-
Notifications
You must be signed in to change notification settings - Fork 60
This issue was moved to a discussion.
You can continue the conversation there. Go to discussion →
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
How to change clock_period in sim_input.yml #650
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. |
Got it. Thanks! |
Hi,
Edit: |
|
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. |
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 |
|
I add the |
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. |
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. |
Also, can you make a PR with this? |
Yes, I have made a PR with the patch. |
Merged, thanks! Good luck with your finals, and hope you can test out #653 afterwards. |
When I run par with floorplan.tcl, the instance name of the SRAMs is not aligned with the design. Where can I change the inst name prefix? I guess the path is fetched from |
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 |
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. |
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! |
I just use genus to dump the SRAM list from ``get_db insts -if {.is_macro==true}] > sram.log. |
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. |
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? |
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. |
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. |
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? |
|
|
If want to avoid the first reset cycle using only half clock period causing timing violation, modify The original testbench will look like this: |
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 |
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 |
This issue was moved to a discussion.
You can continue the conversation there. Go to discussion →
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!
The text was updated successfully, but these errors were encountered: