I have a design with a number of asynchronous paths (that I made on purpose) that successfully synthesized via openlane and I was hoping to run a back-annotated simulation on them.
I didn’t see a way to do that and as it’s not the largest design (maybe ~2K cell) so I thought I might try to spice it via the extracted lvs netlist. And, although functional, it’s way too slow.
So I noticed the PDK has support for irsim in the file below, which would be perfect.
sky130A/libs.tech/irsim/sky130A_1v80_27.prm
But I couldn’t find the ::env var to set to generate the needed .sim file. I found the TCL script that runs magic, and asked it to generate the file like this:
openlane/scripts/tcl_commands/magic.tcl
@@ -175,9 +175,13 @@ if { ! $::env(LVS_CONNECT_BY_LABEL) } {
# extract warn all
extract
+
ext2spice lvs
ext2spice -o $::env(EXT_NETLIST) $::env(DESIGN_NAME).ext
feedback save $::env(magic_log_file_tag)_ext2$extract_type.feedback.txt
+
+ext2sim run
+
And it did generate the .sim file, but it only had one line:
results/magic/my_design.sim
| units: 500000 tech: sky130A format: MIT
I am guessing I am probably missing something obvious. Has anyone gotten this to work?