Skip to content

Data driven execution #9

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

Open
rodrigomelo9 opened this issue Aug 2, 2021 · 0 comments
Open

Data driven execution #9

rodrigomelo9 opened this issue Aug 2, 2021 · 0 comments

Comments

@rodrigomelo9
Copy link
Contributor

rodrigomelo9 commented Aug 2, 2021

The current approach of symbiflow_cli is to select which tools will be used in the backend based on the part name:

  • if --part hx1k-tq144, nextpnr-ice40 and tools from the icestorm project are employed.
  • if --part 25k-CSFBGA285, nextpnr-ecp5 and tools from the prjtrellis are employed.

In f4pga/f4pga-arch-defs#2225, another approach is suggested, based on specifying a board name and provide a JSON file whit needed options.

My thoughts:

  • Specify the board name can be an option, but the decision must be made based on the FPGA part because we will support more boards with less code (or there is something related to the board per se?)
  • For devices from Xilinx and VPR, probably we will need more info than for ice40 and nextpnr, but it must be internally used, not to be mandatorily provided by the user (it can be an advanced feature for developers).

Currently, for ice40 and ecp5 devices and nextpnr, which are probably easier than Xilinx devices and VPR, the "magic" is programmatically performed at https://github.com/PyFPGA/symbiflow_cli/blob/main/symbiflow/fpgadb.py I chose this approach because I consider that it provides support for more devices by default. It doesn't depend on options for a particular device, instead, it supports the whole family.

@mithro @mkurc-ant can we work together on it? Feel free to add others.

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

No branches or pull requests

1 participant