Skip to content

Commit c7aa1c5

Browse files
authored
Merge pull request #3321 from The-OpenROAD-Project-staging/is-int-update
Updated hercules_is_int for slang; Added initial I/O constraints for …
2 parents 5d2710a + 3e49dbc commit c7aa1c5

File tree

2 files changed

+48
-2
lines changed

2 files changed

+48
-2
lines changed
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
# left (bottom to top)
2+
# cvxif_req_o
3+
# axi_req_o - noc_req_o in ours
4+
# scan_output - doesn't exist in ours
5+
set_io_pin_constraint -group -order -region left:20-38.7 -pin_names {cvxif_req_o*}
6+
set_io_pin_constraint -group -order -region left:38.8-90.2 -pin_names {noc_req_o*}
7+
8+
# right (bottom to top)
9+
# scan_input - doesn't exist in ours
10+
# test_mode - doesn't exist in ours
11+
# scan_enable - doesn't exist in ours
12+
# axi_resp_i - noc_resp_i in ours
13+
# cvxif_resp_i
14+
# debug_req_i
15+
# time_irq_i
16+
# ipi_i
17+
# irq_i
18+
# hart_id_i
19+
# boot_addr_i
20+
# rst_ni
21+
# clk_i
22+
set_io_pin_constraint -group -order -region right:5-31.4 -pin_names {noc_resp_i*}
23+
set_io_pin_constraint -group -order -region right:31.5-73.1 -pin_names {cvxif_resp_i*}
24+
set_io_pin_constraint -group -order -region right:73.3-73.7 -pin_names {debug_req_i \
25+
time_irq_i ipi_i}
26+
set_io_pin_constraint -group -order -region right:74-74.3 -pin_names {irq_i*}
27+
set_io_pin_constraint -group -order -region right:74.5-82 -pin_names {hart_id_i*}
28+
set_io_pin_constraint -group -order -region right:82.2-89.8 -pin_names {boot_addr_i*}
29+
set_io_pin_constraint -group -order -region right:89.9-90.3 -pin_names {rst_n_i clk_i}
30+
31+
# don't exist in reference design implementation - does it make us I/O bound?
32+
# put a third of them on the top, a third on the bottom, and let the placer
33+
# decide where to put the remaining third
34+
set num_rvfi_probes_ports 4295
35+
set third_rvfi_probes_ports [expr $num_rvfi_probes_ports / 3]
36+
set top_group {}
37+
for { set i 0 } { $i < $third_rvfi_probes_ports } { incr i } {
38+
lappend top_group "rvfi_probes_o\[$i\]"
39+
}
40+
set bottom_group {}
41+
for { } { $i < $third_rvfi_probes_ports * 2 } { incr i } {
42+
lappend bottom_group "rvfi_probes_o\[$i\]"
43+
}
44+
45+
set_io_pin_constraint -group -order -region bottom:* -pin_names $top_group
46+
set_io_pin_constraint -group -order -region top:* -pin_names $bottom_group

flow/designs/rapidus2hp/hercules_is_int/config.mk

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -124,10 +124,10 @@ export SDC_FILE = $(DESIGN_HOME)/$(PLATFORM)/$(DESIGN_NAME)/prects
124124
export SYNTH_HDL_FRONTEND = slang
125125
export SYNTH_HIERARCHICAL ?= 0
126126

127-
export CORE_UTILIZATION = 25
127+
export CORE_UTILIZATION = 35
128128

129129
export CORE_MARGIN = 2
130-
export MACRO_PLACE_HALO = 4 4
130+
export MACRO_PLACE_HALO = 2 2
131131

132132
export PLACE_DENSITY = 0.58
133133

0 commit comments

Comments
 (0)