Skip to content

Commit 953f646

Browse files
[SQUASH ME] Cleaned Up Figure and Wording
1 parent 00bd091 commit 953f646

File tree

2 files changed

+19
-19
lines changed

2 files changed

+19
-19
lines changed

doc/src/tutorials/timing_analysis/index.rst

+19-19
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,14 @@ multi-clock timing analysis, which tools like OpenSTA have better support for.
1515

1616
.. figure:: timing_analysis_design_cycle.png
1717

18-
Timing analysis design cycle flow diagram.
18+
Post-implementation timing analysis design cycle.
1919

20-
A user design cycle which would use this would perform the following steps:
21-
1. Run VPR with the timing commands it can support.
20+
A user design cycle which would use post-implementation timing analysis could perform the following:
21+
1. Run VPR with the timing commands it can support (simplified constraints).
2222
2. Perform timing analysis on the resulting netlist using OpenSTA with
2323
more complex timing commands.
24-
3. Modify the user design to meet the complex timing constraints.
25-
4. Repeat.
24+
3. The user can then modify the design to meet the complex timing constraints based on the timing report produced by OpenSTA.
25+
4. The design can then be fed back into VPR and the process can repeat until all constraints are met.
2626

2727
Generating the Post-Implementation Netlist for STA
2828
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -47,7 +47,7 @@ directory for convenience:
4747
4848
.. note:: Replace :term:`$VTR_ROOT` with the root directory of the VTR source tree
4949

50-
To perform timing analysis externally to VTR, we will need to create an SDC file
50+
To perform timing analysis externally to VTR, we will need to provide an SDC file
5151
which will contain the timing constraints on the clocks and I/Os in the circuit.
5252
For this tutorial, we will use the following ``clma.sdc`` file:
5353

@@ -81,10 +81,10 @@ for timing analysis using VPR.
8181
8282
In this command, we provide the architecture, circuit, the channel width, and
8383
the SDC file. The other four commands are what generate the necessary netlist
84-
files for timing simulation:
84+
files for timing analysis:
8585
* ``--gen_post_synthesis_netlist on``: This will generate the post-implementation netlist as a Verilog file.
86-
* ``--gen_post_implementation_sdc on``: This will have VPR generate a new SDC file which contains extra timing information used from proper timing analysis.
87-
* ``--post_synth_netlist_unconn_inputs gnd``: For timing analysis with OpenSTA we want to be explicit about how we handle unconnected signal ports. Here we just ground them for simplicity.
86+
* ``--gen_post_implementation_sdc on``: This will have VPR generate a new SDC file which contains extra timing information based on how VPR implemented the design.
87+
* ``--post_synth_netlist_unconn_inputs gnd``: For timing analysis with OpenSTA, we should be explicit about how we handle unconnected signal ports. Here we just ground them for simplicity.
8888
* ``--post_synth_netlist_module_parameters off``: OpenSTA does not allow parameters to be used in the netlist. This command tells VPR to generate a netlist without using parameters.
8989

9090
Once VPR has completed, we should see the generated Verilog netlist, SDF file, and SDC file:
@@ -98,11 +98,11 @@ Once VPR has completed, we should see the generated Verilog netlist, SDF file, a
9898
Performing Timing Analysis using OpenSTA
9999
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
100100

101-
To perform static timing analysis for this tutorial, we will be using OpenSTA.
102-
Other STA tools can be used, they may use slightly different commands.
101+
To perform static timing analysis for this tutorial, we will be using OpenSTA (https://github.com/parallaxsw/OpenSTA ).
102+
Other STA tools can be used, however they may use slightly different commands.
103103

104104
First, install OpenSTA onto your system. Building from source is a good option,
105-
using the following instructions:
105+
which can be done using the following instructions:
106106
https://github.com/parallaxsw/OpenSTA?tab=readme-ov-file#build-from-source
107107

108108
After OpenSTA is installed, we can perfrom static timing analysis on the post-implementation
@@ -119,24 +119,24 @@ It is easiest to write a ``sdf_delays.tcl`` file to setup and configure the timi
119119
# an SDF file. This contains descriptions of the timing arcs of the primitives
120120
# in the circuit.
121121
read_liberty $VTR_ROOT/vtr_flow/primitives.lib
122-
122+
123123
# Read the post-implementation netlist generated by VPR.
124124
read_verilog top_post_synthesis.v
125-
125+
126126
# Link the top-level design.
127127
link_design top
128-
128+
129129
# Read the post-synthesis SDF file.
130130
read_sdf top_post_synthesis.sdf
131-
131+
132132
# Read the SDC commands generated by VPR.
133133
read_sdc top_post_synthesis.sdc
134-
135-
# Report the setup and hold timing checks using OpenSTA and write to a file.
134+
135+
# Report the setup and hold timing checks using OpenSTA and write them to files.
136136
report_checks -group_path_count 100 -path_delay max > open_sta_report_timing.setup.rpt
137137
report_checks -group_path_count 100 -path_delay min > open_sta_report_timing.hold.rpt
138138
139-
# Report the minimum period of the clock and the fmax.
139+
# Report the minimum period of the clockis and their fmax.
140140
report_clock_min_period
141141
142142
# Exit OpenSTA's TCL terminal.
Loading

0 commit comments

Comments
 (0)