Skip to content

Commit 5d2710a

Browse files
authored
Merge pull request #3300 from luarss/topic/tclint-4
Tclint 4
2 parents fb32451 + 7c03d50 commit 5d2710a

25 files changed

+130
-74
lines changed

flow/designs/nangate45/bp_quad/bsg_chip.sdc

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -144,5 +144,4 @@ set_input_delay -clock sdi_b_clk -max $mx_delay1 [get_ports p_co_8_i]
144144
set_input_delay -clock sdi_b_clk -min $mn_delay1 [get_ports p_co_8_i]
145145
set_input_delay -clock sdi_b_clk -clock_fall -max $mx_delay1 -add_delay [get_ports p_co_8_i]
146146
set_input_delay -clock sdi_b_clk -clock_fall -min $mn_delay1 -add_delay [get_ports p_co_8_i]
147-
set_timing_derate -early -cell_delay 0.97 [get_cells \
148-
{bp_processor/cc/y_0__x_0__tile_node/tile/core/fe/mem/icache/tag_mem/macro_bmem/db1_wb_0__bank/macro_mem}]
147+
set_timing_derate -early -cell_delay 0.97 [get_cells {bp_processor/cc/y_0__x_0__tile_node/tile/core/fe/mem/icache/tag_mem/macro_bmem/db1_wb_0__bank/macro_mem}] ;# tclint-disable-line line-length

flow/platforms/asap7/constraints.sdc

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
# A minimal generic constraints.sdc for architectural exploration of macros
22
# -------------------------------------------------------------------------
3-
#
3+
#
44
# Used in designs/asap7/mock-array, for example.
55
#
66
# From the following observations, all else follows: the only thing
77
# that can fail timing closure, is a register to register path. All
88
# other constraints give the flow an optimization target. Failure
99
# to meet the timing constraint of an optimization target constraint
1010
# is not a timing closure failure.
11-
#
11+
#
1212
# Note that ORFS regression checks do not have the ability to distinguish
1313
# between timing closure failures(register to register paths) and
1414
# optimization constraints violations.
@@ -17,26 +17,26 @@
1717
# in mock-array Element, such as maximum transit time for a combinational path
1818
# through mock-array Element, may or may not cause timing
1919
# violations later on higher up in mock-array on register to register paths.
20-
#
20+
#
2121
# For the Element, the only register to register path
2222
# are within the Element and no lower level macros are
2323
# involved. Register to register paths within Element have to be checked
2424
# at the Element level as they are invisible higher up in mock-array.
25-
#
25+
#
2626
# As for the remaining optimization constraints for Element, they
2727
# should be for combinational through paths(io-io) and
2828
# from input pins to register(io-reg) and from register to output pins(reg-io):
29-
#
29+
#
3030
# This constraints.sdc file is designed such that the clock latency & tree
3131
# can be ignored as far constraints go;
3232
# it is not part of the optimization constraints. The clock tree latency
3333
# is accounted for in register to register paths and not visible outside
3434
# of the macro that use this constraints.sdc.
35-
#
35+
#
3636
# All non reg-reg paths in Element are part of reg-reg paths in mock-array
3737
# and timing closure in which those take part are checked at the mock-array
3838
# level.
39-
#
39+
#
4040
# With this in mind, the constraints.sdc file for the Element becomes
4141
# quite general and simple. set_max_delay is used exclusively for
4242
# optimization constraints and the clock period is used to check timing
@@ -51,13 +51,13 @@
5151
# the time at the clock pin for the macro, which makes it impossible to articulate
5252
# the number that is passed in to set_input/output_delay without taking
5353
# clock network insertion latency into account.
54-
#
54+
#
5555
# Since set_input_delay is not used and set_max_delay is used instead, then
5656
# no hold cells are inserted, which is what is desired here.
5757
#
5858
# Details such as clock uncertainty, max transition time, load, etc.
5959
# is beyond the scope of this generic constraints.sdc file.
60-
#
60+
#
6161
# Beware of [path segmentation](https://docs.xilinx.com/r/2020.2-English/ug906-vivado-design-analysis/TIMING-13-Timing-Paths-Ignored-Due-to-Path-Segmentation), which
6262
# can occur with OpenSTA.
6363

