SymbiFlow / yosys

SymbiFlow WIP changes for Yosys Open SYnthesis Suite
http://www.clifford.at/yosys/
ISC License
37 stars 9 forks source link

WIP: Initial version of the xdc plugin support #44

Closed tmichalak closed 4 years ago

tmichalak commented 4 years ago

The initial version of the plugin is capable of reading an XDC file with the INTERNAL_VREF settings and generating a FASM file with the features that we currently have in our database that are related to the VREF settings per bank. This plugin operates on the existing design and modifies its structure based on the content of the XDC (Xilinx Design Constraints) file. Since the XDC file consists of Tcl commands it is read using Yosys's tcl command and processed by the new XDC commands imported to the Tcl interpreter.

The plugins for yosys have a separate repository (https://github.com/YosysHQ/yosys-plugins). However we could simply add the plugin to the symbiflow-arch-defs. We also need to add the concatenation step to symbiflow-arch-defs.

tmichalak commented 4 years ago

@mithro

(a) Can we move this into its own repository? IE Can this be built as a plugin external to Yosys?

Yes, it can be built external to Yosys, I just added the plugin to Yosys for this PR to easier show the complete solution

(b) Can we split the plugin into two parts, the XDC import and the FASM output?

Yes, we can have 2 separate plugins, one for XDC and another for FASM

(c) Can we make it clearer which parts are the vivado scripts and which parts are the Yosys scripts?

I guess the confusion is with the .tcl scripts as currently Yosys scripts already have the .ys extension. I could use .ys.tcl for Yosys and .vivado.tcl or simply .tcl for Vivado.

tmichalak commented 4 years ago

Superseded by https://github.com/SymbiFlow/yosys-symbiflow-plugins/pull/1 The comments have been taken into account there.