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

Missing Quartus specific constraints and attributes for 2-FF synchronizer #2

Open
Paebbels opened this issue Apr 6, 2018 · 2 comments

Comments

@Paebbels
Copy link

Paebbels commented Apr 6, 2018

According to the IP core description file these synchronizers are intended to be used with Quartus. Unfortunately, Quartus specific constraints and attributes are missing:

  • 2 times PRESERVE
  • ALTERA_ATTRIBUTE setting SYNCHRONIZER_IDENTIFICATION
@olofk
Copy link
Contributor

olofk commented Apr 7, 2018

Yes, the intention is to use them for all kind of FPGAs and hopefully just switch in the correct constraints depending on the tool.
Haven't thought of setting those attributes, but you are right. It should also likely use the async_reg property for vivado.

Do you know if these can be set from the SDC file, or if they have to be set directly in the source. I'm not sure how to do this in a good way in the source code. For VHDL you can just pass the attribute value as a generic, but for verilog I think you are forced to use `ifdef to do the equivalent thing. Any ideas?

@Paebbels
Copy link
Author

Paebbels commented Apr 7, 2018

The experience from Vivado + VHDL is that it ignores lot's of attributes even if they are specified in the user guides. It might be a problem of the clocking wizard, because it complains that async_reg was not applied und needs a new line in the XDC despite the fact that it was already applied via VHDL attributes.

To answer your question: Yes, Vivado supports most of the properties and attributes to be applied via:

  • VHDL attribute
  • Verilog (how do they call it?), and
  • XDC setting.

PoC uses vendor dependent implementations, that are chosen with generate statements based on the matching configuration:

  • Generic
  • Xilinx
  • Altera

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