Skip to content

Commit 9531991

Browse files
committed
Merge branch 'master' into secure-gf12-bps-incr-density
2 parents c2d4ce1 + c64e96e commit 9531991

File tree

15 files changed

+703
-611
lines changed

15 files changed

+703
-611
lines changed

flow/Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1069,7 +1069,7 @@ klayout:
10691069

10701070
.phony: run
10711071
run:
1072-
$(OPENROAD_CMD) -no_splash $(RUN_SCRIPT)
1072+
$(OPENROAD_CMD) -no_splash $(if $(filter %.py,$(RUN_SCRIPT)),-python) $(RUN_SCRIPT)
10731073

10741074
# Utilities
10751075
#-------------------------------------------------------------------------------

flow/designs/asap7/aes-block/metadata-base-ok.json

Lines changed: 204 additions & 192 deletions
Large diffs are not rendered by default.

flow/designs/asap7/aes-block/rules-base.json

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
"compare": "=="
99
},
1010
"placeopt__design__instance__area": {
11-
"value": 7333,
11+
"value": 7332,
1212
"compare": "<="
1313
},
1414
"placeopt__design__instance__count__stdcell": {
@@ -24,7 +24,7 @@
2424
"compare": "<="
2525
},
2626
"cts__design__instance__count__hold_buffer": {
27-
"value": 1075,
27+
"value": 1262,
2828
"compare": "<="
2929
},
3030
"globalroute__antenna_diodes_count": {
@@ -48,7 +48,7 @@
4848
"compare": "<="
4949
},
5050
"finish__timing__setup__ws": {
51-
"value": -236.72,
51+
"value": -227.71,
5252
"compare": ">="
5353
},
5454
"finish__design__instance__area": {
@@ -60,11 +60,11 @@
6060
"compare": "<="
6161
},
6262
"finish__timing__drv__hold_violation_count": {
63-
"value": 331,
63+
"value": 248,
6464
"compare": "<="
6565
},
6666
"finish__timing__wns_percent_delay": {
67-
"value": -45.84,
67+
"value": -44.5,
6868
"compare": ">="
6969
}
7070
}

flow/designs/asap7/mock-cpu/constraint.sdc

Lines changed: 24 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -21,15 +21,30 @@ set_clock_groups -group $clk1_name -group $clk2_name -asynchronous -allow_paths
2121
set_false_path -from [get_ports *rst_n]
2222
set_false_path -to [get_ports *rst_n]
2323

24-
# Give the world outside of the FIFO time to operate
25-
# on the cycle it is reading/writiing to the FIFO
26-
set min_percent 0.1
27-
set max_percent 0.5
28-
29-
set_input_delay -clock $clk2_name -max [expr $clk2_period * $max_percent] [match_pins .* input 0]
30-
set_output_delay -clock $clk2_name -max [expr $clk2_period * $max_percent] [match_pins .* output 0]
31-
set_input_delay -clock $clk2_name -min [expr $clk2_period * $min_percent] [match_pins .* input 0]
32-
set_output_delay -clock $clk2_name -min [expr $clk2_period * $min_percent] [match_pins .* output 0]
24+
# The mock-cpu is a macro connecting to a slower peripheral bus and possibly DRAM.
25+
# Avoid using set_input/output_delay here.
26+
# Register-to-register paths are checked at the mock-cpu level or from the mock-cpu
27+
# .lib file to an external register.
28+
# Timing closure is ensured at the SoC level where the mock-cpu is connected.
29+
# Instead, set strict optimization targets for inputs and outputs to ensure
30+
# constraints are not too loose.
31+
set non_clk_inputs {}
32+
set clock_ports [list [get_ports $clk1_name] [get_ports $clk2_name]]
33+
foreach input [all_inputs] {
34+
if {[lsearch -exact $clock_ports $input] == -1} {
35+
lappend non_clk_inputs $input
36+
}
37+
}
38+
39+
set_max_delay 80 -from $non_clk_inputs -to [all_outputs]
40+
group_path -name in2out -from $non_clk_inputs -to [all_outputs]
41+
42+
set all_register_outputs [get_pins -of_objects [all_registers] -filter {direction == output}]
43+
set_max_delay 80 -from $non_clk_inputs -to [all_registers]
44+
set_max_delay 80 -from $all_register_outputs -to [all_outputs]
45+
group_path -name in2reg -from $non_clk_inputs -to [all_registers]
46+
group_path -name reg2out -from [all_registers] -to [all_outputs]
47+
group_path -name reg2reg -from [all_registers] -to [all_registers]
3348

3449
## Dual clock fifo timing constraints
3550
# Using fastest clock as constaint

0 commit comments

Comments
 (0)