Skip to content

Commit 118204e

Browse files
authored
Merge pull request #8929 from gadfort/tap-covers
tap: ignore cover cells
2 parents c1d5d3b + bdcf637 commit 118204e

File tree

7 files changed

+2141
-1
lines changed

7 files changed

+2141
-1
lines changed

src/tap/src/tapcell.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@ int Tapcell::placeTapcells(odb::dbMaster* tapcell_master, const int dist)
130130

131131
std::vector<odb::dbInst*> fixed_insts;
132132
for (auto* inst : db_->getChip()->getBlock()->getInsts()) {
133-
if (inst->isFixed()) {
133+
if (inst->isFixed() && !inst->getMaster()->isCover()) {
134134
fixed_insts.push_back(inst);
135135
}
136136
}

src/tap/test/BUILD

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ COMPULSORY_TESTS = [
3434
"jpeg_gf180",
3535
"multiple_calls",
3636
"no_endcap",
37+
"overlap_cover",
3738
"region1",
3839
"symmetry",
3940
]
@@ -148,6 +149,7 @@ filegroup(
148149
],
149150
"gcd_sky130_separate": ["gcd_sky130.defok"],
150151
"multiple_calls": ["gcd_ripup.def"],
152+
"overlap_cover": ["sky130hs_data/cover.lef"],
151153
}.get(
152154
test_name,
153155
["boundary_macros.def"],

src/tap/test/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ or_integration_tests(
2929
jpeg_gf180
3030
multiple_calls
3131
no_endcap
32+
overlap_cover
3233
region1
3334
symmetry
3435
)

src/tap/test/overlap_cover.defok

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

src/tap/test/overlap_cover.ok

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
[INFO ODB-0227] LEF file: sky130hs/sky130hs.tlef, created 13 layers, 25 vias
2+
[INFO ODB-0227] LEF file: sky130hs/sky130hs_std_cell.lef, created 390 library cells
3+
[INFO ODB-0227] LEF file: sky130hs_data/cover.lef, created 1 library cells
4+
[INFO ODB-0128] Design: gcd
5+
[INFO ODB-0130] Created 54 pins.
6+
[INFO ODB-0131] Created 366 components and 2656 component-terminals.
7+
[INFO ODB-0133] Created 402 nets and 1192 connections.
8+
[INFO TAP-0004] Inserted 168 endcaps.
9+
[INFO TAP-0005] Inserted 817 tapcells.
10+
No differences found.

src/tap/test/overlap_cover.tcl

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
source "helpers.tcl"
2+
read_lef sky130hs/sky130hs.tlef
3+
read_lef sky130hs/sky130hs_std_cell.lef
4+
read_lef sky130hs_data/cover.lef
5+
read_def gcd_sky130hs_floorplan.def
6+
7+
place_inst -cell COVER_MACRO -location {100 100} -name COVER -status FIRM
8+
9+
set def_file [make_result_file overlap_cover.def]
10+
11+
tapcell -distance 14 -tapcell_master "sky130_fd_sc_hs__tap_1" \
12+
-endcap_master "sky130_fd_sc_hs__decap_4"
13+
14+
write_def $def_file
15+
16+
diff_file overlap_cover.defok $def_file
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
VERSION 5.8 ;
2+
BUSBITCHARS "[]" ;
3+
DIVIDERCHAR "/" ;
4+
5+
MACRO COVER_MACRO
6+
CLASS COVER BUMP ;
7+
ORIGIN 0.0 0.0 ;
8+
SIZE 100.0 BY 100.0 ;
9+
END COVER_MACRO
10+
11+
END LIBRARY

0 commit comments

Comments
 (0)