Skip to content

Commit fb4be9e

Browse files
authored
Merge pull request #168 from siliconcompiler/fazyrv
add fazyrv design
2 parents c247fcb + 83819e0 commit fb4be9e

File tree

14 files changed

+305
-1
lines changed

14 files changed

+305
-1
lines changed

.github/workflows/config/designs.json

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -351,6 +351,46 @@
351351
"remote": false,
352352
"target": "skywater130_sky130hd"
353353
},
354+
{
355+
"design": "fazyrv",
356+
"remote": false,
357+
"target": "asap7_asap7sc7p5t_lvt"
358+
},
359+
{
360+
"design": "fazyrv",
361+
"remote": false,
362+
"target": "asap7_asap7sc7p5t_rvt"
363+
},
364+
{
365+
"design": "fazyrv",
366+
"remote": false,
367+
"target": "asap7_asap7sc7p5t_slvt"
368+
},
369+
{
370+
"design": "fazyrv",
371+
"remote": false,
372+
"target": "freepdk45_nangate45"
373+
},
374+
{
375+
"design": "fazyrv",
376+
"remote": false,
377+
"target": "gf180_gf180mcu_fd_sc_mcu7t5v0"
378+
},
379+
{
380+
"design": "fazyrv",
381+
"remote": false,
382+
"target": "gf180_gf180mcu_fd_sc_mcu9t5v0"
383+
},
384+
{
385+
"design": "fazyrv",
386+
"remote": false,
387+
"target": "ihp130_sg13g2_stdcell"
388+
},
389+
{
390+
"design": "fazyrv",
391+
"remote": false,
392+
"target": "skywater130_sky130hd"
393+
},
354394
{
355395
"design": "gcd",
356396
"remote": false,

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,6 @@ ignore = [
7272
]
7373

7474
[tool.codespell]
75-
skip = './build,./scgallery/designs/*/build,*.json,./scgallery/designs/*/src/*.v,./scgallery/designs/*/extra/*.v,./scgallery/designs/swerv/config/common_defines.vh'
75+
skip = './build,./scgallery/designs/*/build,*.json,./scgallery/designs/*/src/*.v,./scgallery/designs/*/extra/*.v,./scgallery/designs/*/extra/*.sv,./scgallery/designs/swerv/config/common_defines.vh'
7676
count = true
7777
quiet-level = 3

scgallery/designs/__init__.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
from .black_parrot import black_parrot
66
from .dynamic_node import dynamic_node
77
from .ethmac import ethmac
8+
from .fazyrv import fazyrv
89
from .gcd import gcd
910
from .heartbeat import heartbeat
1011
from .ibex import ibex
@@ -53,6 +54,7 @@ def __get_rules(design):
5354
datavault,
5455
dynamic_node,
5556
ethmac,
57+
fazyrv,
5658
gcd,
5759
heartbeat,
5860
ibex,
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
set clk_period 1000
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 BUFx2_ASAP7_75t_L [all_inputs]
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
set clk_period 1000
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 BUFx2_ASAP7_75t_R [all_inputs]
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
set clk_period 1000
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 BUFx2_ASAP7_75t_SL [all_inputs]
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
set clk_period 29.25
2+
set clk_io_pct 0.2
3+
4+
set clk_port [get_ports clk_i]
5+
6+
create_clock -name clk_i -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 gf180mcu_fd_sc_mcu7t5v0__buf_2 [all_inputs]
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
set clk_period 29.0
2+
set clk_io_pct 0.2
3+
4+
set clk_port [get_ports clk_i]
5+
6+
create_clock -name clk_i -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 gf180mcu_fd_sc_mcu9t5v0__buf_2 [all_inputs]
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
set clk_period 1.50
2+
set clk_io_pct 0.2
3+
4+
set clk_port [get_ports clk_i]
5+
6+
create_clock -name clk_i -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 BUF_X2 [all_inputs]
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
set clk_period 9
2+
set clk_io_pct 0.2
3+
4+
set clk_port [get_ports clk_i]
5+
6+
create_clock -name clk_i -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]

0 commit comments

Comments
 (0)