Skip to content

Commit 76b6e12

Browse files
authored
Merge pull request #1062 from vijayank88/chameleon_fix
chameleon_hier updates for BLOCKS
2 parents 5d9b74e + 4fe0f30 commit 76b6e12

File tree

14 files changed

+45
-228
lines changed

14 files changed

+45
-228
lines changed

docs/user/FlowVariables.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ Note:
6464
| `TAPCELL_TCL` | = | = | = | = | = |
6565
| `MACRO_PLACE_HALO` | ?= | ?= | ?= | ?= | ?= |
6666
| `MACRO_PLACE_CHANNEL` | ?= | ?= | ?= | ?= | ?= |
67-
| `PDN_CFG` | ?= | ?= | ?= | ?= | ?= |
67+
| `PDN_TCL` | ?= | ?= | ?= | ?= | ?= |
6868
| `IO_PLACER_H` | = | = | = | = | ?= |
6969
| `IO_PLACER_V` | = | = | = | = | ?= |
7070
| Placement | | | | | |
@@ -131,7 +131,7 @@ Note:
131131
| `MACRO_PLACE_HALO` | horizontal/vertical halo around macros (microns). Used by automatic macro placement. |
132132
| `MACRO_PLACE_CHANNEL` | horizontal/vertical channel width between macros (microns). Used by automatic macro placement when `RTLMP_FLOW` is disabled. Imagine channel=10 and halo=5. Then macros must be 10 apart but standard cells must be 5 away from a macro.|
133133
| `MACRO_BLOCKAGE_HALO` | Blockage width overridden from default calculation. |
134-
| `PDN_CFG` | File path which has a set of power grid policies used by `pdn` to be applied to the design, such as layers to use, stripe width and spacing to generate the actual metal straps. |
134+
| `PDN_TCL` | File path which has a set of power grid policies used by `pdn` to be applied to the design, such as layers to use, stripe width and spacing to generate the actual metal straps. |
135135
| `MAKE_TRACKS` | Tcl file that defines add routing tracks to a floorplan. |
136136
| `IO_PLACER_H` | The metal layer on which to place the I/O pins horizontally (top and bottom of the die). |
137137
| `IO_PLACER_V` | The metal layer on which to place the I/O pins vertically (sides of the die). |

flow/Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -471,7 +471,7 @@ $(RESULTS_DIR)/2_5_floorplan_tapcell.odb: $(RESULTS_DIR)/2_4_floorplan_macro.odb
471471

472472
# STEP 6: PDN generation
473473
#-------------------------------------------------------------------------------
474-
$(RESULTS_DIR)/2_6_floorplan_pdn.odb: $(RESULTS_DIR)/2_5_floorplan_tapcell.odb $(PDN_CFG) $(PDN_TCL)
474+
$(RESULTS_DIR)/2_6_floorplan_pdn.odb: $(RESULTS_DIR)/2_5_floorplan_tapcell.odb $(PDN_TCL)
475475
($(TIME_CMD) $(OPENROAD_CMD) $(SCRIPTS_DIR)/pdn.tcl -metrics $(LOG_DIR)/2_6_pdn.json) 2>&1 | tee $(LOG_DIR)/2_6_pdn.log
476476

477477
$(RESULTS_DIR)/2_floorplan.odb: $(RESULTS_DIR)/2_6_floorplan_pdn.odb
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
####################################
2+
# global connections
3+
####################################
4+
add_global_connection -net {VDD} -inst_pattern {.*} -pin_pattern {^VDD$} -power
5+
add_global_connection -net {VDD} -inst_pattern {.*} -pin_pattern {^VDDPE$}
6+
add_global_connection -net {VDD} -inst_pattern {.*} -pin_pattern {^VDDCE$}
7+
add_global_connection -net {VDD} -inst_pattern {.*} -pin_pattern {VPWR}
8+
add_global_connection -net {VDD} -inst_pattern {.*} -pin_pattern {VPB}
9+
add_global_connection -net {VSS} -inst_pattern {.*} -pin_pattern {^VSS$} -ground
10+
add_global_connection -net {VSS} -inst_pattern {.*} -pin_pattern {^VSSE$}
11+
add_global_connection -net {VSS} -inst_pattern {.*} -pin_pattern {VGND}
12+
add_global_connection -net {VSS} -inst_pattern {.*} -pin_pattern {VNB}
13+
global_connect
14+
####################################
15+
# voltage domains
16+
####################################
17+
set_voltage_domain -name {CORE} -power {VDD} -ground {VSS}
18+
####################################
19+
# standard cell grid
20+
####################################
21+
define_pdn_grid -name {grid} -voltage_domains {CORE}
22+
add_pdn_stripe -grid {grid} -layer {met1} -width {0.48} -pitch {5.44} -offset {0} -followpins
23+
add_pdn_stripe -grid {grid} -layer {met4} -width {1.600} -pitch {27.140} -offset {13.570}
24+
add_pdn_connect -grid {grid} -layers {met1 met4}

