Skip to content

Commit d0266ef

Browse files
authored
Merge branch 'The-OpenROAD-Project:master' into mab_0509
2 parents efd145c + df9a442 commit d0266ef

File tree

25 files changed

+3983
-3132
lines changed

25 files changed

+3983
-3132
lines changed

flow/Makefile

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,8 @@
8080
# DESIGN_CONFIG=./designs/intel22/aes/config.mk
8181

8282
# DESIGN_CONFIG=./designs/gf180/aes/config.mk
83+
# DESIGN_CONFIG=./designs/gf180/ibex/config.mk
84+
# DESIGN_CONFIG=./designs/gf180/jpeg/config.mk
8385
#
8486
# Default design
8587
DESIGN_CONFIG ?= ./designs/nangate45/gcd/config.mk
@@ -656,11 +658,10 @@ finish: $(LOG_DIR)/6_report.log \
656658
$(RESULTS_DIR)/6_final.v \
657659
$(RESULTS_DIR)/6_final.sdc \
658660
$(GDS_FINAL_FILE)
659-
$(MAKE) elapsed
660-
661+
-@$(UTILS_DIR)/genElapsedTime.py -d "$(LOG_DIR)"
662+
661663
.PHONY:
662664
elapsed:
663-
@printf "%-25s %10s\n" Log "Elapsed seconds"
664665
-@$(UTILS_DIR)/genElapsedTime.py -d "$(LOG_DIR)"
665666

666667
# ==============================================================================

