Skip to content
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

sdc-plugin doesn't support the -add argument #180

Open
3 tasks
mithro opened this issue Dec 29, 2021 · 0 comments
Open
3 tasks

sdc-plugin doesn't support the -add argument #180

mithro opened this issue Dec 29, 2021 · 0 comments

Comments

@mithro
Copy link
Collaborator

mithro commented Dec 29, 2021

It seems that some sdc solutions (like Quartus and Vivado) support the optional -add argument to create_clock, see below;

create_clock -add -name clk100mhz_i -period 10.00 -waveform {0 5} [get_ports {clk100mhz_i}];

https://www.intel.com/content/www/us/en/programmable/quartushelp/13.0/mergedProjects/tafs/tafs/tcl_pkg_sdc_ver_1.5_cmd_create_clock.htm

create_clock [-h | -help] [-long_help] [-add] [-name <clock_name>] -period <value> [-waveform <edge_list>] [<targets>]

...

   -add       Adds clock to a node with an existing clock

...

The semantics are described as;

If a clock with the same name is already assigned to a given target, the create_clock command will overwrite the existing clock. If a clock with a different name exists on the given target, the create_clock command will be ignored unless the -add option is used. The -add option can be used to assign multiple clocks to a pin or port.

We should make sure we have tests for;

  • Using create_clock with the same name on a given pin/port replaces the existing clock.
  • Using create_clock with a different name on given pin/port the result is ignored (but we should issue a highly visible warning that this is occuring).
  • Using create_clock with -add is able to assign multiple clocks to a given pin/port.

It is likely with the current semantics people do things like;

  • Step 1 - Select all pins and set constraint A
  • Step 2 - Select some pins and override the existing constraint A with a different constraint B
mglb pushed a commit to antmicro/yosys-f4pga-plugins that referenced this issue Apr 3, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant