diff --git a/flow/designs/asap7/aes-block/config.mk b/flow/designs/asap7/aes-block/config.mk index 60a0c336b1..fa3feb01ab 100644 --- a/flow/designs/asap7/aes-block/config.mk +++ b/flow/designs/asap7/aes-block/config.mk @@ -8,10 +8,9 @@ export SDC_FILE = $(DESIGN_HOME)/$(PLATFORM)/$(DESIGN_NICKNAME)/constraint. export ABC_AREA = 1 -export CORE_UTILIZATION = 40 +export CORE_UTILIZATION = 47 export CORE_ASPECT_RATIO = 1 export CORE_MARGIN = 2 -export PLACE_DENSITY = 0.53 export BLOCKS ?= aes_rcon aes_sbox export SYNTH_HIERARCHICAL = 1 diff --git a/flow/designs/asap7/aes-block/rules-base.json b/flow/designs/asap7/aes-block/rules-base.json index 0166f5aec5..6221ddb314 100644 --- a/flow/designs/asap7/aes-block/rules-base.json +++ b/flow/designs/asap7/aes-block/rules-base.json @@ -12,7 +12,7 @@ "compare": "<=" }, "placeopt__design__instance__count__stdcell": { - "value": 10573, + "value": 10549, "compare": "<=" }, "detailedplace__design__violations": { @@ -20,11 +20,11 @@ "compare": "==" }, "cts__design__instance__count__setup_buffer": { - "value": 919, + "value": 917, "compare": "<=" }, "cts__design__instance__count__hold_buffer": { - "value": 923, + "value": 917, "compare": "<=" }, "cts__timing__setup__ws": { @@ -32,7 +32,7 @@ "compare": ">=" }, "cts__timing__setup__tns": { - "value": -5920.0, + "value": -10300.0, "compare": ">=" }, "cts__timing__hold__ws": { @@ -48,11 +48,11 @@ "compare": "<=" }, "globalroute__timing__setup__ws": { - "value": -150.0, + "value": -175.0, "compare": ">=" }, "globalroute__timing__setup__tns": { - "value": -6750.0, + "value": -10600.0, "compare": ">=" }, "globalroute__timing__hold__ws": { @@ -64,7 +64,7 @@ "compare": ">=" }, "detailedroute__route__wirelength": { - "value": 52923, + "value": 50927, "compare": "<=" }, "detailedroute__route__drc_errors": { @@ -84,7 +84,7 @@ "compare": ">=" }, "finish__timing__setup__tns": { - "value": -3780.0, + "value": -6230.0, "compare": ">=" }, "finish__timing__hold__ws": { diff --git a/flow/designs/nangate45/swerv/config.mk b/flow/designs/nangate45/swerv/config.mk index 6625aced49..31319f817f 100644 --- a/flow/designs/nangate45/swerv/config.mk +++ b/flow/designs/nangate45/swerv/config.mk @@ -4,7 +4,7 @@ export PLATFORM = nangate45 export VERILOG_FILES = $(DESIGN_HOME)/src/$(DESIGN_NAME)/swerv_wrapper.sv2v.v export SDC_FILE = $(DESIGN_HOME)/$(PLATFORM)/$(DESIGN_NAME)/constraint.sdc -export CORE_UTILIZATION = 40 +export CORE_UTILIZATION = 65 export CORE_ASPECT_RATIO = 1 export CORE_MARGIN = 5 diff --git a/flow/designs/nangate45/swerv/constraint.sdc b/flow/designs/nangate45/swerv/constraint.sdc index ccaab11ddf..388a7027b0 100644 --- a/flow/designs/nangate45/swerv/constraint.sdc +++ b/flow/designs/nangate45/swerv/constraint.sdc @@ -2,7 +2,7 @@ current_design swerv set clk_name core_clock set clk_port_name clk -set clk_period 2.0 +set clk_period 1.75 set clk_io_pct 0.2 set clk_port [get_ports $clk_port_name] diff --git a/flow/designs/nangate45/swerv/rules-base.json b/flow/designs/nangate45/swerv/rules-base.json index 89d210b90e..1ae2bf88c5 100644 --- a/flow/designs/nangate45/swerv/rules-base.json +++ b/flow/designs/nangate45/swerv/rules-base.json @@ -28,19 +28,19 @@ "compare": "<=" }, "cts__timing__setup__ws": { - "value": -0.207, + "value": -0.387, "compare": ">=" }, "cts__timing__setup__tns": { - "value": -9.64, + "value": -233.0, "compare": ">=" }, "cts__timing__hold__ws": { - "value": -0.1, + "value": -0.0875, "compare": ">=" }, "cts__timing__hold__tns": { - "value": -0.4, + "value": -0.35, "compare": ">=" }, "globalroute__antenna_diodes_count": { @@ -48,23 +48,23 @@ "compare": "<=" }, "globalroute__timing__setup__ws": { - "value": -0.224, + "value": -0.416, "compare": ">=" }, "globalroute__timing__setup__tns": { - "value": -37.0, + "value": -305.0, "compare": ">=" }, "globalroute__timing__hold__ws": { - "value": -0.1, + "value": -0.0875, "compare": ">=" }, "globalroute__timing__hold__tns": { - "value": -0.4, + "value": -0.35, "compare": ">=" }, "detailedroute__route__wirelength": { - "value": 2799467, + "value": 2659376, "compare": "<=" }, "detailedroute__route__drc_errors": { @@ -80,19 +80,19 @@ "compare": "<=" }, "finish__timing__setup__ws": { - "value": -0.235, + "value": -0.398, "compare": ">=" }, "finish__timing__setup__tns": { - "value": -23.9, + "value": -234.0, "compare": ">=" }, "finish__timing__hold__ws": { - "value": -0.1, + "value": -0.0875, "compare": ">=" }, "finish__timing__hold__tns": { - "value": -0.4, + "value": -0.35, "compare": ">=" }, "finish__design__instance__area": { diff --git a/flow/designs/sky130hd/chameleon/config.mk b/flow/designs/sky130hd/chameleon/config.mk index 0f4d32a6e2..d02447831b 100644 --- a/flow/designs/sky130hd/chameleon/config.mk +++ b/flow/designs/sky130hd/chameleon/config.mk @@ -29,8 +29,9 @@ export ABC_AREA = 1 export SDC_FILE = $(DESIGN_HOME)/$(PLATFORM)/$(DESIGN_NICKNAME)/constraint.sdc -export DIE_AREA = 0 0 2920 3520 -export CORE_AREA = 20 20 2900 3500 +export CORE_UTILIZATION = 70 +export CORE_ASPECT_RATIO = 1.3 +export CORE_MARGIN = 2 export chameleon_DIR = $(DESIGN_HOME)/$(PLATFORM)/$(DESIGN_NICKNAME) @@ -44,7 +45,7 @@ export ADDITIONAL_LEFS = $(chameleon_DIR)/lef/apb_sys_0.lef \ $(chameleon_DIR)/lef/DMC_32x16HC.lef \ $(chameleon_DIR)/lef/ibex_wrapper.lef -export MACRO_PLACEMENT_TCL = $(chameleon_DIR)/macro_placement.tcl +#export MACRO_PLACEMENT_TCL = $(chameleon_DIR)/macro_placement.tcl export FP_PDN_RAIL_WIDTH = 0.48 export FP_PDN_RAIL_OFFSET = 0 diff --git a/flow/designs/sky130hd/chameleon/constraint.sdc b/flow/designs/sky130hd/chameleon/constraint.sdc index d3a0d6df47..d37cfd7533 100644 --- a/flow/designs/sky130hd/chameleon/constraint.sdc +++ b/flow/designs/sky130hd/chameleon/constraint.sdc @@ -1,6 +1,6 @@ set clk_name core_clock set clk_port_name HCLK -set clk_period 7.0 +set clk_period 3 set clk_io_pct 0.1 set clk_port [get_ports $clk_port_name] diff --git a/flow/designs/sky130hd/chameleon/macro_placement.tcl b/flow/designs/sky130hd/chameleon/macro_placement.tcl deleted file mode 100644 index dbbe724cc3..0000000000 --- a/flow/designs/sky130hd/chameleon/macro_placement.tcl +++ /dev/null @@ -1,6 +0,0 @@ -place_macro -macro_name {RAM.genblk1\[0\].RAM} -location {200 150} -orientation R0 -place_macro -macro_name {RAM.genblk1\[1\].RAM} -location {1600 150} -orientation R0 -place_macro -macro_name {RAM.genblk1\[2\].RAM} -location {200 1950} -orientation R180 -place_macro -macro_name {ahb_sys_0_uut.S0.CACHE} -location {2100 2650} -orientation R0 -place_macro -macro_name {ahb_sys_0_uut.apb_sys_inst_0} -location {1470 2643} -orientation R0 -place_macro -macro_name {ibex_core} -location {2150 1700} -orientation R0 diff --git a/flow/designs/sky130hd/chameleon/rules-base.json b/flow/designs/sky130hd/chameleon/rules-base.json index 67ebb567af..7319a6e9a2 100644 --- a/flow/designs/sky130hd/chameleon/rules-base.json +++ b/flow/designs/sky130hd/chameleon/rules-base.json @@ -8,11 +8,11 @@ "compare": "==" }, "placeopt__design__instance__area": { - "value": 6528032, + "value": 6489461, "compare": "<=" }, "placeopt__design__instance__count__stdcell": { - "value": 69712, + "value": 38946, "compare": "<=" }, "detailedplace__design__violations": { @@ -20,51 +20,51 @@ "compare": "==" }, "cts__design__instance__count__setup_buffer": { - "value": 6062, + "value": 3387, "compare": "<=" }, "cts__design__instance__count__hold_buffer": { - "value": 6062, + "value": 3387, "compare": "<=" }, "cts__timing__setup__ws": { - "value": -0.35, + "value": -3.07, "compare": ">=" }, "cts__timing__setup__tns": { - "value": -1.4, + "value": -13.2, "compare": ">=" }, "cts__timing__hold__ws": { - "value": -0.35, + "value": -0.15, "compare": ">=" }, "cts__timing__hold__tns": { - "value": -1.4, + "value": -0.6, "compare": ">=" }, "globalroute__antenna_diodes_count": { - "value": 154, + "value": 100, "compare": "<=" }, "globalroute__timing__setup__ws": { - "value": -0.35, + "value": -2.85, "compare": ">=" }, "globalroute__timing__setup__tns": { - "value": -1.4, + "value": -9.98, "compare": ">=" }, "globalroute__timing__hold__ws": { - "value": -0.35, + "value": -0.15, "compare": ">=" }, "globalroute__timing__hold__tns": { - "value": -1.4, + "value": -0.6, "compare": ">=" }, "detailedroute__route__wirelength": { - "value": 771372, + "value": 724825, "compare": "<=" }, "detailedroute__route__drc_errors": { @@ -80,23 +80,23 @@ "compare": "<=" }, "finish__timing__setup__ws": { - "value": -0.35, + "value": -2.78, "compare": ">=" }, "finish__timing__setup__tns": { - "value": -1.4, + "value": -9.44, "compare": ">=" }, "finish__timing__hold__ws": { - "value": -0.35, + "value": -0.15, "compare": ">=" }, "finish__timing__hold__tns": { - "value": -1.4, + "value": -0.6, "compare": ">=" }, "finish__design__instance__area": { - "value": 6531862, + "value": 6493440, "compare": "<=" } } \ No newline at end of file diff --git a/flow/designs/sky130hd/jpeg/config.mk b/flow/designs/sky130hd/jpeg/config.mk index 02964073ba..d37a2e56ac 100644 --- a/flow/designs/sky130hd/jpeg/config.mk +++ b/flow/designs/sky130hd/jpeg/config.mk @@ -6,7 +6,7 @@ export VERILOG_FILES = $(sort $(wildcard $(DESIGN_HOME)/src/$(DESIGN_NICKNAME)/* export VERILOG_INCLUDE_DIRS = $(DESIGN_HOME)/src/$(DESIGN_NICKNAME)/include export SDC_FILE = $(DESIGN_HOME)/$(PLATFORM)/$(DESIGN_NICKNAME)/constraint.sdc -export CORE_UTILIZATION = 50 +export CORE_UTILIZATION = 55 export PLACE_DENSITY_LB_ADDON = 0.15 export TNS_END_PERCENT = 100 diff --git a/flow/designs/sky130hd/jpeg/constraint.sdc b/flow/designs/sky130hd/jpeg/constraint.sdc index 5d9b007f0e..99efc05739 100644 --- a/flow/designs/sky130hd/jpeg/constraint.sdc +++ b/flow/designs/sky130hd/jpeg/constraint.sdc @@ -2,7 +2,7 @@ current_design jpeg_encoder set clk_name clk set clk_port_name clk -set clk_period 5.5 +set clk_period 5 set clk_io_pct 0.2 set clk_port [get_ports $clk_port_name] diff --git a/flow/designs/sky130hd/jpeg/rules-base.json b/flow/designs/sky130hd/jpeg/rules-base.json index 5221725175..0c692ce31d 100644 --- a/flow/designs/sky130hd/jpeg/rules-base.json +++ b/flow/designs/sky130hd/jpeg/rules-base.json @@ -28,19 +28,19 @@ "compare": "<=" }, "cts__timing__setup__ws": { - "value": -0.309, + "value": -0.621, "compare": ">=" }, "cts__timing__setup__tns": { - "value": -1.19, + "value": -63.2, "compare": ">=" }, "cts__timing__hold__ws": { - "value": -0.275, + "value": -0.25, "compare": ">=" }, "cts__timing__hold__tns": { - "value": -1.1, + "value": -1.0, "compare": ">=" }, "globalroute__antenna_diodes_count": { @@ -48,19 +48,19 @@ "compare": "<=" }, "globalroute__timing__setup__ws": { - "value": -0.314, + "value": -0.9, "compare": ">=" }, "globalroute__timing__setup__tns": { - "value": -7.16, + "value": -157.0, "compare": ">=" }, "globalroute__timing__hold__ws": { - "value": -0.275, + "value": -0.25, "compare": ">=" }, "globalroute__timing__hold__tns": { - "value": -1.1, + "value": -1.0, "compare": ">=" }, "detailedroute__route__wirelength": { @@ -76,23 +76,23 @@ "compare": "<=" }, "detailedroute__antenna_diodes_count": { - "value": 131, + "value": 100, "compare": "<=" }, "finish__timing__setup__ws": { - "value": -0.275, + "value": -0.603, "compare": ">=" }, "finish__timing__setup__tns": { - "value": -1.1, + "value": -58.3, "compare": ">=" }, "finish__timing__hold__ws": { - "value": -0.275, + "value": -0.25, "compare": ">=" }, "finish__timing__hold__tns": { - "value": -1.1, + "value": -1.0, "compare": ">=" }, "finish__design__instance__area": {