Skip to content

Commit

Permalink
sky130hd: smoketest
Browse files Browse the repository at this point in the history
Signed-off-by: Øyvind Harboe <[email protected]>
  • Loading branch information
oharboe committed Jan 28, 2025
1 parent bf0b8c6 commit d30e198
Show file tree
Hide file tree
Showing 2 changed files with 55 additions and 0 deletions.
16 changes: 16 additions & 0 deletions BUILD
Original file line number Diff line number Diff line change
Expand Up @@ -410,3 +410,19 @@ orfs_ppa(
plot = ["lb_32x128_{}_cts".format(i + 1) for i in range(4)],
title = "lb_32x128 variants",
)

orfs_flow(
name = "lb_32x128_sky130hd",
arguments = {
"CORE_UTILIZATION": "10",
"CORE_ASPECT_RATIO": "2",
"SKIP_REPORT_METRICS": "1",
"SDC_FILE": "$(location :constraints-sram-sky130hd.sdc)",
},
pdk = "@docker_orfs//:sky130hd",
sources = {
"SDC_FILE": [":constraints-sram-sky130hd.sdc"],
},
top = "lb_32x128",
verilog_files = LB_VERILOG_FILES,
)
39 changes: 39 additions & 0 deletions constraints-sram-sky130hd.sdc
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
set sdc_version 2.0

#
# SDC file used during SRAM abstract generation
#

set clk_period 10

# Covers all clock naming types in SRAMs and reg files
set clock_ports [concat [get_ports -quiet *clk] [get_ports -quiet *clock]]

if {[llength $clock_ports] == 0} {
error "No clock ports found"
}

foreach clk_port $clock_ports {
set clk_name [get_name $clk_port]
create_clock -period $clk_period -name $clk_name $clk_port
}

set non_clk_inputs {}
foreach input [all_inputs] {
if {[lsearch -exact $clock_ports $input] == -1} {
lappend non_clk_inputs $input
}
}

set_max_delay [expr {[info exists in2out_max] ? $in2out_max : 80}] -from $non_clk_inputs -to [all_outputs]
group_path -name in2out -from $non_clk_inputs -to [all_outputs]

if {[llength [all_registers]] > 0} {
set all_register_outputs [get_pins -of_objects [all_registers] -filter {direction == output}]
set_max_delay [expr {[info exists in2reg_max] ? $in2reg_max : 80}] -from $non_clk_inputs -to [all_registers]
set_max_delay [expr {[info exists reg2out_max] ? $reg2out_max : 80}] -from $all_register_outputs -to [all_outputs]

group_path -name in2reg -from $non_clk_inputs -to [all_registers]
group_path -name reg2out -from [all_registers] -to [all_outputs]
group_path -name reg2reg -from [all_registers] -to [all_registers]
}

0 comments on commit d30e198

Please sign in to comment.