You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
flow: add OpenROAD built-in synth as _syn variant of every flat design
Adds OpenROAD's integrated synthesizer (sv_elaborate + synthesize,
OpenROAD #10473) as a universal "_syn" variant of every flat
design driven by design() in flow/designs/design.bzl. Relocates
and generalises the throwaway smoke target from OpenROAD #10479,
which explicitly said the proper home for this was bazel-orfs /
ORFS, not OpenROAD's test tree.
Purely additive: no existing Makefile recipe, bazel rule, design,
or target's behaviour is altered. Pieces:
- flow/scripts/synth_syn.tcl (new) -- povik's driver. Reads
LEF/Liberty/SDC via the ORFS env vars and writes 1_synth.odb +
1_synth.sdc directly, bypassing the Yosys 1_2_yosys.v ->
synth_odb.tcl chain.
- flow/Makefile gains one new phony target do-syn-synth that
invokes openroad on synth_syn.tcl. No existing recipe touched.
- patches/bazel-orfs/0002-...patch adds a parallel
orfs_openroad_synth_rule + orfs_openroad_synth macro in
bazel-orfs. OrfsInfo shape matches orfs_synth_rule, so
orfs_flow(previous_stage = {"floorplan": ":<name>_syn_synth"})
chains downstream stages unchanged. Vendored here until the
integrated syn tool stabilises and this lands upstream.
- flow/designs/design.bzl -- design() now also emits the _syn
chain for every flat design via a DESIGNS lookup + helper.
Hierarchical designs (blocks non-empty) are skipped -- the
built-in synthesizer doesn't handle BLOCKS yet. All _syn
targets are tagged manual so bazel build //... is unaffected.
End state for every flat design:
bazelisk build //flow/designs/asap7/gcd:gcd_syn_synth # OpenROAD synth
bazelisk build //flow/designs/asap7/gcd:gcd_synth # Yosys (unchanged)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
0 commit comments