Skip to content

Commit 8356c06

Browse files
committed
ifp: Add test for multiple power domains and double height sites.
Signed-off-by: Christian COSTA <[email protected]>
1 parent a68351c commit 8356c06

File tree

7 files changed

+295
-0
lines changed

7 files changed

+295
-0
lines changed

src/ifp/test/BUILD

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ COMPULSORY_TESTS = [
1818
"init_floorplan8",
1919
"init_floorplan9",
2020
"init_floorplan10",
21+
"init_floorplan_dbl_row",
2122
"init_floorplan_even_rows",
2223
"init_floorplan_flip_sites",
2324
"init_floorplan_odd_rows",

src/ifp/test/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ or_integration_tests(
1313
init_floorplan8
1414
init_floorplan9
1515
init_floorplan10
16+
init_floorplan_dbl_row
1617
init_floorplan_even_rows
1718
init_floorplan_flip_sites
1819
init_floorplan_odd_rows

src/ifp/test/init_floorplan_dbl_row.defok

Lines changed: 227 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
VERSION 5.6 ;
2+
BUSBITCHARS "[]" ;
3+
DIVIDERCHAR "/" ;
4+
5+
UNITS
6+
DATABASE MICRONS 2000 ;
7+
END UNITS
8+
9+
MANUFACTURINGGRID 0.0050 ;
10+
11+
SITE FreePDK45_38x28_10R_NP_162NW_34O_DoubleHeight
12+
SYMMETRY y ;
13+
CLASS core ;
14+
SIZE 0.19 BY 2.8 ;
15+
END FreePDK45_38x28_10R_NP_162NW_34O_DoubleHeight
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
[INFO ODB-0227] LEF file: Nangate45/Nangate45.lef, created 22 layers, 27 vias, 135 library cells
2+
[INFO ODB-0227] LEF file: init_floorplan_dbl_row.lef
3+
[INFO IFP-0001] Added 71 rows of 526 site FreePDK45_38x28_10R_NP_162NW_34O.
4+
[INFO IFP-0001] Added 35 rows of 526 site FreePDK45_38x28_10R_NP_162NW_34O_DoubleHeight.
5+
No differences found.
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
from openroad import Tech, Design
2+
import odb
3+
import helpers
4+
import ifp_helpers as ifph
5+
6+
tech = Tech()
7+
tech.readLef("Nangate45/Nangate45.lef")
8+
tech.readLef("init_floorplan_dbl_row.lef")
9+
tech.readLiberty("Nangate45/Nangate45_typ.lib")
10+
11+
design = Design(tech)
12+
design.readVerilog("reg1.v")
13+
design.link("top")
14+
15+
die = helpers.make_rect(design, 0, 0, 100, 100)
16+
core = helpers.make_rect(design, 0, 0, 100, 100)
17+
18+
l = design.micronToDBU(34)
19+
u = design.micronToDBU(66)
20+
21+
ifph.create_voltage_domain(design, "TEMP_ANALOG", (l, l, u, u))
22+
23+
floorplan = design.getFloorplan()
24+
site = floorplan.findSite("FreePDK45_38x28_10R_NP_162NW_34O")
25+
additional_site = floorplan.findSite("FreePDK45_38x28_10R_NP_162NW_34O_DoubleHeight")
26+
floorplan.initFloorplan(die, core, site, [additional_site])
27+
28+
def_file = helpers.make_result_file("init_floorplan_dbl_row.def")
29+
design.writeDef(def_file)
30+
helpers.diff_files("init_floorplan_dbl_row.defok", def_file)
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# init_floorplan called after a voltage domain is specified
2+
source "helpers.tcl"
3+
read_lef Nangate45/Nangate45.lef
4+
read_lef init_floorplan_dbl_row.lef
5+
read_liberty Nangate45/Nangate45_typ.lib
6+
read_verilog reg1.v
7+
link_design top
8+
create_voltage_domain TEMP_ANALOG -area {34 34 66 66}
9+
initialize_floorplan -die_area {0 0 100 100} \
10+
-core_area {0 0 100 100} \
11+
-site FreePDK45_38x28_10R_NP_162NW_34O \
12+
-additional_sites FreePDK45_38x28_10R_NP_162NW_34O_DoubleHeight
13+
14+
set def_file [make_result_file init_floorplan_dbl_row.def]
15+
write_def $def_file
16+
diff_files init_floorplan_dbl_row.defok $def_file

0 commit comments

Comments
 (0)