Skip to content

Commit 27912a6

Browse files
authored
Merge pull request #135 from siliconcompiler/ihp130
add ihp enablement
2 parents b280b44 + e8509bd commit 27912a6

File tree

25 files changed

+392
-2
lines changed

25 files changed

+392
-2
lines changed

.github/workflows/config/designs.json

Lines changed: 112 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,11 @@
2929
"remote": false,
3030
"target": "gf180_gf180mcu_fd_sc_mcu9t5v0"
3131
},
32+
{
33+
"design": "aes",
34+
"remote": false,
35+
"target": "ihp130_sg13g2_stdcell"
36+
},
3237
{
3338
"design": "aes",
3439
"remote": false,
@@ -76,6 +81,13 @@
7681
"skip": "Timeout on github runner",
7782
"target": "gf180_gf180mcu_fd_sc_mcu9t5v0"
7883
},
84+
{
85+
"cache": false,
86+
"design": "ariane",
87+
"remote": false,
88+
"skip": "Skipped until qualified",
89+
"target": "ihp130_sg13g2_stdcell"
90+
},
7991
{
8092
"cache": true,
8193
"design": "ariane",
@@ -125,6 +137,13 @@
125137
"skip": "[ERROR MPL-0010] Macro placement failed for macro cluster:",
126138
"target": "gf180_gf180mcu_fd_sc_mcu9t5v0"
127139
},
140+
{
141+
"cache": false,
142+
"design": "black_parrot",
143+
"remote": false,
144+
"skip": "Skipped until qualified",
145+
"target": "ihp130_sg13g2_stdcell"
146+
},
128147
{
129148
"cache": true,
130149
"design": "black_parrot",
@@ -154,6 +173,13 @@
154173
"remote": false,
155174
"target": "freepdk45_nangate45"
156175
},
176+
{
177+
"cache": false,
178+
"design": "caliptra-datavault",
179+
"remote": false,
180+
"skip": "Skipped until qualified",
181+
"target": "ihp130_sg13g2_stdcell"
182+
},
157183
{
158184
"cache": true,
159185
"design": "caliptra-datavault",
@@ -189,6 +215,13 @@
189215
"skip": "Timeout on github runner",
190216
"target": "freepdk45_nangate45"
191217
},
218+
{
219+
"cache": false,
220+
"design": "caliptra-keyvault",
221+
"remote": false,
222+
"skip": "Skipped until qualified",
223+
"target": "ihp130_sg13g2_stdcell"
224+
},
192225
{
193226
"cache": true,
194227
"design": "caliptra-keyvault",
@@ -228,6 +261,11 @@
228261
"remote": false,
229262
"target": "gf180_gf180mcu_fd_sc_mcu9t5v0"
230263
},
264+
{
265+
"design": "caliptra-sha512",
266+
"remote": false,
267+
"target": "ihp130_sg13g2_stdcell"
268+
},
231269
{
232270
"design": "caliptra-sha512",
233271
"remote": false,
@@ -263,6 +301,11 @@
263301
"remote": false,
264302
"target": "gf180_gf180mcu_fd_sc_mcu9t5v0"
265303
},
304+
{
305+
"design": "dynamic_node",
306+
"remote": false,
307+
"target": "ihp130_sg13g2_stdcell"
308+
},
266309
{
267310
"design": "dynamic_node",
268311
"remote": false,
@@ -298,6 +341,11 @@
298341
"remote": false,
299342
"target": "gf180_gf180mcu_fd_sc_mcu9t5v0"
300343
},
344+
{
345+
"design": "ethmac",
346+
"remote": false,
347+
"target": "ihp130_sg13g2_stdcell"
348+
},
301349
{
302350
"design": "ethmac",
303351
"remote": false,
@@ -333,6 +381,11 @@
333381
"remote": false,
334382
"target": "gf180_gf180mcu_fd_sc_mcu9t5v0"
335383
},
384+
{
385+
"design": "gcd",
386+
"remote": false,
387+
"target": "ihp130_sg13g2_stdcell"
388+
},
336389
{
337390
"design": "gcd",
338391
"remote": false,
@@ -368,6 +421,11 @@
368421
"remote": false,
369422
"target": "gf180_gf180mcu_fd_sc_mcu9t5v0"
370423
},
424+
{
425+
"design": "heartbeat",
426+
"remote": false,
427+
"target": "ihp130_sg13g2_stdcell"
428+
},
371429
{
372430
"design": "heartbeat",
373431
"remote": false,
@@ -403,6 +461,11 @@
403461
"remote": false,
404462
"target": "gf180_gf180mcu_fd_sc_mcu9t5v0"
405463
},
464+
{
465+
"design": "ibex",
466+
"remote": false,
467+
"target": "ihp130_sg13g2_stdcell"
468+
},
406469
{
407470
"design": "ibex",
408471
"remote": false,
@@ -440,6 +503,11 @@
440503
"remote": false,
441504
"target": "gf180_gf180mcu_fd_sc_mcu9t5v0"
442505
},
506+
{
507+
"design": "jpeg",
508+
"remote": false,
509+
"target": "ihp130_sg13g2_stdcell"
510+
},
443511
{
444512
"design": "jpeg",
445513
"remote": false,
@@ -475,6 +543,11 @@
475543
"remote": false,
476544
"target": "gf180_gf180mcu_fd_sc_mcu9t5v0"
477545
},
546+
{
547+
"design": "mock_alu",
548+
"remote": false,
549+
"target": "ihp130_sg13g2_stdcell"
550+
},
478551
{
479552
"design": "mock_alu",
480553
"remote": false,
@@ -510,6 +583,11 @@
510583
"remote": false,
511584
"target": "gf180_gf180mcu_fd_sc_mcu9t5v0"
512585
},
586+
{
587+
"design": "openmsp430",
588+
"remote": false,
589+
"target": "ihp130_sg13g2_stdcell"
590+
},
513591
{
514592
"design": "openmsp430",
515593
"remote": false,
@@ -545,6 +623,11 @@
545623
"remote": false,
546624
"target": "gf180_gf180mcu_fd_sc_mcu9t5v0"
547625
},
626+
{
627+
"design": "picorv32",
628+
"remote": false,
629+
"target": "ihp130_sg13g2_stdcell"
630+
},
548631
{
549632
"design": "picorv32",
550633
"remote": false,
@@ -580,6 +663,11 @@
580663
"remote": false,
581664
"target": "gf180_gf180mcu_fd_sc_mcu9t5v0"
582665
},
666+
{
667+
"design": "riscv32i",
668+
"remote": false,
669+
"target": "ihp130_sg13g2_stdcell"
670+
},
583671
{
584672
"design": "riscv32i",
585673
"remote": false,
@@ -615,6 +703,11 @@
615703
"remote": false,
616704
"target": "gf180_gf180mcu_fd_sc_mcu9t5v0"
617705
},
706+
{
707+
"design": "spi",
708+
"remote": false,
709+
"target": "ihp130_sg13g2_stdcell"
710+
},
618711
{
619712
"design": "spi",
620713
"remote": false,
@@ -660,6 +753,13 @@
660753
"skip": "Timeout on github runner",
661754
"target": "gf180_gf180mcu_fd_sc_mcu9t5v0"
662755
},
756+
{
757+
"cache": false,
758+
"design": "swerv",
759+
"remote": false,
760+
"skip": "Skipped until qualified",
761+
"target": "ihp130_sg13g2_stdcell"
762+
},
663763
{
664764
"cache": true,
665765
"design": "swerv",
@@ -697,6 +797,13 @@
697797
"remote": false,
698798
"target": "gf180_gf180mcu_fd_sc_mcu9t5v0"
699799
},
800+
{
801+
"cache": false,
802+
"design": "tiny_rocket",
803+
"remote": false,
804+
"skip": "Skipped until qualified",
805+
"target": "ihp130_sg13g2_stdcell"
806+
},
700807
{
701808
"design": "tiny_rocket",
702809
"remote": false,
@@ -732,6 +839,11 @@
732839
"remote": false,
733840
"target": "gf180_gf180mcu_fd_sc_mcu9t5v0"
734841
},
842+
{
843+
"design": "uart",
844+
"remote": false,
845+
"target": "ihp130_sg13g2_stdcell"
846+
},
735847
{
736848
"design": "uart",
737849
"remote": false,

pyproject.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,9 @@ readme = "README.md"
2121
requires-python = ">=3.8"
2222
license = {file = "LICENSE"}
2323
dependencies = [
24-
"siliconcompiler>=0.27.0",
24+
"siliconcompiler>=0.28.1",
2525
"Jinja2>=3.1.2",
26-
"lambdapdk>=0.1.31",
26+
"lambdapdk>=0.1.32",
2727
"lambdalib>=0.2.10"
2828
]
2929
dynamic = ["version"]
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
set clk_period 24.4
2+
set clk_io_pct 0.2
3+
4+
set clk_port [get_ports clk]
5+
6+
create_clock -name clk -period $clk_period $clk_port
7+
8+
set non_clock_inputs [lsearch -inline -all -not -exact [all_inputs] $clk_port]
9+
set_input_delay [expr {$clk_period * $clk_io_pct}] -clock clk $non_clock_inputs
10+
set_output_delay [expr {$clk_period * $clk_io_pct}] -clock clk [all_outputs]
11+
12+
set_driving_cell -lib_cell sg13g2_buf_1 [all_inputs]
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
set clk_period 40.0
2+
set clk_io_pct 0.2
3+
4+
set clk_port [get_ports clk_i]
5+
6+
create_clock -name core_clock -period $clk_period $clk_port
7+
8+
set non_clock_inputs [lsearch -inline -all -not -exact [all_inputs] $clk_port]
9+
set_input_delay [expr {$clk_period * $clk_io_pct}] -clock core_clock $non_clock_inputs
10+
set_output_delay [expr {$clk_period * $clk_io_pct}] -clock core_clock [all_outputs]
11+
12+
set_driving_cell -lib_cell sg13g2_buf_1 [all_inputs]
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
set clk_period 6.84
2+
set clk_io_pct 0.2
3+
4+
set clk_port [get_ports clk_i]
5+
6+
create_clock -name CLK -period $clk_period $clk_port
7+
8+
set non_clock_inputs [lsearch -inline -all -not -exact [all_inputs] $clk_port]
9+
set_input_delay [expr {$clk_period * $clk_io_pct}] -clock CLK $non_clock_inputs
10+
set_output_delay [expr {$clk_period * $clk_io_pct}] -clock CLK [all_outputs]
11+
12+
set_driving_cell -lib_cell sg13g2_buf_1 [all_inputs]
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
set clk_period 40.0
2+
set clk_io_pct 0.2
3+
4+
set clk_port [get_ports clk]
5+
6+
create_clock -name clk -period $clk_period $clk_port
7+
8+
set non_clock_inputs [lsearch -inline -all -not -exact [all_inputs] $clk_port]
9+
set_input_delay [expr {$clk_period * $clk_io_pct}] -clock clk $non_clock_inputs
10+
set_output_delay [expr {$clk_period * $clk_io_pct}] -clock clk [all_outputs]
11+
12+
set_driving_cell -lib_cell sg13g2_buf_1 [all_inputs]
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
set clk_period 51.0
2+
set clk_io_pct 0.2
3+
4+
set clk_port [get_ports clk]
5+
6+
create_clock -name clk -period $clk_period $clk_port
7+
8+
set non_clock_inputs [lsearch -inline -all -not -exact [all_inputs] $clk_port]
9+
set_input_delay [expr {$clk_period * $clk_io_pct}] -clock clk $non_clock_inputs
10+
set_output_delay [expr {$clk_period * $clk_io_pct}] -clock clk [all_outputs]
11+
12+
set_driving_cell -lib_cell sg13g2_buf_1 [all_inputs]
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
set clk_period 66.9
2+
set clk_io_pct 0.2
3+
4+
set clk_port [get_ports clk]
5+
6+
create_clock -name clk -period $clk_period $clk_port
7+
8+
set non_clock_inputs [lsearch -inline -all -not -exact [all_inputs] $clk_port]
9+
set_input_delay [expr {$clk_period * $clk_io_pct}] -clock clk $non_clock_inputs
10+
set_output_delay [expr {$clk_period * $clk_io_pct}] -clock clk [all_outputs]
11+
12+
set_driving_cell -lib_cell sg13g2_buf_1 [all_inputs]
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
set clk_period 20
2+
set clk_io_pct 0.2
3+
4+
set clk_port [get_ports clk]
5+
6+
create_clock -name clk -period $clk_period $clk_port
7+
8+
set non_clock_inputs [lsearch -inline -all -not -exact [all_inputs] $clk_port]
9+
set_input_delay [expr {$clk_period * $clk_io_pct}] -clock clk $non_clock_inputs
10+
set_output_delay [expr {$clk_period * $clk_io_pct}] -clock clk [all_outputs]
11+
12+
set_driving_cell -lib_cell sg13g2_buf_1 [all_inputs]
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
set clk_io_pct 0.2
2+
3+
set clk_period 30.0
4+
set clk_port [get_ports wb_clk_i]
5+
create_clock -name wb_clk_i -period $clk_period $clk_port
6+
set non_clock_inputs [lsearch -inline -all -not -exact [all_inputs] $clk_port]
7+
set_input_delay [expr {$clk_period * $clk_io_pct}] -clock wb_clk_i $non_clock_inputs
8+
set_output_delay [expr {$clk_period * $clk_io_pct}] -clock wb_clk_i [all_outputs]
9+
10+
set tx_clk_period 20.0
11+
set tx_clk_port [get_ports mtx_clk_pad_i]
12+
create_clock -name mtx_clk_pad_i -period $tx_clk_period $tx_clk_port
13+
set mtx_non_clock_inputs [lsearch -inline -all -not -exact [all_inputs] $tx_clk_port]
14+
set_input_delay [expr {$tx_clk_period * $clk_io_pct}] -clock mtx_clk_pad_i $mtx_non_clock_inputs
15+
set_output_delay [expr {$tx_clk_period * $clk_io_pct}] -clock mtx_clk_pad_i [all_outputs]
16+
17+
set rx_clk_period 20.0
18+
set rx_clk_port [get_ports mrx_clk_pad_i]
19+
create_clock -name mrx_clk_pad_i -period $rx_clk_period $rx_clk_port
20+
set mrx_non_clock_inputs [lsearch -inline -all -not -exact [all_inputs] $rx_clk_port]
21+
set_input_delay [expr {$rx_clk_period * $clk_io_pct}] -clock mrx_clk_pad_i $mrx_non_clock_inputs
22+
set_output_delay [expr {$rx_clk_period * $clk_io_pct}] -clock mrx_clk_pad_i [all_outputs]
23+
24+
set_clock_groups -name core_clock -logically_exclusive \
25+
-group [get_clocks wb_clk_i] \
26+
-group [get_clocks mtx_clk_pad_i] \
27+
-group [get_clocks mrx_clk_pad_i]
28+
29+
set_driving_cell -lib_cell sg13g2_buf_1 [all_inputs]

0 commit comments

Comments
 (0)