mirror of
https://github.com/lnis-uofu/OpenFPGA.git
synced 2026-05-28 01:59:44 +08:00
@@ -0,0 +1,34 @@
|
||||
General Options
|
||||
----------------
|
||||
|
||||
.. option:: num_workers [int]
|
||||
|
||||
Number of worker threads to use for parallel execution. Default is 1 (no parallelism).
|
||||
|
||||
.. option:: timing_analysis [bool]
|
||||
|
||||
Enable timing analysis during packing, placement, and routing. Default is True.
|
||||
|
||||
.. option:: timing_update_type [auto|full|incremental]
|
||||
|
||||
Method to update timing information during packing, placement, and routing.
|
||||
Acceptable values are: ``auto`` (automatically determine the best method based on the changes),
|
||||
``full`` (full timing update), and ``incremental`` (only update timing for modified parts). Default is ``auto``.
|
||||
|
||||
.. option:: device_layout
|
||||
|
||||
.. option:: target_device_utilization
|
||||
|
||||
.. option:: constant_net_method
|
||||
|
||||
.. option:: clock_modeling
|
||||
|
||||
.. option:: two_stage_clock_routing
|
||||
|
||||
.. option:: disable_errors
|
||||
|
||||
.. option:: suppress_warnings
|
||||
|
||||
.. option:: allow_dangling_combinational_nodes
|
||||
|
||||
.. option:: terminate_if_timing_fails
|
||||
14
docs/source/manual/openfpga_shell/app_options/index.rst
Normal file
14
docs/source/manual/openfpga_shell/app_options/index.rst
Normal file
@@ -0,0 +1,14 @@
|
||||
|
||||
VPR Application Options
|
||||
=======================
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
general_options
|
||||
|
||||
netlist_options
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
Netlist Options
|
||||
----------------
|
||||
|
||||
|
||||
|
||||
.. option:: absorb_buffer_luts [bool]
|
||||
|
||||
Enable absorption of buffer LUTs into their fanout logic. Default is True.
|
||||
|
||||
.. option:: const_gen_inference [bool]
|
||||
|
||||
Enable inference of constant generators during netlist processing. Default is True.
|
||||
|
||||
.. option:: sweep_dangling_primary_ios [bool]
|
||||
|
||||
Enable sweeping of dangling primary inputs and outputs from the netlist. Default is True.
|
||||
|
||||
.. option:: sweep_dangling_nets [bool]
|
||||
|
||||
Enable sweeping of dangling nets (nets that are not connected to any logic) from the netlist. Default is True.
|
||||
|
||||
.. option:: sweep_dangling_blocks [bool]
|
||||
|
||||
Enable sweeping of dangling blocks (blocks that are not connected to any nets) from the netlist. Default is True.
|
||||
|
||||
.. option:: sweep_constant_primary_outputs [bool]
|
||||
|
||||
Enable sweeping of constant primary outputs (primary outputs that are driven by constant values) from the netlist. Default is True.
|
||||
@@ -0,0 +1,22 @@
|
||||
.. _cluster_attributes:
|
||||
|
||||
|
||||
Cluster Attributes
|
||||
==================
|
||||
|
||||
|
||||
.. option:: name [str]
|
||||
|
||||
Name of the cluster. This attribute is used to identify the cluster and can be used for referencing the cluster in other attributes or commands.
|
||||
|
||||
.. option:: type [str]
|
||||
|
||||
Type of the cluster. This attribute defines the functional role of the cluster, such as "logic", "memory", "DSP", etc. It can be used to categorize clusters and apply specific optimizations or constraints based on their type.
|
||||
|
||||
.. option:: input_pin_utils [float]
|
||||
|
||||
Input pin utilization of the cluster. This attribute represents the ratio of used input pins to the total available input pins in the cluster. It can be used to assess the congestion and routing complexity of the cluster.
|
||||
|
||||
.. option:: output_pin_utils [float]
|
||||
|
||||
Output pin utilization of the cluster. This attribute represents the ratio of used output pins to the total available output pins in the cluster. Similar to input pin utilization, it can be used to evaluate congestion and routing complexity.
|
||||
11
docs/source/manual/openfpga_shell/attributes/index.rst
Normal file
11
docs/source/manual/openfpga_shell/attributes/index.rst
Normal file
@@ -0,0 +1,11 @@
|
||||
|
||||
Object Attributes
|
||||
==================
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
cluster_attributes
|
||||
|
||||
|
||||
|
||||
@@ -3,12 +3,18 @@ OpenFPGA Shell
|
||||
|
||||
.. _openfpga_shell:
|
||||
OpenFPGA Shell
|
||||
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
launch_openfpga_shell
|
||||
|
||||
app_options/index.rst
|
||||
|
||||
attributes/index.rst
|
||||
|
||||
openfpga_script
|
||||
|
||||
|
||||
query_commands
|
||||
|
||||
openfpga_commands/index
|
||||
|
||||
@@ -3,6 +3,24 @@
|
||||
Basic Commands
|
||||
--------------
|
||||
|
||||
report_app_option
|
||||
~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. option:: --n <option_name>
|
||||
|
||||
This command is used to specify the app option to be reported.
|
||||
The `option_name` is optional, if not specified, all options will be reported.
|
||||
The `option_name` supports glob string.
|
||||
|
||||
|
||||
set_app_option
|
||||
~~~~~~~~~~~~~~
|
||||
|
||||
|
||||
.. option:: --v <value>
|
||||
|
||||
The value is optional, and it is used to specify the value of the option. If not specified, the current value will be reported.
|
||||
|
||||
version
|
||||
~~~~~~~
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@ VPR Commands
|
||||
|
||||
vpr
|
||||
~~~
|
||||
|
||||
|
||||
OpenFPGA allows users to call ``vpr`` in the standard way as documented in the vtr_project_.
|
||||
|
||||
.. note:: This command will run vpr in a standalone way, whose results will be kept and used by other commands. Suggest to use when this is the final run of VPR.
|
||||
@@ -15,10 +15,10 @@ vpr
|
||||
.. code-block:: shell
|
||||
|
||||
# VPR standalone runs, no results will be kept for downstream commands
|
||||
vpr_standalone <some_options>
|
||||
vpr_standalone <some_options>
|
||||
vpr_standalone <some_options>
|
||||
vpr_standalone <some_options>
|
||||
# More standalone runs may be expected
|
||||
vpr_standalone <some_options>
|
||||
vpr_standalone <some_options>
|
||||
# Final VPR run, results are kept for downstream commands
|
||||
vpr <some_options>
|
||||
# Other commands that use VPR results
|
||||
@@ -27,16 +27,117 @@ vpr
|
||||
|
||||
vpr_standalone
|
||||
~~~~~~~~~~~~~~
|
||||
|
||||
|
||||
OpenFPGA allows users to call ``vpr`` in the standard way as documented in the vtr_project_.
|
||||
|
||||
|
||||
.. note:: This command will run vpr in a standalone way, whose results will **not** be kept and **not** used by other commands. Suggest to use when only some stages of VPR are needed.
|
||||
|
||||
.. _vtr_project: https://github.com/verilog-to-routing/vtr-verilog-to-routing
|
||||
|
||||
|
||||
read_vpr_arch
|
||||
~~~~~~~~~~~~~~
|
||||
|
||||
Read the architecture file generated by VPR.
|
||||
|
||||
.. option:: --file <vpr_arch_filename>
|
||||
|
||||
The VPR architecture file name is mandatory
|
||||
|
||||
.. option:: --layout <layout_name>
|
||||
|
||||
The layout name is optional, and it is used to specify the layout of the architecture file. If not specified, the first layout will be used.
|
||||
|
||||
|
||||
read_circuit
|
||||
~~~~~~~~~~~~~~
|
||||
|
||||
Read the circuit (.blif, .eblif) file for implementation.
|
||||
|
||||
.. option:: --file <circuit_filename>
|
||||
|
||||
|
||||
pack
|
||||
~~~~
|
||||
|
||||
Run the packing stage of VPR.
|
||||
|
||||
.. option:: --verbose
|
||||
|
||||
Enable verbose output for the packing stage.
|
||||
|
||||
|
||||
.. option:: --layout <layout_name>
|
||||
|
||||
Optionally define the layout to be used for packing. If not specified, the default layout will be used.
|
||||
|
||||
|
||||
place
|
||||
~~~~~
|
||||
|
||||
Run the placement stage of VPR.
|
||||
|
||||
.. option:: --verbose
|
||||
|
||||
Enable verbose output for the placement stage.
|
||||
|
||||
|
||||
route
|
||||
~~~~~
|
||||
|
||||
Run the routing stage of VPR.
|
||||
|
||||
.. option:: --verbose
|
||||
|
||||
Enable verbose output for the routing stage.
|
||||
|
||||
analysis
|
||||
~~~~~~~~
|
||||
|
||||
Run the analysis stage of VPR.
|
||||
|
||||
.. option:: --verbose
|
||||
|
||||
Enable verbose output for the analysis stage.
|
||||
|
||||
|
||||
VPR Reporting Commands
|
||||
-----------------------
|
||||
|
||||
report_cluster
|
||||
~~~~~~~~~~~~~~
|
||||
|
||||
Report the number of clusters generated by VPR packing.
|
||||
Report the clustering results of the packing stage.
|
||||
|
||||
.. option:: --stats
|
||||
|
||||
Reports the clustering statistics, including the number of clusters, the average cluster size, and the distribution of cluster sizes.
|
||||
|
||||
.. option:: --query <query_string>
|
||||
|
||||
Query the clustering results with a specific query string. The query string can be used to filter and display specific clusters based on certain criteria, Please refer to the cluster_attributes_ documentation for available attributes.
|
||||
|
||||
|
||||
.. note:: This command is valid after the ``pack`` command has completed.
|
||||
|
||||
|
||||
report_placement
|
||||
~~~~~~~~~~~~~~~~
|
||||
|
||||
TBD
|
||||
|
||||
|
||||
|
||||
VPR SDC Commands
|
||||
----------------
|
||||
|
||||
Following command are executed on post place and route netlist.
|
||||
|
||||
|
||||
report_clock
|
||||
~~~~~~~~~~~~~
|
||||
|
||||
|
||||
|
||||
report_timing
|
||||
~~~~~~~~~~~~~
|
||||
|
||||
26
docs/source/manual/openfpga_shell/query_commands.rst
Normal file
26
docs/source/manual/openfpga_shell/query_commands.rst
Normal file
@@ -0,0 +1,26 @@
|
||||
Query Format
|
||||
============
|
||||
|
||||
Query a collection of objects to create a new subset while preserving the original in a runtime-efficient way. Most commands support a -query option during reporting. Conditional expressions combine relations with AND/OR operators and support parentheses. Relations compare an attribute name to a value using relational operators.
|
||||
|
||||
|
||||
Relationship Operators
|
||||
----------------------
|
||||
|
||||
.. code-block:: text
|
||||
|
||||
== Equal
|
||||
!= Not equal
|
||||
> Greater than
|
||||
< Less than
|
||||
>= Greater than or equal to
|
||||
<= Less than or equal to
|
||||
=~ Matches pattern
|
||||
!~ Does not match pattern
|
||||
|
||||
Query Operation Rules
|
||||
----------------------
|
||||
|
||||
- String attributes support all operators
|
||||
- Numeric attributes do not support pattern matching (=~, !~)
|
||||
- Boolean attributes support only == and != with values true or false
|
||||
Reference in New Issue
Block a user