@@ -76,9 +76,12 @@ set non_clk_inputs [all_inputs -no_clocks]
7676
#
7777
# Minimum time for io-io, io-reg, reg-io paths in macro is on
7878
# the order of 80ps for a small macro on ASAP7.
79-
set_max_delay [expr { [info exists in2reg_max] ? $in2reg_max : 80 }] -from $non_clk_inputs -to [all_registers]
80-
set_max_delay [expr { [info exists reg2out_max] ? $reg2out_max : 80 }] -from [all_registers] -to [all_outputs]
81-
set_max_delay [expr { [info exists in2out_max] ? $in2out_max : 80 }] -from $non_clk_inputs -to [all_outputs]
79+
set_max_delay [expr { [info exists in2reg_max] ? $in2reg_max : 80 }] -from $non_clk_inputs \
80+
-to [all_registers]
81+
set_max_delay [expr { [info exists reg2out_max] ? $reg2out_max : 80 }] -from [all_registers] \
82+
-to [all_outputs]
83+
set_max_delay [expr { [info exists in2out_max] ? $in2out_max : 80 }] -from $non_clk_inputs \
84+
-to [all_outputs]
8285

8386
# This allows us to view the different groups
8487
# in the histogram in the GUI and also includes these
Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
# To remove [WARNING STA-1212] from the logs for ASAP7.
2-
# /OpenROAD-flow-scripts/flow/platforms/asap7/lib/asap7sc7p5t_SIMPLE_RVT_TT_nldm_211120.lib.gz line 13178, timing group from output port.
2+
# /OpenROAD-flow-scripts/flow/platforms/asap7/lib/asap7sc7p5t_SIMPLE_RVT_TT_nldm_211120.lib.gz
3+
# line 13178, timing group from output port.
34
# Added following suppress_message
45
suppress_message STA 1212

flow/platforms/asap7/openRoad/pdn/BLOCKS_grid_strategy.tcl

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,13 @@ set_voltage_domain -name {CORE} -power {VDD} -ground {VSS}
1818
define_pdn_grid -name {top} -voltage_domains {CORE}
1919
add_pdn_stripe -grid {top} -layer {M1} -width {0.018} -pitch {0.54} -offset {0} -followpins
2020
add_pdn_stripe -grid {top} -layer {M2} -width {0.018} -pitch {0.54} -offset {0} -followpins
21-
add_pdn_ring -grid {top} -layers {M5 M6} -widths {0.504 0.544} -spacings {0.096} -core_offset {0.504}
21+
add_pdn_ring -grid {top} -layers {M5 M6} -widths {0.504 0.544} -spacings {0.096} \
22+
-core_offset {0.504}
2223

23-
add_pdn_stripe -grid {top} -layer {M5} -width {0.12} -spacing {0.072} -pitch {2.16} -offset {1.50} -extend_to_core_ring
24-
add_pdn_stripe -grid {top} -layer {M6} -width {0.288} -spacing {0.096} -pitch {4.32} -offset {1.504} -extend_to_core_ring
24+
add_pdn_stripe -grid {top} -layer {M5} -width {0.12} -spacing {0.072} -pitch {2.16} \
25+
-offset {1.50} -extend_to_core_ring
26+
add_pdn_stripe -grid {top} -layer {M6} -width {0.288} -spacing {0.096} -pitch {4.32} \
27+
-offset {1.504} -extend_to_core_ring
2528

2629
add_pdn_connect -grid {top} -layers {M1 M2}
2730
add_pdn_connect -grid {top} -layers {M2 M5}
@@ -40,8 +43,10 @@ foreach macro [find_macros] {
4043
}
4144
set macro_names [dict keys $macro_names]
4245

46+
set halo_x $::env(MACRO_ROWS_HALO_X)
47+
set halo_y $::env(MACRO_ROWS_HALO_Y)
4348
define_pdn_grid -macro -cells $macro_names \
44-
-halo "$::env(MACRO_ROWS_HALO_X) $::env(MACRO_ROWS_HALO_Y) $::env(MACRO_ROWS_HALO_X) $::env(MACRO_ROWS_HALO_Y)" \
49+
-halo "$halo_x $halo_y $halo_x $halo_y" \
4550
-voltage_domains {CORE} -name ElementGrid
4651

4752
add_pdn_connect -grid {ElementGrid} -layers {M5 M6}

flow/platforms/asap7/openRoad/pdn/BLOCK_grid_strategy.tcl

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,8 @@ add_pdn_ring -grid {top} -layers {M5 M4} -widths {0.12 0.12} -spacings {0.072} -
2525
add_pdn_stripe -grid {top} -layer {M1} -width {0.018} -pitch {0.54} -offset {0} -followpins
2626
add_pdn_stripe -grid {top} -layer {M2} -width {0.018} -pitch {0.54} -offset {0} -followpins
2727

28-
add_pdn_stripe -grid {top} -layer {M5} -width {0.12} -spacing {0.072} -pitch {2.976} -offset {1.5} -extend_to_core_ring
28+
add_pdn_stripe -grid {top} -layer {M5} -width {0.12} -spacing {0.072} -pitch {2.976} -offset {1.5} \
29+
-extend_to_core_ring
2930

