diff --git a/flow/platforms/gf180/config.mk b/flow/platforms/gf180/config.mk index d4fea42f7f..a8af3d4184 100644 --- a/flow/platforms/gf180/config.mk +++ b/flow/platforms/gf180/config.mk @@ -32,6 +32,10 @@ export FILL_CELLS ?= gf180mcu_fd_sc_mcu$(TRACK_OPTIO gf180mcu_fd_sc_mcu$(TRACK_OPTION)$(POWER_OPTION)__fill_2 \ gf180mcu_fd_sc_mcu$(TRACK_OPTION)$(POWER_OPTION)__fill_1 +# Metal density fill rules (OpenROAD density_fill). Applied at chip level +# only when USE_FILL=1; macro/block builds leave USE_FILL=0 (the default). +export FILL_CONFIG ?= $(PLATFORM_DIR)/fill.json + export TIE_CELL = gf180mcu_fd_sc_mcu$(TRACK_OPTION)$(POWER_OPTION)__filltie export ENDCAP_CELL = gf180mcu_fd_sc_mcu$(TRACK_OPTION)$(POWER_OPTION)__endcap export RC_FILE = $(PLATFORM_DIR)/setRC.tcl diff --git a/flow/platforms/gf180/fill.json b/flow/platforms/gf180/fill.json new file mode 100644 index 0000000000..a208c0c5be --- /dev/null +++ b/flow/platforms/gf180/fill.json @@ -0,0 +1,78 @@ +{ + "layers" : { + "Metal1" : { + "layer": 34, + "name": "Metal1", + "dir": "H", + "datatype": 0, + "space_to_outline": 5, + "non-opc": { + "datatype": 4, + "width": [12.00, 6.00, 3.00, 2.00], + "height": [2.00, 2.00, 2.00, 2.00], + "space_to_fill": 1.0, + "space_to_non_fill": 2.0 + } + }, + + "Metal2" : { + "layer": 36, + "name": "Metal2", + "dir": "V", + "datatype": 0, + "space_to_outline": 5, + "non-opc": { + "datatype": 4, + "width": [2.00, 2.00, 2.00, 2.00], + "height": [12.00, 6.00, 3.00, 2.00], + "space_to_fill": 1.0, + "space_to_non_fill": 2.0 + } + }, + + "Metal3" : { + "layer": 42, + "name": "Metal3", + "dir": "H", + "datatype": 0, + "space_to_outline": 5, + "non-opc": { + "datatype": 4, + "width": [12.00, 6.00, 3.00, 2.00], + "height": [2.00, 2.00, 2.00, 2.00], + "space_to_fill": 1.0, + "space_to_non_fill": 2.0 + } + }, + + "Metal4" : { + "layer": 46, + "name": "Metal4", + "dir": "V", + "datatype": 0, + "space_to_outline": 5, + "non-opc": { + "datatype": 4, + "width": [2.00, 2.00, 2.00, 2.00], + "height": [12.00, 6.00, 3.00, 2.00], + "space_to_fill": 1.0, + "space_to_non_fill": 2.0 + } + }, + + "Metal5" : { + "layer": 81, + "name": "Metal5", + "dir": "H", + "datatype": 0, + "space_to_outline": 5, + "non-opc": { + "datatype": 4, + "width": [12.00, 6.00, 3.00, 2.00], + "height": [2.00, 2.00, 2.00, 2.00], + "space_to_fill": 1.0, + "space_to_non_fill": 2.0 + } + } + } +} diff --git a/flow/platforms/gf180/gds/7t/gf180mcu_5LM_1TM_9K_7t_edi2gds.layermap b/flow/platforms/gf180/gds/7t/gf180mcu_5LM_1TM_9K_7t_edi2gds.layermap index d690d3ffe0..0239c803aa 100755 --- a/flow/platforms/gf180/gds/7t/gf180mcu_5LM_1TM_9K_7t_edi2gds.layermap +++ b/flow/platforms/gf180/gds/7t/gf180mcu_5LM_1TM_9K_7t_edi2gds.layermap @@ -6,8 +6,8 @@ Metal1 NET 34 0 Metal1 SPNET 34 0 Metal1 PIN 34 0 Metal1 LEFPIN 34 0 -Metal1 FILL 34 0 -Metal1 FILLOPC 34 0 +Metal1 FILL 34 4 +Metal1 FILLOPC 34 4 Metal1 VIA 34 0 Metal1 VIAFILL 34 0 Metal1 VIAFILLOPC 34 0 @@ -31,8 +31,8 @@ Metal2 NET 36 0 Metal2 SPNET 36 0 Metal2 PIN 36 0 Metal2 LEFPIN 36 0 -Metal2 FILL 36 0 -Metal2 FILLOPC 36 0 +Metal2 FILL 36 4 +Metal2 FILLOPC 36 4 Metal2 VIA 36 0 Metal2 VIAFILL 36 0 Metal2 VIAFILLOPC 36 0 @@ -56,8 +56,8 @@ Metal3 NET 42 0 Metal3 SPNET 42 0 Metal3 PIN 42 0 Metal3 LEFPIN 42 0 -Metal3 FILL 42 0 -Metal3 FILLOPC 42 0 +Metal3 FILL 42 4 +Metal3 FILLOPC 42 4 Metal3 VIA 42 0 Metal3 VIAFILL 42 0 Metal3 VIAFILLOPC 42 0 @@ -81,8 +81,8 @@ Metal4 NET 46 0 Metal4 SPNET 46 0 Metal4 PIN 46 0 Metal4 LEFPIN 46 0 -Metal4 FILL 46 0 -Metal4 FILLOPC 46 0 +Metal4 FILL 46 4 +Metal4 FILLOPC 46 4 Metal4 VIA 46 0 Metal4 VIAFILL 46 0 Metal4 VIAFILLOPC 46 0 @@ -106,8 +106,8 @@ Metal5 NET 81 0 Metal5 SPNET 81 0 Metal5 PIN 81 0 Metal5 LEFPIN 81 0 -Metal5 FILL 81 0 -Metal5 FILLOPC 81 0 +Metal5 FILL 81 4 +Metal5 FILLOPC 81 4 Metal5 VIA 81 0 Metal5 VIAFILL 81 0 Metal5 VIAFILLOPC 81 0 diff --git a/flow/platforms/gf180/gds/7t/gf180mcu_6LM_1TM_9K_7t_edi2gds.layermap b/flow/platforms/gf180/gds/7t/gf180mcu_6LM_1TM_9K_7t_edi2gds.layermap index 67b85e06c1..1c60f62d19 100755 --- a/flow/platforms/gf180/gds/7t/gf180mcu_6LM_1TM_9K_7t_edi2gds.layermap +++ b/flow/platforms/gf180/gds/7t/gf180mcu_6LM_1TM_9K_7t_edi2gds.layermap @@ -6,8 +6,8 @@ Metal1 NET 34 0 Metal1 SPNET 34 0 Metal1 PIN 34 0 Metal1 LEFPIN 34 0 -Metal1 FILL 34 0 -Metal1 FILLOPC 34 0 +Metal1 FILL 34 4 +Metal1 FILLOPC 34 4 Metal1 VIA 34 0 Metal1 VIAFILL 34 0 Metal1 VIAFILLOPC 34 0 @@ -31,8 +31,8 @@ Metal2 NET 36 0 Metal2 SPNET 36 0 Metal2 PIN 36 0 Metal2 LEFPIN 36 0 -Metal2 FILL 36 0 -Metal2 FILLOPC 36 0 +Metal2 FILL 36 4 +Metal2 FILLOPC 36 4 Metal2 VIA 36 0 Metal2 VIAFILL 36 0 Metal2 VIAFILLOPC 36 0 @@ -56,8 +56,8 @@ Metal3 NET 42 0 Metal3 SPNET 42 0 Metal3 PIN 42 0 Metal3 LEFPIN 42 0 -Metal3 FILL 42 0 -Metal3 FILLOPC 42 0 +Metal3 FILL 42 4 +Metal3 FILLOPC 42 4 Metal3 VIA 42 0 Metal3 VIAFILL 42 0 Metal3 VIAFILLOPC 42 0 @@ -81,8 +81,8 @@ Metal4 NET 46 0 Metal4 SPNET 46 0 Metal4 PIN 46 0 Metal4 LEFPIN 46 0 -Metal4 FILL 46 0 -Metal4 FILLOPC 46 0 +Metal4 FILL 46 4 +Metal4 FILLOPC 46 4 Metal4 VIA 46 0 Metal4 VIAFILL 46 0 Metal4 VIAFILLOPC 46 0 @@ -106,8 +106,8 @@ Metal5 NET 81 0 Metal5 SPNET 81 0 Metal5 PIN 81 0 Metal5 LEFPIN 81 0 -Metal5 FILL 81 0 -Metal5 FILLOPC 81 0 +Metal5 FILL 81 4 +Metal5 FILLOPC 81 4 Metal5 VIA 81 0 Metal5 VIAFILL 81 0 Metal5 VIAFILLOPC 81 0 diff --git a/flow/platforms/gf180/gds/9t/gf180mcu_5LM_1TM_9K_9t_edi2gds.layermap b/flow/platforms/gf180/gds/9t/gf180mcu_5LM_1TM_9K_9t_edi2gds.layermap index d690d3ffe0..0239c803aa 100755 --- a/flow/platforms/gf180/gds/9t/gf180mcu_5LM_1TM_9K_9t_edi2gds.layermap +++ b/flow/platforms/gf180/gds/9t/gf180mcu_5LM_1TM_9K_9t_edi2gds.layermap @@ -6,8 +6,8 @@ Metal1 NET 34 0 Metal1 SPNET 34 0 Metal1 PIN 34 0 Metal1 LEFPIN 34 0 -Metal1 FILL 34 0 -Metal1 FILLOPC 34 0 +Metal1 FILL 34 4 +Metal1 FILLOPC 34 4 Metal1 VIA 34 0 Metal1 VIAFILL 34 0 Metal1 VIAFILLOPC 34 0 @@ -31,8 +31,8 @@ Metal2 NET 36 0 Metal2 SPNET 36 0 Metal2 PIN 36 0 Metal2 LEFPIN 36 0 -Metal2 FILL 36 0 -Metal2 FILLOPC 36 0 +Metal2 FILL 36 4 +Metal2 FILLOPC 36 4 Metal2 VIA 36 0 Metal2 VIAFILL 36 0 Metal2 VIAFILLOPC 36 0 @@ -56,8 +56,8 @@ Metal3 NET 42 0 Metal3 SPNET 42 0 Metal3 PIN 42 0 Metal3 LEFPIN 42 0 -Metal3 FILL 42 0 -Metal3 FILLOPC 42 0 +Metal3 FILL 42 4 +Metal3 FILLOPC 42 4 Metal3 VIA 42 0 Metal3 VIAFILL 42 0 Metal3 VIAFILLOPC 42 0 @@ -81,8 +81,8 @@ Metal4 NET 46 0 Metal4 SPNET 46 0 Metal4 PIN 46 0 Metal4 LEFPIN 46 0 -Metal4 FILL 46 0 -Metal4 FILLOPC 46 0 +Metal4 FILL 46 4 +Metal4 FILLOPC 46 4 Metal4 VIA 46 0 Metal4 VIAFILL 46 0 Metal4 VIAFILLOPC 46 0 @@ -106,8 +106,8 @@ Metal5 NET 81 0 Metal5 SPNET 81 0 Metal5 PIN 81 0 Metal5 LEFPIN 81 0 -Metal5 FILL 81 0 -Metal5 FILLOPC 81 0 +Metal5 FILL 81 4 +Metal5 FILLOPC 81 4 Metal5 VIA 81 0 Metal5 VIAFILL 81 0 Metal5 VIAFILLOPC 81 0 diff --git a/flow/platforms/gf180/gds/9t/gf180mcu_6LM_1TM_9K_9t_edi2gds.layermap b/flow/platforms/gf180/gds/9t/gf180mcu_6LM_1TM_9K_9t_edi2gds.layermap index 67b85e06c1..1c60f62d19 100755 --- a/flow/platforms/gf180/gds/9t/gf180mcu_6LM_1TM_9K_9t_edi2gds.layermap +++ b/flow/platforms/gf180/gds/9t/gf180mcu_6LM_1TM_9K_9t_edi2gds.layermap @@ -6,8 +6,8 @@ Metal1 NET 34 0 Metal1 SPNET 34 0 Metal1 PIN 34 0 Metal1 LEFPIN 34 0 -Metal1 FILL 34 0 -Metal1 FILLOPC 34 0 +Metal1 FILL 34 4 +Metal1 FILLOPC 34 4 Metal1 VIA 34 0 Metal1 VIAFILL 34 0 Metal1 VIAFILLOPC 34 0 @@ -31,8 +31,8 @@ Metal2 NET 36 0 Metal2 SPNET 36 0 Metal2 PIN 36 0 Metal2 LEFPIN 36 0 -Metal2 FILL 36 0 -Metal2 FILLOPC 36 0 +Metal2 FILL 36 4 +Metal2 FILLOPC 36 4 Metal2 VIA 36 0 Metal2 VIAFILL 36 0 Metal2 VIAFILLOPC 36 0 @@ -56,8 +56,8 @@ Metal3 NET 42 0 Metal3 SPNET 42 0 Metal3 PIN 42 0 Metal3 LEFPIN 42 0 -Metal3 FILL 42 0 -Metal3 FILLOPC 42 0 +Metal3 FILL 42 4 +Metal3 FILLOPC 42 4 Metal3 VIA 42 0 Metal3 VIAFILL 42 0 Metal3 VIAFILLOPC 42 0 @@ -81,8 +81,8 @@ Metal4 NET 46 0 Metal4 SPNET 46 0 Metal4 PIN 46 0 Metal4 LEFPIN 46 0 -Metal4 FILL 46 0 -Metal4 FILLOPC 46 0 +Metal4 FILL 46 4 +Metal4 FILLOPC 46 4 Metal4 VIA 46 0 Metal4 VIAFILL 46 0 Metal4 VIAFILLOPC 46 0 @@ -106,8 +106,8 @@ Metal5 NET 81 0 Metal5 SPNET 81 0 Metal5 PIN 81 0 Metal5 LEFPIN 81 0 -Metal5 FILL 81 0 -Metal5 FILLOPC 81 0 +Metal5 FILL 81 4 +Metal5 FILLOPC 81 4 Metal5 VIA 81 0 Metal5 VIAFILL 81 0 Metal5 VIAFILLOPC 81 0