3. Analysis
Note
This section is still in development to provide generic scripts. However, current PicoRV32 analysis demonstrate a proof-of-concept of what results to achieve.
3.1. Multiple Task Launchers
You can find different launchers using the plaform in the examples/ directory.
They are using the --run-tests argument of the run-softcore tool to execute a loop of tests with various design parameters.
Then, the same test file is used as the param-file option in the following tools to align the inputs and the results.
3.2. analyze-yosys-vpr
Basic Usage
This tool provides a quick data analysis coming from the Yosys and VPR generated files.
analyze-yosys-vpr <yosys-vpr-result-file>
Optional Arguments
--param-file <file> Name of the parameter file to label the data
-x <column>, --x-axis <column>
Column name to be printed on the X-axis
(default: vpr.critical_path)
-y <column>, --y-axis <column>
Column name to be printed on the Y-axis
(default: vpr.channel_width)
-l <column>, --labels <column>
Column name to be printed with labels
(default: params.memory_size)
--annotate Annotate with point with labels
(default: False)
--legend Add the legend on the figure
(default: False)
--fig-size <width>x<height>
Figure dimensions
(default: 5x5)
-o <file>, --output <file>
Directory to save the generated figure
(default: figures/yosys_vpr.pdf)
3.3. analyze-placing
Basic Usage
This tool provides a post-route path analysis by grouping every paths by Physiscal Block (PB) types (ff, bram, io) or by bus names related to the RTL description of the soft-core.
analyze-placing <search-path> <param-file>
Optional Arguments
-s <name>, --softcore <name>
Name of the soft-core design to evaluate (only used for printing)
(default: PicoRV32)
--fig-size <width>x<height>
Figure dimensions
(default: 8x5)
--fig-format {pdf,png,svg}
Figure file format
(default: pdf)
-o <path>, --output-dir <path>
Directory to save the generated figures
(default: figures)
--nb-bus <int> Number of group of path (buses) to display
(default: 10)
--nb-worst <int> Number of critical path to display
(default: 10)
--bus-type Print by bus types rather than PB types
(default: False)
--hide-ff2ff Hide FF to FF paths
(default: True)