3031
add_pdn_connect -grid {top} -layers {M1 M2}
3132
add_pdn_connect -grid {top} -layers {M2 M5}

flow/platforms/asap7/openRoad/pdn/grid_strategy-M1-M2-M5-M6.tcl

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,10 +28,12 @@ add_pdn_connect -grid {top} -layers {M5 M6}
2828
####################################
2929
# grid for: CORE_macro_grid_1
3030
####################################
31-
define_pdn_grid -name {CORE_macro_grid_1} -voltage_domains {CORE} -macro -orient {R0 R180 MX MY} -halo {2.0 2.0 2.0 2.0} -cells {.*}
31+
define_pdn_grid -name {CORE_macro_grid_1} -voltage_domains {CORE} -macro \
32+
-orient {R0 R180 MX MY} -halo {2.0 2.0 2.0 2.0} -cells {.*}
3233
add_pdn_connect -grid {CORE_macro_grid_1} -layers {M4 M5}
3334
####################################
3435
# grid for: CORE_macro_grid_2
3536
####################################
36-
define_pdn_grid -name {CORE_macro_grid_2} -voltage_domains {CORE} -macro -orient {R90 R270 MXR90 MYR90} -halo {2.0 2.0 2.0 2.0} -cells {.*}
37+
define_pdn_grid -name {CORE_macro_grid_2} -voltage_domains {CORE} -macro \
38+
-orient {R90 R270 MXR90 MYR90} -halo {2.0 2.0 2.0 2.0} -cells {.*}
3739
add_pdn_connect -grid {CORE_macro_grid_2} -layers {M4 M5}

flow/platforms/asap7/openlane/asap7sc7p5t/config.tcl

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
# tclint-disable line-length
2+
13
set current_folder [file dirname [file normalize [info script]]]
24
# Technology lib
35

flow/platforms/asap7/openlane/config.tcl

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
# tclint-disable line-length
2+
13
# Process node
24
set ::env(PROCESS) 7
35
set ::env(DEF_UNITS_PER_MICRON) 1000

flow/platforms/ihp-sg13g2/pdn.tcl

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,14 @@ set_voltage_domain -name {CORE} -power {VDD} -ground {VSS}
1919
# standard cell grid
2020
####################################
2121
define_pdn_grid -name {grid} -voltage_domains {CORE}
22-
add_pdn_ring -grid {grid} -layers {Metal5 TopMetal1} -widths {5.0} -spacings {2.0} -core_offsets {4.5} -connect_to_pads
23-
add_pdn_stripe -grid {grid} -layer {Metal1} -width {0.44} -pitch {7.56} -offset {0} -followpins -extend_to_core_ring
24-
add_pdn_stripe -grid {grid} -layer {Metal5} -width {2.200} -pitch {75.6} -offset {13.600} -extend_to_core_ring
25-
add_pdn_stripe -grid {grid} -layer {TopMetal1} -width {1.800} -pitch {75.6} -offset {13.570} -extend_to_core_ring
22+
add_pdn_ring -grid {grid} -layers {Metal5 TopMetal1} -widths {5.0} -spacings {2.0} \
23+
-core_offsets {4.5} -connect_to_pads
24+
add_pdn_stripe -grid {grid} -layer {Metal1} -width {0.44} -pitch {7.56} -offset {0} -followpins \
25+
-extend_to_core_ring
26+
add_pdn_stripe -grid {grid} -layer {Metal5} -width {2.200} -pitch {75.6} -offset {13.600} \
27+
-extend_to_core_ring
28+
add_pdn_stripe -grid {grid} -layer {TopMetal1} -width {1.800} -pitch {75.6} -offset {13.570} \
29+
-extend_to_core_ring
2630
add_pdn_connect -grid {grid} -layers {Metal1 Metal5}
2731
add_pdn_connect -grid {grid} -layers {Metal5 TopMetal1}
2832
# I/O pads

flow/platforms/nangate45/fakeram.tcl

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,10 @@ proc copy_fakeram_results { } {
3131

3232
foreach {design sizes} $design_rams {
3333
foreach size $sizes {
34-
file copy -force $results_dir/fakeram45_$size/fakeram45_$size.lib $flow_dir/lib/fakeram45_$size.lib
35-
file copy -force $results_dir/fakeram45_$size/fakeram45_$size.lef $flow_dir/lef/fakeram45_$size.lef
34+
file copy -force \
35+
$results_dir/fakeram45_$size/fakeram45_$size.lib $flow_dir/lib/fakeram45_$size.lib
36+
file copy -force \
37+
$results_dir/fakeram45_$size/fakeram45_$size.lef $flow_dir/lef/fakeram45_$size.lef
3638
}
3739
}
3840
}

0 commit comments

Comments
 (0)