Skip to content

Commit d753912

Browse files
committed
gt2n: extend backside PDN with BM1/BM2 mesh, add backside RC
BPR followpins on their own do not stitch the per-row vdd/vss rails together, so the backside grid was a chain of disconnected horizontal strips. Add a two-layer perpendicular mesh (BM1 vertical, BM2 horizontal) plus BV0/BV1 connects, modeled on asap7's M5/M6 over M1/M2 followpin pattern. Top of the standard-cell grid is now BM2. Also adds resistance values for the backside cut layers (BV0..BV4) to setRC.tcl so PSM's analyze_power_grid does not error out with PSM-0021 when the PG network includes backside vias. Calls out that every RC value in this file is a placeholder, not silicon-calibrated. Verified end-to-end on gt2n/gcd: 873s wall time, 0 DRC violations, 0 ANT violations. Signed-off-by: Matthew Guthaus <mrg@ucsc.edu>
1 parent d1a115a commit d753912

2 files changed

Lines changed: 24 additions & 4 deletions

File tree

flow/platforms/gt2n/pdn.tcl

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,13 @@ global_connect
99
####################################
1010
set_voltage_domain -name {CORE} -power {vdd} -ground {vss}
1111
####################################
12-
# standard cell grid (backside power: just BPR followpins for now)
12+
# standard cell grid (backside power: BPR followpins + BM1/BM2 mesh)
1313
####################################
14-
define_pdn_grid -name {grid} -voltage_domains {CORE} -pins {BPR}
14+
define_pdn_grid -name {grid} -voltage_domains {CORE} -pins {BM2}
1515
add_pdn_stripe -grid {grid} -layer {BPR} -width {0.032} -pitch {0.144} -offset {0} -followpins
16+
# BM1 perpendicular to BPR; modest mesh density.
17+
add_pdn_stripe -grid {grid} -layer {BM1} -width {0.224} -spacing {0.112} -pitch {1.792} -offset {0.896}
18+
# BM2 perpendicular to BM1, wider for lower IR.
19+
add_pdn_stripe -grid {grid} -layer {BM2} -width {0.448} -spacing {0.112} -pitch {1.792} -offset {0.896}
20+
add_pdn_connect -grid {grid} -layers {BPR BM1}
21+
add_pdn_connect -grid {grid} -layers {BM1 BM2}

flow/platforms/gt2n/setRC.tcl

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,13 @@
66
# R per length is computed as (resistivity [uOhm.cm] * 0.01) / (thickness [um])
77
# divided by the minimum wire width, giving ohm / um. Capacitance is a rough
88
# guess (no PEX data shipped in the ICT for these layers).
9+
#
10+
# WARNING: ALL VALUES BELOW ARE FAKE / PLACEHOLDER.
11+
# They are dimensional estimates only and are not calibrated against
12+
# silicon or a vendor extraction model. Use them to exercise the flow
13+
# (timing closure, IR drop sweeps, routing congestion) but do NOT treat
14+
# any number derived from them as physically meaningful. Replace with
15+
# values from a real RCX / QRC model before drawing conclusions.
916

1017
# Front-side routing
1118
set_layer_rc -layer M0 -resistance 259 -capacitance 1.5e-4
@@ -20,18 +27,25 @@ set_layer_rc -layer M8 -resistance 3.5 -capacitance 2.0e-4
2027
set_layer_rc -layer M9 -resistance 3.5 -capacitance 2.0e-4
2128
set_layer_rc -layer M10 -resistance 0.67 -capacitance 2.5e-4
2229

23-
# Backside (no calibration data in ICT; estimate from layer dimensions)
30+
# Backside (fake values; ICT has no backside data, dimensions only)
2431
set_layer_rc -layer BPR -resistance 30 -capacitance 1.0e-4
2532
set_layer_rc -layer BM1 -resistance 5 -capacitance 1.5e-4
2633
set_layer_rc -layer BM2 -resistance 5 -capacitance 1.5e-4
2734

28-
# Via resistances (rough)
35+
# Via resistances (fake; rough scaling vs. cut size)
2936
set_layer_rc -via V0 -resistance 10
3037
set_layer_rc -via V1 -resistance 10
3138
set_layer_rc -via V2 -resistance 8
3239
set_layer_rc -via V3 -resistance 8
3340
set_layer_rc -via V4 -resistance 5
3441
set_layer_rc -via V5 -resistance 5
3542

43+
# Backside via resistances (fake; same scale as front-side V0..V4)
44+
set_layer_rc -via BV0 -resistance 10
45+
set_layer_rc -via BV1 -resistance 8
46+
set_layer_rc -via BV2 -resistance 8
47+
set_layer_rc -via BV3 -resistance 5
48+
set_layer_rc -via BV4 -resistance 5
49+
3650
set_wire_rc -signal -layer M3
3751
set_wire_rc -clock -layer M5

0 commit comments

Comments
 (0)