Pin Constraints File (.xml)¶
The Pin Constraints File (PCF) aims to create pin binding between an implementation and an FPGA fabric. It is a common file format used by FPGA vendors, for example, `QuickLogic<https://docs.verilogtorouting.org/en/latest/vpr/file_formats/#placement-file-format-place>`_.
An example of design constraints is shown as follows.
<pin_constraints> <set_io pin="clk" net="clk0" default_value="1"/> <set_io pin="clk" net="clk1"/> <set_io pin="clk" net="OPEN"/> <set_io pin="clk" net="OPEN"/> </pin_constraints>
The pin name of the FPGA fabric to be constrained, which should be a valid pin defined in OpenFPGA architecture description. Explicit index is required, e.g.,
clk[1:1]. Otherwise, default index
0will be considered, e.g.,
clkwill be translated as
The net name of the pin to be mapped, which should be consistent with net definition in your
.bliffile. The reserved word
OPENmeans that no net should be mapped to a given pin. Please ensure that it is not conflicted with any net names in your
The default value of a net to be constrained. This is mainly used when generating testbenches. Valid value is
1. If defined as
1, the net is be driven by the inversion of its stimuli.
This feature is mainly used to generate the correct stimuli for some pin whose polarity can be configurable. For example, the
Resetpin of an FPGA fabric may be active-low or active-high depending on its configuration.
The default value in pin constraint file has a higher priority than the
default_valuesyntax in the Circuit Library.