Files
retroSoC/physical/smoke/syn/README.md
T
maksyuki 662488d385 refactor: refactor Yosys synthesis flow to support multiple recipes
- 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.
2026-08-17 08:54:57 +08:00

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) writes build/<variant>/syn/yosys/
  • area writes build/<variant>/syn/yosys-area/
  • speed writes build/<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.