Repository navigation
gt2n: port snitch_cluster - #240
Conversation
|
Thanks @dhgaddy. One blocker before this can go in: the +19k lines here are vendored RTL, and the suite has moved to hermetic, reproducible RTL sourcing — pinned |
|
Perhaps I am mistaken, but I believe this port is already using hermetic sourcing. I did not commit snitch_cluster.sv and I just verified the BUILD.bazel points to the right place, like my other hermetic ports: verilog_files = ["//designs/src/snitch_cluster:rtl"] The 19k+ lines are almost all from fakeram generated macros. Please let me know if there is something I am misunderstanding! |
|
You're right, @dhgaddy — my mistake, retracting the hermeticity blocker. I re-checked the diff: no vendored RTL, The residual hold violations are fine as documented in DECISIONS.md. One change requested before merge: macro naming. The gt2n convention is a plain |
|
Update on the naming request: since the Once #248 merges, this PR just needs the mechanical follow-through on gt2n: rename the macros in |
|
Ready on my end once #248 merges |
|
#248 is merged (ternip got the same cleanup). @dhgaddy this is now unblocked — after rebasing on main, the only change needed here is the mechanical gt2n regen: rename the four macros in |
Reaches _final with CORE_UTILIZATION=55 (PLACE_DENSITY 0.67, MACRO_PLACE_HALO 8 8), MAX_ROUTING_LAYER=M11, MIN_CLK_ROUTING_LAYER=M4, clock period 6000ps (Fmax 166.7MHz). Die area 308882 um^2 (core 306588 um^2), ~12.0M instances. Setup: WNS +9.02ps, 0 violations. Hold: WS -8.56ps, TNS -25.89ps, 9 violations.
Follow-through on VLSIDA#248, which renamed the shared tc_sram.sv mapping and the asap7/nangate45 macros from fakeram7_* to the platform-neutral fakeram_* prefix. Rename the 4 macros in fakeram_gt2n.cfg and regenerate the gt2n LEF/LIB with tools/regenerate_sram.sh snitch_cluster gt2n. Name changes only, identical otherwise.
2250825 to
7f31902
Compare
The shared tc_sram.sv mapping hardcoded asap7-style fakeram7_* macro names on every platform (nangate45 shipped fakeram7_* LEFs, and the gt2n port in PR VLSIDA#240 inherited the misleading '7'). Rename suite-wide to the platform-neutral fakeram_* prefix used by the other gt2n designs. - tc_sram.sv + fakeram cfgs: fakeram7_* -> fakeram_* - asap7 normalized to the standard macro layout: cfg at dev/generated/fakeram_asap7.cfg, committed LEF/LIB at designs/asap7/snitch_cluster/sram/{lef,lib}/ (replaces the tracked dev/generated/sram/ tree and the src-level sram_lefs/sram_libs filegroups); tools/regenerate_sram.sh now works for both platforms - asap7 cfg snap keys fixed snake_case -> camelCase (the known silently-ignored-snap bug): macros now land exactly on the 0.190/1.400 um site grid, size deltas +0.06-0.5% per side - nangate45 LEF/LIB regenerated: byte-identical except the names Both platforms' cached results invalidate; rebuild required (nangate45 ~14 h). gt2n (PR VLSIDA#240) regenerates with the new names.
|
@mguthaus should be good now |
Extends the RCX_RULES QoR comparison to the two gt2n designs merged since this branch was cut (PR VLSIDA#243 bp_uno, PR VLSIDA#240 snitch_cluster). Same pattern as the other designs: rules model copied in unmodified, RCX_RULES added to sources, and the same eph_lim bump both designs already needed on other platforms.
Summary
violations (worst -8.56ps, TNS -25.89ps) -- see DECISIONS.md.
QoR summary