flow/designs/sky130hd/chameleon_hier/DFFRAM_4K/config.mk

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,13 @@ export VERILOG_FILES = \
1313

1414
export SDC_FILE = ${TOP_DIR}/${DESIGN_NAME}/constraint.sdc
1515

16-
export PDN_CFG = ${TOP_DIR}/${DESIGN_NAME}/pdn.cfg
16+
export PDN_TCL = ${TOP_DIR}/BLOCKS_pdn.tcl
1717

1818
export ABC_DRIVER_CELL = sky130_fd_sc_hd__buf_1
1919
export ABC_LOAD_IN_FF = 3
2020

2121
# These values must be multiples of placement site
2222
export DIE_AREA = 0 0 1925 2450
2323
export CORE_AREA = 0.46 2.720 1924.54 2447.28
24-
export MIN_ROUTING_LAYER 2
25-
export MAX_ROUTING_LAYER 5
24+
export MIN_ROUTING_LAYER = met1
25+
export MAX_ROUTING_LAYER = met4

flow/designs/sky130hd/chameleon_hier/DFFRAM_4K/pdn.cfg

Lines changed: 0 additions & 39 deletions
This file was deleted.

flow/designs/sky130hd/chameleon_hier/DMC_32x16HC/config.mk

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ export VERILOG_FILES = \
1313

1414
export SDC_FILE = ${TOP_DIR}/${DESIGN_NAME}/constraint.sdc
1515

16-
export PDN_CFG = ${TOP_DIR}/${DESIGN_NAME}/pdn.cfg
16+
export PDN_TCL = ${TOP_DIR}/BLOCKS_pdn.tcl
1717

1818
export ABC_DRIVER_CELL = sky130_fd_sc_hd__buf_1
1919
export ABC_LOAD_IN_FF = 3
@@ -22,5 +22,5 @@ export ABC_LOAD_IN_FF = 3
2222
export DIE_AREA = 0 0 600 900
2323
export CORE_AREA = 0.46 2.720 599.54 897.28
2424

25-
export MIN_ROUTING_LAYER 2
26-
export MAX_ROUTING_LAYER 5
25+
export MIN_ROUTING_LAYER = met1
26+
export MAX_ROUTING_LAYER = met4

flow/designs/sky130hd/chameleon_hier/DMC_32x16HC/pdn.cfg

Lines changed: 0 additions & 37 deletions
This file was deleted.

flow/designs/sky130hd/chameleon_hier/apb_sys_0/config.mk

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ export VERILOG_FILES = \
1313

1414
export SDC_FILE = ${TOP_DIR}/${DESIGN_NAME}/constraint.sdc
1515

16-
export PDN_CFG = ${TOP_DIR}/${DESIGN_NAME}/pdn.cfg
16+
export PDN_TCL = ${TOP_DIR}/BLOCKS_pdn.tcl
1717

1818
export ABC_DRIVER_CELL = sky130_fd_sc_hd__buf_1
1919
export ABC_LOAD_IN_FF = 3
@@ -22,5 +22,5 @@ export ABC_LOAD_IN_FF = 3
2222
export DIE_AREA = 0 0 675 1050
2323
export CORE_AREA = 0.46 2.720 674.54 1047.28
2424

25-
export MIN_ROUTING_LAYER 2
26-
export MAX_ROUTING_LAYER 5
25+
export MIN_ROUTING_LAYER = met1
26+
export MAX_ROUTING_LAYER = met4

flow/designs/sky130hd/chameleon_hier/apb_sys_0/pdn.cfg

Lines changed: 0 additions & 37 deletions
This file was deleted.

flow/designs/sky130hd/chameleon_hier/config.mk

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -43,16 +43,10 @@ export VERILOG_FILES = \
4343
export HAS_IO_CONSTRAINTS = 1
4444
export ENABLE_DPO = 0
4545
export MACRO_PLACE_CHANNEL = 160 160
46-
export MACRO_PLACE_HALO = 2 2
46+
export MACRO_PLACE_HALO = 160 160
4747
export DIE_AREA = 0.0 0.0 6800 6800
4848
export CORE_AREA = 200 200 6600 6600
4949
export SDC_FILE = ./designs/$(PLATFORM)/$(DESIGN_NICKNAME)/constraint.sdc
50-
export RCX_RULES = $(PLATFORM_DIR)/rcx_patterns.rules
5150

52-
export PDN_CFG = ./designs/$(PLATFORM)/$(DESIGN_NICKNAME)/pdn.cfg
53-
54-
export FP_PDN_RAIL_WIDTH = 0.48
55-
export FP_PDN_RAIL_OFFSET = 0
56-
57-
export MIN_ROUTING_LAYER 2
58-
export MAX_ROUTING_LAYER 6
51+
export MIN_ROUTING_LAYER = met1
52+
export MAX_ROUTING_LAYER = met5

0 commit comments

Comments
 (0)