Similar resources¶
VLSI-EDA/PoC¶
PoC has a large collection of constraint files for Xilinx ISE/Vivado and Intel/Altera’s Quartus-II. The initial commit of this repository imported most of the content from VLSI-EDA/PoC: ucf/.
INTI-CMNB-FPGA/fpga_lib¶
fpga_lib contains some YAML files that use a custom format: INTI-CMNB-FPGA/fpga_lib: boards/. A Python script (boardfiles.py) allows generating UCF files from the YAML sources.
ghdl/ghdl-yosys-plugin¶
Constraints files (.pcf and .lpf) for open source boards are based on resources from ghdl/ghdl-yosys-plugin, antonblanchard/ghdl-yosys-blink, im-tomu/fomu-workshop, etc.
litex-hub/litex-boards¶
litex-boards is equivalent to this repository, but constraints are defined as Python modules. It’d be interesting to allow conversions between the YAML and LiteX board definitions. At the same time, from LiteX definitions it should be possible to generate vendor constraint files matching the guidelines.
amaranth-lang/amaranth-boards¶
amaranth-lang/amaranth-boards provides board and connector definition files for Amaranth HDL. It is also equivalent to this repository, but constraints are defined as Python modules. As with litex-boards, it’d be interesting to allow conversions between the YAML and Amaranth HDL board definitions. The syntax used in amaranth-boards feels more streamlined.
SymbiFlow/yosys-symbiflow-plugins¶
yosys-symbiflow-plugins contains plugins for Yosys developed as
part of the SymbiFlow project.
Some of those plugins are the xdc-plugin
or the sdc-plugin
.
Those take the constraints and information and converts them to annotations on RTL.
Annotations can also be directly provided in HDL too.
Hence, the aim is to collect everything into the RTL and then write the data back for downstream tools to use.
The main benefit of this approach is using the names in RTL, instead of dealing with mangled names after optimisation.
See also XDC commands supported by SymbiFlow Yosys Plugins
and Yosys and Constraints System.
olofk/fusesoc¶
fusesoc proposes an open source YAML format for defining cores. Hence, the constrains provided in this repository are expected to be used in those core definition sources. Ideally, fusesoc might import the YAML definition, instead of defining different filesets for each tool.
See also olofk/corescore: data.
Xilinx/XilinxBoardStore¶
The board data files used with Xilinx Vivado are hosted at Xilinx/XilinxBoardStore. The upstream of Xilinx/XilinxBoardStore: boards/Digilent/ is Digilent/vivado-boards.