Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 6 additions & 3 deletions src/drt/src/io/GuideProcessor.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -653,8 +653,7 @@ bool GuideProcessor::isValidGuideLayerNum(odb::dbGuide* db_guide,
= getDesign()->getTopBlock()->getGCellIdx(guide_rect.ll())
== getDesign()->getTopBlock()->getGCellIdx(guide_rect.ur());
if (!one_gcell_guide) {
// TODO: uncomment this when GRT issue is solved
// error = true; // not a valid via access guide
error = true; // not a valid via access guide
}
}
// else I don't know how many gcells the guide spans
Expand Down Expand Up @@ -1201,7 +1200,11 @@ void GuideProcessor::genGuides_split(
auto end_idx = intv.upper();
std::set<frCoord> split_indices;
// hardcode layerNum <= VIA_ACCESS_LAYERNUM not used for GR
if (via_access_only && layer_num <= router_cfg_->VIA_ACCESS_LAYERNUM) {
const bool via_only
= layer_num < router_cfg_->BOTTOM_ROUTING_LAYER
|| (via_access_only
&& layer_num <= router_cfg_->VIA_ACCESS_LAYERNUM);
if (via_only) {
// split by pin
split::splitByPins(pin_helper,
layer_num,
Expand Down
10 changes: 5 additions & 5 deletions src/drt/test/ispd18_sample.defok
Original file line number Diff line number Diff line change
Expand Up @@ -96,12 +96,12 @@ NETS 11 ;
NEW Metal1 ( 101400 83410 ) VIA12_1C
NEW Metal2 ( 95400 73530 ) RECT ( -70 -442 70 0 ) ;
- net1235 ( inst4183 A ) ( inst4132 Y ) + USE SIGNAL
+ ROUTED Metal2 ( 103000 83030 ) ( * 87590 )
NEW Metal3 ( 98600 83030 ) ( 103000 * )
NEW Metal2 ( 98600 76950 ) ( * 83030 )
+ ROUTED Metal2 ( 103000 84930 ) ( * 87590 )
NEW Metal1 ( 98600 84930 ) ( 103000 * )
NEW Metal2 ( 98600 76950 ) ( * 84930 )
NEW Metal1 ( 103000 87590 ) VIA12_1C
NEW Metal2 ( 103000 83030 ) VIA23_1C
NEW Metal2 ( 98600 83030 ) VIA23_1C
NEW Metal1 ( 103000 84930 ) VIA12_1C
NEW Metal1 ( 98600 84930 ) VIA12_1C
NEW Metal1 ( 98600 76950 ) VIA12_1C_V ;
- net1236 ( inst2908 D ) ( inst2591 Y ) + USE SIGNAL
+ ROUTED Metal3 ( 85800 76950 ) ( 102600 * )
Expand Down
2 changes: 2 additions & 0 deletions src/drt/test/ispd18_sample.ok
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@
[WARNING DRT-0160] Warning: Metal6 does not have viaDef aligned with layer direction, generating new viaDef Via6_FR.
[WARNING DRT-0160] Warning: Metal7 does not have viaDef aligned with layer direction, generating new viaDef Via7_FR.
[INFO DRT-0167] List of default vias:
Layer Via1
default via: VIA12_1C
Layer Via2
default via: VIA23_1C
Layer Via3
Expand Down
4 changes: 4 additions & 0 deletions src/drt/test/ispd18_sample.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,10 @@
gr = design.getGlobalRouter()
gr.readGuides("testcase/ispd18_sample/ispd18_sample.input.guide")

block = design.getBlock()
block.setMinRoutingLayer(1)
block.setMaxRoutingLayer(9)

drc_file = helpers.make_result_file("ispd18_sample.output.drc.rpt")
maze_file = helpers.make_result_file("ispd18_sample.output.maze.log")
guide_coverage_file = helpers.make_result_file("ispd18_sample.coverage.csv")
Expand Down
1 change: 1 addition & 0 deletions src/drt/test/ispd18_sample.tcl
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ source "helpers.tcl"
read_lef testcase/ispd18_sample/ispd18_sample.input.lef
read_def testcase/ispd18_sample/ispd18_sample.input.def
read_guides testcase/ispd18_sample/ispd18_sample.input.guide
set_routing_layers -signal Metal1-Metal9
detailed_route -output_drc [make_result_file ispd18_sample.output.drc.rpt] \
-output_maze [make_result_file ispd18_sample.output.maze.log] \
-output_guide_coverage [make_result_file ispd18_sample.coverage.csv] \
Expand Down
2 changes: 2 additions & 0 deletions src/drt/test/ispd18_sample_incr.ok
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@
[WARNING DRT-0160] Warning: Metal6 does not have viaDef aligned with layer direction, generating new viaDef Via6_FR.
[WARNING DRT-0160] Warning: Metal7 does not have viaDef aligned with layer direction, generating new viaDef Via7_FR.
[INFO DRT-0167] List of default vias:
Layer Via1
default via: VIA12_1C
Layer Via2
default via: VIA23_1C
Layer Via3
Expand Down
1 change: 1 addition & 0 deletions src/drt/test/ispd18_sample_incr.tcl
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ source "helpers.tcl"
read_lef testcase/ispd18_sample/ispd18_sample.input.lef
read_def testcase/ispd18_sample/ispd18_sample.input.def
read_guides testcase/ispd18_sample/ispd18_sample.input.guide
set_routing_layers -signal Metal1-Metal9
detailed_route -output_drc [make_result_file ispd18_sample.output.drc.rpt] \
-output_maze [make_result_file ispd18_sample.output.maze.log] \
-output_guide_coverage [make_result_file ispd18_sample.coverage.csv] \
Expand Down
11 changes: 11 additions & 0 deletions src/drt/test/run-ispd.py
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,17 @@ def gen_files(work_dir, ispd_year, design, drv_min, drv_max):
read_lef {bench_dir}/{design}/{design}.input.lef
read_def {bench_dir}/{design}/{design}.input.def
read_guides {bench_dir}/{design}/{design}.input.guide
set bottom_layer ""
set top_layer ""
foreach layer [[ord::get_db_tech] getLayers] {{
if {{ [$layer getType] == "ROUTING" }} {{
if {{ $bottom_layer == "" }} {{
set bottom_layer [$layer getName]
}}
set top_layer [$layer getName]
}}
}}
set_routing_layers -signal $bottom_layer-$top_layer
detailed_route -output_maze {design_dir}/{design}.output.maze.log \\
-output_drc {design_dir}/{design}.output.drc.rpt \\
-verbose {verbose}
Expand Down
2 changes: 2 additions & 0 deletions src/drt/test/single_step.ok
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@
[WARNING DRT-0160] Warning: Metal6 does not have viaDef aligned with layer direction, generating new viaDef Via6_FR.
[WARNING DRT-0160] Warning: Metal7 does not have viaDef aligned with layer direction, generating new viaDef Via7_FR.
[INFO DRT-0167] List of default vias:
Layer Via1
default via: VIA12_1C
Layer Via2
default via: VIA23_1C
Layer Via3
Expand Down
4 changes: 4 additions & 0 deletions src/drt/test/single_step.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,10 @@
gr = design.getGlobalRouter()
gr.readGuides("testcase/ispd18_sample/ispd18_sample.input.guide")

block = design.getBlock()
block.setMinRoutingLayer(1)
block.setMaxRoutingLayer(9)

drc_file = helpers.make_result_file("single_step.output.drc.rpt")
maze_file = helpers.make_result_file("single_step.output.maze.log")

Expand Down
2 changes: 1 addition & 1 deletion src/drt/test/single_step.tcl
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ source "helpers.tcl"
read_lef testcase/ispd18_sample/ispd18_sample.input.lef
read_def testcase/ispd18_sample/ispd18_sample.input.def
read_guides testcase/ispd18_sample/ispd18_sample.input.guide

set_routing_layers -signal Metal1-Metal9
detailed_route -output_drc [make_result_file single_step.output.drc.rpt] \
-output_maze [make_result_file single_step.output.maze.log] \
-verbose 0 \
Expand Down
Loading