flow/designs/asap7/mock-array-big/Element/io.tcl

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,17 +37,18 @@ set assignments [list \
3737
proc zip {list1 list2} {
3838
set result {}
3939
set length [llength $list1]
40+
set skip [expr [llength $list2] - [llength $list1]]
4041
for {set i 0} {$i < $length} {incr i} {
41-
lappend result [lindex $list1 $i] [lindex $list2 $i]
42+
lappend result [lindex $list2 [expr $skip + $i]] [lindex $list1 $i]
4243
}
4344
return $result
4445
}
4546

4647

4748
foreach {direction direction2 names} $assignments {
4849
set mirrored [zip {*}$names]
49-
set_io_pin_constraint -region $direction:* -pin_names [lindex $names 0]
50-
set_io_pin_constraint -group -order -pin_names [lindex $names 0]
50+
set_io_pin_constraint -region $direction2:* -pin_names [lindex $names 1]
51+
set_io_pin_constraint -group -order -pin_names [lindex $names 1]
5152
set_io_pin_constraint -mirrored_pins $mirrored
5253
}
5354

flow/designs/asap7/swerv_wrapper/metadata-base-ok.json

Lines changed: 247 additions & 219 deletions
Large diffs are not rendered by default.

flow/designs/asap7/swerv_wrapper/rules-base.json

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,11 @@
88
"compare": "=="
99
},
1010
"placeopt__design__instance__area": {
11-
"value": 53465,
11+
"value": 53272,
1212
"compare": "<="
1313
},
1414
"placeopt__design__instance__count__stdcell": {
15-
"value": 213634,
15+
"value": 213024,
1616
"compare": "<="
1717
},
1818
"detailedplace__design__violations": {
@@ -36,7 +36,7 @@
3636
"compare": "<="
3737
},
3838
"cts__design__instance__count__hold_buffer": {
39-
"value": 9288,
39+
"value": 9262,
4040
"compare": "<="
4141
},
4242
"globalroute__timing__clock__slack": {
@@ -48,23 +48,23 @@
4848
"compare": ">="
4949
},
5050
"detailedroute__route__wirelength": {
51-
"value": 2098181,
51+
"value": 1991530,
5252
"compare": "<="
5353
},
5454
"detailedroute__route__drc_errors": {
55-
"value": 0,
55+
"value": 1,
5656
"compare": "<="
5757
},
5858
"finish__timing__setup__ws": {
5959
"value": 0.0,
6060
"compare": ">="
6161
},
6262
"finish__design__instance__area": {
63-
"value": 55030,
63+
"value": 53758,
6464
"compare": "<="
6565
},
6666
"finish__timing__drv__max_slew_limit": {
67-
"value": -2.71,
67+
"value": -2.53,
6868
"compare": ">="
6969
},
7070
"finish__timing__drv__max_fanout_limit": {
Lines changed: 100 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,100 @@
1+
{
2+
"_SDC_FILE_PATH": "constraint.sdc",
3+
"_SDC_CLK_PERIOD": {
4+
"type": "float",
5+
"minmax": [
6+
1.0,
7+
15.155
8+
],
9+
"step": 0
10+
},
11+
"CORE_UTILIZATION": {
12+
"type": "int",
13+
"minmax": [
14+
20,
15+
100
16+
],
17+
"step": 1
18+
},
19+
"CORE_ASPECT_RATIO": {
20+
"type": "float",
21+
"minmax": [
22+
0.5,
23+
2.0
24+
],
25+
"step": 0
26+
},
27+
"CORE_MARGIN": {
28+
"type": "int",
29+
"minmax": [
30+
2,
31+
2
32+
],
33+
"step": 0
34+
},
35+
"CELL_PAD_IN_SITES_GLOBAL_PLACEMENT": {
36+
"type": "int",
37+
"minmax": [
38+
0,
39+
5
40+
],
41+
"step": 1
42+
},
43+
"CELL_PAD_IN_SITES_DETAIL_PLACEMENT": {
44+
"type": "int",
45+
"minmax": [
46+
0,
47+
5
48+
],
49+
"step": 1
50+
},
51+
"_FR_LAYER_ADJUST": {
52+
"type": "float",
53+
"minmax": [
54+
0.1,
55+
0.7
56+
],
57+
"step": 0
58+
},
59+
"PLACE_DENSITY_LB_ADDON": {
60+
"type": "float",
61+
"minmax": [
62+
0.0,
63+
0.99
64+
],
65+
"step": 0
66+
},
67+
"_PINS_DISTANCE": {
68+
"type": "int",
69+
"minmax": [
70+
1,
71+
4
72+
],
73+
"step": 1
74+
},
75+
"CTS_CLUSTER_SIZE": {
76+
"type": "int",
77+
"minmax": [
78+
10,
79+
200
80+
],
81+
"step": 1
82+
},
83+
"CTS_CLUSTER_DIAMETER": {
84+
"type": "int",
85+
"minmax": [
86+
20,
87+
400
88+
],
89+
"step": 1
90+
},
91+
"_FR_FILE_PATH": "",
92+
"_FR_GR_OVERFLOW": {
93+
"type": "int",
94+
"minmax": [
95+
1,
96+
1
97+
],
98+
"step": 0
99+
}
100+
}

flow/designs/gf180/ibex/config.mk

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
export DESIGN_NICKNAME = ibex
2+
export DESIGN_NAME = ibex_core
3+
export PLATFORM = gf180
4+
5+
export VERILOG_FILES = ./designs/src/$(DESIGN_NICKNAME)/ibex_alu.v \
6+
./designs/src/$(DESIGN_NICKNAME)/ibex_branch_predict.v \
7+
./designs/src/$(DESIGN_NICKNAME)/ibex_compressed_decoder.v \
8+
./designs/src/$(DESIGN_NICKNAME)/ibex_controller.v \
9+
./designs/src/$(DESIGN_NICKNAME)/ibex_core.v \
10+
./designs/src/$(DESIGN_NICKNAME)/ibex_counter.v \
11+
./designs/src/$(DESIGN_NICKNAME)/ibex_cs_registers.v \
12+
./designs/src/$(DESIGN_NICKNAME)/ibex_csr.v \
13+
./designs/src/$(DESIGN_NICKNAME)/ibex_decoder.v \
14+
./designs/src/$(DESIGN_NICKNAME)/ibex_dummy_instr.v \
15+
./designs/src/$(DESIGN_NICKNAME)/ibex_ex_block.v \
16+
./designs/src/$(DESIGN_NICKNAME)/ibex_fetch_fifo.v \
17+
./designs/src/$(DESIGN_NICKNAME)/ibex_icache.v \
18+
./designs/src/$(DESIGN_NICKNAME)/ibex_id_stage.v \
19+
./designs/src/$(DESIGN_NICKNAME)/ibex_if_stage.v \
20+
./designs/src/$(DESIGN_NICKNAME)/ibex_load_store_unit.v \
21+
./designs/src/$(DESIGN_NICKNAME)/ibex_multdiv_fast.v \
22+
./designs/src/$(DESIGN_NICKNAME)/ibex_multdiv_slow.v \
23+
./designs/src/$(DESIGN_NICKNAME)/ibex_pmp.v \
24+
./designs/src/$(DESIGN_NICKNAME)/ibex_prefetch_buffer.v \
25+
./designs/src/$(DESIGN_NICKNAME)/ibex_register_file_ff.v \
26+
./designs/src/$(DESIGN_NICKNAME)/ibex_register_file_fpga.v \
27+
./designs/src/$(DESIGN_NICKNAME)/ibex_register_file_latch.v \
28+
./designs/src/$(DESIGN_NICKNAME)/ibex_wb_stage.v \
29+
./designs/src/$(DESIGN_NICKNAME)/prim_badbit_ram_1p.v \
30+
./designs/src/$(DESIGN_NICKNAME)/prim_clock_gating.v \
31+
./designs/src/$(DESIGN_NICKNAME)/prim_generic_clock_gating.v \
32+
./designs/src/$(DESIGN_NICKNAME)/prim_generic_ram_1p.v \
33+
./designs/src/$(DESIGN_NICKNAME)/prim_lfsr.v \
34+
./designs/src/$(DESIGN_NICKNAME)/prim_ram_1p.v \
35+
./designs/src/$(DESIGN_NICKNAME)/prim_secded_28_22_dec.v \
36+
./designs/src/$(DESIGN_NICKNAME)/prim_secded_28_22_enc.v \
37+
./designs/src/$(DESIGN_NICKNAME)/prim_secded_39_32_dec.v \
38+
./designs/src/$(DESIGN_NICKNAME)/prim_secded_39_32_enc.v \
39+
./designs/src/$(DESIGN_NICKNAME)/prim_secded_72_64_dec.v \
40+
./designs/src/$(DESIGN_NICKNAME)/prim_secded_72_64_enc.v \
41+
./designs/src/$(DESIGN_NICKNAME)/prim_xilinx_clock_gating.v
42+
43+
export SDC_FILE = ./designs/$(PLATFORM)/$(DESIGN_NICKNAME)/constraint.sdc
44+
45+
export CORE_UTILIZATION = 45
46+
export PLACE_DENSITY_LB_ADDON = 0.1
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
current_design ibex_core
2+
3+
set clk_name core_clock
4+
set clk_port_name clk_i
5+
set clk_period 15.0
6+
set clk_io_pct 0.2
7+
8+
set clk_port [get_ports $clk_port_name]
9+
10+
create_clock -name $clk_name -period $clk_period $clk_port
11+
12+
set non_clock_inputs [lsearch -inline -all -not -exact [all_inputs] $clk_port]
13+
14+
set_input_delay [expr $clk_period * $clk_io_pct] -clock $clk_name $non_clock_inputs
15+
set_output_delay [expr $clk_period * $clk_io_pct] -clock $clk_name [all_outputs]
16+
set_false_path -from [get_ports {rst_ni}]

0 commit comments

Comments
 (0)