You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The generated output file can be found in the current directory under the name output_vectors.
@@ -176,7 +176,7 @@ The generated output file can be found in the current directory under the name o
176
176
This function generates N amounnt of random input vectors for Odin II to simulate with.
177
177
178
178
```shell
179
-
./odin_II -V<Path/to/verilog/file> -g 10
179
+
./odin_II -v<Path/to/verilog/file> -g 10
180
180
```
181
181
182
182
This example will produce 10 autogenerated input vectors. These vectors can be found in the current directory under input_vectors and the resulting output vectors can be found under output_vectors.
Copy file name to clipboardExpand all lines: doc/src/vtr/run_vtr_flow.rst
+130Lines changed: 130 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -60,6 +60,44 @@ For example::
60
60
will run the VTR flow to map the circuit ``my_circuit.v`` onto the architecture ``my_arch.xml``; the arguments ``--pack`` and ``--place`` will be passed to VPR (since they are unrecognized arguments to ``run_vtr_flow.py``).
61
61
They will cause VPR to perform only :ref:`packing and placement <general_options>`.
Passes a Verilog/SystemVerilog/UHDM file to Yosys to perform elaboration.
75
+
The BLIF elaboration and partial mapping phases will be executed on the generated netlist by Odin-II, and all latches in the Yosys+Odin-II output file will be rising edge.
76
+
Then ABC and VPR perform the default behaviour for the VTR flow, respectively.
Running the VTR flow with the default configuration using the Yosys standalone front-end.
87
+
The parser for these runs is considered the Yosys conventional Verilog/SystemVerilog parser (i.e., ``read_verilog -sv``), as the parser is not explicitly specified.
88
+
89
+
.. code-block:: bash
90
+
91
+
# Using the Yosys-SystemVerilog plugin if installed, otherwise the Yosys conventional Verilog parser
Running the default VTR flow using the Yosys standalone front-end.
98
+
The Yosys HDL parser is considered as Yosys-SystemVerilog plugin (i.e., ``read_systemverilog``) and Yosys UHDM plugin (i.e., ``read_uhdm``), respectively.
99
+
It is worth mentioning that utilizing Yosys plugins requires passing the ``-DYOSYS_SV_UHDM_PLUGIN=ON`` compile flag to build and install the plugins for the Yosys front-end.
Tells ODIN II the minimum adder size (in bits) that should be implemented using hard adder.
240
+
241
+
**Default:** 1
242
+
243
+
.. option:: -elaborator <ELABORATOR>
244
+
245
+
Specifies the elaborator of the synthesis flow for ODIN II [odin, yosys]
246
+
247
+
**Default:** odin
248
+
249
+
.. option:: -top_module <TOP_MODULE>
250
+
251
+
Specifies the name of the module in the design that should be considered as top
252
+
253
+
.. option:: -coarsen
254
+
255
+
Notifies ODIN II if the input BLIF is coarse-grained.
256
+
257
+
**Default:** False
258
+
259
+
.. note::
260
+
261
+
A coarse-grained BLIF file is defined as a BLIF file inclduing unmapped cells with the Yosys internal cell (listed `here <https://github.com/verilog-to-routing/vtr-verilog-to-routing/blob/b913727959e22ae7a535ac8b907d0aaa9a3eda3d/ODIN_II/SRC/enum_str.cpp#L402-L494>`_) format which are represented by the ``.subckt`` tag in coarse-grained BLIF.
262
+
263
+
.. option:: -fflegalize
264
+
265
+
Makes flip-flops rising edge for coarse-grained input BLIFs in the partial technology mapping phase (ODIN II synthesis flow generates rising edge FFs by default, should be used for Yosys+Odin-II)
266
+
267
+
**Default:** False
268
+
269
+
.. option:: -encode_names
270
+
271
+
Enables ODIN II utilization of operation-type-encoded naming style for Yosys coarse-grained RTLIL nodes.
272
+
273
+
.. code-block::
274
+
275
+
# example of a DFF subcircuit in the Yosys coarse-grained BLIF
276
+
.subckt $dff CLK=clk D=a Q=inst1.inst2.temp
277
+
.param CLK_POLARITY 1
278
+
279
+
.names inst1.inst2.temp o
280
+
1 1
281
+
282
+
# fine-grained BLIF file with enabled encode_names option for Odin-II partial mapper
283
+
.latch test^a test^inst1.inst2.temp^FF~0 re test^clk 3
284
+
285
+
.names test^inst1.inst2.temp^FF~0 test^o
286
+
1 1
287
+
288
+
# fine-grained BLIF file with disabled encode_names option for Odin-II partial mapper
289
+
.latch test^a test^$dff^FF~0 re test^clk 3
290
+
291
+
.names test^$dff^FF~0 test^o
292
+
1 1
293
+
294
+
**Default:** False
295
+
296
+
.. option:: -yosys_script <YOSYS_SCRIPT>
297
+
298
+
Supplies Yosys with a .ys script file (similar to Tcl script), including the synthesis steps.
299
+
300
+
**Default:** None
301
+
302
+
.. option:: -parser <PARSER>
303
+
304
+
Specify a parser for the Yosys synthesizer [yosys (Verilog-2005), surelog (UHDM), yosys-plugin (SystemVerilog)].
305
+
The script uses the Yosys conventional Verilog parser if this argument is not used.
306
+
307
+
**Default:** yosys
308
+
309
+
.. note::
310
+
311
+
Universal Hardware Data Model (UHDM) is a complete modeling of the IEEE SystemVerilog Object Model with VPI Interface, Elaborator, Serialization, Visitor and Listener.
312
+
UHDM is used as a compiled interchange format in between SystemVerilog tools.
313
+
The ``yosys-plugins`` parser, which represents the ``read_systemverilog`` command, reads SystemVerilog files directly in Yosys.
314
+
It executes Surelog with provided filenames and converts them (in memory) into UHDM file. Then, this UHDM file is converted into Yosys AST. `[Yosys-SystemVerilog] <https://github.com/antmicro/yosys-systemverilog#usage>`_
315
+
On the other hand, the ``surelog`` parser, which uses the ``read_uhdm`` Yosys command, walks the design tree and converts its nodes into Yosys AST nodes using Surelog. `[UHDM-Yosys <https://github.com/chipsalliance/UHDM-integration-tests#uhdm-yosys>`_, `Surelog] <https://github.com/chipsalliance/Surelog#surelog>`_
0 commit comments