- Introduced SYNTH_RECIPE variable to select between balanced, area, and speed synthesis recipes. - Updated Makefile to handle new SYNTH_RECIPE variable and its validation. - Modified synthesis scripts to utilize the selected recipe, ensuring outputs are directed to the appropriate directories. - Enhanced documentation to reflect changes in synthesis flow and directory structure. - Added tests to verify correct behavior of new synthesis recipes and their integration into the regression suite. - Removed obsolete scripts and configurations related to previous synthesis methods.
1.2 KiB
Synthesis Flows
This directory contains Yosys synthesis integration, configuration, and source
export tooling. yosys/ owns the supported open-source synthesis flow;
tools/ exports flattened source sets.
Use a committed profile and run the supported flow:
make CONFIG=configs/ci/ihp130.mk SYNTH=YOSYS synth
SYNTH_RECIPE selects the ABC mapping recipe without changing the variant hash:
balanced(default) writesbuild/<variant>/syn/yosys/areawritesbuild/<variant>/syn/yosys-area/speedwritesbuild/<variant>/syn/yosys-speed/
STA, netlist simulation, warning analysis, and metrics consume the default
syn/yosys/ slot. Nightly IHP130 regression also runs the area and speed
recipes as synth-only extra jobs.
make CONFIG=configs/ci/ihp130.mk SYNTH=YOSYS SYNTH_RECIPE=area synth
make CONFIG=configs/ci/ihp130.mk SYNTH=YOSYS SYNTH_RECIPE=speed synth
The default ABC target period is derived from the external STA period in
rtl/mini/integration/clock_reset_domains.json. Override it with
YOSYS_TARGET_PERIOD_PS=<ps> when needed.
Synthesis outputs are generated below build/ and must not be committed.
Review warning and metric changes with make check-warnings check-metrics for
the affected profile.