Skip to content

Commit e4be581

Browse files
committed
ppl: add unit tests for pin groups with regex
Signed-off-by: Eder Monteiro <emrmonteiro@precisioninno.com>
1 parent 9b0c164 commit e4be581

File tree

8 files changed

+861
-1
lines changed

8 files changed

+861
-1
lines changed

src/ppl/test/CMakeLists.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,8 @@ or_integration_tests(
6262
group_pins8
6363
group_pins9
6464
group_pins10
65+
group_pins11
66+
group_pins12
6567
group_pins_error1
6668
group_pins_warn1
6769
invalid_layer

src/ppl/test/group_pins11.defok

Lines changed: 395 additions & 0 deletions
Large diffs are not rendered by default.

src/ppl/test/group_pins11.ok

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
[INFO ODB-0227] LEF file: Nangate45/Nangate45.lef, created 22 layers, 27 vias, 135 library cells
2+
[INFO ODB-0128] Design: gcd
3+
[INFO ODB-0130] Created 54 pins.
4+
[INFO ODB-0131] Created 88 components and 422 component-terminals.
5+
[INFO ODB-0133] Created 54 nets and 88 connections.
6+
Found 0 macro blocks.
7+
[INFO PPL-0044] Pin group: [ resp_val resp_rdy req_val req_rdy ]
8+
[INFO PPL-0044] Pin group: [ req_msg[31] req_msg[30] req_msg[29] req_msg[28] req_msg[27] ... ]
9+
[INFO PPL-0044] Pin group: [ resp_msg[15] resp_msg[14] resp_msg[13] resp_msg[12] resp_msg[11] ... ]
10+
[INFO PPL-0001] Number of slots 2494
11+
[INFO PPL-0002] Number of I/O 54
12+
[INFO PPL-0003] Number of I/O w/sink 54
13+
[INFO PPL-0004] Number of I/O w/o sink 0
14+
[INFO PPL-0006] Number of I/O Groups 3
15+
[INFO PPL-0005] Slots per section 200
16+
[INFO PPL-0008] Successfully assigned pins to sections.
17+
[INFO PPL-0012] I/O nets HPWL: 3928.30 um.
18+
No differences found.

src/ppl/test/group_pins11.tcl

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# exclude horizontal edges
2+
source "helpers.tcl"
3+
read_lef Nangate45/Nangate45.lef
4+
read_def gcd.def
5+
6+
place_pins -hor_layers metal3 -ver_layers metal2 -corner_avoidance 0 -min_distance 0.12 -group_pins {resp_val resp_rdy req_val req_rdy} -group_pins {req_msg*} -group_pins {resp_msg*}
7+
8+
set def_file [make_result_file group_pins11.def]
9+
10+
write_def $def_file
11+
12+
diff_file group_pins11.defok $def_file

src/ppl/test/group_pins12.defok

Lines changed: 395 additions & 0 deletions
Large diffs are not rendered by default.

src/ppl/test/group_pins12.ok

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
[INFO ODB-0227] LEF file: Nangate45/Nangate45.lef, created 22 layers, 27 vias, 135 library cells
2+
[INFO ODB-0128] Design: gcd
3+
[INFO ODB-0130] Created 54 pins.
4+
[INFO ODB-0131] Created 88 components and 422 component-terminals.
5+
[INFO ODB-0133] Created 54 nets and 88 connections.
6+
[INFO PPL-0048] Restrict pins [ req_msg[31] req_msg[30] req_msg[29] req_msg[28] req_msg[27] ... ] to region 0.00u-100.13u at the TOP edge.
7+
[INFO PPL-0044] Pin group: [ req_msg[31] req_msg[30] req_msg[29] req_msg[28] req_msg[27] ... ]
8+
[INFO PPL-0048] Restrict pins [ resp_msg[15] resp_msg[14] resp_msg[13] resp_msg[12] resp_msg[11] ... ] to region 0.00u-100.13u at the BOTTOM edge.
9+
[INFO PPL-0044] Pin group: [ resp_msg[15] resp_msg[14] resp_msg[13] resp_msg[12] resp_msg[11] ... ]
10+
[INFO PPL-0048] Restrict pins [ req_rdy req_val resp_rdy resp_val ] to region 0.00u-100.80u at the LEFT edge.
11+
[INFO PPL-0044] Pin group: [ resp_val resp_rdy req_val req_rdy ]
12+
Found 0 macro blocks.
13+
[INFO PPL-0001] Number of slots 2494
14+
[INFO PPL-0002] Number of I/O 54
15+
[INFO PPL-0003] Number of I/O w/sink 54
16+
[INFO PPL-0004] Number of I/O w/o sink 0
17+
[INFO PPL-0006] Number of I/O Groups 3
18+
[INFO PPL-0005] Slots per section 200
19+
[INFO PPL-0008] Successfully assigned pins to sections.
20+
[INFO PPL-0012] I/O nets HPWL: 3962.14 um.
21+
No differences found.

src/ppl/test/group_pins12.tcl

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# exclude horizontal edges
2+
source "helpers.tcl"
3+
read_lef Nangate45/Nangate45.lef
4+
read_def gcd.def
5+
6+
set_io_pin_constraint -group -region top:* -pin_names req_msg*
7+
set_io_pin_constraint -group -region bottom:* -pin_names resp_msg*
8+
set_io_pin_constraint -group -region left:* -pin_names {resp_val resp_rdy req_val req_rdy}
9+
set_io_pin_constraint -mirrored_pins {reset clk}
10+
11+
place_pins -hor_layers metal3 -ver_layers metal2 -corner_avoidance 0 -min_distance 0.12
12+
13+
set def_file [make_result_file group_pins12.def]
14+
15+
write_def $def_file
16+
17+
diff_file group_pins12.defok $def_file

src/ppl/test/group_pins_warn1.ok

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
[INFO ODB-0133] Created 54 nets and 88 connections.
66
Found 0 macro blocks.
77
[INFO PPL-0044] Pin group: [ resp_val resp_rdy req_rdy ]
8-
[WARNING PPL-0043] Pin resp_msg[141] not found in group 1.
8+
[WARNING STA-0366] port 'resp_msg[141]' not found.
99
[INFO PPL-0044] Pin group: [ req_msg[15] req_msg[14] resp_msg[15] ]
1010
[INFO PPL-0001] Number of slots 2494
1111
[INFO PPL-0002] Number of I/O 54

0 commit comments

Comments
 (0)