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

Split SDC plugin into separate timing constraints related plugins #30

Open
tmichalak opened this issue Sep 2, 2020 · 2 comments
Open

Comments

@tmichalak
Copy link
Collaborator

The objective is to divide the functionalities of the current SDC plugin into 2 optionally 3 separate plugins:

  1. 'sdc' -- The part which reads SDC into the Yosys attributes, i.e. read_sdc and write_sdc
  2. 'propagate-constraints' -- The part which propagates the constraints in the Yosys attributes across things like clock buffers and similar, i.e. propagate_clocks (and maybe future things like generate_pll_config or something?)
  3. (optionally) 'pcf' -- In case we end up wanting a read_pcf or read_other_timing_constraint_format plugins which pull data into the same Yosys attributes.

In the current SDC plugin implementation the clock information is not assigned to parameters but kept in a separate Clocks class object. The object would have to be global in order to work for all timing related plugins or the clock information would have to be stored in the RTLIL::Wire parameters in form of extra parameters.

@tmichalak
Copy link
Collaborator Author

@mithro @litghost Please have a look if the description correctly captures the main idea of the SDC plugin split.

@mithro
Copy link
Collaborator

mithro commented Sep 2, 2020

This is correct.

I would say that storing the information in parameters is a separate issue that should be logged.

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

2 participants