Skip to content

Commit 7465954

Browse files
committed
doc: Additional edits and clarifications to quickstart
1 parent e2e569e commit 7465954

File tree

1 file changed

+38
-7
lines changed

1 file changed

+38
-7
lines changed

doc/src/quickstart/index.rst

Lines changed: 38 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ Download VTR
1212

1313
The first step is to `download VTR <https://verilogtorouting.org/download/>`_ and extract VTR on your local machine.
1414

15-
.. note:: Developers planning to modify VTR should checkout the `VTR git repository <https://github.com/verilog-to-routing/vtr-verilog-to-routing/>`_.
15+
.. note:: Developers planning to modify VTR should clone the `VTR git repository <https://github.com/verilog-to-routing/vtr-verilog-to-routing/>`_.
1616

1717
Build VTR
1818
---------
@@ -23,13 +23,21 @@ On most unix-like systems you can run:
2323
2424
> make
2525
26-
from the VTR root directory (here after referred to as :term:`$VTR_ROOT`) to build VTR.
26+
from the VTR root directory (hereafter referred to as :term:`$VTR_ROOT`) to build VTR.
2727

2828
.. note::
2929

3030
In the VTR documentation lines starting with ``>`` (like ``> make`` above), indicate a command (i.e. ``make``) to run from your terminal.
3131
When the ``\`` symbol appears at the end of a line, it indicates line continuation.
3232

33+
.. note::
34+
35+
:term:`$VTR_ROOT` refers to the root directory of the VTR project source tree.
36+
To run the examples in this guide on your machine, either:
37+
38+
* define VTR_ROOT as a variable in your shell (e.g. if ``~/trees/vtr`` is the path to the VTR source tree on your machine, run the equivalent of ``VTR_ROOT=~/trees/vtr`` in BASH) which will allow you to run the commands as written in this guide, or
39+
* manually replace `$VTR_ROOT` in the example commandss below with your path to the VTR source tree.
40+
3341
.. note:: If VTR fails to build you may need to install the :ref:`required dependencies <building_vtr>`.
3442

3543
For more details on building VTR on various operating systems/platforms see :ref:`Building VTR<building_vtr>`.
@@ -70,7 +78,23 @@ We do this by passing these files to the VPR tool, and also specifying that we w
7078
$VTR_ROOT/vtr_flow/benchmarks/blif/tseng.blif \
7179
--route_chan_width 100
7280
73-
This will produce a large amount of output as VPR implements the circuit, but at the end you should see something similar to::
81+
This will produce a large amount of output as VPR implements the circuit, but you should see something similar to::
82+
83+
VPR FPGA Placement and Routing.
84+
Version: 8.1.0-dev+2b5807ecf
85+
Revision: v8.0.0-1821-g2b5807ecf
86+
Compiled: 2020-05-21T16:39:33
87+
Compiler: GNU 7.3.0 on Linux-4.15.0-20-generic x86_64
88+
Build Info: release VTR_ASSERT_LEVEL=2
89+
90+
University of Toronto
91+
verilogtorouting.org
92+
93+
This is free open source code under MIT license.
94+
95+
#
96+
#Lots of output trimmed for brevity....
97+
#
7498

7599
Geometric mean non-virtual intra-domain period: 6.22409 ns (160.666 MHz)
76100
Fanout-weighted geomean non-virtual intra-domain period: 6.22409 ns (160.666 MHz)
@@ -148,12 +172,12 @@ As an exercise try the following:
148172
.. note::
149173
If you do not provide :option:`--analysis <vpr --analysis>`, VPR will re-implement the circuit from scratch.
150174
If you also specify :option:`--disp <vpr --disp>` ``on``, you can see how VPR modifies the implementation as it runs.
151-
By default ``--disp on`` it stops at key stages to allow you to view and explore the implementation.
175+
By default ``--disp on`` stops at key stages to allow you to view and explore the implementation.
152176
You will need to press the ``Proceed`` button in the GUI to allow VPR to continue to the next stage.
153177

154178
Running the VTR Flow
155179
====================
156-
In the previous section we have implement a pre-synthesized circuit onto a pre-existing FPGA architecture using VPR, and visualized the result.
180+
In the previous section we have implemented a pre-synthesized circuit onto a pre-existing FPGA architecture using VPR, and visualized the result.
157181
We now turn to how we can implement *our own circuit* on a pre-existing FPGA architecture.
158182

159183
To do this we begin by describing a circuit behaviourly using the Verilog Hardware Description Language (HDL).
@@ -215,7 +239,7 @@ which when run should end with something like::
215239
where ``Odin ran with exit status: 0`` indicates Odin successfully synthesized our verilog.
216240

217241
We can now take a look at the circuit which ODIN produced (``blink.odin.blif``).
218-
The file is long and likely harder to follow than our code in ``blink.v``, however it implements the same functionality.
242+
The file is long and likely harder to follow than our code in ``blink.v``; however it implements the same functionality.
219243
Some interesting highlights are shown below:
220244

221245
.. literalinclude:: blink.odin.blif
@@ -272,7 +296,7 @@ If we now inspect the produced BLIF file (``blink.abc_no_clock.blif``) we see th
272296
ABC has kept the ``.latch`` and ``.subckt adder`` primitives, but has significantly simplified the other logic (``.names``).
273297

274298

275-
However, there is an issue with the above BLIF produced by ABC: the latches (rising edge Flip-Flops) do not have any clocks specified, which is information required by VPR.
299+
However, there is an issue with the above BLIF produced by ABC: the latches (rising edge Flip-Flops) do not have any clocks or edge sensitivity specified, which is information required by VPR.
276300

277301
Re-inserting clocks
278302
^^^^^^^^^^^^^^^^^^^
@@ -387,6 +411,13 @@ There are also multiple log files (including for ABC, ODIN and VPR), which by co
387411
0_blackboxing_latch.out odin.out report_clocks.abc.out vanilla_restore_clocks.out
388412
abc0.out report_clk.out restore_latch0.out vpr.out
389413
414+
With the main log files of interest including the ODIN log file (``odin.out``), log files produced by ABC (e.g. ``abc0.out``), and the VPR log file (``vpr.out``).
415+
416+
.. note::
417+
418+
ABC may be invoked multiple times if a circuit has multiple clock domains, producing multiple log files (``abc0.out``, ``abc1.out``, ...)
419+
420+
390421
You will also see there are several BLIF files produced:
391422

392423
.. code-block:: bash

0 commit comments

Comments
 (0)