-
Notifications
You must be signed in to change notification settings - Fork 0
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
Command-line interface definition #5
Comments
Some random comments;
|
FWIW - I think basing this CLI on edalize would be a good idea. An alternative is to have a "basic" mode and an "advanced mode" where the advanced mode uses edalize? |
Historical reasons. When I started what today is known as PyFPGA, I borrowed the term from Vivado, as a broader concept (opts + pnr). But ok, I will change it to pnr.
I am not a Conda user, but as far I understand, you can activate an environment and still be working on your "system" (the same file system). With an OCI engine, you are running inside of a container, where you need to map volumes, share devices (USB), etc. I am no against using Conda, but I haven't the expertise at this moment.
Sorry, but I am not sure what it means. Maybe, do not provide files in the command-line and use something like a fileset (.f) file?
I started what I am doing here as part of PyFPGA. Then, I moved it to OpenFlow, to simplify the code at PyFPGA. Finally, I realized that my idea behind OpenFlow was so similar to SymbiFlow, and we agree that is better to join efforts instead of several similar projects. I see edalize, PyFPGA and others, as wrappers that provide a unified interface to employ multiple programs. My idea behind symbiflow_cli is to replace the Thanks for the feedback and the resources. |
Or maybe are you talking about do not specify |
Something along this line I think... |
Ok... I agree, would be beautiful... but there are some technical difficulties:
Again, I agree that is a good idea. The problem is that I am not sure about the solution. Let me know your thought about that (and of course, if you know a project where it is already solved to use as an example, it will be welcome). |
Renamed 'imp' to 'pnr' as discussed in #5
Hi @mithro I changed Hi @mkurc-ant. I was doing some simplification related to command-line arguments. Maybe you can take a look. |
In this issue, I will summarize the currently supported
sub-commands
and theirarguments
. @mithro @kgugala @acomodi could you provide me feedback?sub-commands
andarguments
names?imp
) to have a more granular control?Please, add other users to the talk if needed, and feel free to ask any doubt.
For more details, the following is defined here.
Sub-commands
syn
: Performs synthesispnr
: Performs Place and Routebit
: Performs bitstream generationall
: Performs from synthesis to bitstream generation (runs togethersyn
,imp
andbit
in one step)pgm
: Performs programming (when available).Command-line arguments
Shared by all the sub-commands:
--project
: basename for generated files.-p
,--part
: name of the target FPGA part (something like'hx8k-ct256
)-o
,--outdir
: location for generated files--oci-engine
: OCI engine internally employed (docker, podman)--oci-volumes
: volumes for the OCI engine. Can be specified multiple times.--oci-work
: working directory for the OCI engineFor syn (and all)
-t
,--top
: specify a top-level name--param
: specify top-level Generics/Parameters (asNAME VALUE
). Can be specified multiple times.--arch
: specify a VHDL top-level Architecture--define
: specify [System] Verilog Defines (asDEFINE VALUE
). Can be specified multiple times.--include
: specify [System] Verilog Include Paths. Can be specified multiple times.--scf
: a Synthesis Constraint Files (not yet implemented). Can be specified multiple times.hdl
: (positional, mandatory) a list of HDL files (which can be specified asFILE[,LIBRARY]
in case of VHDL)For imp (and all)
--pcf
: a Physical Constraint Files (IO place). Can be specified multiple times.The text was updated successfully, but these errors were encountered: