-
Notifications
You must be signed in to change notification settings - Fork 59
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
Add generated clocks to clock API #153
Conversation
Not sure if this file was deliberately omitted from creation, but creating it prevents an infinite loop if the target depends on the stamp
Otherwise macro extraction scripts may fail.
As per Colin, apparently won't be a major source of problems
…r structure - Start of hammer-vlsi/"little hammer" structure - Port existing synthesis and place and route scripts to new structure - Get a working first pass with DC+saed32
Fix non-deterministic test
And support installs vs tarballs
Too often we need to know their lengths
@@ -110,6 +110,9 @@ vlsi.inputs: | |||
# period (TimeValue) - Clock port period. e.g. "1 ns", "5ns". Default units: ns | |||
# port (str) - Optional. If specified, this is the RTL path to the clock. Otherwise, the path is the same as the name. | |||
# uncertainty (TimeValue) - Optional. Clock uncertainty. e.g. "1 ns", "5ns". Default units: ns | |||
# generated (bool) - Optional. If specified this clock is generated from another clock, must specify source_port and divisor | |||
# source_port (str) - Required if generated. The port of the clock that this clock is generated from. | |||
# divisor (int) - Required if generated. The amount this generated clock is slowed from the source clock e.g. 2 => this clock will be two times slower than the source clock. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
-
is it worth renaming "port" to "path" for clock constraints?
-
Does the tool only support integer divisors?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
-
Doesn't matter to me either way. I'll change it (port is slightly too specific).
-
Yes. SDC supports only integers. It does also support multiplication but I don't have experience with that.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the explanation:
"SDC supports only integers. It does also support multiplication but I don't have experience with that." <-- can we add that as a comment to the file so we can remember this reasoning?
A relatively simple/straightforward API for generated clocks.
One could imagine an API that uses the source clock's name rather than port but I think these json/yml structures should be generated so thats not a big usability improvement?