Skip to content

Commit

Permalink
Integrated NCTUdr.
Browse files Browse the repository at this point in the history
  • Loading branch information
jinwookjungs committed Oct 15, 2018
1 parent a1d5058 commit 28a5d15
Show file tree
Hide file tree
Showing 64 changed files with 2,400,368 additions and 42,727 deletions.
8 changes: 8 additions & 0 deletions 000_config/config_simple.sh
Expand Up @@ -7,7 +7,9 @@ bench_suite=(

# Logic Synthesis
synth_scenarios=(
"resyn2"
"resyn"
"timing"
)
max_fanout=16

Expand All @@ -34,8 +36,14 @@ sizers=(

# Global Routing
global_routers=("NCTUgr")

tile_size=50
num_layer=4
adjustment=10
safety=90

# Detailed Routing
detail_routers=(
"NCTUdr"
)

17 changes: 12 additions & 5 deletions 000_config/config_test.sh
Expand Up @@ -2,22 +2,23 @@

# Benchmarks
bench_suite=(
"cordic_ispd"
"ac97_ctrl"
"cordic2_ispd"
)

# Logic Synthesis
synth_scenarios=(
"lazyman"
"timing"
)
max_fanout=16

# Floorplanning
utilization=0.5
utilization=0.6

# Placement
placers=(
"EhPlacer"
"ComPLx"
"NTUPlace3"
)
target_density=0.8

Expand All @@ -36,8 +37,14 @@ sizers=(
global_routers=(
"NCTUgr"
)

tile_size=30
num_layer=6
num_layer=8
adjustment=10
safety=90

# Detailed Routing
detail_routers=(
"NCTUdr"
)

21 changes: 20 additions & 1 deletion 000_config/setup.sh
Expand Up @@ -23,6 +23,7 @@ declare -a these_placers=("${placers[@]}")
declare -a these_timers=("${timers[@]}")
declare -a these_sizers=("${sizers[@]}")
declare -a these_grouters=("${global_routers[@]}")
declare -a these_drouters=("${detail_routers[@]}")

clock_name='clk'

Expand All @@ -43,6 +44,8 @@ mkdir -p ../430_write_def/def
mkdir -p ../440_timing/timing
mkdir -p ../500_gr_bench_gen/gr_bench
mkdir -p ../510_global_route/global_route
mkdir -p ../600_dr_benchmark_checker/lefdef
mkdir -p ../610_detail_route/detail_route

bench_dir=`cd ../benchmarks; pwd -P`
logic_synth_dir=`cd ../100_logic_synthesis/synthesis; pwd -P`
Expand All @@ -58,7 +61,9 @@ sizer_legalization_dir=`cd ../420_legalization/placement; pwd -P`
sizer_def_dir=`cd ../430_write_def/def; pwd -P`
sizer_timing_dir=`cd ../440_timing/timing; pwd -P`
gr_bench_dir=`cd ../500_gr_bench_gen/gr_bench; pwd -P`
globl_route_dir=`cd ../510_global_route/global_route; pwd -P`
global_route_dir=`cd ../510_global_route/global_route; pwd -P`
dr_lefdef_dir=`cd ../600_dr_benchmark_checker/lefdef; pwd -P`
detail_route_dir=`cd ../610_detail_route/detail_route; pwd -P`

# Available Benchmarks
declare -A bench_set=(
Expand Down Expand Up @@ -149,6 +154,11 @@ declare -a grouter_set=(
"BFG-R"
)

# Detail Routers
declare -a drouter_set=(
"NCTUdr"
)

# Checking...
for benchkey in "${these_benches[@]}"
do
Expand Down Expand Up @@ -204,3 +214,12 @@ do
fi
done

for drouter in "${these_drouters[@]}"
do
grep -qwe "$drouter" <(echo "${drouter_set[@]}")
if [ $? -eq 1 ]; then
echo "Error: detailed router $drouter does not exist"
exit 6
fi
done

6 changes: 2 additions & 4 deletions 510_global_route/run_suite
Expand Up @@ -19,12 +19,10 @@ do
do
if test $run_gs = false; then
base_name=${bench}.${scenario}.${placer}
out_name=${base_name}.${grouter}
else
base_name=${bench}.${scenario}.${placer}.${sizer}
out_name=${base_name}.${grouter}
fi

out_name=${bench}.gr_guide
log_name=${bench}.gr.log.txt

gr_bench_file=${gr_bench_dir}/${base_name}/${bench}.gr
Expand Down Expand Up @@ -79,7 +77,7 @@ do
done

# Output directory
out_dir="global_route/${out_name}"
out_dir="global_route/${base_name}.${grouter}"
if [ -d $out_dir ]; then
rm -rf $out_dir
fi
Expand Down
1 change: 0 additions & 1 deletion 600_detail_route/README

This file was deleted.

18 changes: 18 additions & 0 deletions 600_dr_benchmark_checker/Makefile
@@ -0,0 +1,18 @@
all: my_suite
my_suite:
./run_suite my_suite

simple:
./run_suite simple

tau:
./run_suite tau

test:
./run_suite test

example:
./run_suite example

clean:
rm -rf global_route/*
30 changes: 30 additions & 0 deletions 600_dr_benchmark_checker/README
@@ -0,0 +1,30 @@
# Written by Shih-Ting Lin (cxzasd3661512@gmail.com) on 2018/07
Advisor : Prof. Yih-Lang Li
Department of Computer Science,
National Chiao Tung University, Taiwan.
# usage: ./DR_benchmark_checker -lef [lef_file] -def [def_file] -lef_out [final_lef_file] -def_out [final_def_file]
# version : 1.0

== FILE_LIST ==
DR_benchmark_checker
README

1. Introduction:
This program is used for LEF/DEF checking and remaking.
To generate a LEF/DEF input for detailed router in ISPD'18 contest.
In ISPD’18 contest, there are several design rules and routing preference metrics.
Therefore, the information in LEF/DEF file have to be more detailed than previous stages to apply complete design rules and routing preference metrics mentioned in the contest.
2. Modified Item:
DEF:
TRACKS
LEF:
VIA LAYER
VIA TYPE
SPACING TABLE
ENDOFLINE
CUT SPACING
3. Future Version:
The modified items in current version are not flexable. For next version, we will set the default mode and customer mode for users. In the customer mode, user is able to set there own item information.


If the program crash on the unkown situation, please contact Shih-Ting Lin (cxzasd3661512@gmail.com) for further information.

0 comments on commit 28a5d15

Please sign in to comment.