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

Create a parser for the XDC file format #2

Open
mithro opened this issue Dec 30, 2017 · 2 comments
Open

Create a parser for the XDC file format #2

mithro opened this issue Dec 30, 2017 · 2 comments

Comments

@mithro
Copy link
Contributor

mithro commented Dec 30, 2017

XDC is the new file format used for constraints in Vivado. To be able to parse designs which use XDC file format we need a parser for it.

The XDC file format is described here -> https://www.xilinx.com/support/documentation/sw_manuals/xilinx2017_2/ug903-vivado-using-constraints.pdf

XDC is based on SDC - The Synopsys Design Constraints format. So the parser here -> https://github.com/verilog-to-routing/vtr-verilog-to-routing/tree/master/libs/EXTERNAL/libsdcparse might be useful.

There are key differences between Xilinx Design Constraints (XDC) and User Constraints File
(UCF) constraints. XDC constraints are based on the standard Synopsys Design Constraints
(SDC) format. SDC has been in use and evolving for more than 20 years, making it the most
popular and proven format for describing design constraints.

@Nic30
Copy link

Nic30 commented Nov 24, 2018

XDC is a subset of TCL, there is a ANTRL4 grammar for TCL. There is a grammar for ANTRL4 https://github.com/Nic30/hdlConvertor/blob/master/grammars/tcl.g4

GitHub
verilog and vhdl parser module for python. Contribute to Nic30/hdlConvertor development by creating an account on GitHub.

@mithro
Copy link
Contributor Author

mithro commented Nov 24, 2018

@Nic30 Having a grammar is the first step. Still need to process it into more useful constructs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants