Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Initial cace support #1

Open
wants to merge 2 commits into
base: tapeout_ci2406
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 0 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,11 @@ cace/*.sym
ngspice/*
spice/*
plots/*
xschem/xschemrc
xschem/*.spice
mag/*.ext
mag/*.res.ext
mag/*.nodes
mag/*.sim
mag/.magicrc
.spiceinit

blocks/comp_hyst/cace/*.spice
Expand Down
29 changes: 29 additions & 0 deletions cace/scripts/run_lvs.tcl
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# Generic Tcl script to run LVS through CACE
# to use this script with any block, just add any extra needed libraries


if {[catch {set PDK_ROOT $::env(PDK_ROOT)}]} {set PDK_ROOT /usr/local/share/pdk}
if {[catch {set PDK $::env(PDK)}]} {set PDK sky130A}

set pdklib ${PDK_ROOT}/${PDK}
set techlibs ${pdklib}/libs.tech
set reflibs ${pdklib}/libs.ref
#CACE_ROOT is an env vairable that's set during the proccess of running CACE
set CACE_ROOT $::env(CACE_ROOT)

set setupfile ${techlibs}/netgen/${PDK}_setup.tcl
set hvlib ${reflibs}/sky130_fd_sc_hvl/spice/sky130_fd_sc_hvl.spice
set hdlib ${reflibs}/sky130_fd_sc_hd/spice/sky130_fd_sc_hd.spice

#ipname is set to the ip directory name
set ipname [file tail $CACE_ROOT]

set circuit1 [readnet spice $CACE_ROOT/netlist/layout/${ipname}.spice]
set circuit2 [readnet spice $hvlib]

readnet spice $hdlib $circuit2
readnet spice $CACE_ROOT/netlist/schematic/${ipname}.spice $circuit2

#debug on

lvs "$circuit1 ${ipname}" "$circuit2 ${ipname}" $setupfile ${ipname}_comp.out -json
Loading