Skip to content

Commit 5b485cc

Browse files
committed
designs: Add ihp-sg13cmos5l Examples
Add all ihp-sg13g2 examples for the CMOS5L PDK and modify all required parts. Signed-off-by: Daniel Schultz <dnltz@aesc-silicon.de>
1 parent d1e66c1 commit 5b485cc

34 files changed

+3075
-0
lines changed
Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
{
2+
"_SDC_FILE_PATH": "constraint.sdc",
3+
"_SDC_CLK_PERIOD": {
4+
"type": "float",
5+
"minmax": [
6+
4.0,
7+
6.0
8+
],
9+
"step": 0
10+
},
11+
"CORE_UTILIZATION": {
12+
"type": "int",
13+
"minmax": [
14+
20,
15+
50
16+
],
17+
"step": 1
18+
},
19+
"CORE_ASPECT_RATIO": {
20+
"type": "float",
21+
"minmax": [
22+
0.5,
23+
2.0
24+
],
25+
"step": 0
26+
},
27+
"CELL_PAD_IN_SITES_GLOBAL_PLACEMENT": {
28+
"type": "int",
29+
"minmax": [
30+
0,
31+
3
32+
],
33+
"step": 1
34+
},
35+
"CELL_PAD_IN_SITES_DETAIL_PLACEMENT": {
36+
"type": "int",
37+
"minmax": [
38+
0,
39+
3
40+
],
41+
"step": 1
42+
},
43+
"_FR_LAYER_ADJUST": {
44+
"type": "float",
45+
"minmax": [
46+
0.1,
47+
0.3
48+
],
49+
"step": 0
50+
},
51+
"PLACE_DENSITY_LB_ADDON": {
52+
"type": "float",
53+
"minmax": [
54+
0.0,
55+
0.2
56+
],
57+
"step": 0
58+
},
59+
"_PINS_DISTANCE": {
60+
"type": "int",
61+
"minmax": [
62+
1,
63+
4
64+
],
65+
"step": 1
66+
},
67+
"CTS_CLUSTER_SIZE": {
68+
"type": "int",
69+
"minmax": [
70+
10,
71+
200
72+
],
73+
"step": 1
74+
},
75+
"CTS_CLUSTER_DIAMETER": {
76+
"type": "int",
77+
"minmax": [
78+
20,
79+
400
80+
],
81+
"step": 1
82+
},
83+
"_FR_FILE_PATH": "../../../platforms/ihp-sg13g2/fastroute.tcl"
84+
}
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
export DESIGN_NICKNAME = aes
2+
export DESIGN_NAME = aes_cipher_top
3+
export PLATFORM = ihp-sg13cmos5l
4+
5+
export VERILOG_FILES = $(sort $(wildcard $(DESIGN_HOME)/src/$(DESIGN_NICKNAME)/*.v))
6+
export SDC_FILE = $(DESIGN_HOME)/$(PLATFORM)/$(DESIGN_NICKNAME)/constraint.sdc
7+
8+
export CORE_UTILIZATION = 20
9+
export CORE_ASPECT_RATIO = 1
10+
11+
export PLACE_DENSITY = 0.65
12+
export TNS_END_PERCENT = 100
13+
14+
export USE_FILL = 1
15+
16+
export REMOVE_ABC_BUFFERS = 1
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
current_design aes_cipher_top
2+
3+
set clk_name clk
4+
set clk_port_name clk
5+
set clk_period 4.5
6+
set clk_io_pct 0.2
7+
8+
set clk_port [get_ports $clk_port_name]
9+
10+
create_clock -name $clk_name -period $clk_period $clk_port
11+
12+
set non_clock_inputs [all_inputs -no_clocks]
13+
14+
set_input_delay [expr $clk_period * $clk_io_pct] -clock $clk_name $non_clock_inputs
15+
set_output_delay [expr $clk_period * $clk_io_pct] -clock $clk_name [all_outputs]
Lines changed: 102 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,102 @@
1+
{
2+
"synth__design__instance__area__stdcell": {
3+
"value": 214000.0,
4+
"compare": "<="
5+
},
6+
"constraints__clocks__count": {
7+
"value": 1,
8+
"compare": "=="
9+
},
10+
"placeopt__design__instance__area": {
11+
"value": 200905,
12+
"compare": "<="
13+
},
14+
"placeopt__design__instance__count__stdcell": {
15+
"value": 18614,
16+
"compare": "<="
17+
},
18+
"detailedplace__design__violations": {
19+
"value": 0,
20+
"compare": "=="
21+
},
22+
"cts__design__instance__count__setup_buffer": {
23+
"value": 1128,
24+
"compare": "<="
25+
},
26+
"cts__design__instance__count__hold_buffer": {
27+
"value": 1128,
28+
"compare": "<="
29+
},
30+
"cts__timing__setup__ws": {
31+
"value": -0.225,
32+
"compare": ">="
33+
},
34+
"cts__timing__setup__tns": {
35+
"value": -0.9,
36+
"compare": ">="
37+
},
38+
"cts__timing__hold__ws": {
39+
"value": -0.225,
40+
"compare": ">="
41+
},
42+
"cts__timing__hold__tns": {
43+
"value": -0.9,
44+
"compare": ">="
45+
},
46+
"globalroute__antenna_diodes_count": {
47+
"value": 100,
48+
"compare": "<="
49+
},
50+
"globalroute__timing__setup__ws": {
51+
"value": -0.225,
52+
"compare": ">="
53+
},
54+
"globalroute__timing__setup__tns": {
55+
"value": -0.9,
56+
"compare": ">="
57+
},
58+
"globalroute__timing__hold__ws": {
59+
"value": -0.225,
60+
"compare": ">="
61+
},
62+
"globalroute__timing__hold__tns": {
63+
"value": -0.9,
64+
"compare": ">="
65+
},
66+
"detailedroute__route__wirelength": {
67+
"value": 782983,
68+
"compare": "<="
69+
},
70+
"detailedroute__route__drc_errors": {
71+
"value": 0,
72+
"compare": "<="
73+
},
74+
"detailedroute__antenna__violating__nets": {
75+
"value": 1,
76+
"compare": "<="
77+
},
78+
"detailedroute__antenna_diodes_count": {
79+
"value": 100,
80+
"compare": "<="
81+
},
82+
"finish__timing__setup__ws": {
83+
"value": -0.225,
84+
"compare": ">="
85+
},
86+
"finish__timing__setup__tns": {
87+
"value": -0.9,
88+
"compare": ">="
89+
},
90+
"finish__timing__hold__ws": {
91+
"value": -0.225,
92+
"compare": ">="
93+
},
94+
"finish__timing__hold__tns": {
95+
"value": -0.9,
96+
"compare": ">="
97+
},
98+
"finish__design__instance__area": {
99+
"value": 204761,
100+
"compare": "<="
101+
}
102+
}
Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
{
2+
"_SDC_FILE_PATH": "constraint.sdc",
3+
"_SDC_CLK_PERIOD": {
4+
"type": "float",
5+
"minmax": [
6+
2.0,
7+
12.0
8+
],
9+
"step": 0
10+
},
11+
"CORE_UTILIZATION": {
12+
"type": "int",
13+
"minmax": [
14+
15,
15+
50
16+
],
17+
"step": 1
18+
},
19+
"CORE_ASPECT_RATIO": {
20+
"type": "float",
21+
"minmax": [
22+
0.5,
23+
2.0
24+
],
25+
"step": 0
26+
},
27+
"CELL_PAD_IN_SITES_GLOBAL_PLACEMENT": {
28+
"type": "int",
29+
"minmax": [
30+
0,
31+
3
32+
],
33+
"step": 1
34+
},
35+
"CELL_PAD_IN_SITES_DETAIL_PLACEMENT": {
36+
"type": "int",
37+
"minmax": [
38+
0,
39+
3
40+
],
41+
"step": 1
42+
},
43+
"_FR_LAYER_ADJUST": {
44+
"type": "float",
45+
"minmax": [
46+
0.1,
47+
0.3
48+
],
49+
"step": 0
50+
},
51+
"PLACE_DENSITY_LB_ADDON": {
52+
"type": "float",
53+
"minmax": [
54+
0.0,
55+
0.2
56+
],
57+
"step": 0
58+
},
59+
"_PINS_DISTANCE": {
60+
"type": "int",
61+
"minmax": [
62+
1,
63+
3
64+
],
65+
"step": 1
66+
},
67+
"CTS_CLUSTER_SIZE": {
68+
"type": "int",
69+
"minmax": [
70+
10,
71+
200
72+
],
73+
"step": 1
74+
},
75+
"CTS_CLUSTER_DIAMETER": {
76+
"type": "int",
77+
"minmax": [
78+
20,
79+
400
80+
],
81+
"step": 1
82+
},
83+
"_FR_FILE_PATH": "../../../platforms/ihp-sg13g2/fastroute.tcl"
84+
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
export DESIGN_NAME = gcd
2+
export PLATFORM = ihp-sg13cmos5l
3+
4+
export VERILOG_FILES = $(DESIGN_HOME)/src/$(DESIGN_NICKNAME)/gcd.v
5+
export SDC_FILE = $(DESIGN_HOME)/$(PLATFORM)/$(DESIGN_NICKNAME)/constraint.sdc
6+
7+
export USE_FILL = 1
8+
9+
export PLACE_DENSITY ?= 0.88
10+
export CORE_UTILIZATION = 20
11+
export TNS_END_PERCENT = 100
12+
13+
export SWAP_ARITH_OPERATORS = 1
14+
export OPENROAD_HIERARCHICAL = 1
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
current_design gcd
2+
3+
set clk_name core_clock
4+
set clk_port_name clk
5+
set clk_period 2.8
6+
set clk_io_pct 0.2
7+
8+
set clk_port [get_ports $clk_port_name]
9+
10+
create_clock -name $clk_name -period $clk_period $clk_port
11+
12+
set non_clock_inputs [all_inputs -no_clocks]
13+
14+
set_input_delay [expr $clk_period * $clk_io_pct] -clock $clk_name $non_clock_inputs
15+
set_output_delay [expr $clk_period * $clk_io_pct] -clock $clk_name [all_outputs]

0 commit comments

Comments
 (0)