FPGA design from scratch. Part 12
Adding synthesis constraints
Constraints are essential to help you meet your design goals or obtain the best implementation of your circuit. Constraints are available in XST to control various aspects of the synthesis process itself, as well as placement and routing. Synthesis algorithms and heuristics have been tuned to automatically provide optimal results in most situations. In some cases, however, synthesis may fail to initially achieve optimal results; some of the available constraints allow you to explore different synthesis alternatives to meet your specific needs.
XST constraints can be specified in a file called the Xilinx Constraint File (XCF). The XCF must have an extension of .xcf.
To add a synthesis constraints file open the Synthesis Options window by right-clicking Synthesize - XST in the Proceses window and select Properties. Mark the Use Synthesis Constraints File box and fill in the name of the Synthesis Constraints File : /home/svenand/root/projects/ETC/synthesis/constraints/ETC_constraints.xcf

This table shows all synthesis constraints available for XST.
Here is the constraints file I am using to make a safe implementation of the case statements in the ETC_CONFIG module.
BEGIN MODEL ETC_CONFIG
NET jtc_tck_source safe_implementation = yes;
NET tdo_source safe_implementation = yes;
NET jtc_tms_source safe_implementation = yes;
NET jtc_trstz_source safe_implementation = yes;
NET jtc_tdi_source safe_implementation = yes;
NET mtc_tdo_source safe_implementation = yes;
END;
When we rerun the synthesis we will see the following messages appear in the report file:
Analyzing module <ETC_CONFIG> in library <work>.
Set property "SAFE_IMPLEMENTATION = yes" for signal <jtc_tms_source> in unit <ETC_CONFIG>.
Set property "SAFE_IMPLEMENTATION = yes" for signal <jtc_tck_source> in unit <ETC_CONFIG>.
Set property "SAFE_IMPLEMENTATION = yes" for signal <jtc_trstz_source> in unit <ETC_CONFIG>.
Set property "SAFE_IMPLEMENTATION = yes" for signal <mtc_tdo_source> in unit <ETC_CONFIG>.
Set property "SAFE_IMPLEMENTATION = yes" for signal <tdo_source> in unit <ETC_CONFIG>.
Set property "SAFE_IMPLEMENTATION = yes" for signal <jtc_tdi_source> in unit <ETC_CONFIG>.
Top Next Previous
Posted at 03:56 pm by
svenand