This repository contains a python script allowing to plot in treemap
format and analyze the post-synthesis area report of your RTL design.
By providing an interactive interface through plotly
library, the tool enables hierarchical designs exploration.
Furthermore, it represents a simple way to visualize complex designs, observing the relative dimensions of the different components and their impact on the overall design.
All packages to run the tool are grouped in the requirements.txt
and environment.yml
file.
-
Pip: you can install the required dependencies into an existing Python environment using Pip:
python3 -m pip install -r requirements.txt
-
Conda: you can create a new
conda
environment with:conda env create -f environment.yml
Alternatively, you can use the equivalent make
targets:
make pip # install dependencies using pip
make conda # create a new conda environment with the dependencies
To plot the layout of a design, the only requirement is a post-synthesis area report. Launch the area generation from this level of the repo through the command:
python3 area_plot.py --filename report_file.rpt
Further options are available to tweak the interactive plot, such as plotting only modules whose area contribution is higher than a certain percentage or setting the maximum hierarchical level up to which visualize the block scheme.
For all available options try:
python3 area_plot.py --help
The tool also supports interactive sunburst
visualization using plotly
The tool has only been tested using Synopsys DC® output files
The tool can also be installed as area-plot
, provided that its dependencies are compatible with the existing environment. This can be achieved with:
make install
Once installed, the tool can be used as the standalone script, e.g.:
area-plot --help