Synthesis
CoreBlocks synthesizes Core
circuit to test how many resources it consumes as the project
grows and more functionalities are added.
Documentation
Requirements
In order to perform synthesis you will need to install following tools:
These tools may need manual compilation from git repository, that can take some time.
You can use docker images that have installed all required tools to perform synthesis:
To build the AmaranthSynthECP5.Dockerfile
yourself use following command:
docker build --platform linux/amd64 -t "amaranth-synth:ecp5" -f ./docker/AmaranthSynthECP5.Dockerfile .
Usage
Script named synthesize.py
is used to perform the Core
synthesis.
Example usage:
./scripts/synthesize.py --help
./scripts/synthesize.py --platform ecp5 --verbose
To collect synthesis information we use script named parse_benchmark_info.py
.
This script parses the output of the synthesis tool and extracts the following information:
Max clock frequency
Number of logic cells used
Number of carry cells used
Number of RAM cells used
Number of DFF cells used