├── ip ├── tt06_sar_sky130nm │ ├── tech │ ├── sim │ │ ├── cicsim.yaml │ │ ├── Makefile │ │ └── TT06_SAR │ │ │ ├── tran_Lay_tfs.png │ │ │ ├── tran_Lay_typical.png │ │ │ ├── pwrdwn.meas │ │ │ ├── pwrdwn.yaml │ │ │ ├── cicsim.yaml │ │ │ ├── xdut.spi │ │ │ ├── tran.meas │ │ │ ├── summary.yaml │ │ │ ├── Makefile │ │ │ ├── tran.yaml │ │ │ ├── pwrdwn.spi │ │ │ ├── tran.py │ │ │ ├── tran.spi │ │ │ ├── TT06_SAR.md │ │ │ └── pandoc.css │ ├── work │ │ ├── mos.24bit.dstyle │ │ ├── mos.24bit.std.cmap │ │ ├── xschemrc │ │ ├── .magicrc │ │ ├── deliver.tcl │ │ ├── gridcheck │ │ └── Makefile │ ├── design │ │ ├── SUN_TR_SKY130NM │ │ ├── SUN_SAR9B_SKY130NM │ │ └── TT06_SAR_SKY130NM │ │ │ ├── cut_M1M2_2x1.mag │ │ │ ├── tt_um_TT06_SAR_done.sym │ │ │ ├── TT06SAR_NDIO_M2.mag │ │ │ ├── tt_um_TT06_SAR_done.mag │ │ │ ├── TT06SAR_NDIO_M4.mag │ │ │ ├── tt_um_TT06_SAR_done.sch │ │ │ ├── TT06SAR_NDIO.mag │ │ │ ├── sky130_fd_pr__cap_mim_m3_1_XS736D.mag │ │ │ └── tt_um_TT06_SAR_wulffern.sch │ └── cic │ │ ├── ip.spi │ │ ├── ip.json │ │ └── sky130.tech └── config.yaml ├── src ├── tb_ana.fl ├── Makefile ├── tb_ana.gtkw ├── tb_ana.v └── project.v ├── docs ├── sar.pdf ├── tran_Lay_tfs.png ├── sar.md └── info.md ├── media ├── adcs.pdf ├── cnano.pdf ├── trigger.png ├── acdncmos.png ├── inverter.pdf ├── our_work.png ├── transistor.pdf ├── fig_process.pdf ├── l00_SAR9B_CV.png ├── l06_fig_dmos.pdf ├── efficient_adcs.png ├── fig_sar_logic.pdf ├── harald_layout.pdf ├── l06_fig_saremx.pdf ├── wulff_fig_table.pdf ├── wulff_fig_comparator.pdf └── wulff_fig_prior_art.pdf ├── meas ├── sar_idle.pkl ├── sar_sine_100kHz_500mV.pkl └── sarvcd2df.py ├── gds └── tt_um_TT06_SAR_wulffern.gds ├── video └── Makefile ├── .github └── workflows │ ├── docs.yaml │ └── gds.yaml ├── .gitignore ├── .gitmodules ├── info.yaml ├── README.md ├── LICENSE ├── reports ├── drc.log ├── ant.log └── lpe_lvs.log └── spi └── tt_um_TT06_SAR_wulffern.spice /ip/tt06_sar_sky130nm/tech: -------------------------------------------------------------------------------- 1 | ../tech_sky130A -------------------------------------------------------------------------------- /src/tb_ana.fl: -------------------------------------------------------------------------------- 1 | project.v 2 | tb_ana.v 3 | -------------------------------------------------------------------------------- /ip/tt06_sar_sky130nm/sim/cicsim.yaml: -------------------------------------------------------------------------------- 1 | ../tech/cicsim/cicsim.yaml -------------------------------------------------------------------------------- /ip/tt06_sar_sky130nm/work/mos.24bit.dstyle: -------------------------------------------------------------------------------- 1 | ../tech/magic/mos.24bit.dstyle -------------------------------------------------------------------------------- /docs/sar.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wulffern/tt06-sar/HEAD/docs/sar.pdf -------------------------------------------------------------------------------- /ip/tt06_sar_sky130nm/work/mos.24bit.std.cmap: -------------------------------------------------------------------------------- 1 | ../tech/magic/mos.24bit.std.cmap -------------------------------------------------------------------------------- /media/adcs.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wulffern/tt06-sar/HEAD/media/adcs.pdf -------------------------------------------------------------------------------- /media/cnano.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wulffern/tt06-sar/HEAD/media/cnano.pdf -------------------------------------------------------------------------------- /ip/tt06_sar_sky130nm/design/SUN_TR_SKY130NM: -------------------------------------------------------------------------------- 1 | ../../sun_tr_sky130nm/design/SUN_TR_SKY130NM -------------------------------------------------------------------------------- /meas/sar_idle.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wulffern/tt06-sar/HEAD/meas/sar_idle.pkl -------------------------------------------------------------------------------- /media/trigger.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wulffern/tt06-sar/HEAD/media/trigger.png -------------------------------------------------------------------------------- /media/acdncmos.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wulffern/tt06-sar/HEAD/media/acdncmos.png -------------------------------------------------------------------------------- /media/inverter.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wulffern/tt06-sar/HEAD/media/inverter.pdf -------------------------------------------------------------------------------- /media/our_work.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wulffern/tt06-sar/HEAD/media/our_work.png -------------------------------------------------------------------------------- /media/transistor.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wulffern/tt06-sar/HEAD/media/transistor.pdf -------------------------------------------------------------------------------- /docs/tran_Lay_tfs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wulffern/tt06-sar/HEAD/docs/tran_Lay_tfs.png -------------------------------------------------------------------------------- /ip/tt06_sar_sky130nm/design/SUN_SAR9B_SKY130NM: -------------------------------------------------------------------------------- 1 | ../../sun_sar9b_sky130nm/design/SUN_SAR9B_SKY130NM -------------------------------------------------------------------------------- /media/fig_process.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wulffern/tt06-sar/HEAD/media/fig_process.pdf -------------------------------------------------------------------------------- /media/l00_SAR9B_CV.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wulffern/tt06-sar/HEAD/media/l00_SAR9B_CV.png -------------------------------------------------------------------------------- /media/l06_fig_dmos.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wulffern/tt06-sar/HEAD/media/l06_fig_dmos.pdf -------------------------------------------------------------------------------- /media/efficient_adcs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wulffern/tt06-sar/HEAD/media/efficient_adcs.png -------------------------------------------------------------------------------- /media/fig_sar_logic.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wulffern/tt06-sar/HEAD/media/fig_sar_logic.pdf -------------------------------------------------------------------------------- /media/harald_layout.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wulffern/tt06-sar/HEAD/media/harald_layout.pdf -------------------------------------------------------------------------------- /media/l06_fig_saremx.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wulffern/tt06-sar/HEAD/media/l06_fig_saremx.pdf -------------------------------------------------------------------------------- /media/wulff_fig_table.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wulffern/tt06-sar/HEAD/media/wulff_fig_table.pdf -------------------------------------------------------------------------------- /ip/tt06_sar_sky130nm/work/xschemrc: -------------------------------------------------------------------------------- 1 | source ../tech/xschem/xschemrc 2 | append XSCHEM_LIBRARY_PATH :../design 3 | -------------------------------------------------------------------------------- /meas/sar_sine_100kHz_500mV.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wulffern/tt06-sar/HEAD/meas/sar_sine_100kHz_500mV.pkl -------------------------------------------------------------------------------- /media/wulff_fig_comparator.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wulffern/tt06-sar/HEAD/media/wulff_fig_comparator.pdf -------------------------------------------------------------------------------- /media/wulff_fig_prior_art.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wulffern/tt06-sar/HEAD/media/wulff_fig_prior_art.pdf -------------------------------------------------------------------------------- /gds/tt_um_TT06_SAR_wulffern.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wulffern/tt06-sar/HEAD/gds/tt_um_TT06_SAR_wulffern.gds -------------------------------------------------------------------------------- /ip/tt06_sar_sky130nm/sim/Makefile: -------------------------------------------------------------------------------- 1 | include ../tech/make/sim.make 2 | 3 | LIB=TT06_SAR_SKY130NM 4 | CELL=TT06_SAR 5 | -------------------------------------------------------------------------------- /ip/tt06_sar_sky130nm/sim/TT06_SAR/tran_Lay_tfs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wulffern/tt06-sar/HEAD/ip/tt06_sar_sky130nm/sim/TT06_SAR/tran_Lay_tfs.png -------------------------------------------------------------------------------- /ip/tt06_sar_sky130nm/sim/TT06_SAR/tran_Lay_typical.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wulffern/tt06-sar/HEAD/ip/tt06_sar_sky130nm/sim/TT06_SAR/tran_Lay_typical.png -------------------------------------------------------------------------------- /src/Makefile: -------------------------------------------------------------------------------- 1 | 2 | runa: 3 | iverilog -g2012 -o my_design -c tb_ana.fl -DANA_TYPE_REAL 4 | vvp -n my_design 5 | 6 | rund: 7 | iverilog -g2012 -o my_design -c tb_ana.fl 8 | vvp -n my_design 9 | -------------------------------------------------------------------------------- /ip/tt06_sar_sky130nm/work/.magicrc: -------------------------------------------------------------------------------- 1 | source ../tech/magic/.magicrc 2 | addpath ../design/TT06_SAR_SKY130NM 3 | #addpath ../design/ 4 | addpath ../design/SUN_SAR9B_SKY130NM 5 | addpath ../design/SUN_TR_SKY130NM 6 | -------------------------------------------------------------------------------- /ip/tt06_sar_sky130nm/cic/ip.spi: -------------------------------------------------------------------------------- 1 | 2 | .subckt tt_um_TT06_SAR_done DONE uio_out<0> uio_oe<0> VPWR VGND 3 | x3 DONE uio_out<0> VPWR VGND SUNTR_BFX1_CV 4 | x4 uio_oe<0> VPWR VGND SUNTR_TIEH_CV 5 | x5 VPWR VGND SUNTR_TAPCELLB_CV 6 | .ends 7 | -------------------------------------------------------------------------------- /ip/tt06_sar_sky130nm/work/deliver.tcl: -------------------------------------------------------------------------------- 1 | 2 | load ../design/TT06_SAR_SKY130NM/tt_um_TT06_SAR_wulffern.mag 3 | gds write ../../../gds/tt_um_TT06_SAR_wulffern.gds 4 | lef write ../../../lef/tt_um_TT06_SAR_wulffern.lef -pinonly 5 | exit 6 | -------------------------------------------------------------------------------- /ip/tt06_sar_sky130nm/sim/TT06_SAR/pwrdwn.meas: -------------------------------------------------------------------------------- 1 | * Measure TT06_SAR 2 | .control 3 | 4 | load {cicname}.raw 5 | 6 | echo "MEAS_START" 7 | 8 | meas tran iact AVG i(VDD) FROM='500n' TO='1u' 9 | meas tran ioff AVG i(VDD) FROM='1.1u' TO='2u' 10 | 11 | 12 | echo "MEAS_END" 13 | .endc 14 | -------------------------------------------------------------------------------- /video/Makefile: -------------------------------------------------------------------------------- 1 | 2 | tt: 3 | gource -1280x720 --seconds-per-day 1 -o - | ffmpeg -y -r 60 -f image2pipe -vcodec ppm -i - -vcodec libx264 -preset ultrafast -pix_fmt yuv420p -crf 1 -threads 0 -bf 0 gource.mp4 4 | 5 | tt06: 6 | gource -1280x720 --seconds-per-day 1 7 | 8 | sar: 9 | cd ../ip/sun_sar9b_sky130nm; gource -1280x720 --seconds-per-day 0.1 10 | -------------------------------------------------------------------------------- /.github/workflows/docs.yaml: -------------------------------------------------------------------------------- 1 | name: docs 2 | 3 | on: 4 | push: 5 | workflow_dispatch: 6 | 7 | jobs: 8 | docs: 9 | runs-on: ubuntu-latest 10 | steps: 11 | - name: Checkout repo 12 | uses: actions/checkout@v4 13 | with: 14 | submodules: recursive 15 | 16 | - name: Build docs 17 | uses: TinyTapeout/tt-gds-action/docs@tt06 18 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | .idea 3 | .vscode 4 | *.vcd 5 | runs 6 | tt_submission 7 | src/user_config.tcl 8 | test/sim_build 9 | test/__pycache__/ 10 | test/results.xml 11 | test/gate_level_netlist.v 12 | 13 | */__pycache__/ 14 | *.py[cod] 15 | *$py.class 16 | .DS_Store 17 | *.net 18 | *.so 19 | *.run 20 | *.pdf 21 | *.ext 22 | .cache 23 | .local/ 24 | output*/ 25 | work/ 26 | build/ 27 | -------------------------------------------------------------------------------- /ip/tt06_sar_sky130nm/design/TT06_SAR_SKY130NM/cut_M1M2_2x1.mag: -------------------------------------------------------------------------------- 1 | magic 2 | tech sky130A 3 | timestamp 1712786400 4 | << checkpaint >> 5 | rect 0 0 92 34 6 | << locali >> 7 | rect 0 31 92 34 8 | rect 0 3 6 31 9 | rect 86 3 92 31 10 | rect 0 0 92 3 11 | << viali >> 12 | rect 6 3 86 31 13 | << metal1 >> 14 | rect 0 31 92 34 15 | rect 0 3 6 31 16 | rect 86 3 92 31 17 | rect 0 0 92 3 18 | << properties >> 19 | string FIXED_BBOX 0 0 92 34 20 | << end >> 21 | -------------------------------------------------------------------------------- /ip/tt06_sar_sky130nm/sim/TT06_SAR/pwrdwn.yaml: -------------------------------------------------------------------------------- 1 | 2 | iact: 3 | src: 4 | - iact 5 | typ: 50 6 | name: Active current 7 | desc: ui_in[0] = 1. Clock running 8 | min: 30 9 | max: 70 10 | scale: -1e6 11 | digits: 1 12 | unit: uA 13 | ioff: 14 | src: 15 | - ioff 16 | typ: 200 17 | name: Off Current 18 | desc: ui_in[0] = 0. Clock running 19 | min: 10 20 | max: 1000 21 | scale: -1e9 22 | digits: 1 23 | unit: nA 24 | -------------------------------------------------------------------------------- /ip/tt06_sar_sky130nm/sim/TT06_SAR/cicsim.yaml: -------------------------------------------------------------------------------- 1 | options: 2 | sha: True 3 | corner: 4 | Lay: | 5 | 6 | .include ../../../work/lpe/tt_um_TT06_SAR_wulffern_lpe.spi 7 | Layr: | 8 | 9 | .include ../../../work/lpe/tt_um_TT06_SAR_wulffern_lper.spi 10 | Laym: | 11 | 12 | .include ../../../work/lpe/tt_um_TT06_SAR_wulffern_lper_lowr.spi 13 | Sch: | 14 | 15 | .include ../../../work/lpe/SUNSAR_SAR8B_CV_lpe.spi 16 | .include ../../../work/xsch/tt_um_TT06_SAR_wulffern.spice 17 | ngspice: 18 | library: TT06_SAR_SKY130NM 19 | cell: TT06_SAR 20 | -------------------------------------------------------------------------------- /ip/tt06_sar_sky130nm/sim/TT06_SAR/xdut.spi: -------------------------------------------------------------------------------- 1 | *Automatic generated instance fron ../../tech/scripts/genxdut tt_um_TT06_SAR_wulffern 2 | XDUT VPWR VGND ui_in[7] ui_in[6] ui_in[5] ui_in[4] ui_in[3] ui_in[2] ui_in[1] ui_in[0] uo_out[7] uo_out[6] uo_out[5] uo_out[4] uo_out[3] uo_out[2] uo_out[1] uo_out[0] uio_in[7] uio_in[6] uio_in[5] uio_in[4] uio_in[3] uio_in[2] uio_in[1] uio_in[0] uio_out[7] uio_out[6] uio_out[5] uio_out[4] uio_out[3] uio_out[2] uio_out[1] uio_out[0] uio_oe[7] uio_oe[6] uio_oe[5] uio_oe[4] uio_oe[3] uio_oe[2] uio_oe[1] uio_oe[0] ua[7] ua[6] ua[5] ua[4] ua[3] ua[2] ua[1] ua[0] ena clk rst_n tt_um_TT06_SAR_wulffern 3 | -------------------------------------------------------------------------------- /ip/tt06_sar_sky130nm/sim/TT06_SAR/tran.meas: -------------------------------------------------------------------------------- 1 | * Measure TT06_SAR 2 | .control 3 | 4 | load {cicname}.raw 5 | 6 | echo "MEAS_START" 7 | 8 | 9 | meas tran tpd_clkf_doner trig v(clk) val='0.9' fall=1 td=1u targ v(uio_out[0]) val='0.9' rise=1 td=1u 10 | meas tran tpd_clkr_donef trig v(clk) val='0.9' rise=1 td=1u targ v(uio_out[0]) val='0.9' fall=1 td=1u 11 | meas tran tpd_doner_clkr trig v(uio_out[0]) val='0.9' rise=1 td=1u targ v(clk) val='0.9' rise=2 td=1u 12 | meas tran tperiod trig v(clk) val='0.9' rise=1 td=1u targ v(clk) val='0.9' rise=2 td=1u 13 | meas tran iavdd AVG i(VDD) TD='500n' 14 | 15 | 16 | echo "MEAS_END" 17 | .endc 18 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "ip/sun_sar9b_sky130nm"] 2 | path = ip/sun_sar9b_sky130nm 3 | url = git@github.com:wulffern/sun_sar9b_sky130nm.git 4 | [submodule "ip/cpdk"] 5 | path = ip/cpdk 6 | url = https://github.com/wulffern/cpdk 7 | [submodule "ip/tech_sky130A"] 8 | path = ip/tech_sky130A 9 | url = git@github.com:wulffern/tech_sky130A.git 10 | [submodule "ip/sun_tr_sky130nm"] 11 | path = ip/sun_tr_sky130nm 12 | url = git@github.com:wulffern/sun_tr_sky130nm.git 13 | [submodule "ip/ciccreator"] 14 | path = ip/ciccreator 15 | url = git@github.com:wulffern/ciccreator.git 16 | [submodule "ip/cicpy"] 17 | path = ip/cicpy 18 | url = git@github.com:wulffern/cicpy.git 19 | [submodule "ip/cicspi"] 20 | path = ip/cicspi 21 | url = git@github.com:wulffern/cicspi.git 22 | -------------------------------------------------------------------------------- /ip/tt06_sar_sky130nm/work/gridcheck: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # 3 | import sys 4 | import re 5 | import json 6 | fname = sys.argv[1] 7 | 8 | 9 | data = dict() 10 | cellname = "" 11 | with open(fname) as fi: 12 | for line in fi: 13 | 14 | if(re.search(r"\"name\":",line)): 15 | cellname = re.sub("^\s*","",line).replace("\"","").replace("\"name\":","") 16 | 17 | 18 | m = re.search(r"\"(x|y)\d\":\s+(\d+),?\s*$",line) 19 | if(m): 20 | n = int(int(m.groups()[1])/10) 21 | ns = str(n) 22 | if(re.search(r"(0)$",ns)): 23 | pass 24 | else: 25 | if(cellname not in data): 26 | data[cellname] = list() 27 | data[cellname].append(re.sub("^\s*","",line)) 28 | 29 | print(json.dumps(data,indent=4)) 30 | -------------------------------------------------------------------------------- /ip/tt06_sar_sky130nm/cic/ip.json: -------------------------------------------------------------------------------- 1 | { 2 | "options" : { 3 | "prefix" : "", 4 | "topcells" :[ 5 | "tt_um_TT06_SAR_done" 6 | ] 7 | }, 8 | "library" : [ 9 | "../../sun_tr_sky130nm/design/SUN_TR_SKY130NM.cic" 10 | ], 11 | "cells" : [ 12 | { 13 | "name" : "tt_um_TT06_SAR_done", 14 | "class" : "cIcCore::LayoutCell", 15 | "boundaryIgnoreRouting" : 0, 16 | "meta" : { 17 | 18 | }, 19 | "composite" : 1, 20 | "afterPaint" :{ 21 | "resetOrigin" : 1, 22 | "addPortOnEdges" :[ 23 | ["M2","DONE","left","--|-",""], 24 | ["M2","uio_out<0>","left","--|-",""], 25 | ["M2","uio_oe<0>","right","--|-",""] 26 | ] 27 | } 28 | } 29 | ] 30 | } 31 | -------------------------------------------------------------------------------- /ip/tt06_sar_sky130nm/design/TT06_SAR_SKY130NM/tt_um_TT06_SAR_done.sym: -------------------------------------------------------------------------------- 1 | v {xschem version=3.0.0 file_version=1.2 } 2 | K {type=subcircuit 3 | format="@name @pinlist @symname " 4 | template="name=x1 " 5 | } 6 | B 5 -22.5 -2.5 -17.5 2.5 {name=DONE dir=inout } 7 | L 4 -20 0 0 0 {} 8 | T {DONE} 5 -5 0 0 0.2 0.2 {} 9 | B 5 -22.5 17.5 -17.5 22.5 {name=uio_out<0> dir=inout } 10 | L 4 -20 20 0 20 {} 11 | T {uio_out<0>} 5 15 0 0 0.2 0.2 {} 12 | B 5 -22.5 37.5 -17.5 42.5 {name=uio_oe<0> dir=inout } 13 | L 4 -20 40 0 40 {} 14 | T {uio_oe<0>} 5 35 0 0 0.2 0.2 {} 15 | B 5 -22.5 57.5 -17.5 62.5 {name=VPWR dir=inout } 16 | L 4 -20 60 0 60 {} 17 | T {VPWR} 5 55 0 0 0.2 0.2 {} 18 | B 5 -22.5 77.5 -17.5 82.5 {name=VGND dir=inout } 19 | L 4 -20 80 0 80 {} 20 | T {VGND} 5 75 0 0 0.2 0.2 {} 21 | P 4 5 0 -10 180 -10 180 90 0 90 0 -10 {} 22 | T {@symname} 50 30.0 0 0 0.25 0.25 {} 23 | T {@name} 0 -25 0 0 0.2 0.2 {} 24 | -------------------------------------------------------------------------------- /ip/config.yaml: -------------------------------------------------------------------------------- 1 | #------------------------------------------------------- 2 | # Options to cicconf 3 | #------------------------------------------------------- 4 | options: 5 | template: 6 | ip: tech_sky130B/cicconf/ip_template.yaml 7 | project: tt06 8 | technology: sky130nm 9 | 10 | 11 | #------------------------------------------------------- 12 | # Tools 13 | #------------------------------------------------------- 14 | cpdk: 15 | remote: git@github.com:wulffern/cpdk.git 16 | revision: main 17 | tech_sky130B: 18 | remote: git@github.com:wulffern/tech_sky130B.git 19 | revision: main 20 | 21 | #------------------------------------------------------- 22 | # SUN (2022) 23 | # "It's not you, it's me, I don't like you." – Ayrun Sun, Farscape 24 | #------------------------------------------------------- 25 | sun_sar9b_sky130nm: 26 | remote: git@github.com:wulffern/sun_sar9b_sky130nm.git 27 | revision: main 28 | 29 | -------------------------------------------------------------------------------- /ip/tt06_sar_sky130nm/sim/TT06_SAR/summary.yaml: -------------------------------------------------------------------------------- 1 | description: TT06_SAR 2 | simulations: 3 | tran: 4 | name: Dynamic parameters 5 | description: | 6 | Verify response to a sinusoid input signal 7 | data: 8 | - name: Lay_typ 9 | src: results/tran_Lay_typical 10 | method: typical 11 | # - name: Lay_etc 12 | # src: results/tran_Lay_etc 13 | # method: minmax 14 | - name: Lay_slow 15 | src: results/tran_Lay_slow 16 | method: minmax 17 | - name: Lay_fast 18 | src: results/tran_Lay_fast 19 | method: minmax 20 | - name: Lay_3std 21 | src: results/tran_Lay_mc 22 | method: 3std 23 | # R extraction removes too many coupling caps 24 | # - name: Layr_typ 25 | # src: results/tran_Layr_typical 26 | # method: typical 27 | # - name: Layr_etc 28 | # src: results/tran_Layr_etc 29 | # method: minmax 30 | # - name: Layr_3std 31 | # src: results/tran_Layr_mc 32 | # method: 3std 33 | pwrdwn: 34 | name: Power down 35 | description: | 36 | Check active and power down currents 37 | data: 38 | - name: Lay_typ 39 | src: results/pwrdwn_Lay_typical 40 | method: typical 41 | -------------------------------------------------------------------------------- /.github/workflows/gds.yaml: -------------------------------------------------------------------------------- 1 | name: gds 2 | 3 | on: 4 | push: 5 | workflow_dispatch: 6 | 7 | jobs: 8 | gds: 9 | runs-on: ubuntu-latest 10 | steps: 11 | - name: checkout repo 12 | uses: actions/checkout@v4 13 | with: 14 | submodules: recursive 15 | 16 | - name: Read top module name 17 | uses: mikefarah/yq@v4 18 | id: top_module 19 | with: 20 | cmd: echo TOP_MODULE=`yq '.project.top_module' info.yaml` > $GITHUB_OUTPUT 21 | 22 | - name: Create and publish the GDS artifact 23 | uses: TinyTapeout/tt-gds-action/custom_gds@tt06 24 | with: 25 | top_module: ${{ steps.top_module.outputs.TOP_MODULE }} 26 | gds_path: gds/${{ steps.top_module.outputs.TOP_MODULE }}.gds 27 | lef_path: lef/${{ steps.top_module.outputs.TOP_MODULE }}.lef 28 | verilog_path: src/project.v 29 | 30 | precheck: 31 | needs: gds 32 | runs-on: ubuntu-latest 33 | steps: 34 | - name: Run Tiny Tapeout Precheck 35 | uses: TinyTapeout/tt-gds-action/precheck@tt06 36 | viewer: 37 | needs: gds 38 | runs-on: ubuntu-latest 39 | permissions: 40 | pages: write # to deploy to Pages 41 | id-token: write # to verify the deployment originates from an appropriate source 42 | steps: 43 | - uses: TinyTapeout/tt-gds-action/viewer@tt06 44 | -------------------------------------------------------------------------------- /src/tb_ana.gtkw: -------------------------------------------------------------------------------- 1 | [*] 2 | [*] GTKWave Analyzer v3.4.0 (w)1999-2022 BSI 3 | [*] Thu Apr 18 10:18:58 2024 4 | [*] 5 | [dumpfile] "test.vcd" 6 | [dumpfile_mtime] "Thu Apr 18 10:17:13 2024" 7 | [dumpfile_size] 11510 8 | [savefile] "/Users/wulff/data/2024/tt06-sar/src/tb_ana.gtkw" 9 | [timestart] 0 10 | [size] 1296 939 11 | [pos] -278 -15 12 | *-20.349478 2050000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 13 | [markername] AA 14 | [markername] BB 15 | [markername] CC 16 | [markername] DD 17 | [markername] EE 18 | [markername] FF 19 | [markername] GG 20 | [markername] HH 21 | [markername] II 22 | [markername] JJ 23 | [markername] KK 24 | [markername] LL 25 | [markername] MM 26 | [markername] NN 27 | [markername] OO 28 | [markername] PP 29 | [markername] QQ 30 | [markername] RR 31 | [markername] SS 32 | [markername] TT 33 | [markername] UU 34 | [markername] VV 35 | [markername] WW 36 | [markername] XX 37 | [markername] YY 38 | [markername] ZZ 39 | [treeopen] test. 40 | [sst_width] 253 41 | [signals_width] 195 42 | [sst_expanded] 1 43 | [sst_vpaned_height] 276 44 | @8028 45 | test.ua_0 46 | @20000 47 | - 48 | - 49 | - 50 | - 51 | - 52 | - 53 | - 54 | @8420 55 | test.uo_out[7:0] 56 | @20000 57 | - 58 | - 59 | - 60 | - 61 | - 62 | @22 63 | test.ui_in[7:0] 64 | @8028 65 | test.dut.tmp 66 | @20000 67 | - 68 | @28 69 | test.dut.clk 70 | (7)test.uio_out[7:0] 71 | (7)test.ui_in[7:0] 72 | [pattern_trace] 1 73 | [pattern_trace] 0 74 | -------------------------------------------------------------------------------- /ip/tt06_sar_sky130nm/design/TT06_SAR_SKY130NM/TT06SAR_NDIO_M2.mag: -------------------------------------------------------------------------------- 1 | magic 2 | tech sky130A 3 | magscale 1 2 4 | timestamp 1712816535 5 | << pwell >> 6 | rect -183 -183 183 183 7 | << psubdiff >> 8 | rect -147 113 -51 147 9 | rect 51 113 147 147 10 | rect -147 51 -113 113 11 | rect 113 51 147 113 12 | rect -147 -113 -113 -51 13 | rect 113 -113 147 -51 14 | rect -147 -147 -51 -113 15 | rect 51 -147 147 -113 16 | << psubdiffcont >> 17 | rect -51 113 51 147 18 | rect -147 -51 -113 51 19 | rect 113 -51 147 51 20 | rect -51 -147 51 -113 21 | << ndiode >> 22 | rect -45 33 45 45 23 | rect -45 -33 -33 33 24 | rect 33 -33 45 33 25 | rect -45 -45 45 -33 26 | << ndiodec >> 27 | rect -33 -33 33 33 28 | << locali >> 29 | rect -147 113 -51 147 30 | rect 51 113 147 147 31 | rect -147 51 -113 113 32 | rect 113 51 147 113 33 | rect -49 -33 -33 33 34 | rect 33 -33 49 33 35 | rect -147 -113 -113 -51 36 | rect 113 -113 147 -51 37 | rect -147 -147 -51 -113 38 | rect 51 -147 147 -113 39 | << viali >> 40 | rect -33 -33 33 33 41 | << metal1 >> 42 | rect -45 33 45 39 43 | rect -45 -33 -33 33 44 | rect 33 -33 45 33 45 | rect -45 -39 45 -33 46 | << properties >> 47 | string FIXED_BBOX -130 -130 130 130 48 | string library sky130 49 | string parameters w 0.45 l 0.45 area 202.5m peri 1.8 nx 1 ny 1 dummy 0 lmin 0.45 wmin 0.45 elc 1 erc 1 etc 1 ebc 1 doverlap 0 compatible {sky130_fd_pr__diode_pw2nd_05v5 sky130_fd_pr__diode_pw2nd_05v5_lvt sky130_fd_pr__diode_pw2nd_05v5_nvt sky130_fd_pr__diode_pw2nd_11v0} full_metal 1 vias 1 viagb 0 viagt 0 viagl 0 viagr 0 50 | << end >> 51 | -------------------------------------------------------------------------------- /ip/tt06_sar_sky130nm/design/TT06_SAR_SKY130NM/tt_um_TT06_SAR_done.mag: -------------------------------------------------------------------------------- 1 | magic 2 | tech sky130A 3 | timestamp 1713029161 4 | << metal1 >> 5 | rect 714 469 1260 499 6 | rect 0 293 432 323 7 | rect 0 73 216 103 8 | << metal3 >> 9 | rect 378 0 478 352 10 | rect 774 0 874 352 11 | use SUNTR_BFX1_CV x3 ../SUN_TR_SKY130NM 12 | timestamp 1713029161 13 | transform 1 0 0 0 1 0 14 | box -90 -66 1350 418 15 | use SUNTR_TIEH_CV x4 ../SUN_TR_SKY130NM 16 | timestamp 1713029161 17 | transform 1 0 0 0 1 352 18 | box -90 -66 1350 242 19 | use SUNTR_TAPCELLB_CV x5 ../SUN_TR_SKY130NM 20 | timestamp 1713029161 21 | transform 1 0 0 0 1 528 22 | box -90 -66 1350 242 23 | use cut_M1M2_2x1 xcut0 24 | timestamp 1712786400 25 | transform 1 0 178 0 1 73 26 | box 0 0 92 34 27 | use cut_M1M2_2x1 xcut1 28 | timestamp 1712786400 29 | transform 1 0 394 0 1 293 30 | box 0 0 92 34 31 | use cut_M1M2_2x1 xcut2 32 | timestamp 1712786400 33 | transform 1 0 790 0 1 469 34 | box 0 0 92 34 35 | << labels >> 36 | flabel metal1 s 0 73 108 103 0 FreeSans 400 0 0 0 DONE 37 | port 1 nsew signal bidirectional 38 | flabel metal1 s 0 293 108 323 0 FreeSans 400 0 0 0 uio_out<0> 39 | port 2 nsew signal bidirectional 40 | flabel metal1 s 1152 469 1260 499 0 FreeSans 400 0 0 0 uio_oe<0> 41 | port 3 nsew signal bidirectional 42 | flabel metal3 s 774 0 874 352 0 FreeSans 400 0 0 0 VPWR 43 | port 4 nsew signal bidirectional 44 | flabel metal3 s 378 0 478 352 0 FreeSans 400 0 0 0 VGND 45 | port 5 nsew signal bidirectional 46 | << properties >> 47 | string FIXED_BBOX 0 0 1260 704 48 | << end >> 49 | -------------------------------------------------------------------------------- /ip/tt06_sar_sky130nm/work/Makefile: -------------------------------------------------------------------------------- 1 | 2 | #- Core makefile provides the following commands: 3 | # ----------------------------------------------------------- 4 | # ip: generate ../design/ from ../cic/ip.json 5 | # gds: generate gds/.gds 6 | # cdl: generate cdl/.cdl 7 | # lvs: Check cdl/.cdl versus ../design//.mag 8 | # lpe: Extract parasitics lpe/.spi 9 | # drc: Run design rule checks on ../design//.mag 10 | # svg: Make schematic SVGs in ../documents/schematic.md 11 | # ----------------------------------------------------------- 12 | 13 | 14 | PREFIX= 15 | LIB=TT06_SAR_SKY130NM 16 | CELL=tt_um_TT06_SAR_wulffern 17 | 18 | #- Which libraries to make SVG files for 19 | SVGLIBS=TT06_SAR_SKY130NM 20 | 21 | CICEXCLUDE="^(${PREFIX}SUNTR_)" 22 | 23 | DATE = $(shell date "+%Y-%m-%d_%H%M") 24 | deliver: 25 | cp ../../../gds/${CELL}.gds ../../../gds/${DATE}_${CELL}.gds 26 | cp ant/${CELL}_ant.log ../../../reports/ant.log 27 | cp drc/${CELL}_drc.log ../../../reports/drc.log 28 | cp lvs/${CELL}_lvs.log ../../../reports/lvs.log 29 | cp lpe/${CELL}_lpe.spi ../../../spi 30 | cp xsch/${CELL}.spice ../../../spi 31 | cp lpe/${CELL}_lvs.log ../../../reports/lpe_lvs.log 32 | magic -noconsole -dnull deliver.tcl 33 | 34 | #- Provide cells you want to check for the lvsall drcall commands 35 | CELLS = tt_um_TT06_SAR 36 | 37 | include ../tech/make/core.make 38 | 39 | 40 | lowres: 41 | cd lpe; cat ${CELL}_lper.spi |perl -pe 'if(m/^R/ig){unless(m/sky/ig){s/\s[\d\.]+\n/ 0.1\n/ig}};' > ${CELL}_lper_lowr.spi 42 | -------------------------------------------------------------------------------- /ip/tt06_sar_sky130nm/sim/TT06_SAR/Makefile: -------------------------------------------------------------------------------- 1 | 2 | all: 3 | ${MAKE} typical slow fast mc VIEW=Lay OPT=${OPT} 4 | ${MAKE} typical VIEW=Lay TB=pwrdwn OPT=${OPT} 5 | ${MAKE} summary 6 | 7 | 8 | include ../../tech/make/sim.make 9 | 10 | TB=tran 11 | VIEW=Lay 12 | #VIEW=Lay 13 | CELL=tt_um_TT06_SAR_wulffern 14 | LIB =TT06_SAR_SKY130NM 15 | OPT= 16 | 17 | 18 | test: 19 | ${MAKE} typical OPT="Debug" 20 | 21 | typical: netlist 22 | cicsim run --name ${VIEW}_typical ${TB} ${OPT} ${VIEW} Gt Ktt Tt Vt 23 | 24 | slow: netlist 25 | cicsim run --name ${VIEW}_slow ${TB} ${OPT} ${VIEW} Gt Kss "Th,Tl" Vl 26 | 27 | fast: netlist 28 | cicsim run --name ${VIEW}_fast ${TB} ${OPT} ${VIEW} Gt Kff "Th,Tl" Vh 29 | 30 | tfs: netlist 31 | cicsim run --name ${VIEW}_tfs ${TB} ${OPT} ${VIEW} Gt "Ktt,Kss,Kff" "Tt,Th,Tl" "Vt,Vl,Vh" 32 | 33 | etc: netlist 34 | cicsim run --name ${VIEW}_etc ${TB} ${OPT} ${VIEW} Gt "Kss,Kff,Ksf,Kfs" "Th,Tl" "Vl,Vh" 35 | 36 | mc: netlist 37 | cicsim run --name ${VIEW}_mc --count 10 ${TB} ${OPT} ${VIEW} Gt "Kttmm" "Tt" "Vt" 38 | 39 | ntc: netlist 40 | cicsim run --name ${VIEW}_ntc ${TB} ${OPT} ${VIEW} Gt "Ktt,Kss,Kff" "Tt" Vt 41 | 42 | temp: netlist 43 | cicsim run --name ${VIEW}_temp ${TB} ${OPT} ${VIEW} Gt "Ktt" "Tt,Th,Tl" Vt 44 | 45 | summary: 46 | cicsim summary --output "TT06_SAR.md" 47 | pandoc -s --css pandoc.css TT06_SAR.md -o TT06_SAR.html 48 | 49 | slide: 50 | pandoc -s -t slidy README.md -o README.html 51 | 52 | 53 | clean: 54 | -rm -rf output_* 55 | -rm -rf __pycache__ 56 | -rm *.run 57 | -rm *.pdf 58 | -rm *.csv 59 | -------------------------------------------------------------------------------- /ip/tt06_sar_sky130nm/sim/TT06_SAR/tran.yaml: -------------------------------------------------------------------------------- 1 | maxfreq: 2 | src: 3 | - maxfreq_MHz 4 | typ: 8 5 | name: Maximum operating frequency 6 | min: 4 7 | max: 20 8 | scale: 1 9 | digits: 2 10 | unit: MHz 11 | sndr: 12 | src: 13 | - SNDR 14 | typ: 45 15 | name: Signal to noise and distortion ratio 16 | min: 38 17 | max: 50 18 | scale: 1 19 | digits: 1 20 | unit: dB 21 | sndrfs: 22 | src: 23 | - SNDR_FS 24 | typ: 45 25 | name: Signal to noise and distortion ratio (FS) 26 | min: 42 27 | max: 50 28 | scale: 1 29 | digits: 1 30 | unit: dB 31 | sfdr: 32 | src: 33 | - SFDR 34 | typ: 50 35 | name: Spurious free dynamic range 36 | min: 40 37 | max: 70 38 | scale: 1 39 | digits: 1 40 | unit: dBc 41 | enob: 42 | src: 43 | - ENOB 44 | typ: 7 45 | name: Effective number of bits 46 | min: 6.1 47 | max: 7.99 48 | scale: 1 49 | digits: 2 50 | unit: bits 51 | enobfs: 52 | src: 53 | - ENOB_FS 54 | typ: 7 55 | name: Effective number of bits (FS) 56 | min: 6.8 57 | max: 7.99 58 | scale: 1 59 | digits: 2 60 | unit: bits 61 | idd: 62 | src: 63 | - iavdd 64 | typ: 50 65 | name: Active current 66 | min: 30 67 | max: 70 68 | scale: -1e6 69 | digits: 1 70 | unit: uA 71 | amp: 72 | src: 73 | - AMP 74 | typ: -3 75 | name: FFT input amplitude 76 | min: -6 77 | max: -0.2 78 | scale: 1 79 | digits: 2 80 | unit: dB 81 | 82 | fom: 83 | src: 84 | - FOM_FS 85 | typ: 100 86 | name: Walden FOM 87 | min: 50 88 | max: 200 89 | scale: 1e15 90 | digits: 2 91 | unit: fJ/step 92 | -------------------------------------------------------------------------------- /ip/tt06_sar_sky130nm/design/TT06_SAR_SKY130NM/TT06SAR_NDIO_M4.mag: -------------------------------------------------------------------------------- 1 | magic 2 | tech sky130A 3 | magscale 1 2 4 | timestamp 1712842337 5 | << pwell >> 6 | rect -183 -183 183 183 7 | << psubdiff >> 8 | rect -147 113 -51 147 9 | rect 51 113 147 147 10 | rect -147 51 -113 113 11 | rect 113 51 147 113 12 | rect -147 -113 -113 -51 13 | rect 113 -113 147 -51 14 | rect -147 -147 -51 -113 15 | rect 51 -147 147 -113 16 | << psubdiffcont >> 17 | rect -51 113 51 147 18 | rect -147 -51 -113 51 19 | rect 113 -51 147 51 20 | rect -51 -147 51 -113 21 | << ndiode >> 22 | rect -45 33 45 45 23 | rect -45 -33 -33 33 24 | rect 33 -33 45 33 25 | rect -45 -45 45 -33 26 | << ndiodec >> 27 | rect -33 -33 33 33 28 | << locali >> 29 | rect -147 113 -51 147 30 | rect 51 113 147 147 31 | rect -147 51 -113 113 32 | rect 113 51 147 113 33 | rect -49 -33 -33 33 34 | rect 33 -33 49 33 35 | rect -147 -113 -113 -51 36 | rect 113 -113 147 -51 37 | rect -147 -147 -51 -113 38 | rect 51 -147 147 -113 39 | << viali >> 40 | rect -33 -33 33 33 41 | << metal1 >> 42 | rect -56 34 58 48 43 | rect -56 -34 -36 34 44 | rect 34 -34 58 34 45 | rect -56 -52 58 -34 46 | << via1 >> 47 | rect -36 33 34 34 48 | rect -36 -33 -33 33 49 | rect -33 -33 33 33 50 | rect 33 -33 34 33 51 | rect -36 -34 34 -33 52 | << metal2 >> 53 | rect -56 34 58 48 54 | rect -56 -34 -36 34 55 | rect 34 -34 58 34 56 | rect -56 -52 58 -34 57 | << via2 >> 58 | rect -36 -34 34 34 59 | << metal3 >> 60 | rect -56 34 58 48 61 | rect -56 -34 -36 34 62 | rect 34 -34 58 34 63 | rect -56 -52 58 -34 64 | << via3 >> 65 | rect -36 -34 34 34 66 | << metal4 >> 67 | rect -56 34 58 48 68 | rect -56 -34 -36 34 69 | rect 34 -34 58 34 70 | rect -56 -52 58 -34 71 | << properties >> 72 | string FIXED_BBOX -130 -130 130 130 73 | << end >> 74 | -------------------------------------------------------------------------------- /meas/sarvcd2df.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | 3 | import click 4 | import pandas as pd 5 | import io 6 | from vcd.reader import TokenKind, tokenize 7 | 8 | names = dict() 9 | state = dict() 10 | data = None 11 | 12 | alldata = list() 13 | 14 | @click.command() 15 | @click.argument("fvcd") 16 | def cli(fvcd): 17 | global data 18 | count = 0 19 | with open(fvcd,'rb') as fi: 20 | tokens = tokenize(fi) 21 | N = 16 22 | while (count < 2**N ): 23 | token = next(tokens) 24 | if(token is None): 25 | break 26 | if(token.kind is TokenKind.VAR): 27 | names[token.data.id_code] = token.data.reference 28 | state[token.data.id_code] = 0 29 | elif(token.kind is TokenKind.CHANGE_TIME): 30 | if(data is not None): 31 | val = 0 32 | for k in names: 33 | b = int(names[k].replace("D","")) 34 | if(b == 7): 35 | val = val - state[k]*2**b 36 | else: 37 | val = val + state[k]*2**b 38 | data["val"] = val/128 39 | #print(data) 40 | alldata.append(data) 41 | pass 42 | data = dict() 43 | data["time"] = token.data/10 #Convert to ns 44 | elif(token.kind is TokenKind.CHANGE_SCALAR): 45 | state[token.data.id_code] =int(token.data.value) 46 | 47 | count = count + 1 48 | 49 | df = pd.DataFrame(alldata) 50 | df.to_pickle(fvcd.replace(".vcd",".pkl")) 51 | 52 | 53 | 54 | if __name__ == "__main__": 55 | cli() 56 | -------------------------------------------------------------------------------- /ip/tt06_sar_sky130nm/design/TT06_SAR_SKY130NM/tt_um_TT06_SAR_done.sch: -------------------------------------------------------------------------------- 1 | v {xschem version=3.0.0 file_version=1.2 } 2 | G {} 3 | K {} 4 | V {} 5 | S {} 6 | E {} 7 | C {devices/iopin.sym} 0 0 0 0 {name=p0 lab=DONE} 8 | C {devices/iopin.sym} 0 20 0 0 {name=p1 lab=uio_out<0>} 9 | C {devices/iopin.sym} 0 40 0 0 {name=p2 lab=uio_oe<0>} 10 | C {devices/iopin.sym} 0 60 0 0 {name=p3 lab=VPWR} 11 | C {devices/iopin.sym} 0 80 0 0 {name=p4 lab=VGND} 12 | C {SUN_TR_SKY130NM/SUNTR_BFX1_CV.sym} 400 0 0 0 {name=Xx3} 13 | N 380.0 0.0 400.0 0.0 {lab=DONE} 14 | C {devices/lab_pin.sym} 380.0 0.0 0 0 {name=l0 sig_type=std_logic lab=DONE } 15 | N 500.0 0.0 480.0 0.0 {lab=uio_out<0>} 16 | C {devices/lab_pin.sym} 500.0 0.0 2 0 {name=l1 sig_type=std_logic lab=uio_out<0> } 17 | N 460.0 -40.0 440.0 -40.0 {lab=VPWR} 18 | C {devices/lab_pin.sym} 460.0 -40.0 2 0 {name=l2 sig_type=std_logic lab=VPWR } 19 | N 460.0 40.0 440.0 40.0 {lab=VGND} 20 | C {devices/lab_pin.sym} 460.0 40.0 2 0 {name=l3 sig_type=std_logic lab=VGND } 21 | C {SUN_TR_SKY130NM/SUNTR_TIEH_CV.sym} 400 190.0 0 0 {name=Xx4} 22 | N 460.0 150.0 440.0 150.0 {lab=uio_oe<0>} 23 | C {devices/lab_pin.sym} 460.0 150.0 2 0 {name=l4 sig_type=std_logic lab=uio_oe<0> } 24 | N 380.0 110.0 400.0 110.0 {lab=VPWR} 25 | C {devices/lab_pin.sym} 380.0 110.0 0 0 {name=l5 sig_type=std_logic lab=VPWR } 26 | N 380.0 190.0 400.0 190.0 {lab=VGND} 27 | C {devices/lab_pin.sym} 380.0 190.0 0 0 {name=l6 sig_type=std_logic lab=VGND } 28 | C {SUN_TR_SKY130NM/SUNTR_TAPCELLB_CV.sym} 400 380.0 0 0 {name=Xx5} 29 | N 420.0 360.0 400.0 360.0 {lab=VPWR} 30 | C {devices/lab_pin.sym} 420.0 360.0 2 0 {name=l7 sig_type=std_logic lab=VPWR } 31 | N 420.0 400.0 400.0 400.0 {lab=VGND} 32 | C {devices/lab_pin.sym} 420.0 400.0 2 0 {name=l8 sig_type=std_logic lab=VGND } 33 | -------------------------------------------------------------------------------- /src/tb_ana.v: -------------------------------------------------------------------------------- 1 | 2 | `timescale 1 ns / 1 ps 3 | module test; 4 | 5 | logic rst_n = 0; 6 | 7 | logic clk = 0; 8 | always #125 clk = !clk; 9 | 10 | logic VGND; 11 | logic VPWR; 12 | 13 | logic [7:0] ui_in; 14 | logic [7:0] uo_out; 15 | logic [7:0] uio_in; 16 | logic [7:0] uio_out; 17 | logic [7:0] uio_oe; 18 | wire ena; 19 | 20 | 21 | `ifdef ANA_TYPE_REAL 22 | real ua_0 = 0; 23 | real ua_1 = 0; 24 | 25 | `else 26 | tri [7:0] ua; 27 | logic uain = 0; 28 | assign ua = uain; 29 | `endif 30 | tt_um_TT06_SAR_wulffern dut ( 31 | .VGND(VGND), 32 | .VPWR(VPWR), 33 | .ui_in(ui_in), 34 | .uo_out(uo_out), 35 | .uio_in(uio_in), 36 | .uio_out(uio_out), 37 | .uio_oe(uio_oe), 38 | `ifdef ANA_TYPE_REAL 39 | .ua_0(ua_0), 40 | .ua_1(ua_1), 41 | `else 42 | .ua(ua), 43 | `endif 44 | .ena(ena), 45 | .clk(clk), 46 | .rst_n(rst_n) 47 | ); 48 | 49 | 50 | `ifdef ANA_TYPE_REAL 51 | always #100 begin 52 | ua_0 = $sin(2*3.14*1/7750*$time); 53 | ua_1 = -$sin(2*3.14*1/7750*$time); 54 | end 55 | `endif 56 | 57 | 58 | 59 | initial 60 | begin 61 | $dumpfile("test.vcd"); 62 | $dumpvars(0,test); 63 | 64 | ui_in = 0; 65 | 66 | 67 | #10 rst_n = 0; 68 | #10 rst_n = 1; 69 | 70 | #10 VGND = 0; 71 | #1 VPWR = 1; 72 | 73 | #500 ui_in[0] = 1; 74 | 75 | #5000 $stop; 76 | 77 | end 78 | endmodule // test 79 | -------------------------------------------------------------------------------- /info.yaml: -------------------------------------------------------------------------------- 1 | # Tiny Tapeout project information 2 | project: 3 | title: "TT06 8-bit SAR ADC" # Project title 4 | author: "Carsten Wulff" # Your name 5 | discord: "cwulffern" # Your discord username, for communication and automatically assigning you a Tapeout role (optional) 6 | description: "8-bit Successive Approximation Register ADC" # One line description of what your project does 7 | language: "Analog" # other examples include Verilog, Amaranth, VHDL, etc 8 | clock_hz: 4000000 # Clock frequency in Hz (or 0 if not applicable) 9 | 10 | # How many tiles your design occupies? A single tile is about 167x108 uM. 11 | tiles: "1x2" # Valid values: 1x1 (digital only), 1x2, 2x2, 3x2, 4x2, 6x2 or 8x2 12 | 13 | # Your top module name must start with "tt_um_". Make it unique by including your github username: 14 | top_module: "tt_um_TT06_SAR_wulffern" 15 | 16 | # List your project's source files here. Source files must be in ./src and you must list each source file separately, one per line: 17 | source_files: 18 | - "project.v" 19 | 20 | # The pinout of your project. Leave unused pins blank. DO NOT delete or add any pins. 21 | pinout: 22 | # Inputs 23 | ui[0]: "Enable ADC" 24 | ui[1]: "" 25 | ui[2]: "" 26 | ui[3]: "" 27 | ui[4]: "" 28 | ui[5]: "" 29 | ui[6]: "" 30 | ui[7]: "" 31 | 32 | # Outputs 33 | uo[0]: "ADC LSB" 34 | uo[1]: "ADC MSB-6" 35 | uo[2]: "ADC MSB-5" 36 | uo[3]: "ADC MSB-4" 37 | uo[4]: "ADC MSB-3" 38 | uo[5]: "ADC MSB-2" 39 | uo[6]: "ADC MSB-1" 40 | uo[7]: "ADC MSB (two's complement)" 41 | 42 | # Bidirectional pins 43 | uio[0]: "Conversion Done" 44 | uio[1]: "" 45 | uio[2]: "" 46 | uio[3]: "" 47 | uio[4]: "" 48 | uio[5]: "" 49 | uio[6]: "" 50 | uio[7]: "" 51 | 52 | # Analog pins - you can add more if you use them, up to 8 53 | ua[0]: "Negative ADC input" 54 | ua[1]: "Positive ADC input" 55 | 56 | # Do not change! 57 | yaml_version: 6 58 | -------------------------------------------------------------------------------- /ip/tt06_sar_sky130nm/design/TT06_SAR_SKY130NM/TT06SAR_NDIO.mag: -------------------------------------------------------------------------------- 1 | magic 2 | tech sky130A 3 | magscale 1 2 4 | timestamp 1712842337 5 | << pwell >> 6 | rect -183 -183 183 183 7 | << psubdiff >> 8 | rect -147 113 -51 147 9 | rect 51 113 147 147 10 | rect -147 51 -113 113 11 | rect 113 51 147 113 12 | rect -147 -113 -113 -51 13 | rect 113 -113 147 -51 14 | rect -147 -147 -51 -113 15 | rect 51 -147 147 -113 16 | << psubdiffcont >> 17 | rect -51 113 51 147 18 | rect -147 -51 -113 51 19 | rect 113 -51 147 51 20 | rect -51 -147 51 -113 21 | << ndiode >> 22 | rect -45 33 45 45 23 | rect -45 -33 -33 33 24 | rect 33 -33 45 33 25 | rect -45 -45 45 -33 26 | << ndiodec >> 27 | rect -33 -33 33 33 28 | << locali >> 29 | rect -147 113 -51 147 30 | rect 51 113 147 147 31 | rect -147 51 -113 113 32 | rect 113 51 147 113 33 | rect -49 -33 -33 33 34 | rect 33 -33 49 33 35 | rect -147 -113 -113 -51 36 | rect 113 -113 147 -51 37 | rect -147 -147 -51 -113 38 | rect 51 -147 147 -113 39 | << viali >> 40 | rect -33 -33 33 33 41 | << metal1 >> 42 | rect -56 34 58 48 43 | rect -56 -34 -36 34 44 | rect 34 -34 58 34 45 | rect -56 -52 58 -34 46 | << via1 >> 47 | rect -36 33 34 34 48 | rect -36 -33 -33 33 49 | rect -33 -33 33 33 50 | rect 33 -33 34 33 51 | rect -36 -34 34 -33 52 | << metal2 >> 53 | rect -56 34 58 48 54 | rect -56 -34 -36 34 55 | rect 34 -34 58 34 56 | rect -56 -52 58 -34 57 | << via2 >> 58 | rect -36 -34 34 34 59 | << metal3 >> 60 | rect -56 34 58 48 61 | rect -56 -34 -36 34 62 | rect 34 -34 58 34 63 | rect -56 -52 58 -34 64 | << via3 >> 65 | rect -36 -34 34 34 66 | << metal4 >> 67 | rect -56 34 58 48 68 | rect -56 -34 -36 34 69 | rect 34 -34 58 34 70 | rect -56 -52 58 -34 71 | << properties >> 72 | string FIXED_BBOX -130 -130 130 130 73 | string library sky130 74 | string parameters w 0.45 l 0.45 area 202.5m peri 1.8 nx 1 ny 1 dummy 0 lmin 0.45 wmin 0.45 elc 1 erc 1 etc 1 ebc 1 doverlap 0 compatible {sky130_fd_pr__diode_pw2nd_05v5 sky130_fd_pr__diode_pw2nd_05v5_lvt sky130_fd_pr__diode_pw2nd_05v5_nvt sky130_fd_pr__diode_pw2nd_11v0} full_metal 1 vias 1 viagb 0 viagt 0 viagl 0 viagr 0 75 | << end >> 76 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ![](../../workflows/gds/badge.svg) ![](../../workflows/docs/badge.svg) 2 | 3 | 4 | # Tiny Tapeout Analog Project Template 5 | 6 | - [Read the documentation for project](docs/info.md) 7 | 8 | ## What is Tiny Tapeout? 9 | 10 | TinyTapeout is an educational project that aims to make it easier and cheaper than ever to get your digital designs manufactured on a real chip. 11 | 12 | To learn more and get started, visit https://tinytapeout.com. 13 | 14 | ## Analog projects 15 | 16 | For specifications and instructions, see the [analog specs page](https://tinytapeout.com/specs/analog/). 17 | 18 | *Note*: Analog designs are currently in beta. There's a small chance that the changes will change before the deadline for Tiny Tapeout 6, or that we will have to postpone the analog design support to a future shuttle. If you have any questions, please join the [Tiny Tapeout Discord](https://tinytapeout.com/discord) and ask in the #analog channel. 19 | 20 | ## Enable GitHub actions to build the results page 21 | 22 | - [Enabling GitHub Pages](https://tinytapeout.com/faq/#my-github-action-is-failing-on-the-pages-part) 23 | 24 | ## Resources 25 | 26 | - [FAQ](https://tinytapeout.com/faq/) 27 | - [Digital design lessons](https://tinytapeout.com/digital_design/) 28 | - [Learn how semiconductors work](https://tinytapeout.com/siliwiz/) 29 | - [Join the community](https://tinytapeout.com/discord) 30 | - [Build your design locally](https://docs.google.com/document/d/1aUUZ1jthRpg4QURIIyzlOaPWlmQzr-jBn3wZipVUPt4) 31 | 32 | ## What next? 33 | 34 | - [Submit your design to the next shuttle](https://app.tinytapeout.com/). 35 | - Edit [this README](README.md) and explain your design, how it works, and how to test it. 36 | - Share your project on your social network of choice: 37 | - LinkedIn [#tinytapeout](https://www.linkedin.com/search/results/content/?keywords=%23tinytapeout) [@TinyTapeout](https://www.linkedin.com/company/100708654/) 38 | - Mastodon [#tinytapeout](https://chaos.social/tags/tinytapeout) [@matthewvenn](https://chaos.social/@matthewvenn) 39 | - X (formerly Twitter) [#tinytapeout](https://twitter.com/hashtag/tinytapeout) [@matthewvenn](https://twitter.com/matthewvenn) 40 | -------------------------------------------------------------------------------- /ip/tt06_sar_sky130nm/sim/TT06_SAR/pwrdwn.spi: -------------------------------------------------------------------------------- 1 | *TT06_SAR/tran 2 | 3 | *----------------------------------------------------------------- 4 | * OPTIONS 5 | *----------------------------------------------------------------- 6 | .option TNOM=27 GMIN=1e-15 reltol=1e-3 method=gear 7 | 8 | *----------------------------------------------------------------- 9 | * PARAMETERS 10 | *----------------------------------------------------------------- 11 | .param TRF = 10p 12 | 13 | .param AVDD = {vdda} 14 | 15 | *- 8 MHz clock frequency 16 | .param PERIOD_CLK = 250n 17 | 18 | *- 25% duty-cycle clock 19 | .param PW_CLK = PERIOD_CLK/2 20 | 21 | *- Frequency bin of the input signal 22 | .param fbin = 5 23 | 24 | *- number of cycles in FFT 25 | .param nbpt = 128 26 | 27 | *- Sampling frequency 28 | .param fs = 1/PERIOD_CLK 29 | 30 | .param t_start = PERIOD_CLK*2 31 | .param t_stop = PERIOD_CLK*4 32 | 33 | *- Input frequency for coherent sampling 34 | .param fin = fbin/nbpt*fs 35 | 36 | .param vamp = 0.5 37 | 38 | *----------------------------------------------------------------- 39 | * FORCE 40 | *----------------------------------------------------------------- 41 | VSS VGND 0 dc 0 42 | VDD VPWR 0 dc {AVDD} 43 | 44 | VENABLE ui_in[0] 0 pwl 0 0 {t_start} 0 {t_start + 1n} {AVDD} {t_stop} {AVDD} {t_stop + 1n} 0 45 | 46 | VCLK clk 0 dc 0 pulse (0 {AVDD} 0 {TRF} {TRF} {PW_CLK} {PERIOD_CLK}) 47 | 48 | VCM VCM 0 dc {AVDD/2} 49 | VSARP ua[1] VCM sin (0 {vamp} {fin} ) 50 | VSARN ua[0] VCM sin (0 {-vamp} {fin} ) 51 | 52 | *----------------------------------------------------------------- 53 | * DUT 54 | *----------------------------------------------------------------- 55 | .include ../xdut.spi 56 | 57 | XDAC uo_out[7] uo_out[6] uo_out[5] uo_out[4] uo_out[3] uo_out[2] uo_out[1] uo_out[0] RO VPWR DAC_8BIT_TWOS_COMPL 58 | 59 | .SUBCKT DAC_8BIT_TWOS_COMPL DATA_7 DATA_6 DATA_5 DATA_4 DATA_3 DATA_2 DATA_1 DATA_0 RO VDD 60 | B1 RO_VDD 0 V = -1/2*V(DATA_7) + 1/4*V(DATA_6) + 1/8*V(DATA_5) + 1/16*V(DATA_4) + 1/32*V(DATA_3)+ 1/64*V(DATA_2) + 1/128*V(DATA_1) + 1/256*V(DATA_0) 61 | B2 RO 0 V = V(RO_VDD)/V(VDD) 62 | .ENDS 63 | 64 | *---------------------------------------------------------------- 65 | * PROBE 66 | *---------------------------------------------------------------- 67 | *.save all 68 | *.save * 69 | .save v(ro) v(ua[1]) v(ua[0]) 70 | .save v(uo_out[7]) 71 | .save v(uo_out[6]) 72 | .save v(uo_out[5]) 73 | .save v(uo_out[4]) 74 | .save v(uo_out[3]) 75 | .save v(uo_out[2]) 76 | .save v(uo_out[1]) 77 | .save v(uo_out[0]) 78 | .save v(ui_in[0]) 79 | .save v(ui_in[1]) 80 | .save v(xdut.sarp) 81 | .save v(xdut.sarn) 82 | .save v(clk) 83 | .save i(VDD) 84 | .save v(xdut.SUNSAR_SAR8B_CV_0.SARP) 85 | .save v(xdut.SUNSAR_SAR8B_CV_0.SARN) 86 | *---------------------------------------------------------------- 87 | * NGSPICE control 88 | *---------------------------------------------------------------- 89 | .control 90 | set num_threads=8 91 | set color0=white 92 | set color1=black 93 | unset askquit 94 | 95 | optran 0 0 0 1n 1u 0 96 | 97 | tran 1n 2u 98 | 99 | write 100 | quit 101 | 102 | 103 | .endc 104 | 105 | .end 106 | -------------------------------------------------------------------------------- /ip/tt06_sar_sky130nm/sim/TT06_SAR/tran.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | import pandas as pd 3 | import yaml 4 | import pandas as pd 5 | import numpy as np 6 | import cicsim as cs 7 | import matplotlib.pyplot as plt 8 | import matplotlib 9 | import glob 10 | import os 11 | import sys 12 | import seaborn as sns 13 | 14 | #- Sample clock of ADC 15 | tsample = 250 16 | ns = 1e9 17 | 18 | 19 | def paramToStr(data): 20 | return "A[dB]=%.2f SNDR[dB]=%.2f SFDR[dBc]=%.2f ENOB=%.2f" %(data["amp"],data["sndr"],data["sfdr"],data["enob"]) 21 | 22 | 23 | def calc(fname): 24 | 25 | 26 | dfs = cs.toDataFrames(cs.ngRawRead(fname + ".raw")) 27 | df = dfs[0] 28 | df.set_index("time",inplace=True) 29 | df.index = pd.to_datetime(df.index,unit='s') 30 | 31 | saro = df["v(ro)"] 32 | saroxx = saro.resample(pd.Timedelta(tsample,unit="ns")).first() 33 | 34 | nbpt = int(2**np.floor(np.log2(len(saroxx)))) 35 | saroxx = saroxx[-nbpt-1:-1] 36 | 37 | scc = cs.SimCalc() 38 | (data,ydB) = scc.fft(saroxx.to_numpy()) 39 | return (data,ydB) 40 | 41 | def main(name): 42 | 43 | yamlfile = name + ".yaml" 44 | 45 | # Read result yaml file 46 | with open(yamlfile) as fi: 47 | obj = yaml.safe_load(fi) 48 | 49 | (data,ydB) = calc(name) 50 | 51 | obj["SNDR"] = float(data["sndr"]) 52 | obj["AMP"] = float(data["amp"]) 53 | obj["SFDR"] = float(data["sfdr"]) 54 | obj["ENOB"] = float(data["enob"]) 55 | obj["SNDR_FS"]= float(data["sndr"] - data["amp"]) 56 | obj["ENOB_FS"] = float((obj["SNDR_FS"]-1.76)/6.02) 57 | 58 | if("tpd_clkf_doner" in obj and "tpd_doner_clkr" in obj and "tperiod" in obj): 59 | #- Extract tsample from measurement 60 | tsample = int(obj["tperiod"]*ns) 61 | 62 | cfdr = int(obj["tpd_clkf_doner"]*ns) 63 | drcr = int(obj["tpd_doner_clkr"]*ns) 64 | 65 | obj["maxfreq_MHz"] = 1/(cfdr*2)*1000 66 | 67 | 68 | 69 | #- Hack to get supply since I forgot to print 70 | obj["avdd"] = 1.8 71 | if("Vh" in name): 72 | obj["avdd"] = 1.9 73 | elif("Vl" in name): 74 | obj["avdd"] = 1.7 75 | 76 | obj["PWR"] = -obj["iavdd"]*obj["avdd"] 77 | #-Walden FOM 78 | obj["FOM_FS"] = float( obj["PWR"] / ( 2**obj["ENOB_FS"]*(1/(tsample * 1e-9)) ) ) 79 | 80 | # Save new yaml file 81 | with open(yamlfile,"w") as fo: 82 | yaml.dump(obj,fo) 83 | 84 | 85 | def plot(): 86 | sns.set_style("whitegrid") 87 | sns.set_context("talk") 88 | 89 | if(len(sys.argv) < 2): 90 | print("I need a run file") 91 | exit() 92 | 93 | runfile = sys.argv[1] 94 | 95 | #- Get output files from run 96 | files = list() 97 | with open(runfile) as fi: 98 | for l in fi: 99 | files.append(l.strip()) 100 | 101 | idsqs = list() 102 | 103 | 104 | f,ax = plt.subplots(1,1,sharex=False) 105 | 106 | 107 | axes = list() 108 | axes.append(ax) 109 | f.set_figheight(8) 110 | f.set_figwidth(15) 111 | for f in files: 112 | (data,ydB) = calc(f) 113 | axes[0].plot(ydB,label=f + " v(ro):" + paramToStr(data),linestyle='solid',marker="o") 114 | 115 | 116 | axes[0].set_ylabel("Power Spectrum [dBFS]") 117 | axes[0].set_xlabel("FFT bin") 118 | axes[0].grid(True) 119 | axes[0].legend() 120 | axes[0].axis([0,len(ydB),-100,10]) 121 | plt.tight_layout() 122 | 123 | if(len(sys.argv)> 2): 124 | plt.show() 125 | else: 126 | plt.savefig(runfile.replace(".run",".png")) 127 | 128 | 129 | 130 | 131 | if __name__ == "__main__": 132 | 133 | 134 | plot() 135 | -------------------------------------------------------------------------------- /ip/tt06_sar_sky130nm/sim/TT06_SAR/tran.spi: -------------------------------------------------------------------------------- 1 | *TT06_SAR/tran 2 | 3 | 4 | *----------------------------------------------------------------- 5 | * OPTIONS 6 | *----------------------------------------------------------------- 7 | .option TNOM=27 GMIN=1e-15 reltol=1e-4 8 | 9 | *----------------------------------------------------------------- 10 | * PARAMETERS 11 | *----------------------------------------------------------------- 12 | .param TRF = 10p 13 | 14 | .param AVDD = {vdda} 15 | 16 | *- 8 MHz clock frequency 17 | .param PERIOD_CLK = 250n 18 | 19 | *- 25% duty-cycle clock 20 | .param PW_CLK = PERIOD_CLK/2 21 | 22 | *- Frequency bin of the input signal 23 | .param fbin = 5 24 | 25 | *- number of cycles in FFT 26 | .param nbpt = 128 27 | 28 | *- Sampling frequency 29 | .param fs = 1/PERIOD_CLK 30 | 31 | .param t_start = PERIOD_CLK*2 32 | 33 | *- Input frequency for coherent sampling 34 | .param fin = fbin/nbpt*fs 35 | 36 | .param vamp = 0.5 37 | 38 | *----------------------------------------------------------------- 39 | * FORCE 40 | *----------------------------------------------------------------- 41 | VSS VGND 0 dc 0 42 | VDD VPWR 0 dc {AVDD} 43 | 44 | VENABLE ui_in[0] 0 pwl 0 0 {t_start} 0 {t_start + 1n} {AVDD} 45 | 46 | VCLK clk 0 dc 0 pulse (0 {AVDD} 0 {TRF} {TRF} {PW_CLK} {PERIOD_CLK}) 47 | 48 | VCM VCM 0 dc {AVDD/2} 49 | VSARP ua[1] VCM sin (0 {vamp} {fin} ) 50 | VSARN ua[0] VCM sin (0 {-vamp} {fin} ) 51 | 52 | *----------------------------------------------------------------- 53 | * DUT 54 | *----------------------------------------------------------------- 55 | .include ../xdut.spi 56 | 57 | XDAC uo_out[7] uo_out[6] uo_out[5] uo_out[4] uo_out[3] uo_out[2] uo_out[1] uo_out[0] RO VPWR DAC_8BIT_TWOS_COMPL 58 | 59 | .SUBCKT DAC_8BIT_TWOS_COMPL DATA_7 DATA_6 DATA_5 DATA_4 DATA_3 DATA_2 DATA_1 DATA_0 RO VDD 60 | B1 RO_VDD 0 V = -1/2*V(DATA_7) + 1/4*V(DATA_6) + 1/8*V(DATA_5) + 1/16*V(DATA_4) + 1/32*V(DATA_3)+ 1/64*V(DATA_2) + 1/128*V(DATA_1) + 1/256*V(DATA_0) 61 | B2 RO 0 V = V(RO_VDD)/V(VDD) 62 | .ENDS 63 | 64 | *---------------------------------------------------------------- 65 | * PROBE 66 | *---------------------------------------------------------------- 67 | *.save all 68 | *.save * 69 | .save v(ro) v(ua[1]) v(ua[0]) 70 | .save v(uo_out[7]) 71 | .save v(uo_out[6]) 72 | .save v(uo_out[5]) 73 | .save v(uo_out[4]) 74 | .save v(uo_out[3]) 75 | .save v(uo_out[2]) 76 | .save v(uo_out[1]) 77 | .save v(uo_out[0]) 78 | .save v(uio_out[0]) 79 | .save v(uio_oe[0]) 80 | .save v(ui_in[0]) 81 | .save v(ui_in[1]) 82 | .save v(xdut.sarp) 83 | .save v(xdut.sarn) 84 | .save v(clk) 85 | .save i(VDD) 86 | .save v(xdut.SUNSAR_SAR8B_CV_0/SARP) 87 | .save v(xdut.SUNSAR_SAR8B_CV_0/SARN) 88 | .save v(xdut.SUNSAR_SAR8B_CV_0.SARP) 89 | .save v(xdut.SUNSAR_SAR8B_CV_0.SARN) 90 | .save v(xdut.SUNSAR_SAR8B_CV_0.SARP.t0) 91 | .save v(xdut.SUNSAR_SAR8B_CV_0.SARN.t0) 92 | .save v(xdut.SUNSAR_SAR8B_CV_0.SARP.t5) 93 | .save v(xdut.SUNSAR_SAR8B_CV_0.SARN.t5) 94 | .save v(xdut.SUNSAR_SAR8B_CV_0.XB2.XA4.GN.t3) 95 | .save v(xdut.SUNSAR_SAR8B_CV_0.XB2.XA4.GN.t3) 96 | .save v(xdut.SUNSAR_SAR8B_CV_0.XB1.XA4.GN) 97 | .save v(xdut.SUNSAR_SAR8B_CV_0.XB2.XA4.GN) 98 | .save v(vpwr) 99 | 100 | #ifdef Debug 101 | .save all 102 | #endif 103 | 104 | *---------------------------------------------------------------- 105 | * NGSPICE control 106 | *---------------------------------------------------------------- 107 | .control 108 | set num_threads=8 109 | set color0=white 110 | set color1=black 111 | unset askquit 112 | 113 | optran 0 0 0 1n 1u 0 114 | 115 | #ifdef Debug 116 | tran 1n 1u 117 | #else 118 | tran 1n 35u 119 | #endif 120 | write 121 | quit 122 | 123 | 124 | .endc 125 | 126 | .end 127 | -------------------------------------------------------------------------------- /ip/tt06_sar_sky130nm/sim/TT06_SAR/TT06_SAR.md: -------------------------------------------------------------------------------- 1 | TT06_SAR 2 | 3 | ### Dynamic parameters (tran) 4 | 5 | Verify response to a sinusoid input signal 6 | 7 | 8 | 9 | |**Name**|**Parameter**|**Description**| |**Min**|**Typ**|**Max**| Unit| 10 | |:---|:---|:---|---:|:---:|:---:|:---:| ---:| 11 | |**Maximum operating frequency**|**maxfreq\_MHz** || **Spec** | **4.00** | **8.00** | **20.00** | **MHz** | 12 | | | | |Lay_typ| | 11.36 | | | 13 | | | | |Lay_slow|4.42 | 5.73 | 7.04 | | 14 | | | | |Lay_fast|17.24 | 17.55 | 17.86 | | 15 | | | | |Lay_3std|11.10 | 11.34 | 11.58 | | 16 | |**Signal to noise and distortion ratio**|**SNDR** || **Spec** | **38.0** | **45.0** | **50.0** | **dB** | 17 | | | | |Lay_typ| | 44.6 | | | 18 | | | | |Lay_slow|44.7 | 45.7 | 46.6 | | 19 | | | | |Lay_fast|44.2 | 45.0 | 45.8 | | 20 | | | | |Lay_3std|43.9 | 45.2 | 46.5 | | 21 | |**Signal to noise and distortion ratio (FS)**|**SNDR\_FS** || **Spec** | **42.0** | **45.0** | **50.0** | **dB** | 22 | | | | |Lay_typ| | 47.7 | | | 23 | | | | |Lay_slow|47.3 | 48.3 | 49.2 | | 24 | | | | |Lay_fast|47.8 | 48.6 | 49.4 | | 25 | | | | |Lay_3std|47.0 | 48.3 | 49.6 | | 26 | |**Spurious free dynamic range**|**SFDR** || **Spec** | **40.0** | **50.0** | **70.0** | **dBc** | 27 | | | | |Lay_typ| | 49.7 | | | 28 | | | | |Lay_slow|50.5 | 52.0 | 53.5 | | 29 | | | | |Lay_fast|49.1 | 52.0 | 54.9 | | 30 | | | | |Lay_3std|45.9 | 52.1 | 58.2 | | 31 | |**Effective number of bits**|**ENOB** || **Spec** | **6.10** | **7.00** | **7.99** | **bits** | 32 | | | | |Lay_typ| | 7.12 | | | 33 | | | | |Lay_slow|7.14 | 7.29 | 7.44 | | 34 | | | | |Lay_fast|7.05 | 7.19 | 7.32 | | 35 | | | | |Lay_3std|7.00 | 7.22 | 7.43 | | 36 | |**Effective number of bits (FS)**|**ENOB\_FS** || **Spec** | **6.80** | **7.00** | **7.99** | **bits** | 37 | | | | |Lay_typ| | 7.63 | | | 38 | | | | |Lay_slow|7.57 | 7.72 | 7.88 | | 39 | | | | |Lay_fast|7.65 | 7.78 | 7.92 | | 40 | | | | |Lay_3std|7.52 | 7.74 | 7.95 | | 41 | |**Active current**|**iavdd** || **Spec** | **30.0** | **50.0** | **70.0** | **uA** | 42 | | | | |Lay_typ| | 48.0 | | | 43 | | | | |Lay_slow|44.7 | 46.1 | 47.5 | | 44 | | | | |Lay_fast|49.2 | 54.4 | 59.6 | | 45 | | | | |Lay_3std|47.7 | 48.1 | 48.4 | | 46 | |**FFT input amplitude**|**AMP** || **Spec** | **-6.00** | **-3.00** | **-0.20** | **dB** | 47 | | | | |Lay_typ| | -3.12 | | | 48 | | | | |Lay_slow|-2.62 | -2.60 | -2.58 | | 49 | | | | |Lay_fast|-3.62 | -3.60 | -3.59 | | 50 | | | | |Lay_3std|-3.12 | -3.11 | -3.11 | | 51 | |**Walden FOM**|**FOM\_FS** || **Spec** | **50.00** | **100.00** | **200.00** | **fJ/step** | 52 | | | | |Lay_typ| | 108.80 | | | 53 | | | | |Lay_slow|80.73 | 93.63 | 106.53 | | 54 | | | | |Lay_fast|116.25 | 116.66 | 117.06 | | 55 | | | | |Lay_3std|86.39 | 101.59 | 116.79 | | 56 | 57 | ### Power down (pwrdwn) 58 | 59 | Check active and power down currents 60 | 61 | 62 | 63 | |**Name**|**Parameter**|**Description**| |**Min**|**Typ**|**Max**| Unit| 64 | |:---|:---|:---|---:|:---:|:---:|:---:| ---:| 65 | |**Active current**|**iact** |ui_in[0] = 1. Clock running| **Spec** | **30.0** | **50.0** | **70.0** | **uA** | 66 | | | | |Lay_typ| | 41.7 | | | 67 | |**Off Current**|**ioff** |ui_in[0] = 0. Clock running| **Spec** | **10.0** | **200.0** | **1000.0** | **nA** | 68 | | | | |Lay_typ| | 167.6 | | | 69 | 70 | -------------------------------------------------------------------------------- /src/project.v: -------------------------------------------------------------------------------- 1 | `default_nettype none 2 | `timescale 1 ns / 1 ps 3 | 4 | 5 | module tt_um_TT06_SAR_wulffern ( 6 | input wire VGND, 7 | input wire VPWR, 8 | input wire [7:0] ui_in, 9 | output wire [7:0] uo_out, 10 | input wire [7:0] uio_in, 11 | output wire [7:0] uio_out, 12 | output wire [7:0] uio_oe, 13 | `ifdef ANA_TYPE_REAL 14 | input real ua_0, 15 | input real ua_1, 16 | `else 17 | inout wire [7:0] ua, // analog pins 18 | `endif 19 | input wire ena, 20 | input wire clk, 21 | input wire rst_n 22 | ); 23 | 24 | 25 | logic [7:0] dout; 26 | logic [7:0] sampled_dout; 27 | logic done; 28 | logic tie_l =0; 29 | logic tie_h = 1; 30 | 31 | 32 | assign uo_out = sampled_dout; 33 | assign uio_out[0] = done; 34 | 35 | assign uio_out[1] = tie_l; 36 | assign uio_out[2] = tie_l; 37 | assign uio_out[3] = tie_l; 38 | assign uio_out[4] = tie_l; 39 | assign uio_out[5] = tie_l; 40 | assign uio_out[6] = tie_l; 41 | assign uio_out[7] = tie_l; 42 | assign uio_oe[0] = tie_h; 43 | assign uio_oe[1] = tie_l; 44 | assign uio_oe[2] = tie_l; 45 | assign uio_oe[3] = tie_l; 46 | assign uio_oe[4] = tie_l; 47 | assign uio_oe[5] = tie_l; 48 | assign uio_oe[6] = tie_l; 49 | assign uio_oe[7] = tie_l; 50 | 51 | 52 | //State machine, combinatorial part 53 | parameter OFF = 0, 54 | SAMPLE = 1, 55 | CONVERT = 2, 56 | DONE=3; 57 | logic [1:0] state; 58 | logic [1:0] next_state; 59 | always_comb begin 60 | case (state) 61 | OFF: begin 62 | next_state = SAMPLE; 63 | end 64 | SAMPLE: begin 65 | next_state = CONVERT; 66 | end 67 | CONVERT: begin 68 | next_state = DONE; 69 | end 70 | DONE: begin 71 | next_state = SAMPLE; 72 | end 73 | 74 | default: next_state = OFF; 75 | endcase // case (state) 76 | end 77 | 78 | `ifdef ANA_TYPE_REAL 79 | real tmp = 0; 80 | real smpl = 0; 81 | real lsb = 1.0/64.0; 82 | `else 83 | logic tmp; 84 | `endif 85 | 86 | 87 | //Main SAR loop 88 | always_ff @(posedge clk or negedge clk) begin 89 | if(~ui_in[0]) begin 90 | state <= OFF; 91 | tmp = 0; 92 | dout = 0; 93 | end 94 | else begin 95 | if(OFF) begin 96 | 97 | end 98 | else if(clk == 1) begin 99 | state = SAMPLE; 100 | end// !`ifdef ANA_TYPE_REAL 101 | else if(clk == 0) begin 102 | state = CONVERT; 103 | `ifdef ANA_TYPE_REAL 104 | smpl = ua_0 - ua_1; 105 | tmp = smpl; 106 | 107 | for(int i=7;i>=0;i--) begin 108 | if(tmp >= 0) begin 109 | tmp = tmp - lsb*2**(i-1); 110 | if(i==7) 111 | dout[i] <= 0; 112 | else 113 | dout[i] <= 1; 114 | end 115 | else begin 116 | tmp = tmp + lsb*2**(i-1); 117 | if(i==7) 118 | dout[i] = 1; 119 | else 120 | dout[i] = 0; 121 | end 122 | end 123 | `else 124 | if(tmp == 0) begin 125 | dout[7] <= 1; 126 | tmp <= 1; 127 | 128 | end 129 | else begin 130 | dout[7] <= 0; 131 | tmp = 0; 132 | end 133 | `endif 134 | 135 | end 136 | state = next_state; 137 | end // else: !if(~ui_in[0]) 138 | end // always_ff @ (posedge clk) 139 | 140 | always @(posedge done) begin 141 | state = DONE; 142 | sampled_dout = dout; 143 | 144 | 145 | end 146 | 147 | always @(state) begin 148 | if(state == OFF) 149 | #2 done = 0; 150 | else if(state == SAMPLE) 151 | #1.6 done = 0; 152 | else if(state == CONVERT) 153 | #115 done = 1; 154 | end 155 | 156 | endmodule 157 | -------------------------------------------------------------------------------- /ip/tt06_sar_sky130nm/design/TT06_SAR_SKY130NM/sky130_fd_pr__cap_mim_m3_1_XS736D.mag: -------------------------------------------------------------------------------- 1 | magic 2 | tech sky130A 3 | magscale 1 2 4 | timestamp 1710669355 5 | << metal3 >> 6 | rect -1986 17492 1986 17520 7 | rect -1986 13868 1902 17492 8 | rect 1966 13868 1986 17492 9 | rect -1986 13840 1986 13868 10 | rect -1986 13572 1986 13600 11 | rect -1986 9948 1902 13572 12 | rect 1966 9948 1986 13572 13 | rect -1986 9920 1986 9948 14 | rect -1986 9652 1986 9680 15 | rect -1986 6028 1902 9652 16 | rect 1966 6028 1986 9652 17 | rect -1986 6000 1986 6028 18 | rect -1986 5732 1986 5760 19 | rect -1986 2108 1902 5732 20 | rect 1966 2108 1986 5732 21 | rect -1986 2080 1986 2108 22 | rect -1986 1812 1986 1840 23 | rect -1986 -1812 1902 1812 24 | rect 1966 -1812 1986 1812 25 | rect -1986 -1840 1986 -1812 26 | rect -1986 -2108 1986 -2080 27 | rect -1986 -5732 1902 -2108 28 | rect 1966 -5732 1986 -2108 29 | rect -1986 -5760 1986 -5732 30 | rect -1986 -6028 1986 -6000 31 | rect -1986 -9652 1902 -6028 32 | rect 1966 -9652 1986 -6028 33 | rect -1986 -9680 1986 -9652 34 | rect -1986 -9948 1986 -9920 35 | rect -1986 -13572 1902 -9948 36 | rect 1966 -13572 1986 -9948 37 | rect -1986 -13600 1986 -13572 38 | rect -1986 -13868 1986 -13840 39 | rect -1986 -17492 1902 -13868 40 | rect 1966 -17492 1986 -13868 41 | rect -1986 -17520 1986 -17492 42 | << via3 >> 43 | rect 1902 13868 1966 17492 44 | rect 1902 9948 1966 13572 45 | rect 1902 6028 1966 9652 46 | rect 1902 2108 1966 5732 47 | rect 1902 -1812 1966 1812 48 | rect 1902 -5732 1966 -2108 49 | rect 1902 -9652 1966 -6028 50 | rect 1902 -13572 1966 -9948 51 | rect 1902 -17492 1966 -13868 52 | << mimcap >> 53 | rect -1946 17440 1654 17480 54 | rect -1946 13920 -1906 17440 55 | rect 1614 13920 1654 17440 56 | rect -1946 13880 1654 13920 57 | rect -1946 13520 1654 13560 58 | rect -1946 10000 -1906 13520 59 | rect 1614 10000 1654 13520 60 | rect -1946 9960 1654 10000 61 | rect -1946 9600 1654 9640 62 | rect -1946 6080 -1906 9600 63 | rect 1614 6080 1654 9600 64 | rect -1946 6040 1654 6080 65 | rect -1946 5680 1654 5720 66 | rect -1946 2160 -1906 5680 67 | rect 1614 2160 1654 5680 68 | rect -1946 2120 1654 2160 69 | rect -1946 1760 1654 1800 70 | rect -1946 -1760 -1906 1760 71 | rect 1614 -1760 1654 1760 72 | rect -1946 -1800 1654 -1760 73 | rect -1946 -2160 1654 -2120 74 | rect -1946 -5680 -1906 -2160 75 | rect 1614 -5680 1654 -2160 76 | rect -1946 -5720 1654 -5680 77 | rect -1946 -6080 1654 -6040 78 | rect -1946 -9600 -1906 -6080 79 | rect 1614 -9600 1654 -6080 80 | rect -1946 -9640 1654 -9600 81 | rect -1946 -10000 1654 -9960 82 | rect -1946 -13520 -1906 -10000 83 | rect 1614 -13520 1654 -10000 84 | rect -1946 -13560 1654 -13520 85 | rect -1946 -13920 1654 -13880 86 | rect -1946 -17440 -1906 -13920 87 | rect 1614 -17440 1654 -13920 88 | rect -1946 -17480 1654 -17440 89 | << mimcapcontact >> 90 | rect -1906 13920 1614 17440 91 | rect -1906 10000 1614 13520 92 | rect -1906 6080 1614 9600 93 | rect -1906 2160 1614 5680 94 | rect -1906 -1760 1614 1760 95 | rect -1906 -5680 1614 -2160 96 | rect -1906 -9600 1614 -6080 97 | rect -1906 -13520 1614 -10000 98 | rect -1906 -17440 1614 -13920 99 | << metal4 >> 100 | rect -198 17441 -94 17640 101 | rect 1882 17492 1986 17640 102 | rect -1907 17440 1615 17441 103 | rect -1907 13920 -1906 17440 104 | rect 1614 13920 1615 17440 105 | rect -1907 13919 1615 13920 106 | rect -198 13521 -94 13919 107 | rect 1882 13868 1902 17492 108 | rect 1966 13868 1986 17492 109 | rect 1882 13572 1986 13868 110 | rect -1907 13520 1615 13521 111 | rect -1907 10000 -1906 13520 112 | rect 1614 10000 1615 13520 113 | rect -1907 9999 1615 10000 114 | rect -198 9601 -94 9999 115 | rect 1882 9948 1902 13572 116 | rect 1966 9948 1986 13572 117 | rect 1882 9652 1986 9948 118 | rect -1907 9600 1615 9601 119 | rect -1907 6080 -1906 9600 120 | rect 1614 6080 1615 9600 121 | rect -1907 6079 1615 6080 122 | rect -198 5681 -94 6079 123 | rect 1882 6028 1902 9652 124 | rect 1966 6028 1986 9652 125 | rect 1882 5732 1986 6028 126 | rect -1907 5680 1615 5681 127 | rect -1907 2160 -1906 5680 128 | rect 1614 2160 1615 5680 129 | rect -1907 2159 1615 2160 130 | rect -198 1761 -94 2159 131 | rect 1882 2108 1902 5732 132 | rect 1966 2108 1986 5732 133 | rect 1882 1812 1986 2108 134 | rect -1907 1760 1615 1761 135 | rect -1907 -1760 -1906 1760 136 | rect 1614 -1760 1615 1760 137 | rect -1907 -1761 1615 -1760 138 | rect -198 -2159 -94 -1761 139 | rect 1882 -1812 1902 1812 140 | rect 1966 -1812 1986 1812 141 | rect 1882 -2108 1986 -1812 142 | rect -1907 -2160 1615 -2159 143 | rect -1907 -5680 -1906 -2160 144 | rect 1614 -5680 1615 -2160 145 | rect -1907 -5681 1615 -5680 146 | rect -198 -6079 -94 -5681 147 | rect 1882 -5732 1902 -2108 148 | rect 1966 -5732 1986 -2108 149 | rect 1882 -6028 1986 -5732 150 | rect -1907 -6080 1615 -6079 151 | rect -1907 -9600 -1906 -6080 152 | rect 1614 -9600 1615 -6080 153 | rect -1907 -9601 1615 -9600 154 | rect -198 -9999 -94 -9601 155 | rect 1882 -9652 1902 -6028 156 | rect 1966 -9652 1986 -6028 157 | rect 1882 -9948 1986 -9652 158 | rect -1907 -10000 1615 -9999 159 | rect -1907 -13520 -1906 -10000 160 | rect 1614 -13520 1615 -10000 161 | rect -1907 -13521 1615 -13520 162 | rect -198 -13919 -94 -13521 163 | rect 1882 -13572 1902 -9948 164 | rect 1966 -13572 1986 -9948 165 | rect 1882 -13868 1986 -13572 166 | rect -1907 -13920 1615 -13919 167 | rect -1907 -17440 -1906 -13920 168 | rect 1614 -17440 1615 -13920 169 | rect -1907 -17441 1615 -17440 170 | rect -198 -17640 -94 -17441 171 | rect 1882 -17492 1902 -13868 172 | rect 1966 -17492 1986 -13868 173 | rect 1882 -17640 1986 -17492 174 | << properties >> 175 | string FIXED_BBOX -1986 13840 1694 17520 176 | string gencell sky130_fd_pr__cap_mim_m3_1 177 | string library sky130 178 | string parameters w 17.999 l 17.999 val 661.674 carea 2.00 cperi 0.19 nx 1 ny 9 dummy 0 square 1 lmin 2.00 wmin 2.00 lmax 30.0 wmax 30.0 dc 0 bconnect 1 tconnect 1 ccov 100 179 | << end >> 180 | -------------------------------------------------------------------------------- /ip/tt06_sar_sky130nm/sim/TT06_SAR/pandoc.css: -------------------------------------------------------------------------------- 1 | /* 2 | * I add this to html files generated with pandoc.*/ 3 | /* https://gist.github.com/killercup/5917178 4 | */ 5 | 6 | html { 7 | font-size: 100%; 8 | overflow-y: scroll; 9 | -webkit-text-size-adjust: 100%; 10 | -ms-text-size-adjust: 100%; 11 | } 12 | 13 | body { 14 | color: #444; 15 | font-family: Calibri,Arial, sans-serif; 16 | font-size: 12px; 17 | line-height: 1.7; 18 | padding: 1em; 19 | margin: auto; 20 | max-width: auto; 21 | background: #fefefe; 22 | } 23 | 24 | a { 25 | color: #0645ad; 26 | text-decoration: none; 27 | } 28 | 29 | a:visited { 30 | color: #0b0080; 31 | } 32 | 33 | a:hover { 34 | color: #06e; 35 | } 36 | 37 | a:active { 38 | color: #faa700; 39 | } 40 | 41 | a:focus { 42 | outline: thin dotted; 43 | } 44 | 45 | *::-moz-selection { 46 | background: rgba(255, 255, 0, 0.3); 47 | color: #000; 48 | } 49 | 50 | *::selection { 51 | background: rgba(255, 255, 0, 0.3); 52 | color: #000; 53 | } 54 | 55 | a::-moz-selection { 56 | background: rgba(255, 255, 0, 0.3); 57 | color: #0645ad; 58 | } 59 | 60 | a::selection { 61 | background: rgba(255, 255, 0, 0.3); 62 | color: #0645ad; 63 | } 64 | 65 | p { 66 | margin: 1em 0; 67 | } 68 | 69 | img { 70 | max-width: 100%; 71 | } 72 | 73 | h1, h2, h3, h4, h5, h6 { 74 | color: #111; 75 | line-height: 125%; 76 | margin-top: 2em; 77 | font-weight: normal; 78 | } 79 | 80 | h4, h5, h6 { 81 | font-weight: bold; 82 | } 83 | 84 | h1 { 85 | font-size: 2.5em; 86 | } 87 | 88 | h2 { 89 | font-size: 2em; 90 | } 91 | 92 | h3 { 93 | font-size: 1.5em; 94 | } 95 | 96 | h4 { 97 | font-size: 1.2em; 98 | } 99 | 100 | h5 { 101 | font-size: 1em; 102 | } 103 | 104 | h6 { 105 | font-size: 0.9em; 106 | } 107 | 108 | blockquote { 109 | color: #666666; 110 | margin: 0; 111 | padding-left: 3em; 112 | border-left: 0.5em #EEE solid; 113 | } 114 | 115 | hr { 116 | display: block; 117 | height: 2px; 118 | border: 0; 119 | border-top: 1px solid #aaa; 120 | border-bottom: 1px solid #eee; 121 | margin: 1em 0; 122 | padding: 0; 123 | } 124 | 125 | pre, code, kbd, samp { 126 | color: #000; 127 | font-family: monospace, monospace; 128 | _font-family: 'courier new', monospace; 129 | font-size: 0.98em; 130 | } 131 | 132 | pre { 133 | white-space: pre; 134 | white-space: pre-wrap; 135 | word-wrap: break-word; 136 | } 137 | 138 | b, strong { 139 | font-weight: bold; 140 | } 141 | 142 | dfn { 143 | font-style: italic; 144 | } 145 | 146 | ins { 147 | background: #ff9; 148 | color: #000; 149 | text-decoration: none; 150 | } 151 | 152 | mark { 153 | background: #ff0; 154 | color: #000; 155 | font-style: italic; 156 | font-weight: bold; 157 | } 158 | 159 | sub, sup { 160 | font-size: 75%; 161 | line-height: 0; 162 | position: relative; 163 | vertical-align: baseline; 164 | } 165 | 166 | sup { 167 | top: -0.5em; 168 | } 169 | 170 | sub { 171 | bottom: -0.25em; 172 | } 173 | 174 | ul, ol { 175 | margin: 1em 0; 176 | padding: 0 0 0 2em; 177 | } 178 | 179 | li p:last-child { 180 | margin-bottom: 0; 181 | } 182 | 183 | ul ul, ol ol { 184 | margin: .3em 0; 185 | } 186 | 187 | dl { 188 | margin-bottom: 1em; 189 | } 190 | 191 | dt { 192 | font-weight: bold; 193 | margin-bottom: .8em; 194 | } 195 | 196 | dd { 197 | margin: 0 0 .8em 2em; 198 | } 199 | 200 | dd:last-child { 201 | margin-bottom: 0; 202 | } 203 | 204 | img { 205 | border: 0; 206 | -ms-interpolation-mode: bicubic; 207 | vertical-align: middle; 208 | } 209 | 210 | figure { 211 | display: block; 212 | text-align: center; 213 | margin: 1em 0; 214 | } 215 | 216 | figure img { 217 | border: none; 218 | margin: 0 auto; 219 | } 220 | 221 | figcaption { 222 | font-size: 0.8em; 223 | font-style: italic; 224 | margin: 0 0 .8em; 225 | } 226 | 227 | table { 228 | margin-bottom: 2em; 229 | border-bottom: 1px solid #ddd; 230 | border-right: 1px solid #ddd; 231 | border-spacing: 0; 232 | border-collapse: collapse; 233 | } 234 | 235 | table th { 236 | padding: .2em 1em; 237 | background-color: #eee; 238 | border-top: 1px solid #ddd; 239 | border-left: 1px solid #ddd; 240 | } 241 | 242 | table td { 243 | padding: .2em 1em; 244 | border-top: 1px solid #ddd; 245 | border-left: 1px solid #ddd; 246 | vertical-align: top; 247 | } 248 | 249 | .author { 250 | font-size: 1.2em; 251 | text-align: center; 252 | } 253 | 254 | @media only screen and (min-width: 480px) { 255 | body { 256 | font-size: 14px; 257 | } 258 | } 259 | @media only screen and (min-width: 768px) { 260 | body { 261 | font-size: 16px; 262 | } 263 | } 264 | @media print { 265 | * { 266 | background: transparent !important; 267 | color: black !important; 268 | filter: none !important; 269 | -ms-filter: none !important; 270 | } 271 | 272 | body { 273 | font-size: 12pt; 274 | max-width: 100%; 275 | } 276 | 277 | a, a:visited { 278 | text-decoration: underline; 279 | } 280 | 281 | hr { 282 | height: 1px; 283 | border: 0; 284 | border-bottom: 1px solid black; 285 | } 286 | 287 | a[href]:after { 288 | content: " (" attr(href) ")"; 289 | } 290 | 291 | abbr[title]:after { 292 | content: " (" attr(title) ")"; 293 | } 294 | 295 | .ir a:after, a[href^="javascript:"]:after, a[href^="#"]:after { 296 | content: ""; 297 | } 298 | 299 | pre, blockquote { 300 | border: 1px solid #999; 301 | padding-right: 1em; 302 | page-break-inside: avoid; 303 | } 304 | 305 | tr, img { 306 | page-break-inside: avoid; 307 | } 308 | 309 | img { 310 | max-width: 100% !important; 311 | } 312 | 313 | @page :left { 314 | margin: 15mm 20mm 15mm 10mm; 315 | } 316 | 317 | @page :right { 318 | margin: 15mm 10mm 15mm 20mm; 319 | } 320 | 321 | p, h2, h3 { 322 | orphans: 3; 323 | widows: 3; 324 | } 325 | 326 | h2, h3 { 327 | page-break-after: avoid; 328 | } 329 | } 330 | -------------------------------------------------------------------------------- /docs/sar.md: -------------------------------------------------------------------------------- 1 | footer: Carsten Wulff 2024 2 | slidenumbers:true 3 | autoscale:true 4 | theme: Plain Jane, 1 5 | text: Helvetica 6 | header: Helvetica 7 | 8 | # 8-bit SAR ADC on Tiny Tapeout 9 | 10 | # [tt06-sar](https://github.com/wulffern/tt06-sar) 11 | 12 | --- 13 | # Goal 14 | 15 | Walk you through **tt06-sar**, and the steps necessary to **tapeout** on **TinyTapeout** 16 | 17 | --- 18 | 19 | [.background-color:#000000] 20 | [.text: #FFFFFF] 21 | # Idea 22 | 23 | --- 24 | #[fit] Trigger (2009) 25 | 26 | ![inline fit](../media/acdncmos.png) 27 | 28 | ![right fit](../media/trigger.png) 29 | 30 | --- 31 | #[fit] Problem (2014) 32 | 33 | ![right fit](../media/efficient_adcs.png) 34 | 35 | --- 36 | 37 | [.background-color:#000000] 38 | [.text: #FFFFFF] 39 | # Circuit 40 | 41 | --- 42 | 43 | ![inline](../media/wulff_fig_prior_art.pdf) 44 | 45 | --- 46 | 47 | ![inline](../media/fig_sar_logic.pdf) 48 | 49 | --- 50 | 51 | ![inline](../media/wulff_fig_comparator.pdf) 52 | 53 | --- 54 | 55 | ![inline](../media/adcs.pdf) 56 | 57 | --- 58 | 59 | ![inline](../media/wulff_fig_table.pdf) 60 | 61 | 62 | --- 63 | 64 | [.background-color:#000000] 65 | [.text: #FFFFFF] 66 | # Compilation 67 | 68 | --- 69 | 70 | ![inline](../media/cnano.pdf) 71 | 72 | 16 k Perl lines. Ported to C++ for speed $$\Rightarrow$$ [ciccreator](https://github.com/wulffern/ciccreator) 73 | 74 | --- 75 | 76 | 77 | ![inline](../media/transistor.pdf) 78 | 79 | --- 80 | 81 | ![inline](../media/l06_fig_dmos.pdf) 82 | 83 | --- 84 | 85 | 86 | ![inline](../media/inverter.pdf) 87 | 88 | --- 89 | 90 | ![inline](../media/l06_fig_saremx.pdf) 91 | 92 | --- 93 | 94 | 95 | 96 | # Since then 97 | 98 | Measured: 28 nm FDSOI, 55 nm 99 | Ported: 22 nm FDSOI, 22 nm, 28 nm, 65 nm, 130 nm 100 | 101 | 2022: There is an open source port to skywater 130nm! 102 | [wulffern/sun\_sar9b\_sky130nm](https://github.com/wulffern/sun_sar9b_sky130nm) 103 | 104 | ![right fit](../media/l00_SAR9B_CV.png) 105 | 106 | --- 107 | 108 | # Super simple transistor was a good choice for portability 109 | --- 110 | 111 | [.column] 112 | 113 | ```json 114 | //sky130 115 | { "name" : "DMOS_BULKN" , 116 | "class" : "Gds::GdsPatternTransistor", 117 | "abstract" : 1, 118 | "yoffset": -0.5, 119 | "widthoffset" : -0.5, 120 | "fillCoordinatesFromStrings" : [ 121 | [ "OD", 122 | "-------------------", 123 | "----xxx------------", 124 | "----xxx------------", 125 | "----xxx------------", 126 | "-------------------" 127 | ], 128 | ... 129 | [ "M1", 130 | "----------------xxx", 131 | "----wDw---------xxx", 132 | "----------wGw---xBx", 133 | "----wSw---------xxx", 134 | "----------------xxx" 135 | ], 136 | ... 137 | [ "NDIFFC", 138 | "-------------------", 139 | "----LTR------------", 140 | "-------------------", 141 | "----LTR------------", 142 | "-------------------" 143 | ] 144 | ] 145 | } 146 | ``` 147 | 148 | [.column] 149 | 150 | ```json 151 | //28nm FDSOI 152 | { "name" : "DMOS" , 153 | "class" : "Gds::GdsPatternTransistor", 154 | "yoffset": -0.5, 155 | "type": "pch", 156 | "widthoffset" : -1, 157 | "fillCoordinatesFromStrings" : [ 158 | [ "OD", 159 | "------------------xxxx", 160 | "----xxK-----------xCxC", 161 | "----xxx-----------xxxx", 162 | "----xxK-----------xCxC", 163 | "------------------xxxx" 164 | ], 165 | [ "PO", 166 | "-mmmmmmmmmmmmm--------", 167 | "----------------------", 168 | "-mmmmmmmmmmcxc--------", 169 | "----------------------", 170 | "-mmmmmmmmmmmmm--------" 171 | ], 172 | [ "M1", 173 | "------------------xxxx", 174 | "----wDww----------xxxx", 175 | "-----------wGww---xBxx", 176 | "----wSww----------xxxx", 177 | "------------------xxxx" 178 | ] 179 | ], 180 | "afterNew" : { 181 | "copyColumns" :[ 182 | { "count" : 0, "offset" : 4,"length" : 4} 183 | ] 184 | } 185 | } 186 | ``` 187 | 188 | --- 189 | 190 | [.column] 191 | 192 | 2016 (Perl compiler) 193 | 194 | ```json 195 | { "name": "SARCMPHX1_CV", 196 | "description" : "Half a strong-arm comparator", 197 | "class" : "Layout::LayoutDigitalCell", 198 | "setYoffsetHalf" : "" , 199 | "rows" : 7, 200 | "beforeRoute" : { 201 | "addDirectedRoutes" : [ ["PO","VMR","MN6:G-MP6:G"], 202 | ["M1","VMR","MP4:G||MP6:G"], 203 | ["M1","CI","MN1:G||MN5:G"], 204 | ["M1","N2","MN1:D,MN3:D,MN5:D-|--MP1:D"], 205 | ["M1","N1","MN0:D,MN2:D|-MN4:D"], 206 | ["M1","N1","MN0:D-|--MP0:S"], 207 | ["M1","CO","MP3:D,MP5:D--|-MN6:D"], 208 | ["PO","CK","MN0:G-MP0:G"], 209 | ["M1","CK","MP0:G,MP1:G-|MP3:G"], 210 | ["M4","NC","MP2$:D--|--MP2:G"] 211 | ] 212 | }, 213 | "afterRoute" : { 214 | "addPortOnRects" : [ ["AVDD","M4" ], 215 | ["N1","M1","MN4:D"], 216 | ["N2","M1","MN5:D" ]] 217 | } 218 | } 219 | 220 | ``` 221 | 222 | [.column] 223 | 224 | 2022 (C++ compiler) 225 | 226 | ```json 227 | { "name": "SARCMPHX1_CV", 228 | "description" : "Half a strong-arm comparator", 229 | "class" : "Layout::LayoutDigitalCell", 230 | "setYoffsetHalf" : 1 , 231 | "rows" : 7, 232 | "meta" : { 233 | "noSchematic" : true 234 | }, 235 | "decorator" : [ 236 | {"ConnectSourceDrain" : ["M1","||",""]} 237 | ], 238 | "beforeRoute" : { 239 | "addDirectedRoutes" : [ ["PO","VMR","MN6:G-MP6:G"], 240 | ["M1","VMR","MP4:G||MP6:G"], 241 | ["M1","CI","MN1:G||MN5:G"], 242 | ["M1","N2","MN1:D,MN3:D,MN5:D-|--MP1:D"], 243 | ["M1","N1","MN0:D,MN2:D|-MN4:D"], 244 | ["M1","N1","MN0:D-|--MP0:S"], 245 | ["M1","CO","MP3:D,MP5:D--|-MN6:D"], 246 | ["PO","CK","MN0:G-MP0:G"], 247 | ["M1","CK","MP0:G,MP1:G-|MP3:G"], 248 | ["M4","NC","MP2$:D-|--MP2:G"] 249 | ] 250 | }, 251 | "afterRoute" : { 252 | "addPortOnRects" : [["BULKP","M1"], 253 | ["BULKN","M1"], 254 | ["AVDD","M4" ], 255 | ["N1","M1","MN4:D"], 256 | ["N2","M1","MN5:D" ]] 257 | } 258 | } 259 | 260 | ``` 261 | 262 | --- 263 | 264 | # Usage is hard, requires a new type of analog designer/programmer 265 | 266 | --- 267 | 268 | ![inline](../media/fig_process.pdf) 269 | 270 | --- 271 | 272 | ## [ciccreator](https://github.com/wulffern/ciccreator) 273 | 274 | ## [ciccreator docs](https://analogicus.com/ciccreator/) 275 | 276 | ## [cicpy](https://github.com/wulffern/cicpy) 277 | 278 | --- 279 | 280 | [1] [A Compiled 9-bit 20-MS/s 3.5-fJ/conv.step SAR ADC in 28-nm FDSOI for Bluetooth Low Energy Receivers](https://ieeexplore.ieee.org/document/7906479) 281 | 282 | [2] [A 68 dB SNDR Compiled Noise-Shaping SAR ADC With On-Chip CDAC 283 | Calibration](https://ieeexplore.ieee.org/document/9056925) 284 | 285 | 286 | ![left fit](../media/our_work.png) 287 | 288 | --- 289 | 290 | ![inline fit](../media/harald_layout.pdf) 291 | 292 | --- 293 | 294 | ## Things I want to show 295 | 296 | [.column] 297 | - Tiny Tapeout Process 298 | - Schematics 299 | - Layout 300 | - DRC/LVS 301 | 302 | [.column] 303 | - Parasitic extraction 304 | - Verification plan and simulations 305 | - Delivery 306 | - Iteration 307 | 308 | --- 309 | 310 | #[fit] Thanks! 311 | -------------------------------------------------------------------------------- /docs/info.md: -------------------------------------------------------------------------------- 1 | 9 | 10 | ## Who 11 | Carsten Wulff carsten@wulff.no 12 | 13 | ## Why 14 | Many years ago I made a compiler, and a state-of-the-art compiled ADC in 28 nm 15 | FDSOI, described in [A Compiled 9-bit 20-MS/s 16 | 3.5-fJ/conv.step SAR ADC in 28-nm FDSOI for Bluetooth Low Energy 17 | Receivers](https://ieeexplore.ieee.org/document/7906479). 18 | 19 | Since then, I've 20 | ported the ADC to multiple closed PDKs (22 nm FDSOI, 22 nm, 28 nm, 55 nm, 65 nm and 21 | 130nm). A while ago I ported the SAR ADC to Skywater 130nm 22 | [SUN_SAR9B_SKY130NM](https://github.com/wulffern/sun_sar9b_sky130nm/tree/main). 23 | 24 | The fact that Tiny Tapeout now includes analog possibility inspired me to try 25 | and see if I could fit the SAR into the Tiny Tapeout area. The original 9-bit ADC did 26 | not fit, so I had to reduce it to 8-bit. 27 | 28 | ## How to test 29 | 30 | Apply a differential voltage with a common mode of around VDD/2 to ua[1] and 31 | ua[0]. If you want to measure the offset and noise of the ADC then connect ua[1] 32 | to ua[0] and provide 0.9 V to both. 33 | 34 | A common mode of 0 V won't work. The comparator will not make a decision in time, and the 35 | asynchronous clock generation loop will be to slow, probably. 36 | 37 | Apply a 4 MHz clock to clk. Typical corner should be able 38 | to run faster. 39 | 40 | Set ui\_in[0] high to enable the ADC 41 | 42 | The uo\_out[7:0] is two's complement digital output. The MSB is [7]. 43 | 44 | The ADC will open the input switches to start sampling on the rising edge of the 45 | clock. The ADC will sample on the falling edge of the clock. When clock is low, then the 46 | asynchronous binary search algorithm tries to find the sampled analog input 47 | voltage, and convert the analog value to digital. 48 | 49 | The uio\_out[0] is the "done" signal from the asynchronous binary search 50 | algorithm. The digital outputs are sampled on the rising edge of this "done" 51 | signal. 52 | 53 | If you want to capture the output of the ADC with a logic analyzer then 54 | I'd recommend you sample the digital outputs on the falling edge of the "done" 55 | signal. 56 | 57 | Alternatively, you could sample on the rising edge of the clk, however, 58 | any insertion delay between the clk source and the ADC clk has to be taken into 59 | account. 60 | 61 | If there is no "done" signal, then the clock is too fast. 62 | 63 | ## How it works 64 | 65 | The differential input (ua[1:0]) is sampled onto a capacitor array. When the clk 66 | is high, the input switch is low resistance and the input voltage stabilizes on 67 | the capacitor array. When the clock goes low, the input switch will be high 68 | resistive, and the voltage on the capacitor array is sampled. 69 | 70 | A strong arm comparator decides whether the differential voltage on the 71 | capacitor array is larger or smaller than zero. 72 | 73 | Based on the comparator decision, parts of the capacitor 74 | array is switched from VPWR to VGND, or visa versa. A charge re-distribution 75 | will occur, which changes the differential voltage on the capacitor array. 76 | 77 | A asynchronous custom digital logic performs a binary search to find the digital 78 | value. 79 | 80 | The comparator input has the net name SARP and SARN. Observe those in a 81 | simulation to see how the SAR operates. 82 | 83 | I would also recommend reading [A Compiled 9-bit 20-MS/s 84 | 3.5-fJ/conv.step SAR ADC in 28-nm FDSOI for Bluetooth Low Energy 85 | Receivers](https://ieeexplore.ieee.org/document/7906479), which explains the operation in 86 | detail. 87 | 88 | ## Key parameters 89 | 90 | | Parameter | Min | Typ | Max | Unit | 91 | |:-------------------------|:---:|:-------:|:---:|:----:| 92 | | Technology | | SKY130A | | | 93 | | AVDD | 1.7 | 1.8 | 1.9 | V | 94 | | Temperature | -40 | 27 | 125 | C | 95 | | Sampling frequency (CLK) | | | 4 | MHz | 96 | | Average current VPWR | | 48 | | uA | 97 | | SNDR\_FS | | 47.7 | | dBFS | 98 | | SFDR | | 49.7 | | dBc | 99 | | ENOB\_FS | | 7.63 | | bit | 100 | 101 | 102 | ## Implementation 103 | 104 | If you just want to see the layout, then go to 105 | [http://analogicus.com/tt06-sar/](http://analogicus.com/tt06-sar/) 106 | 107 | To have a look locally, do the commands below. I assume you have xschem, magic 108 | and the Skywater 130 nm PDK installed. 109 | 110 | ``` bash 111 | git clone --recursive git@github.com:wulffern/tt06-sar.git 112 | cd tt06-sar/ip/tt06_sar_sky130nm/work/ 113 | xschem -b ../design/TT06_SAR_SKY130NM/tt_um_TT06_SAR_wulffern.sch & 114 | magic ../design/TT06_SAR_SKY130NM/tt_um_TT06_SAR_wulffern.mag & 115 | ``` 116 | 117 | ### How to simulate 118 | 119 | Install cicsim 120 | 121 | ```bash 122 | python3 -m pip install cicsim 123 | ``` 124 | 125 | Navigate to the testbench and run a typical simulation (requires cicsim) 126 | 127 | ```bash 128 | cd ip/tt06_sar_sky130nm/sim/TT06_SAR 129 | make typical OPT="Debug" 130 | cicsim wave output_tran/tran_DebugLayGtKttTtVt.raw 131 | ``` 132 | The interesting signals are `v(xdut.sunsar_sar8b_cv_0.sarn)` and 133 | `v(xdut.sunsar_sar8b_cv_0.sarp)` which are the top plates of the CDAC. The 134 | inputs to the SAR is `v(ua[0])` and `v(ua[1])`. 135 | 136 | The main testbench is `ip/tt06_sar_sky130nm/sim/TT6_06/tran.spi` 137 | 138 | 139 | ### How to compile 140 | 141 | The SAR ADC is made with [ciccreator](https://github.com/wulffern/ciccreator) and 142 | [cicpy](https://github.com/wulffern/cicpy). 143 | 144 | The sources for the ADC are 145 | 146 | ``` bash 147 | ip/sun_sar9b_sky130nm/cic 148 | ├── ip.json # Object file, describes the object hierarchy of the circuits in the SAR 149 | ├── ip.spi # Spice file, describes the connectivity 150 | ├── capacitor.json # Object file for capacitors 151 | ├── dmos_sky130nm_core.json # Object file for transistors 152 | └── sky130.tech # Technology file for Skywater 130 nm 153 | ``` 154 | 155 | The SAR is pre-compiled, so you don't really need to compile it. The compiled files are 156 | in the `ip/sun_sar9b_sky130nm/design/` directory. 157 | 158 | If you want to try the compilation, then compile `ip/ciccreator` and install `ip/cicpy`, next 159 | 160 | ``` 161 | cd ip/sun_sar9b_sky130nm/work 162 | make ip 163 | ``` 164 | 165 | ### Verification plan 166 | 167 | Testbench folder `ip/TT06_SAR_SKY130NM/sim/TT06_SAR/` 168 | 169 | | Purpose | Testbench | corner | Status | Notes | 170 | |:-----------------------------------------------|:----------|:---------|--------|---------------------------------------| 171 | | SNDR, SFDR, ENOB, active current | tran | tfs + C | OK | python3 tran.py to plot FFT | 172 | | | tran | typ + RC | Not OK | RC extraction does not work yet | 173 | | Check power down after 2 sample, clock running | pwrdwn | typ | OK | | 174 | 175 | 176 | Results at [TT06\_SAR](https://github.com/wulffern/tt06-sar/blob/main/ip/tt06_sar_sky130nm/sim/TT06_SAR/TT06_SAR.md) 177 | 178 | Below is a Power Spectrum of a sinusoidal input signal 179 | 180 | ![typical fast slow FFT](tran_Lay_tfs.png) 181 | 182 | ### Known issues 183 | 184 | | Nr | Issue | Solution | Discovery | Resolved | 185 | |:---|:--------------------------------------|:---------|:-----------|:---------| 186 | | 1 | RC extraction removes coupling caps | | 2024-04-13 | | 187 | | | | | | | 188 | 189 | #### 1: RC extraction removes coupling caps 190 | Extracting R and C seems to remove coupling caps, which removes both the cap in 191 | the bootstrapped switch, and the SAR. As a result, simulations don't work. 192 | 193 | I make the RC extracted netlist with 194 | 195 | ``` bash 196 | cd ip/tt06_sar_sky130nm/work 197 | make lper 198 | ``` 199 | 200 | In that command, I try to match the RC extracted netlist to the schematic 201 | netlist. First I remove all the parasitic Cs, the parasitic Rs and remove the R 202 | nets ( (t|n)\d+ ). The resulting RC extracted netlist is not LVS clean. The m3 resistors in BSSW have been removed. 203 | 204 | I've also tried to change all parasitic resistors to 0.1 Ohm (`make lowres`), 205 | but the simulation still does not work. 206 | 207 | After a bit of digging it's clear that the cap between XCAP.B and XCAP.A in the 208 | BSSW is gone (it should be 0.3ish pF). There are almost no coupling caps, only 209 | caps to ground. 210 | 211 | So I'm resonably sure it's not a real issue. It's a tool issue. Let's see when 212 | the IC comes back. 213 | 214 | ## External hardware 215 | 216 | 217 | -------------------------------------------------------------------------------- /ip/tt06_sar_sky130nm/design/TT06_SAR_SKY130NM/tt_um_TT06_SAR_wulffern.sch: -------------------------------------------------------------------------------- 1 | v {xschem version=3.4.5 file_version=1.2 2 | } 3 | G {} 4 | K {} 5 | V {} 6 | S {} 7 | E {} 8 | T {8-bit successive approximation register analog-to-digital-converter} 70 -1030 0 0 0.8 0.8 {} 9 | T {Power decoupling} 360 -700 0 0 0.4 0.4 {} 10 | T {# Signal interface 11 | uio_out[0] : When the output DFFs sample SAR output. If it does not come, then clock is too fast 12 | uo_out[7:0] : Digital output. Two's complement 13 | ui_in[0] : Enable ADC. Useful to measure current consumption 14 | clk : Clock, ~ 4 MHz} 70 -960 0 0 0.4 0.4 {} 15 | T {Output capture} 680 -610 0 0 0.4 0.4 {} 16 | T {SAR core} 1190 -590 0 0 0.4 0.4 {} 17 | N 1090 -550 1130 -550 { 18 | lab=ua[1]} 19 | N 1090 -530 1130 -530 { 20 | lab=ua[0]} 21 | N 600 -460 640 -460 { 22 | lab=D<7>} 23 | N 600 -440 640 -440 { 24 | lab=D<6>} 25 | N 600 -420 640 -420 { 26 | lab=D<5>} 27 | N 600 -400 640 -400 { 28 | lab=D<4>} 29 | N 600 -380 640 -380 { 30 | lab=D<3>} 31 | N 600 -360 640 -360 { 32 | lab=D<2>} 33 | N 600 -340 640 -340 { 34 | lab=D<1>} 35 | N 600 -320 640 -320 { 36 | lab=D<0>} 37 | N 600 -480 640 -480 { 38 | lab=EN} 39 | N 600 -500 640 -500 { 40 | lab=CK_SAMPLE_BSSW} 41 | N 600 -520 640 -520 { 42 | lab=CK_SAMPLE} 43 | N 600 -540 640 -540 { 44 | lab=ui_in[0]} 45 | N 600 -560 640 -560 { 46 | lab=clk} 47 | N 600 -300 640 -300 { 48 | lab=uo_out[7]} 49 | N 600 -280 640 -280 { 50 | lab=uo_out[6]} 51 | N 600 -260 640 -260 { 52 | lab=uo_out[5]} 53 | N 600 -240 640 -240 { 54 | lab=uo_out[4]} 55 | N 600 -220 640 -220 { 56 | lab=uo_out[3]} 57 | N 600 -200 640 -200 { 58 | lab=uo_out[2]} 59 | N 600 -180 640 -180 { 60 | lab=uo_out[1]} 61 | N 600 -160 640 -160 { 62 | lab=uo_out[0]} 63 | N 600 -140 640 -140 { 64 | lab=DONE} 65 | N 600 -120 640 -120 { 66 | lab=VPWR} 67 | N 600 -100 640 -100 { 68 | lab=VGND} 69 | N 1090 -450 1130 -450 { 70 | lab=D<7>} 71 | N 1090 -430 1130 -430 { 72 | lab=D<6>} 73 | N 1090 -410 1130 -410 { 74 | lab=D<5>} 75 | N 1090 -390 1130 -390 { 76 | lab=D<4>} 77 | N 1090 -370 1130 -370 { 78 | lab=D<3>} 79 | N 1090 -350 1130 -350 { 80 | lab=D<2>} 81 | N 1090 -330 1130 -330 { 82 | lab=D<1>} 83 | N 1090 -310 1130 -310 { 84 | lab=D<0>} 85 | N 1090 -470 1130 -470 { 86 | lab=DONE} 87 | N 1090 -290 1130 -290 { 88 | lab=EN} 89 | N 1090 -250 1130 -250 { 90 | lab=CK_SAMPLE_BSSW} 91 | N 1090 -270 1130 -270 { 92 | lab=CK_SAMPLE} 93 | N 1090 -230 1130 -230 { 94 | lab=VPWR} 95 | N 1090 -210 1130 -210 { 96 | lab=VPWR} 97 | N 1090 -190 1130 -190 { 98 | lab=VGND} 99 | N 1090 -510 1130 -510 { 100 | lab=SARN} 101 | N 1090 -490 1130 -490 { 102 | lab=SARP} 103 | N 600 -80 640 -80 { 104 | lab=TIE_L} 105 | N 1360 -920 1400 -920 { 106 | lab=uio_out[7:1]} 107 | N 1360 -820 1410 -820 { 108 | lab=uio_oe[7:1]} 109 | N 1270 -820 1300 -820 { 110 | lab=TIE_L2} 111 | N 1270 -920 1300 -920 { 112 | lab=TIE_L1} 113 | N 1190 -820 1210 -820 { 114 | lab=TIE_L} 115 | N 1190 -920 1190 -820 { 116 | lab=TIE_L} 117 | N 1190 -920 1210 -920 { 118 | lab=TIE_L} 119 | N 130 -690 340 -690 { 120 | lab=VPWR} 121 | N 340 -690 340 -670 { 122 | lab=VPWR} 123 | N 340 -610 340 -90 { 124 | lab=VGND} 125 | N 120 -90 340 -90 { 126 | lab=VGND} 127 | N 590 -780 630 -780 { 128 | lab=VPWR} 129 | N 630 -780 650 -780 { 130 | lab=VPWR} 131 | N 650 -780 650 -760 { 132 | lab=VPWR} 133 | N 650 -780 750 -780 { 134 | lab=VPWR} 135 | N 750 -780 1010 -780 { 136 | lab=VPWR} 137 | N 750 -700 1010 -700 { 138 | lab=VGND} 139 | N 650 -700 750 -700 { 140 | lab=VGND} 141 | N 650 -720 650 -700 { 142 | lab=VGND} 143 | N 930 -740 970 -740 { 144 | lab=DONE} 145 | N 1050 -740 1090 -740 { 146 | lab=uio_out[0]} 147 | N 790 -740 830 -740 { 148 | lab=uio_oe[0]} 149 | N 230 -520 230 -510 { 150 | lab=clk} 151 | N 130 -520 230 -520 { 152 | lab=clk} 153 | N 940 -160 940 -120 { 154 | lab=VGND} 155 | N 940 -250 940 -220 { 156 | lab=CK_SAMPLE_BSSW} 157 | N 940 -250 1090 -250 { 158 | lab=CK_SAMPLE_BSSW} 159 | N 230 -450 230 -410 { 160 | lab=VGND} 161 | N 240 -200 240 -160 { 162 | lab=VGND} 163 | N 240 -300 240 -260 { 164 | lab=#net1} 165 | C {devices/ipin.sym} 130 -690 0 0 {name=p1 lab=VPWR} 166 | C {devices/ipin.sym} 120 -90 0 0 {name=p2 lab=VGND} 167 | C {devices/ipin.sym} 130 -240 0 0 {name=p3 lab=ui_in[7:0]} 168 | C {devices/opin.sym} 1510 -660 0 0 {name=p4 lab=uo_out[7:0]} 169 | C {devices/ipin.sym} 1700 -880 0 0 {name=p5 lab=uio_in[7:0]} 170 | C {devices/opin.sym} 1500 -920 0 0 {name=p6 lab=uio_out[7:0]} 171 | C {devices/opin.sym} 1500 -820 0 0 {name=p7 lab=uio_oe[7:0]} 172 | C {devices/iopin.sym} 130 -600 2 0 {name=p8 lab=ua[7:0]} 173 | C {devices/ipin.sym} 130 -560 0 0 {name=p9 lab=ena} 174 | C {devices/ipin.sym} 130 -520 0 0 {name=p10 lab=clk} 175 | C {devices/ipin.sym} 130 -480 0 0 {name=p11 lab=rst_n} 176 | C {SUN_SAR9B_SKY130NM/SUNSAR_SAR8B_CV.sym} 1150 -550 0 0 {name=x1 } 177 | C {devices/lab_wire.sym} 600 -460 0 0 {name=p12 sig_type=std_logic lab=D<7>} 178 | C {devices/lab_wire.sym} 600 -440 0 0 {name=p13 sig_type=std_logic lab=D<6>} 179 | C {devices/lab_wire.sym} 600 -420 0 0 {name=p14 sig_type=std_logic lab=D<5>} 180 | C {devices/lab_wire.sym} 600 -400 0 0 {name=p15 sig_type=std_logic lab=D<4>} 181 | C {devices/lab_wire.sym} 600 -380 0 0 {name=p16 sig_type=std_logic lab=D<3>} 182 | C {devices/lab_wire.sym} 600 -360 0 0 {name=p17 sig_type=std_logic lab=D<2>} 183 | C {devices/lab_wire.sym} 600 -340 0 0 {name=p18 sig_type=std_logic lab=D<1>} 184 | C {devices/lab_wire.sym} 600 -320 0 0 {name=p19 sig_type=std_logic lab=D<0>} 185 | C {devices/lab_wire.sym} 600 -480 0 0 {name=p20 sig_type=std_logic lab=EN} 186 | C {devices/lab_wire.sym} 600 -500 0 0 {name=p21 sig_type=std_logic lab=CK_SAMPLE_BSSW} 187 | C {devices/lab_wire.sym} 600 -520 0 0 {name=p22 sig_type=std_logic lab=CK_SAMPLE} 188 | C {devices/lab_wire.sym} 600 -540 0 0 {name=p23 sig_type=std_logic lab=ui_in[0]} 189 | C {devices/lab_wire.sym} 600 -560 0 0 {name=p24 sig_type=std_logic lab=clk} 190 | C {devices/lab_wire.sym} 600 -300 0 0 {name=p25 sig_type=std_logic lab=uo_out[7]} 191 | C {devices/lab_wire.sym} 600 -280 0 0 {name=p26 sig_type=std_logic lab=uo_out[6]} 192 | C {devices/lab_wire.sym} 600 -260 0 0 {name=p27 sig_type=std_logic lab=uo_out[5]} 193 | C {devices/lab_wire.sym} 600 -240 0 0 {name=p28 sig_type=std_logic lab=uo_out[4]} 194 | C {devices/lab_wire.sym} 600 -220 0 0 {name=p29 sig_type=std_logic lab=uo_out[3]} 195 | C {devices/lab_wire.sym} 600 -200 0 0 {name=p30 sig_type=std_logic lab=uo_out[2]} 196 | C {devices/lab_wire.sym} 600 -180 0 0 {name=p31 sig_type=std_logic lab=uo_out[1]} 197 | C {devices/lab_wire.sym} 600 -160 0 0 {name=p32 sig_type=std_logic lab=uo_out[0]} 198 | C {devices/lab_wire.sym} 600 -140 0 0 {name=p33 sig_type=std_logic lab=DONE} 199 | C {devices/lab_wire.sym} 600 -120 0 0 {name=p34 sig_type=std_logic lab=VPWR} 200 | C {devices/lab_wire.sym} 600 -100 0 0 {name=p35 sig_type=std_logic lab=VGND} 201 | C {devices/lab_wire.sym} 1090 -450 0 0 {name=p36 sig_type=std_logic lab=D<7>} 202 | C {devices/lab_wire.sym} 1090 -430 0 0 {name=p37 sig_type=std_logic lab=D<6>} 203 | C {devices/lab_wire.sym} 1090 -410 0 0 {name=p38 sig_type=std_logic lab=D<5>} 204 | C {devices/lab_wire.sym} 1090 -390 0 0 {name=p39 sig_type=std_logic lab=D<4>} 205 | C {devices/lab_wire.sym} 1090 -370 0 0 {name=p40 sig_type=std_logic lab=D<3>} 206 | C {devices/lab_wire.sym} 1090 -350 0 0 {name=p41 sig_type=std_logic lab=D<2>} 207 | C {devices/lab_wire.sym} 1090 -330 0 0 {name=p42 sig_type=std_logic lab=D<1>} 208 | C {devices/lab_wire.sym} 1090 -310 0 0 {name=p43 sig_type=std_logic lab=D<0>} 209 | C {devices/lab_wire.sym} 1090 -470 0 0 {name=p44 sig_type=std_logic lab=DONE} 210 | C {devices/lab_wire.sym} 1090 -290 0 0 {name=p45 sig_type=std_logic lab=EN} 211 | C {devices/lab_wire.sym} 1090 -250 0 0 {name=p46 sig_type=std_logic lab=CK_SAMPLE_BSSW} 212 | C {devices/lab_wire.sym} 1090 -270 0 0 {name=p47 sig_type=std_logic lab=CK_SAMPLE} 213 | C {devices/lab_wire.sym} 1090 -230 0 0 {name=p48 sig_type=std_logic lab=VPWR} 214 | C {devices/lab_wire.sym} 1090 -210 0 0 {name=p49 sig_type=std_logic lab=VPWR} 215 | C {devices/lab_wire.sym} 1090 -190 0 0 {name=p50 sig_type=std_logic lab=VGND} 216 | C {devices/lab_wire.sym} 1090 -550 0 0 {name=p51 sig_type=std_logic lab=ua[1]} 217 | C {devices/lab_wire.sym} 1090 -530 0 0 {name=p52 sig_type=std_logic lab=ua[0]} 218 | C {cborder/border_s.sym} 1260 -160 0 0 {user="Carsten Wulff" company="Carsten Wulff Software" 219 | name=C1[8:0]} 220 | C {devices/lab_wire.sym} 1090 -510 0 0 {name=p53 sig_type=std_logic lab=SARN} 221 | C {devices/lab_wire.sym} 1090 -490 0 0 {name=p54 sig_type=std_logic lab=SARP} 222 | C {SUN_SAR9B_SKY130NM/SUNSAR_CAPT8B_CV.sym} 660 -560 0 0 {name=x2 } 223 | C {sky130_fd_pr/res_generic_m4.sym} 1330 -820 1 0 {name=R1[7:1] 224 | W=0.3 225 | L=0.3 226 | model=res_generic_m4 227 | mult=1} 228 | C {sky130_fd_pr/res_generic_m4.sym} 1330 -920 1 0 {name=R2[7:1] 229 | W=0.3 230 | L=0.3 231 | model=res_generic_m4 232 | mult=1} 233 | C {devices/lab_wire.sym} 600 -80 0 0 {name=p55 sig_type=std_logic lab=TIE_L} 234 | C {sky130_fd_pr/res_generic_m4.sym} 1240 -920 1 0 {name=R3 235 | W=0.3 236 | L=0.3 237 | model=res_generic_m4 238 | mult=1} 239 | C {sky130_fd_pr/res_generic_m4.sym} 1240 -820 1 0 {name=R4 240 | W=0.3 241 | L=0.3 242 | model=res_generic_m4 243 | mult=1} 244 | C {devices/lab_wire.sym} 1190 -865 0 0 {name=p56 sig_type=std_logic lab=TIE_L} 245 | C {devices/lab_wire.sym} 1290 -920 0 0 {name=p57 sig_type=std_logic lab=TIE_L1} 246 | C {devices/lab_wire.sym} 1295 -820 0 0 {name=p58 sig_type=std_logic lab=TIE_L2} 247 | C {sky130_fd_pr/cap_mim_m3_1.sym} 340 -640 0 0 {name=C2[8:0] model=cap_mim_m3_1 W=18 L=18 MF=1 spiceprefix=X} 248 | C {SUN_TR_SKY130NM/SUNTR_BFX1_CV.sym} 970 -740 0 0 {name=x3 } 249 | C {SUN_TR_SKY130NM/SUNTR_TIEH_CV.sym} 750 -700 0 0 {name=x4 } 250 | C {SUN_TR_SKY130NM/SUNTR_TAPCELLB_CV.sym} 650 -740 0 0 {name=x5 } 251 | C {devices/lab_wire.sym} 590 -780 0 0 {name=p59 sig_type=std_logic lab=VPWR} 252 | C {devices/lab_wire.sym} 930 -740 0 0 {name=p60 sig_type=std_logic lab=DONE} 253 | C {devices/lab_wire.sym} 1400 -920 0 0 {name=p61 sig_type=std_logic lab=uio_out[7:1]} 254 | C {devices/lab_wire.sym} 1410 -820 0 0 {name=p62 sig_type=std_logic lab=uio_oe[7:1]} 255 | C {devices/lab_wire.sym} 830 -740 0 0 {name=p63 sig_type=std_logic lab=uio_oe[0]} 256 | C {devices/lab_wire.sym} 1090 -740 0 0 {name=p64 sig_type=std_logic lab=uio_out[0]} 257 | C {devices/lab_wire.sym} 930 -700 0 0 {name=p65 sig_type=std_logic lab=VGND 258 | } 259 | C {sky130_fd_pr/diode.sym} 940 -190 0 0 {name=D1 260 | model=diode_pw2nd_05v5 261 | area=2.025e11 262 | pj=1.8e6 263 | } 264 | C {devices/lab_wire.sym} 940 -120 0 1 {name=p66 sig_type=std_logic lab=VGND} 265 | C {sky130_fd_pr/diode.sym} 230 -480 0 0 {name=D2 266 | model=diode_pw2nd_05v5 267 | area=2.025e11 268 | pj=1.8e6 269 | } 270 | C {devices/lab_wire.sym} 230 -410 0 1 {name=p67 sig_type=std_logic lab=VGND} 271 | C {sky130_fd_pr/diode.sym} 240 -230 0 0 {name=D3 272 | model=diode_pw2nd_05v5 273 | area=2.025e11 274 | pj=1.8e6 275 | } 276 | C {devices/lab_wire.sym} 240 -160 0 1 {name=p68 sig_type=std_logic lab=VGND} 277 | C {devices/lab_wire.sym} 240 -300 0 1 {name=p69 sig_type=std_logic lab=ui_in[0]} 278 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Apache License 2 | Version 2.0, January 2004 3 | http://www.apache.org/licenses/ 4 | 5 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 6 | 7 | 1. Definitions. 8 | 9 | "License" shall mean the terms and conditions for use, reproduction, 10 | and distribution as defined by Sections 1 through 9 of this document. 11 | 12 | "Licensor" shall mean the copyright owner or entity authorized by 13 | the copyright owner that is granting the License. 14 | 15 | "Legal Entity" shall mean the union of the acting entity and all 16 | other entities that control, are controlled by, or are under common 17 | control with that entity. For the purposes of this definition, 18 | "control" means (i) the power, direct or indirect, to cause the 19 | direction or management of such entity, whether by contract or 20 | otherwise, or (ii) ownership of fifty percent (50%) or more of the 21 | outstanding shares, or (iii) beneficial ownership of such entity. 22 | 23 | "You" (or "Your") shall mean an individual or Legal Entity 24 | exercising permissions granted by this License. 25 | 26 | "Source" form shall mean the preferred form for making modifications, 27 | including but not limited to software source code, documentation 28 | source, and configuration files. 29 | 30 | "Object" form shall mean any form resulting from mechanical 31 | transformation or translation of a Source form, including but 32 | not limited to compiled object code, generated documentation, 33 | and conversions to other media types. 34 | 35 | "Work" shall mean the work of authorship, whether in Source or 36 | Object form, made available under the License, as indicated by a 37 | copyright notice that is included in or attached to the work 38 | (an example is provided in the Appendix below). 39 | 40 | "Derivative Works" shall mean any work, whether in Source or Object 41 | form, that is based on (or derived from) the Work and for which the 42 | editorial revisions, annotations, elaborations, or other modifications 43 | represent, as a whole, an original work of authorship. For the purposes 44 | of this License, Derivative Works shall not include works that remain 45 | separable from, or merely link (or bind by name) to the interfaces of, 46 | the Work and Derivative Works thereof. 47 | 48 | "Contribution" shall mean any work of authorship, including 49 | the original version of the Work and any modifications or additions 50 | to that Work or Derivative Works thereof, that is intentionally 51 | submitted to Licensor for inclusion in the Work by the copyright owner 52 | or by an individual or Legal Entity authorized to submit on behalf of 53 | the copyright owner. For the purposes of this definition, "submitted" 54 | means any form of electronic, verbal, or written communication sent 55 | to the Licensor or its representatives, including but not limited to 56 | communication on electronic mailing lists, source code control systems, 57 | and issue tracking systems that are managed by, or on behalf of, the 58 | Licensor for the purpose of discussing and improving the Work, but 59 | excluding communication that is conspicuously marked or otherwise 60 | designated in writing by the copyright owner as "Not a Contribution." 61 | 62 | "Contributor" shall mean Licensor and any individual or Legal Entity 63 | on behalf of whom a Contribution has been received by Licensor and 64 | subsequently incorporated within the Work. 65 | 66 | 2. Grant of Copyright License. Subject to the terms and conditions of 67 | this License, each Contributor hereby grants to You a perpetual, 68 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 69 | copyright license to reproduce, prepare Derivative Works of, 70 | publicly display, publicly perform, sublicense, and distribute the 71 | Work and such Derivative Works in Source or Object form. 72 | 73 | 3. Grant of Patent License. Subject to the terms and conditions of 74 | this License, each Contributor hereby grants to You a perpetual, 75 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 76 | (except as stated in this section) patent license to make, have made, 77 | use, offer to sell, sell, import, and otherwise transfer the Work, 78 | where such license applies only to those patent claims licensable 79 | by such Contributor that are necessarily infringed by their 80 | Contribution(s) alone or by combination of their Contribution(s) 81 | with the Work to which such Contribution(s) was submitted. If You 82 | institute patent litigation against any entity (including a 83 | cross-claim or counterclaim in a lawsuit) alleging that the Work 84 | or a Contribution incorporated within the Work constitutes direct 85 | or contributory patent infringement, then any patent licenses 86 | granted to You under this License for that Work shall terminate 87 | as of the date such litigation is filed. 88 | 89 | 4. Redistribution. You may reproduce and distribute copies of the 90 | Work or Derivative Works thereof in any medium, with or without 91 | modifications, and in Source or Object form, provided that You 92 | meet the following conditions: 93 | 94 | (a) You must give any other recipients of the Work or 95 | Derivative Works a copy of this License; and 96 | 97 | (b) You must cause any modified files to carry prominent notices 98 | stating that You changed the files; and 99 | 100 | (c) You must retain, in the Source form of any Derivative Works 101 | that You distribute, all copyright, patent, trademark, and 102 | attribution notices from the Source form of the Work, 103 | excluding those notices that do not pertain to any part of 104 | the Derivative Works; and 105 | 106 | (d) If the Work includes a "NOTICE" text file as part of its 107 | distribution, then any Derivative Works that You distribute must 108 | include a readable copy of the attribution notices contained 109 | within such NOTICE file, excluding those notices that do not 110 | pertain to any part of the Derivative Works, in at least one 111 | of the following places: within a NOTICE text file distributed 112 | as part of the Derivative Works; within the Source form or 113 | documentation, if provided along with the Derivative Works; or, 114 | within a display generated by the Derivative Works, if and 115 | wherever such third-party notices normally appear. The contents 116 | of the NOTICE file are for informational purposes only and 117 | do not modify the License. You may add Your own attribution 118 | notices within Derivative Works that You distribute, alongside 119 | or as an addendum to the NOTICE text from the Work, provided 120 | that such additional attribution notices cannot be construed 121 | as modifying the License. 122 | 123 | You may add Your own copyright statement to Your modifications and 124 | may provide additional or different license terms and conditions 125 | for use, reproduction, or distribution of Your modifications, or 126 | for any such Derivative Works as a whole, provided Your use, 127 | reproduction, and distribution of the Work otherwise complies with 128 | the conditions stated in this License. 129 | 130 | 5. Submission of Contributions. Unless You explicitly state otherwise, 131 | any Contribution intentionally submitted for inclusion in the Work 132 | by You to the Licensor shall be under the terms and conditions of 133 | this License, without any additional terms or conditions. 134 | Notwithstanding the above, nothing herein shall supersede or modify 135 | the terms of any separate license agreement you may have executed 136 | with Licensor regarding such Contributions. 137 | 138 | 6. Trademarks. This License does not grant permission to use the trade 139 | names, trademarks, service marks, or product names of the Licensor, 140 | except as required for reasonable and customary use in describing the 141 | origin of the Work and reproducing the content of the NOTICE file. 142 | 143 | 7. Disclaimer of Warranty. Unless required by applicable law or 144 | agreed to in writing, Licensor provides the Work (and each 145 | Contributor provides its Contributions) on an "AS IS" BASIS, 146 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 147 | implied, including, without limitation, any warranties or conditions 148 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A 149 | PARTICULAR PURPOSE. You are solely responsible for determining the 150 | appropriateness of using or redistributing the Work and assume any 151 | risks associated with Your exercise of permissions under this License. 152 | 153 | 8. Limitation of Liability. In no event and under no legal theory, 154 | whether in tort (including negligence), contract, or otherwise, 155 | unless required by applicable law (such as deliberate and grossly 156 | negligent acts) or agreed to in writing, shall any Contributor be 157 | liable to You for damages, including any direct, indirect, special, 158 | incidental, or consequential damages of any character arising as a 159 | result of this License or out of the use or inability to use the 160 | Work (including but not limited to damages for loss of goodwill, 161 | work stoppage, computer failure or malfunction, or any and all 162 | other commercial damages or losses), even if such Contributor 163 | has been advised of the possibility of such damages. 164 | 165 | 9. Accepting Warranty or Additional Liability. While redistributing 166 | the Work or Derivative Works thereof, You may choose to offer, 167 | and charge a fee for, acceptance of support, warranty, indemnity, 168 | or other liability obligations and/or rights consistent with this 169 | License. However, in accepting such obligations, You may act only 170 | on Your own behalf and on Your sole responsibility, not on behalf 171 | of any other Contributor, and only if You agree to indemnify, 172 | defend, and hold each Contributor harmless for any liability 173 | incurred by, or claims asserted against, such Contributor by reason 174 | of your accepting any such warranty or additional liability. 175 | 176 | END OF TERMS AND CONDITIONS 177 | 178 | APPENDIX: How to apply the Apache License to your work. 179 | 180 | To apply the Apache License to your work, attach the following 181 | boilerplate notice, with the fields enclosed by brackets "[]" 182 | replaced with your own identifying information. (Don't include 183 | the brackets!) The text should be enclosed in the appropriate 184 | comment syntax for the file format. We also recommend that a 185 | file or class name and description of purpose be included on the 186 | same "printed page" as the copyright notice for easier 187 | identification within third-party archives. 188 | 189 | Copyright [yyyy] [name of copyright owner] 190 | 191 | Licensed under the Apache License, Version 2.0 (the "License"); 192 | you may not use this file except in compliance with the License. 193 | You may obtain a copy of the License at 194 | 195 | http://www.apache.org/licenses/LICENSE-2.0 196 | 197 | Unless required by applicable law or agreed to in writing, software 198 | distributed under the License is distributed on an "AS IS" BASIS, 199 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 200 | See the License for the specific language governing permissions and 201 | limitations under the License. 202 | -------------------------------------------------------------------------------- /ip/tt06_sar_sky130nm/cic/sky130.tech: -------------------------------------------------------------------------------- 1 | { 2 | "version" : 2, 3 | "layers" : { 4 | "CO" : { "alias" : "", "number" : 33, "datatype" : -1, "material" : "cut", "previous" : "PO", "next" : "M1", "color" : "yellow"}, 5 | "NDIFFC" : { "alias" : "ndcontact", "number" : 33, "datatype" : -1, "material" : "cut", "previous" : "NDIFF", "next" : "M1", "color" : "yellow"}, 6 | "PDIFFC" : { "alias" : "pdcontact", "number" : 33, "datatype" : -1, "material" : "cut", "previous" : "PDIFF", "next" : "M1", "color" : "yellow"}, 7 | "PTAPC" : { "alias" : "ptapc", "number" : 33, "datatype" : -1, "material" : "cut", "previous" : "PDIFF", "next" : "M1", "color" : "yellow"}, 8 | "NTAPC" : { "alias" : "ntapc", "number" : 33, "datatype" : -1, "material" : "cut", "previous" : "PDIFF", "next" : "M1", "color" : "yellow"}, 9 | "PCO" : { "alias" : "pcontact", "number" : 33, "datatype" : -1, "material" : "cut", "previous" : "PO", "next" : "M1", "color" : "yellow"}, 10 | 11 | "OD" : { "alias" : "","number" : 22, "datatype" : -1, "material" : "diffusion", "previous" : "", "next" : "PTAPC", "pin" : "OD_pin", "color" : "green" }, 12 | "PDIFF" : { "alias" : "pdiff","number" : 22, "datatype" : -1, "material" : "diffusion", "previous" : "", "next" : "CO", "pin" : "OD_pin", "color" : "green" }, 13 | "PTAP" : { "alias" : "ptap","number" : 22, "datatype" : -1, "material" : "diffusion", "previous" : "", "next" : "CO", "pin" : "OD_pin", "color" : "green" }, 14 | "NTAP" : { "alias" : "ntap","number" : 22, "datatype" : -1, "material" : "diffusion", "previous" : "", "next" : "CO", "pin" : "OD_pin", "color" : "green" }, 15 | "PDIFFB" : { "alias" : "pdiff","number" : 22, "datatype" : -1, "material" : "diffusion", "previous" : "", "next" : "CO", "pin" : "OD_pin", "color" : "green" }, 16 | "NDIFF" : { "alias" : "ndiff","number" : 22, "datatype" : -1, "material" : "diffusion", "previous" : "", "next" : "CO", "pin" : "OD_pin", "color" : "green" }, 17 | "NDIFFB" : { "alias" : "ndiff","number" : 22, "datatype" : -1, "material" : "diffusion", "previous" : "", "next" : "CO", "pin" : "OD_pin", "color" : "green" }, 18 | 19 | "DMYPO" : { "alias" : "poly","number" : 30, "datatype" : -1, "material" : "poly", "previous" : "", "next" : "CO", "pin" : "PO_pin" , "color" : "red"}, 20 | "PO" : { "alias" : "poly","number" : 30, "datatype" : -1, "material" : "poly", "previous" : "", "next" : "CO", "pin" : "PO_pin" , "color" : "red"}, 21 | "OP" : { "alias" : "","number" : 30, "datatype" : -1, "material" : "poly", "previous" : "", "next" : "CO", "pin" : "PO_pin" , "color" : "yellow"}, 22 | "POB" : { "alias" : "poly","number" : 30, "datatype" : -1, "material" : "implant", "previous" : "", "next" : "CO", "pin" : "PO_pin" , "color" : "red"}, 23 | 24 | "POXR" : { "alias" : "xpolyres","number" : 30, "datatype" : -1, "material" : "poly", "previous" : "", "next" : "CO", "pin" : "PO_pin" , "color" : "red"}, 25 | "CPOXR" : { "alias" : "xpolycontact","number" : 30, "datatype" : -1, "material" : "poly", "previous" : "", "next" : "CO", "pin" : "PO_pin" , "color" : "red"}, 26 | "POR" : { "alias" : "ppolyres","number" : 30, "datatype" : -1, "material" : "poly", "previous" : "", "next" : "CO", "pin" : "PO_pin" , "color" : "red"}, 27 | "CPOR" : { "alias" : "polycontact","number" : 30, "datatype" : -1, "material" : "poly", "previous" : "", "next" : "CO", "pin" : "PO_pin" , "color" : "red"}, 28 | 29 | "PO_pin" : { "alias" : "","number" : 30, "datatype" : -1 }, 30 | "M1" : { "alias" : "locali", 31 | "number" : 34, "datatype": -1, 32 | "material" : "metal", 33 | "previous" : "", 34 | "next" : "VIA1", 35 | "pin" : "M1_pin" , 36 | "res" : "M1_res", 37 | "color" : "blue" 38 | }, 39 | 40 | "M1_pin" : { "alias" : "", "number" : 34, "datatype" : 237, "material" : "implant","fill":"fill","color" : "blue"}, 41 | "M1_res" : { "alias" : "rlocali", "number" : 110, "datatype" : 11, "material" : "metalres"}, 42 | 43 | "M2" : { "alias" : "m1","number" : 36, "datatype" : -1, "material" : "metal", "previous" : "VIA1", "next" : "VIA2", "pin" : "M2_pin" , "res" : "M2_res", "color" : "goldenrod" }, 44 | "M2_pin" : { "alias" : "","number" : 36, "datatype" : 237, "material" : "implant","fill":"fill","color" : "goldenrod"}, 45 | "M2_res" : { "alias" : "rm1","number" : 110, "datatype" : 12, "material" : "metalres"}, 46 | 47 | "M3" : { "alias" : "m2","number" : 42, "datatype" : -1, "material" : "metal", "previous" : "VIA2", "next" : "VIA3", "pin" : "M3_pin" , "res" : "M3_res", "color" : "aqua"}, 48 | "M3_pin" : { "alias" : "","number" : 42, "datatype" : 237, "material" : "implant","fill":"fill","color" : "aqua"}, 49 | "M3_res" : { "alias" : "rm2","number" : 110, "datatype" : 13, "material" : "metalres"}, 50 | 51 | "M4" : { "alias" : "m3","number" : 46, "datatype" : -1, "material" : "metal", "previous" : "VIA3", "next" : "VIA4", "pin" : "M4_pin" , "res" : "M4_res", "color" : "darkgreen"}, 52 | "M4_pin" : { "alias" : "","number" : 46, "datatype" : 237, "material" : "implant","fill":"fill","color" : "darkgreen"}, 53 | "M4_res" : { "alias" : "rm3","number" : 110, "datatype" : 14, "material" : "metalres"}, 54 | 55 | "M5" : { "alias" : "m4","number" : 81, "datatype" : -1, "material" : "metal", "previous" : "VIA4", "next" : "VIA5", "pin" : "M5_pin", "res" : "M5_res", "color" : "brown" }, 56 | "M5_pin" : { "alias" : "","number" : 81, "datatype" : 237, "material" : "implant","fill":"fill","color" : "brown"}, 57 | "M5_res" : { "alias" : "rm4","number" : 110, "datatype" : 15, "material" : "metalres"}, 58 | 59 | "VIA1" : { "alias" : "viali","number" : 35, "datatype" : -1, "material" : "cut", "previous" : "M1", "next" : "M2" ,"color" : "blue","fill" : "fill"}, 60 | "VIA2" : { "alias" : "v1","number" : 38, "datatype" : -1, "material" : "cut", "previous" : "M2", "next" : "M3" ,"color" : "yellow","fill" : "fill"}, 61 | "VIA3" : { "alias" : "v2","number" : 40, "datatype" : -1, "material" : "cut", "previous" : "M3", "next" : "M4" ,"color" : "cyan","fill" : "fill"}, 62 | "VIA4" : { "alias" : "v3","number" : 41, "datatype" : -1, "material" : "cut", "previous" : "M4", "next" : "M5" ,"color" : "green","fill" : "fill"}, 63 | "VIA5" : { "alias" : "v4","number" : 82, "datatype" : -1, "material" : "cut", "previous" : "M5", "next" : "M6" }, 64 | "PR" : { "alias" : "","number" : 0, "datatype" : 20 ,"fill" : "nofill","color" : "red"}, 65 | 66 | "NW" : { "alias" : "nwell","number" : 21, "datatype" : -1 , "material" : "implant", "color" : "red","fill" : "nofill"}, 67 | "PP" : { "alias" : "pdiff","number" : 31, "datatype" : -1 , "material" : "implant", "color" : "pink","fill" : "nofill"}, 68 | "PPE" : { "alias" : "pdiff","number" : 31, "datatype" : -1 , "material" : "implant", "color" : "pink","fill" : "nofill"}, 69 | "NP" : { "alias" : "ndiff","number" : 32, "datatype" : -1 , "material" : "implant", "color" : "cyan","fill" : "nofill"}, 70 | "NPE" : { "alias" : "ndiff","number" : 32, "datatype" : -1 , "material" : "implant", "color" : "cyan","fill" : "nofill"}, 71 | 72 | 73 | "NWT" : { "alias" : "nwell","number" : 21, "datatype" : -1 , "material" : "implant", "color" : "red","fill" : "nofill"}, 74 | "PWT" : { "alias" : "pwell","number" : 21, "datatype" : -1 , "material" : "implant", "color" : "red","fill" : "nofill"}, 75 | "NLVT" : { "alias" : "nmoslvt","number" : 21, "datatype" : -1 , "material" : "implant", "color" : "red","fill" : "nofill"}, 76 | "PLVT" : { "alias" : "pmoslvt","number" : 21, "datatype" : -1 , "material" : "implant", "color" : "red","fill" : "nofill"}, 77 | "PPT" : { "alias" : "","number" : 31, "datatype" : -1 , "material" : "implant", "color" : "pink","fill" : "nofill"}, 78 | "NPT" : { "alias" : "","number" : 32, "datatype" : -1 , "material" : "implant", "color" : "cyan","fill" : "nofill"}, 79 | 80 | 81 | 82 | "TXT" : { "alias" : "","number" : 58, "datatype" :-1 , "material" : "marker" , "color" : "black","fill" : "fill"} 83 | }, 84 | "technology" :{ 85 | "gamma" : 200, 86 | "grid" : 5, 87 | "spiceunit":1, 88 | "techlib" : "sky130A", 89 | "devices" : { 90 | "rppo" : { "name" : "sky130_fd_pr__res_high_po", 91 | "devicetype" : "XR", 92 | "ports" : ["P","M","B"], 93 | "propertymap" : { 94 | "l" : { "name" : "length", "str" : ""}, 95 | "w" : { "name" : "width", "str" : ""} 96 | } 97 | }, 98 | "mresM1" : { "name" : "sky130_fd_pr__res_generic_l1", 99 | "devicetype" : "R", 100 | "ports" : ["M","P"], 101 | "propertymap" : { 102 | "l" : { "name" : "length", "str" : ""}, 103 | "w" : { "name" : "width", "str" : ""} 104 | } 105 | }, 106 | "mresM2" : { "inherit" : "mresM1", "name" : "sky130_fd_pr__res_generic_m1"}, 107 | "mresM3" : { "inherit" : "mresM1", "name" : "sky130_fd_pr__res_generic_m2"}, 108 | "mresM4" : { "inherit" : "mresM1", "name" : "sky130_fd_pr__res_generic_m3"}, 109 | "nch_lvt" : { "name" : "sky130_fd_pr__nfet_01v8_lvt", "ports" : ["D","G","S","B"], 110 | "devicetype" : "XM", 111 | "propertymap" : { 112 | "l" : { "name" : "length", "str" : ""}, 113 | "nf" : { "name" : "nf", "str" : ""}, 114 | "w" : { "name" : "width", "str" : ""} 115 | } 116 | }, 117 | "pch_lvt" : { "inherit" : "nch_lvt", "devicetype" : "XM", "name" : "sky130_fd_pr__pfet_01v8_lvt" }, 118 | "pch" : { "inherit" : "nch_lvt", "devicetype" : "XM", "name" : "sky130_fd_pr__pfet_01v8" }, 119 | "nch" : { "inherit" : "nch_lvt", "devicetype" : "XM", "name" : "sky130_fd_pr__nfet_01v8" } 120 | 121 | }, 122 | "symbol_lib" : "cpdk", 123 | "symbol_libs" : ["../../cpdk/design/cic", 124 | "../../cpdk/design/cic_wbulk", 125 | "$PDK_ROOT/sky130B/libs.tech/xschem/sky130_fd_pr", 126 | "../../sun_tr_sky130nm/design/SUN_TR_SKY130NM" 127 | ] 128 | }, 129 | "rules" : { 130 | "ROUTE": { "horizontalgrid": 18, "verticalgrid" : 22 }, 131 | "CELL" : { "space" : 40, "digitalspace" : 18 }, 132 | 133 | "PPT" : { "enclosure" : 0}, 134 | "NPT" : { "enclosure" : 0}, 135 | "NWT" : { "enclosure" : 0}, 136 | "PFIELD" : { "enclosure" : 0, "digitalspace" : 0}, 137 | 138 | "PP" : { "enclosure" : 20, "ODencOpposite" : 20,"digitalspace" :0}, 139 | "NP" : { "enclosure" : 20, "ODencOpposite" : 20,"digitalspace" :0}, 140 | "NW" : { "enclosure" : 20, "digitalspace" : 0}, 141 | 142 | 143 | "CO" : { "space" : 10, "width" : 8 , "height" : 8}, 144 | "PTAPC" : { "space" : 0, "width" : 20 , "height" : 20}, 145 | "VIA1" : { "space" : 12, "width" : 14 , "height" : 14}, 146 | "VIA2" : { "space" : 12, "width" : 14 , "height" : 14}, 147 | "VIA3" : { "space" : 12, "width" : 16 , "height" : 16}, 148 | "VIA4" : { "space" : 12, "width" : 16 , "height" : 16}, 149 | "VIA5" : { "space" : 12, "width" : 16 , "height" : 16}, 150 | 151 | "PDIFF" :{ "PTAPCencOpposite" : 4, "enclosure" : 4,"PTAPCenclosure" : 4}, 152 | "PTAP" :{ "PTAPCencOpposite" : 4, "enclosure" : 4,"PTAPCenclosure" : 4}, 153 | 154 | 155 | "PLVT" : { "space" : 30, "width" : 9 , "mingatelength" : 9, "enclosure" : 2}, 156 | "NLVT" : { "space" : 30, "width" : 9 , "mingatelength" : 9, "enclosure" : 2}, 157 | "PO" : { "space" : 30, "width" : 9 , "mingatelength" : 9, "enclosure" : 2}, 158 | "POB" : { "space" : 30, "width" : 9 , "mingatelength" : 9, "enclosure" : 2}, 159 | 160 | "OD" : { "space" : 14, "enclosure" : 4, "PTAPCenclosure" : 4, "COencOpposite" : 4, "PTAPCencOpposite" : 4}, 161 | "ODB" : { "space" : 14, "enclosure" : 4, "COencOpposite" : 4}, 162 | 163 | "NDIFFC" : { "width" : 10}, 164 | "PDIFFC" : { "width" : 10}, 165 | 166 | "M1" : { "space" : 15, "ana_width": 15, "cap_width" : 15, "width" : 15, "minwidth":15, "VIA1enclosure" : 1.5, "VIA1encOpposite" : 3, "capspace" : 16, "PTAPCenclosure": 0}, 167 | "M2" : { "space" : 15, "width" : 15, "minwidth":15, "VIA1encOpposite" : 3, "VIA1enclosure" : 1.5, "VIA2encOpposite" : 3, "VIA2enclosure" : 1.5, "capspace" : 16}, 168 | "M3" : { "space" : 16, "width" : 19, "minwidth":15 , "VIA2enclosure" : 1.5, "VIA2encOpposite" : 3, "VIA3enclosure" : 1.5,"VIA3encOpposite" : 3, "capspace" : 16}, 169 | "M4" : { "space" : 18, "width" : 19, "minwidth":15 , "cap_width" : 20, "VIA3enclosure" : 1.5, "VIA3encOpposite" : 3,"VIA4enclosure" : 1.5, "VIA4encOpposite" : 3, "capspace" : 16}, 170 | "M5" : { "space" : 18, "width" : 19, "minwidth":15 , "cap_width" : 20, "VIA4enclosure" : 1.5, "VIA4encOpposite" : 3,"VIA5enclosure" : 1.5, "VIA5encOpposite" : 3, "capspace" : 16}, 171 | 172 | 173 | "OP" : { "POenclosure" : 0, "POencOpposite" : 40}, 174 | "RE" : { "POenclosure" : 48}, 175 | "PRES" : { "POenclosure" : 48} 176 | 177 | 178 | } 179 | } 180 | -------------------------------------------------------------------------------- /reports/drc.log: -------------------------------------------------------------------------------- 1 | 2 | Magic 8.3 revision 473 - Compiled on Fri Apr 12 14:38:31 CEST 2024. 3 | Starting magic under Tcl interpreter 4 | Using the terminal as the console. 5 | Using NULL graphics device. 6 | (Magic) SigWatchFile2: Invalid argument 7 | Processing system .magicrc file 8 | Sourcing design .magicrc for technology sky130A ... 9 | 2 Magic internal units = 1 Lambda 10 | Input style sky130(): scaleFactor=2, multiplier=2 11 | The following types are not handled by extraction and will be treated as non-electrical types: 12 | ubm 13 | Scaled tech values by 2 / 1 to match internal grid scaling 14 | Loading sky130A Device Generator Menu ... 15 | Loading "drc/tt_um_TT06_SAR_wulffern_drc.tcl" from command line. 16 | File <../design/TT06_SAR_SKY130NM/tt_um_TT06_SAR_wulffern.mag> is already locked by pid 32074. Opening read-only. 17 | Cell tt_um_TT06_SAR_wulffern read from path ../design/TT06_SAR_SKY130NM 18 | Usage: logcommands [start|stop|update|suspend|resume [filename]] 19 | Coordinate value cannot be parsed: assuming 0 20 | File <../design/TT06_SAR_SKY130NM/tt_um_TT06_SAR_done.mag> is already locked by pid 32074. Opening read-only. 21 | Cell tt_um_TT06_SAR_done read from path ../design/TT06_SAR_SKY130NM 22 | Scaled magic input cell tt_um_TT06_SAR_done geometry by factor of 2 23 | File <../design/TT06_SAR_SKY130NM/cut_M1M2_2x1.mag> is already locked by pid 32074. Opening read-only. 24 | Cell cut_M1M2_2x1 read from path ../design/TT06_SAR_SKY130NM 25 | Scaled magic input cell cut_M1M2_2x1 geometry by factor of 2 26 | File <../design/TT06_SAR_SKY130NM/../SUN_TR_SKY130NM/SUNTR_TAPCELLB_CV.mag> is already locked by pid 32074. Opening read-only. 27 | Cell SUNTR_TAPCELLB_CV read from path ../design/TT06_SAR_SKY130NM/../SUN_TR_SKY130NM 28 | Scaled magic input cell SUNTR_TAPCELLB_CV geometry by factor of 2 29 | File <../design/TT06_SAR_SKY130NM/../SUN_TR_SKY130NM/SUNTR_cut_M1M4_2x1.mag> is already locked by pid 32074. Opening read-only. 30 | Cell SUNTR_cut_M1M4_2x1 read from path ../design/TT06_SAR_SKY130NM/../SUN_TR_SKY130NM 31 | Scaled magic input cell SUNTR_cut_M1M4_2x1 geometry by factor of 2 32 | File <../design/TT06_SAR_SKY130NM/../SUN_TR_SKY130NM/SUNTR_PCHDL.mag> is already locked by pid 32074. Opening read-only. 33 | Cell SUNTR_PCHDL read from path ../design/TT06_SAR_SKY130NM/../SUN_TR_SKY130NM 34 | Scaled magic input cell SUNTR_PCHDL geometry by factor of 2 35 | File <../design/TT06_SAR_SKY130NM/../SUN_TR_SKY130NM/SUNTR_NCHDL.mag> is already locked by pid 32074. Opening read-only. 36 | Cell SUNTR_NCHDL read from path ../design/TT06_SAR_SKY130NM/../SUN_TR_SKY130NM 37 | Scaled magic input cell SUNTR_NCHDL geometry by factor of 2 38 | File <../design/TT06_SAR_SKY130NM/../SUN_TR_SKY130NM/SUNTR_TIEH_CV.mag> is already locked by pid 32074. Opening read-only. 39 | Cell SUNTR_TIEH_CV read from path ../design/TT06_SAR_SKY130NM/../SUN_TR_SKY130NM 40 | Scaled magic input cell SUNTR_TIEH_CV geometry by factor of 2 41 | File <../design/TT06_SAR_SKY130NM/../SUN_TR_SKY130NM/SUNTR_BFX1_CV.mag> is already locked by pid 32074. Opening read-only. 42 | Cell SUNTR_BFX1_CV read from path ../design/TT06_SAR_SKY130NM/../SUN_TR_SKY130NM 43 | Scaled magic input cell SUNTR_BFX1_CV geometry by factor of 2 44 | File <../design/TT06_SAR_SKY130NM/TT06SAR_NDIO.mag> is already locked by pid 32074. Opening read-only. 45 | Cell TT06SAR_NDIO read from path ../design/TT06_SAR_SKY130NM 46 | File <../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM/SUNSAR_SAR8B_CV.mag> is already locked by pid 32074. Opening read-only. 47 | Cell SUNSAR_SAR8B_CV read from path ../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM 48 | File <../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM/SUNSAR_CDAC7_CV.mag> is already locked by pid 32074. Opening read-only. 49 | Cell SUNSAR_CDAC7_CV read from path ../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM 50 | Scaled magic input cell SUNSAR_CDAC7_CV geometry by factor of 2 51 | File <../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM/SUNSAR_cut_M2M3_1x2.mag> is already locked by pid 32074. Opening read-only. 52 | Cell SUNSAR_cut_M2M3_1x2 read from path ../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM 53 | Scaled magic input cell SUNSAR_cut_M2M3_1x2 geometry by factor of 2 54 | File <../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM/SUNSAR_cut_M1M3_2x1.mag> is already locked by pid 32074. Opening read-only. 55 | Cell SUNSAR_cut_M1M3_2x1 read from path ../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM 56 | Scaled magic input cell SUNSAR_cut_M1M3_2x1 geometry by factor of 2 57 | File <../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM/SUNSAR_CAP32C_CV.mag> is already locked by pid 32074. Opening read-only. 58 | Cell SUNSAR_CAP32C_CV read from path ../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM 59 | Scaled magic input cell SUNSAR_CAP32C_CV geometry by factor of 2 60 | File <../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM/SUNSAR_RM1.mag> is already locked by pid 32074. Opening read-only. 61 | Cell SUNSAR_RM1 read from path ../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM 62 | Scaled magic input cell SUNSAR_RM1 geometry by factor of 2 63 | File <../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM/SUNSAR_cut_M1M4_1x2.mag> is already locked by pid 32074. Opening read-only. 64 | Cell SUNSAR_cut_M1M4_1x2 read from path ../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM 65 | Scaled magic input cell SUNSAR_cut_M1M4_1x2 geometry by factor of 2 66 | File <../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM/SUNSAR_cut_M2M4_1x2.mag> is already locked by pid 32074. Opening read-only. 67 | Cell SUNSAR_cut_M2M4_1x2 read from path ../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM 68 | Scaled magic input cell SUNSAR_cut_M2M4_1x2 geometry by factor of 2 69 | File <../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM/SUNSAR_cut_M1M4_2x1.mag> is already locked by pid 32074. Opening read-only. 70 | Cell SUNSAR_cut_M1M4_2x1 read from path ../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM 71 | Scaled magic input cell SUNSAR_cut_M1M4_2x1 geometry by factor of 2 72 | File <../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM/SUNSAR_cut_M4M5_1x2.mag> is already locked by pid 32074. Opening read-only. 73 | Cell SUNSAR_cut_M4M5_1x2 read from path ../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM 74 | Scaled magic input cell SUNSAR_cut_M4M5_1x2 geometry by factor of 2 75 | File <../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM/SUNSAR_cut_M1M2_2x1.mag> is already locked by pid 32074. Opening read-only. 76 | Cell SUNSAR_cut_M1M2_2x1 read from path ../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM 77 | Scaled magic input cell SUNSAR_cut_M1M2_2x1 geometry by factor of 2 78 | File <../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM/SUNSAR_cut_M2M4_2x1.mag> is already locked by pid 32074. Opening read-only. 79 | Cell SUNSAR_cut_M2M4_2x1 read from path ../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM 80 | Scaled magic input cell SUNSAR_cut_M2M4_2x1 geometry by factor of 2 81 | File <../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM/SUNSAR_cut_M2M3_2x1.mag> is already locked by pid 32074. Opening read-only. 82 | Cell SUNSAR_cut_M2M3_2x1 read from path ../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM 83 | Scaled magic input cell SUNSAR_cut_M2M3_2x1 geometry by factor of 2 84 | File <../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM/SUNSAR_cut_M2M4_2x2.mag> is already locked by pid 32074. Opening read-only. 85 | Cell SUNSAR_cut_M2M4_2x2 read from path ../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM 86 | Scaled magic input cell SUNSAR_cut_M2M4_2x2 geometry by factor of 2 87 | File <../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM/SUNSAR_cut_M3M4_1x2.mag> is already locked by pid 32074. Opening read-only. 88 | Cell SUNSAR_cut_M3M4_1x2 read from path ../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM 89 | Scaled magic input cell SUNSAR_cut_M3M4_1x2 geometry by factor of 2 90 | File <../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM/SUNSAR_cut_M4M5_2x1.mag> is already locked by pid 32074. Opening read-only. 91 | Cell SUNSAR_cut_M4M5_2x1 read from path ../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM 92 | Scaled magic input cell SUNSAR_cut_M4M5_2x1 geometry by factor of 2 93 | File <../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM/SUNSAR_cut_M3M4_2x1.mag> is already locked by pid 32074. Opening read-only. 94 | Cell SUNSAR_cut_M3M4_2x1 read from path ../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM 95 | Scaled magic input cell SUNSAR_cut_M3M4_2x1 geometry by factor of 2 96 | File <../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM/SUNSAR_SARBSSW_CV.mag> is already locked by pid 32074. Opening read-only. 97 | Cell SUNSAR_SARBSSW_CV read from path ../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM 98 | File <../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM/SUNSAR_CAP_BSSW5_CV.mag> is already locked by pid 32074. Opening read-only. 99 | Cell SUNSAR_CAP_BSSW5_CV read from path ../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM 100 | Scaled magic input cell SUNSAR_CAP_BSSW5_CV geometry by factor of 2 101 | File <../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM/SUNSAR_CAP_BSSW_CV.mag> is already locked by pid 32074. Opening read-only. 102 | Cell SUNSAR_CAP_BSSW_CV read from path ../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM 103 | Scaled magic input cell SUNSAR_CAP_BSSW_CV geometry by factor of 2 104 | File <../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM/SUNSAR_TAPCELLB_CV.mag> is already locked by pid 32074. Opening read-only. 105 | Cell SUNSAR_TAPCELLB_CV read from path ../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM 106 | Scaled magic input cell SUNSAR_TAPCELLB_CV geometry by factor of 2 107 | File <../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM/SUNSAR_PCHDL.mag> is already locked by pid 32074. Opening read-only. 108 | Cell SUNSAR_PCHDL read from path ../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM 109 | Scaled magic input cell SUNSAR_PCHDL geometry by factor of 2 110 | File <../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM/SUNSAR_NCHDL.mag> is already locked by pid 32074. Opening read-only. 111 | Cell SUNSAR_NCHDL read from path ../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM 112 | Scaled magic input cell SUNSAR_NCHDL geometry by factor of 2 113 | File <../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM/SUNSAR_SARBSSWCTRL_CV.mag> is already locked by pid 32074. Opening read-only. 114 | Cell SUNSAR_SARBSSWCTRL_CV read from path ../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM 115 | Scaled magic input cell SUNSAR_SARBSSWCTRL_CV geometry by factor of 2 116 | File <../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM/SUNSAR_TGPD_CV.mag> is already locked by pid 32074. Opening read-only. 117 | Cell SUNSAR_TGPD_CV read from path ../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM 118 | Scaled magic input cell SUNSAR_TGPD_CV geometry by factor of 2 119 | File <../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM/SUNSAR_TIEL_CV.mag> is already locked by pid 32074. Opening read-only. 120 | Cell SUNSAR_TIEL_CV read from path ../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM 121 | Scaled magic input cell SUNSAR_TIEL_CV geometry by factor of 2 122 | File <../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM/SUNSAR_TIEH_CV.mag> is already locked by pid 32074. Opening read-only. 123 | Cell SUNSAR_TIEH_CV read from path ../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM 124 | Scaled magic input cell SUNSAR_TIEH_CV geometry by factor of 2 125 | File <../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM/SUNSAR_IVX1_CV.mag> is already locked by pid 32074. Opening read-only. 126 | Cell SUNSAR_IVX1_CV read from path ../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM 127 | Scaled magic input cell SUNSAR_IVX1_CV geometry by factor of 2 128 | File <../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM/SUNSAR_NCHDLR.mag> is already locked by pid 32074. Opening read-only. 129 | Cell SUNSAR_NCHDLR read from path ../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM 130 | Scaled magic input cell SUNSAR_NCHDLR geometry by factor of 2 131 | File <../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM/SUNSAR_SARCMPX1_CV.mag> is already locked by pid 32074. Opening read-only. 132 | Cell SUNSAR_SARCMPX1_CV read from path ../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM 133 | Scaled magic input cell SUNSAR_SARCMPX1_CV geometry by factor of 2 134 | File <../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM/SUNSAR_NRX1_CV.mag> is already locked by pid 32074. Opening read-only. 135 | Cell SUNSAR_NRX1_CV read from path ../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM 136 | Scaled magic input cell SUNSAR_NRX1_CV geometry by factor of 2 137 | File <../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM/SUNSAR_NDX1_CV.mag> is already locked by pid 32074. Opening read-only. 138 | Cell SUNSAR_NDX1_CV read from path ../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM 139 | Scaled magic input cell SUNSAR_NDX1_CV geometry by factor of 2 140 | File <../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM/SUNSAR_SARKICKHX1_CV.mag> is already locked by pid 32074. Opening read-only. 141 | Cell SUNSAR_SARKICKHX1_CV read from path ../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM 142 | Scaled magic input cell SUNSAR_SARKICKHX1_CV geometry by factor of 2 143 | File <../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM/SUNSAR_IVX4_CV.mag> is already locked by pid 32074. Opening read-only. 144 | Cell SUNSAR_IVX4_CV read from path ../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM 145 | Scaled magic input cell SUNSAR_IVX4_CV geometry by factor of 2 146 | File <../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM/SUNSAR_SARCMPHX1_CV.mag> is already locked by pid 32074. Opening read-only. 147 | Cell SUNSAR_SARCMPHX1_CV read from path ../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM 148 | Scaled magic input cell SUNSAR_SARCMPHX1_CV geometry by factor of 2 149 | File <../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM/SUNSAR_SARDIGEX4_CV.mag> is already locked by pid 32074. Opening read-only. 150 | Cell SUNSAR_SARDIGEX4_CV read from path ../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM 151 | File <../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM/SUNSAR_SARCEX1_CV.mag> is already locked by pid 32074. Opening read-only. 152 | Cell SUNSAR_SARCEX1_CV read from path ../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM 153 | Scaled magic input cell SUNSAR_SARCEX1_CV geometry by factor of 2 154 | File <../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM/SUNSAR_SWX4_CV.mag> is already locked by pid 32074. Opening read-only. 155 | Cell SUNSAR_SWX4_CV read from path ../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM 156 | Scaled magic input cell SUNSAR_SWX4_CV geometry by factor of 2 157 | File <../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM/SUNSAR_cut_M3M4_2x2.mag> is already locked by pid 32074. Opening read-only. 158 | Cell SUNSAR_cut_M3M4_2x2 read from path ../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM 159 | Scaled magic input cell SUNSAR_cut_M3M4_2x2 geometry by factor of 2 160 | File <../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM/SUNSAR_SARMRYX1_CV.mag> is already locked by pid 32074. Opening read-only. 161 | Cell SUNSAR_SARMRYX1_CV read from path ../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM 162 | Scaled magic input cell SUNSAR_SARMRYX1_CV geometry by factor of 2 163 | File <../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM/SUNSAR_SARLTX1_CV.mag> is already locked by pid 32074. Opening read-only. 164 | Cell SUNSAR_SARLTX1_CV read from path ../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM 165 | Scaled magic input cell SUNSAR_SARLTX1_CV geometry by factor of 2 166 | File <../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM/SUNSAR_SAREMX1_CV.mag> is already locked by pid 32074. Opening read-only. 167 | Cell SUNSAR_SAREMX1_CV read from path ../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM 168 | Scaled magic input cell SUNSAR_SAREMX1_CV geometry by factor of 2 169 | File <../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM/SUNSAR_CAPT8B_CV.mag> is already locked by pid 32074. Opening read-only. 170 | Cell SUNSAR_CAPT8B_CV read from path ../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM 171 | File <../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM/SUNSAR_DFQNX1_CV.mag> is already locked by pid 32074. Opening read-only. 172 | Cell SUNSAR_DFQNX1_CV read from path ../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM 173 | Scaled magic input cell SUNSAR_DFQNX1_CV geometry by factor of 2 174 | File <../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM/SUNSAR_IVTRIX1_CV.mag> is already locked by pid 32074. Opening read-only. 175 | Cell SUNSAR_IVTRIX1_CV read from path ../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM 176 | Scaled magic input cell SUNSAR_IVTRIX1_CV geometry by factor of 2 177 | File <../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM/SUNSAR_cut_M1M4_2x2.mag> is already locked by pid 32074. Opening read-only. 178 | Cell SUNSAR_cut_M1M4_2x2 read from path ../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM 179 | Scaled magic input cell SUNSAR_cut_M1M4_2x2 geometry by factor of 2 180 | File <../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM/SUNSAR_ANX1_CV.mag> is already locked by pid 32074. Opening read-only. 181 | Cell SUNSAR_ANX1_CV read from path ../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM 182 | Scaled magic input cell SUNSAR_ANX1_CV geometry by factor of 2 183 | File <../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM/SUNSAR_ORX1_CV.mag> is already locked by pid 32074. Opening read-only. 184 | Cell SUNSAR_ORX1_CV read from path ../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM 185 | Scaled magic input cell SUNSAR_ORX1_CV geometry by factor of 2 186 | File <../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM/SUNSAR_BFX1_CV.mag> is already locked by pid 32074. Opening read-only. 187 | Cell SUNSAR_BFX1_CV read from path ../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM 188 | Scaled magic input cell SUNSAR_BFX1_CV geometry by factor of 2 189 | File <../design/TT06_SAR_SKY130NM/sky130_fd_pr__cap_mim_m3_1_XS736D.mag> is already locked by pid 32074. Opening read-only. 190 | Cell sky130_fd_pr__cap_mim_m3_1_XS736D read from path ../design/TT06_SAR_SKY130NM 191 | DRC style is now "drc(full)" 192 | Loading DRC CIF style. 193 | No errors found. 194 | Total DRC errors found: 0 195 | -------------------------------------------------------------------------------- /reports/ant.log: -------------------------------------------------------------------------------- 1 | 2 | Magic 8.3 revision 473 - Compiled on Fri Apr 12 14:38:31 CEST 2024. 3 | Starting magic under Tcl interpreter 4 | Using the terminal as the console. 5 | Using NULL graphics device. 6 | (Magic) SigWatchFile2: Invalid argument 7 | Processing system .magicrc file 8 | Sourcing design .magicrc for technology sky130A ... 9 | 2 Magic internal units = 1 Lambda 10 | Input style sky130(): scaleFactor=2, multiplier=2 11 | The following types are not handled by extraction and will be treated as non-electrical types: 12 | ubm 13 | Scaled tech values by 2 / 1 to match internal grid scaling 14 | Loading sky130A Device Generator Menu ... 15 | Loading "ant/tt_um_TT06_SAR_wulffern_ant.tcl" from command line. 16 | File <../design/TT06_SAR_SKY130NM/tt_um_TT06_SAR_wulffern.mag> is already locked by pid 32074. Opening read-only. 17 | Cell tt_um_TT06_SAR_wulffern read from path ../design/TT06_SAR_SKY130NM 18 | File <../design/TT06_SAR_SKY130NM/tt_um_TT06_SAR_done.mag> is already locked by pid 32074. Opening read-only. 19 | Cell tt_um_TT06_SAR_done read from path ../design/TT06_SAR_SKY130NM 20 | Scaled magic input cell tt_um_TT06_SAR_done geometry by factor of 2 21 | File <../design/TT06_SAR_SKY130NM/cut_M1M2_2x1.mag> is already locked by pid 32074. Opening read-only. 22 | Cell cut_M1M2_2x1 read from path ../design/TT06_SAR_SKY130NM 23 | Scaled magic input cell cut_M1M2_2x1 geometry by factor of 2 24 | File <../design/TT06_SAR_SKY130NM/../SUN_TR_SKY130NM/SUNTR_TAPCELLB_CV.mag> is already locked by pid 32074. Opening read-only. 25 | Cell SUNTR_TAPCELLB_CV read from path ../design/TT06_SAR_SKY130NM/../SUN_TR_SKY130NM 26 | Scaled magic input cell SUNTR_TAPCELLB_CV geometry by factor of 2 27 | File <../design/TT06_SAR_SKY130NM/../SUN_TR_SKY130NM/SUNTR_cut_M1M4_2x1.mag> is already locked by pid 32074. Opening read-only. 28 | Cell SUNTR_cut_M1M4_2x1 read from path ../design/TT06_SAR_SKY130NM/../SUN_TR_SKY130NM 29 | Scaled magic input cell SUNTR_cut_M1M4_2x1 geometry by factor of 2 30 | File <../design/TT06_SAR_SKY130NM/../SUN_TR_SKY130NM/SUNTR_PCHDL.mag> is already locked by pid 32074. Opening read-only. 31 | Cell SUNTR_PCHDL read from path ../design/TT06_SAR_SKY130NM/../SUN_TR_SKY130NM 32 | Scaled magic input cell SUNTR_PCHDL geometry by factor of 2 33 | File <../design/TT06_SAR_SKY130NM/../SUN_TR_SKY130NM/SUNTR_NCHDL.mag> is already locked by pid 32074. Opening read-only. 34 | Cell SUNTR_NCHDL read from path ../design/TT06_SAR_SKY130NM/../SUN_TR_SKY130NM 35 | Scaled magic input cell SUNTR_NCHDL geometry by factor of 2 36 | File <../design/TT06_SAR_SKY130NM/../SUN_TR_SKY130NM/SUNTR_TIEH_CV.mag> is already locked by pid 32074. Opening read-only. 37 | Cell SUNTR_TIEH_CV read from path ../design/TT06_SAR_SKY130NM/../SUN_TR_SKY130NM 38 | Scaled magic input cell SUNTR_TIEH_CV geometry by factor of 2 39 | File <../design/TT06_SAR_SKY130NM/../SUN_TR_SKY130NM/SUNTR_BFX1_CV.mag> is already locked by pid 32074. Opening read-only. 40 | Cell SUNTR_BFX1_CV read from path ../design/TT06_SAR_SKY130NM/../SUN_TR_SKY130NM 41 | Scaled magic input cell SUNTR_BFX1_CV geometry by factor of 2 42 | File <../design/TT06_SAR_SKY130NM/TT06SAR_NDIO.mag> is already locked by pid 32074. Opening read-only. 43 | Cell TT06SAR_NDIO read from path ../design/TT06_SAR_SKY130NM 44 | File <../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM/SUNSAR_SAR8B_CV.mag> is already locked by pid 32074. Opening read-only. 45 | Cell SUNSAR_SAR8B_CV read from path ../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM 46 | File <../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM/SUNSAR_CDAC7_CV.mag> is already locked by pid 32074. Opening read-only. 47 | Cell SUNSAR_CDAC7_CV read from path ../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM 48 | Scaled magic input cell SUNSAR_CDAC7_CV geometry by factor of 2 49 | File <../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM/SUNSAR_cut_M2M3_1x2.mag> is already locked by pid 32074. Opening read-only. 50 | Cell SUNSAR_cut_M2M3_1x2 read from path ../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM 51 | Scaled magic input cell SUNSAR_cut_M2M3_1x2 geometry by factor of 2 52 | File <../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM/SUNSAR_cut_M1M3_2x1.mag> is already locked by pid 32074. Opening read-only. 53 | Cell SUNSAR_cut_M1M3_2x1 read from path ../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM 54 | Scaled magic input cell SUNSAR_cut_M1M3_2x1 geometry by factor of 2 55 | File <../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM/SUNSAR_CAP32C_CV.mag> is already locked by pid 32074. Opening read-only. 56 | Cell SUNSAR_CAP32C_CV read from path ../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM 57 | Scaled magic input cell SUNSAR_CAP32C_CV geometry by factor of 2 58 | File <../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM/SUNSAR_RM1.mag> is already locked by pid 32074. Opening read-only. 59 | Cell SUNSAR_RM1 read from path ../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM 60 | Scaled magic input cell SUNSAR_RM1 geometry by factor of 2 61 | File <../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM/SUNSAR_cut_M1M4_1x2.mag> is already locked by pid 32074. Opening read-only. 62 | Cell SUNSAR_cut_M1M4_1x2 read from path ../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM 63 | Scaled magic input cell SUNSAR_cut_M1M4_1x2 geometry by factor of 2 64 | File <../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM/SUNSAR_cut_M2M4_1x2.mag> is already locked by pid 32074. Opening read-only. 65 | Cell SUNSAR_cut_M2M4_1x2 read from path ../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM 66 | Scaled magic input cell SUNSAR_cut_M2M4_1x2 geometry by factor of 2 67 | File <../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM/SUNSAR_cut_M1M4_2x1.mag> is already locked by pid 32074. Opening read-only. 68 | Cell SUNSAR_cut_M1M4_2x1 read from path ../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM 69 | Scaled magic input cell SUNSAR_cut_M1M4_2x1 geometry by factor of 2 70 | File <../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM/SUNSAR_cut_M4M5_1x2.mag> is already locked by pid 32074. Opening read-only. 71 | Cell SUNSAR_cut_M4M5_1x2 read from path ../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM 72 | Scaled magic input cell SUNSAR_cut_M4M5_1x2 geometry by factor of 2 73 | File <../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM/SUNSAR_cut_M1M2_2x1.mag> is already locked by pid 32074. Opening read-only. 74 | Cell SUNSAR_cut_M1M2_2x1 read from path ../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM 75 | Scaled magic input cell SUNSAR_cut_M1M2_2x1 geometry by factor of 2 76 | File <../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM/SUNSAR_cut_M2M4_2x1.mag> is already locked by pid 32074. Opening read-only. 77 | Cell SUNSAR_cut_M2M4_2x1 read from path ../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM 78 | Scaled magic input cell SUNSAR_cut_M2M4_2x1 geometry by factor of 2 79 | File <../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM/SUNSAR_cut_M2M3_2x1.mag> is already locked by pid 32074. Opening read-only. 80 | Cell SUNSAR_cut_M2M3_2x1 read from path ../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM 81 | Scaled magic input cell SUNSAR_cut_M2M3_2x1 geometry by factor of 2 82 | File <../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM/SUNSAR_cut_M2M4_2x2.mag> is already locked by pid 32074. Opening read-only. 83 | Cell SUNSAR_cut_M2M4_2x2 read from path ../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM 84 | Scaled magic input cell SUNSAR_cut_M2M4_2x2 geometry by factor of 2 85 | File <../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM/SUNSAR_cut_M3M4_1x2.mag> is already locked by pid 32074. Opening read-only. 86 | Cell SUNSAR_cut_M3M4_1x2 read from path ../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM 87 | Scaled magic input cell SUNSAR_cut_M3M4_1x2 geometry by factor of 2 88 | File <../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM/SUNSAR_cut_M4M5_2x1.mag> is already locked by pid 32074. Opening read-only. 89 | Cell SUNSAR_cut_M4M5_2x1 read from path ../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM 90 | Scaled magic input cell SUNSAR_cut_M4M5_2x1 geometry by factor of 2 91 | File <../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM/SUNSAR_cut_M3M4_2x1.mag> is already locked by pid 32074. Opening read-only. 92 | Cell SUNSAR_cut_M3M4_2x1 read from path ../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM 93 | Scaled magic input cell SUNSAR_cut_M3M4_2x1 geometry by factor of 2 94 | File <../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM/SUNSAR_SARBSSW_CV.mag> is already locked by pid 32074. Opening read-only. 95 | Cell SUNSAR_SARBSSW_CV read from path ../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM 96 | File <../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM/SUNSAR_CAP_BSSW5_CV.mag> is already locked by pid 32074. Opening read-only. 97 | Cell SUNSAR_CAP_BSSW5_CV read from path ../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM 98 | Scaled magic input cell SUNSAR_CAP_BSSW5_CV geometry by factor of 2 99 | File <../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM/SUNSAR_CAP_BSSW_CV.mag> is already locked by pid 32074. Opening read-only. 100 | Cell SUNSAR_CAP_BSSW_CV read from path ../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM 101 | Scaled magic input cell SUNSAR_CAP_BSSW_CV geometry by factor of 2 102 | File <../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM/SUNSAR_TAPCELLB_CV.mag> is already locked by pid 32074. Opening read-only. 103 | Cell SUNSAR_TAPCELLB_CV read from path ../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM 104 | Scaled magic input cell SUNSAR_TAPCELLB_CV geometry by factor of 2 105 | File <../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM/SUNSAR_PCHDL.mag> is already locked by pid 32074. Opening read-only. 106 | Cell SUNSAR_PCHDL read from path ../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM 107 | Scaled magic input cell SUNSAR_PCHDL geometry by factor of 2 108 | File <../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM/SUNSAR_NCHDL.mag> is already locked by pid 32074. Opening read-only. 109 | Cell SUNSAR_NCHDL read from path ../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM 110 | Scaled magic input cell SUNSAR_NCHDL geometry by factor of 2 111 | File <../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM/SUNSAR_SARBSSWCTRL_CV.mag> is already locked by pid 32074. Opening read-only. 112 | Cell SUNSAR_SARBSSWCTRL_CV read from path ../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM 113 | Scaled magic input cell SUNSAR_SARBSSWCTRL_CV geometry by factor of 2 114 | File <../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM/SUNSAR_TGPD_CV.mag> is already locked by pid 32074. Opening read-only. 115 | Cell SUNSAR_TGPD_CV read from path ../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM 116 | Scaled magic input cell SUNSAR_TGPD_CV geometry by factor of 2 117 | File <../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM/SUNSAR_TIEL_CV.mag> is already locked by pid 32074. Opening read-only. 118 | Cell SUNSAR_TIEL_CV read from path ../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM 119 | Scaled magic input cell SUNSAR_TIEL_CV geometry by factor of 2 120 | File <../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM/SUNSAR_TIEH_CV.mag> is already locked by pid 32074. Opening read-only. 121 | Cell SUNSAR_TIEH_CV read from path ../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM 122 | Scaled magic input cell SUNSAR_TIEH_CV geometry by factor of 2 123 | File <../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM/SUNSAR_IVX1_CV.mag> is already locked by pid 32074. Opening read-only. 124 | Cell SUNSAR_IVX1_CV read from path ../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM 125 | Scaled magic input cell SUNSAR_IVX1_CV geometry by factor of 2 126 | File <../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM/SUNSAR_NCHDLR.mag> is already locked by pid 32074. Opening read-only. 127 | Cell SUNSAR_NCHDLR read from path ../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM 128 | Scaled magic input cell SUNSAR_NCHDLR geometry by factor of 2 129 | File <../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM/SUNSAR_SARCMPX1_CV.mag> is already locked by pid 32074. Opening read-only. 130 | Cell SUNSAR_SARCMPX1_CV read from path ../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM 131 | Scaled magic input cell SUNSAR_SARCMPX1_CV geometry by factor of 2 132 | File <../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM/SUNSAR_NRX1_CV.mag> is already locked by pid 32074. Opening read-only. 133 | Cell SUNSAR_NRX1_CV read from path ../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM 134 | Scaled magic input cell SUNSAR_NRX1_CV geometry by factor of 2 135 | File <../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM/SUNSAR_NDX1_CV.mag> is already locked by pid 32074. Opening read-only. 136 | Cell SUNSAR_NDX1_CV read from path ../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM 137 | Scaled magic input cell SUNSAR_NDX1_CV geometry by factor of 2 138 | File <../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM/SUNSAR_SARKICKHX1_CV.mag> is already locked by pid 32074. Opening read-only. 139 | Cell SUNSAR_SARKICKHX1_CV read from path ../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM 140 | Scaled magic input cell SUNSAR_SARKICKHX1_CV geometry by factor of 2 141 | File <../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM/SUNSAR_IVX4_CV.mag> is already locked by pid 32074. Opening read-only. 142 | Cell SUNSAR_IVX4_CV read from path ../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM 143 | Scaled magic input cell SUNSAR_IVX4_CV geometry by factor of 2 144 | File <../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM/SUNSAR_SARCMPHX1_CV.mag> is already locked by pid 32074. Opening read-only. 145 | Cell SUNSAR_SARCMPHX1_CV read from path ../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM 146 | Scaled magic input cell SUNSAR_SARCMPHX1_CV geometry by factor of 2 147 | File <../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM/SUNSAR_SARDIGEX4_CV.mag> is already locked by pid 32074. Opening read-only. 148 | Cell SUNSAR_SARDIGEX4_CV read from path ../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM 149 | File <../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM/SUNSAR_SARCEX1_CV.mag> is already locked by pid 32074. Opening read-only. 150 | Cell SUNSAR_SARCEX1_CV read from path ../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM 151 | Scaled magic input cell SUNSAR_SARCEX1_CV geometry by factor of 2 152 | File <../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM/SUNSAR_SWX4_CV.mag> is already locked by pid 32074. Opening read-only. 153 | Cell SUNSAR_SWX4_CV read from path ../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM 154 | Scaled magic input cell SUNSAR_SWX4_CV geometry by factor of 2 155 | File <../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM/SUNSAR_cut_M3M4_2x2.mag> is already locked by pid 32074. Opening read-only. 156 | Cell SUNSAR_cut_M3M4_2x2 read from path ../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM 157 | Scaled magic input cell SUNSAR_cut_M3M4_2x2 geometry by factor of 2 158 | File <../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM/SUNSAR_SARMRYX1_CV.mag> is already locked by pid 32074. Opening read-only. 159 | Cell SUNSAR_SARMRYX1_CV read from path ../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM 160 | Scaled magic input cell SUNSAR_SARMRYX1_CV geometry by factor of 2 161 | File <../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM/SUNSAR_SARLTX1_CV.mag> is already locked by pid 32074. Opening read-only. 162 | Cell SUNSAR_SARLTX1_CV read from path ../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM 163 | Scaled magic input cell SUNSAR_SARLTX1_CV geometry by factor of 2 164 | File <../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM/SUNSAR_SAREMX1_CV.mag> is already locked by pid 32074. Opening read-only. 165 | Cell SUNSAR_SAREMX1_CV read from path ../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM 166 | Scaled magic input cell SUNSAR_SAREMX1_CV geometry by factor of 2 167 | File <../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM/SUNSAR_CAPT8B_CV.mag> is already locked by pid 32074. Opening read-only. 168 | Cell SUNSAR_CAPT8B_CV read from path ../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM 169 | File <../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM/SUNSAR_DFQNX1_CV.mag> is already locked by pid 32074. Opening read-only. 170 | Cell SUNSAR_DFQNX1_CV read from path ../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM 171 | Scaled magic input cell SUNSAR_DFQNX1_CV geometry by factor of 2 172 | File <../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM/SUNSAR_IVTRIX1_CV.mag> is already locked by pid 32074. Opening read-only. 173 | Cell SUNSAR_IVTRIX1_CV read from path ../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM 174 | Scaled magic input cell SUNSAR_IVTRIX1_CV geometry by factor of 2 175 | File <../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM/SUNSAR_cut_M1M4_2x2.mag> is already locked by pid 32074. Opening read-only. 176 | Cell SUNSAR_cut_M1M4_2x2 read from path ../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM 177 | Scaled magic input cell SUNSAR_cut_M1M4_2x2 geometry by factor of 2 178 | File <../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM/SUNSAR_ANX1_CV.mag> is already locked by pid 32074. Opening read-only. 179 | Cell SUNSAR_ANX1_CV read from path ../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM 180 | Scaled magic input cell SUNSAR_ANX1_CV geometry by factor of 2 181 | File <../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM/SUNSAR_ORX1_CV.mag> is already locked by pid 32074. Opening read-only. 182 | Cell SUNSAR_ORX1_CV read from path ../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM 183 | Scaled magic input cell SUNSAR_ORX1_CV geometry by factor of 2 184 | File <../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM/SUNSAR_BFX1_CV.mag> is already locked by pid 32074. Opening read-only. 185 | Cell SUNSAR_BFX1_CV read from path ../design/TT06_SAR_SKY130NM/../SUN_SAR9B_SKY130NM 186 | Scaled magic input cell SUNSAR_BFX1_CV geometry by factor of 2 187 | File <../design/TT06_SAR_SKY130NM/sky130_fd_pr__cap_mim_m3_1_XS736D.mag> is already locked by pid 32074. Opening read-only. 188 | Cell sky130_fd_pr__cap_mim_m3_1_XS736D read from path ../design/TT06_SAR_SKY130NM 189 | Extracting cut_M1M2_2x1 into ant/ext/cut_M1M2_2x1.ext: 190 | Extracting SUNTR_cut_M1M4_2x1 into ant/ext/SUNTR_cut_M1M4_2x1.ext: 191 | Extracting SUNTR_PCHDL into ant/ext/SUNTR_PCHDL.ext: 192 | Extracting SUNTR_NCHDL into ant/ext/SUNTR_NCHDL.ext: 193 | Extracting SUNTR_TAPCELLB_CV into ant/ext/SUNTR_TAPCELLB_CV.ext: 194 | Extracting SUNTR_TIEH_CV into ant/ext/SUNTR_TIEH_CV.ext: 195 | Extracting SUNTR_BFX1_CV into ant/ext/SUNTR_BFX1_CV.ext: 196 | Extracting tt_um_TT06_SAR_done into ant/ext/tt_um_TT06_SAR_done.ext: 197 | Extracting TT06SAR_NDIO into ant/ext/TT06SAR_NDIO.ext: 198 | Extracting SUNSAR_cut_M2M3_1x2 into ant/ext/SUNSAR_cut_M2M3_1x2.ext: 199 | Extracting SUNSAR_cut_M1M3_2x1 into ant/ext/SUNSAR_cut_M1M3_2x1.ext: 200 | Extracting SUNSAR_RM1 into ant/ext/SUNSAR_RM1.ext: 201 | Extracting SUNSAR_cut_M1M4_1x2 into ant/ext/SUNSAR_cut_M1M4_1x2.ext: 202 | Extracting SUNSAR_cut_M2M4_1x2 into ant/ext/SUNSAR_cut_M2M4_1x2.ext: 203 | Extracting SUNSAR_CAP32C_CV into ant/ext/SUNSAR_CAP32C_CV.ext: 204 | Extracting SUNSAR_CDAC7_CV into ant/ext/SUNSAR_CDAC7_CV.ext: 205 | Extracting SUNSAR_cut_M1M4_2x1 into ant/ext/SUNSAR_cut_M1M4_2x1.ext: 206 | Extracting SUNSAR_cut_M4M5_1x2 into ant/ext/SUNSAR_cut_M4M5_1x2.ext: 207 | Extracting SUNSAR_cut_M1M2_2x1 into ant/ext/SUNSAR_cut_M1M2_2x1.ext: 208 | Extracting SUNSAR_cut_M2M4_2x1 into ant/ext/SUNSAR_cut_M2M4_2x1.ext: 209 | Extracting SUNSAR_cut_M2M3_2x1 into ant/ext/SUNSAR_cut_M2M3_2x1.ext: 210 | Extracting SUNSAR_cut_M2M4_2x2 into ant/ext/SUNSAR_cut_M2M4_2x2.ext: 211 | Extracting SUNSAR_cut_M3M4_1x2 into ant/ext/SUNSAR_cut_M3M4_1x2.ext: 212 | Extracting SUNSAR_cut_M4M5_2x1 into ant/ext/SUNSAR_cut_M4M5_2x1.ext: 213 | Extracting SUNSAR_cut_M3M4_2x1 into ant/ext/SUNSAR_cut_M3M4_2x1.ext: 214 | Extracting SUNSAR_CAP_BSSW_CV into ant/ext/SUNSAR_CAP_BSSW_CV.ext: 215 | Extracting SUNSAR_CAP_BSSW5_CV into ant/ext/SUNSAR_CAP_BSSW5_CV.ext: 216 | Extracting SUNSAR_PCHDL into ant/ext/SUNSAR_PCHDL.ext: 217 | Extracting SUNSAR_NCHDL into ant/ext/SUNSAR_NCHDL.ext: 218 | Extracting SUNSAR_TAPCELLB_CV into ant/ext/SUNSAR_TAPCELLB_CV.ext: 219 | Extracting SUNSAR_SARBSSWCTRL_CV into ant/ext/SUNSAR_SARBSSWCTRL_CV.ext: 220 | Extracting SUNSAR_TGPD_CV into ant/ext/SUNSAR_TGPD_CV.ext: 221 | Extracting SUNSAR_TIEL_CV into ant/ext/SUNSAR_TIEL_CV.ext: 222 | Extracting SUNSAR_TIEH_CV into ant/ext/SUNSAR_TIEH_CV.ext: 223 | Extracting SUNSAR_IVX1_CV into ant/ext/SUNSAR_IVX1_CV.ext: 224 | Extracting SUNSAR_NCHDLR into ant/ext/SUNSAR_NCHDLR.ext: 225 | Extracting SUNSAR_SARBSSW_CV into ant/ext/SUNSAR_SARBSSW_CV.ext: 226 | Extracting SUNSAR_NRX1_CV into ant/ext/SUNSAR_NRX1_CV.ext: 227 | Extracting SUNSAR_NDX1_CV into ant/ext/SUNSAR_NDX1_CV.ext: 228 | Extracting SUNSAR_SARKICKHX1_CV into ant/ext/SUNSAR_SARKICKHX1_CV.ext: 229 | Extracting SUNSAR_IVX4_CV into ant/ext/SUNSAR_IVX4_CV.ext: 230 | Extracting SUNSAR_SARCMPHX1_CV into ant/ext/SUNSAR_SARCMPHX1_CV.ext: 231 | Extracting SUNSAR_SARCMPX1_CV into ant/ext/SUNSAR_SARCMPX1_CV.ext: 232 | Extracting SUNSAR_SARCEX1_CV into ant/ext/SUNSAR_SARCEX1_CV.ext: 233 | Extracting SUNSAR_cut_M3M4_2x2 into ant/ext/SUNSAR_cut_M3M4_2x2.ext: 234 | Extracting SUNSAR_SWX4_CV into ant/ext/SUNSAR_SWX4_CV.ext: 235 | Extracting SUNSAR_SARLTX1_CV into ant/ext/SUNSAR_SARLTX1_CV.ext: 236 | Extracting SUNSAR_SAREMX1_CV into ant/ext/SUNSAR_SAREMX1_CV.ext: 237 | Extracting SUNSAR_SARMRYX1_CV into ant/ext/SUNSAR_SARMRYX1_CV.ext: 238 | Extracting SUNSAR_SARDIGEX4_CV into ant/ext/SUNSAR_SARDIGEX4_CV.ext: 239 | Extracting SUNSAR_SAR8B_CV into ant/ext/SUNSAR_SAR8B_CV.ext: 240 | Extracting SUNSAR_IVTRIX1_CV into ant/ext/SUNSAR_IVTRIX1_CV.ext: 241 | Extracting SUNSAR_DFQNX1_CV into ant/ext/SUNSAR_DFQNX1_CV.ext: 242 | Extracting SUNSAR_cut_M1M4_2x2 into ant/ext/SUNSAR_cut_M1M4_2x2.ext: 243 | Extracting SUNSAR_ANX1_CV into ant/ext/SUNSAR_ANX1_CV.ext: 244 | Extracting SUNSAR_ORX1_CV into ant/ext/SUNSAR_ORX1_CV.ext: 245 | Extracting SUNSAR_BFX1_CV into ant/ext/SUNSAR_BFX1_CV.ext: 246 | Extracting SUNSAR_CAPT8B_CV into ant/ext/SUNSAR_CAPT8B_CV.ext: 247 | Extracting sky130_fd_pr__cap_mim_m3_1_XS736D into ant/ext/sky130_fd_pr__cap_mim_m3_1_XS736D.ext: 248 | Extracting tt_um_TT06_SAR_wulffern into ant/ext/tt_um_TT06_SAR_wulffern.ext: 249 | Reading extract file. 250 | Building flattened netlist. 251 | Running antenna checks. 252 | 100 gates analyzed. 253 | 200 gates analyzed. 254 | antennacheck finished. 255 | -------------------------------------------------------------------------------- /reports/lpe_lvs.log: -------------------------------------------------------------------------------- 1 | 2 | Circuit 1 cell sky130_fd_pr__nfet_01v8 and Circuit 2 cell sky130_fd_pr__nfet_01v8 are black boxes. 3 | Warning: Equate pins: cell sky130_fd_pr__nfet_01v8 is a placeholder, treated as a black box. 4 | Warning: Equate pins: cell sky130_fd_pr__nfet_01v8 is a placeholder, treated as a black box. 5 | 6 | Subcircuit pins: 7 | Circuit 1: sky130_fd_pr__nfet_01v8 |Circuit 2: sky130_fd_pr__nfet_01v8 8 | -------------------------------------------|------------------------------------------- 9 | 1 |1 10 | 2 |2 11 | 3 |3 12 | 4 |4 13 | --------------------------------------------------------------------------------------- 14 | Cell pin lists are equivalent. 15 | Device classes sky130_fd_pr__nfet_01v8 and sky130_fd_pr__nfet_01v8 are equivalent. 16 | 17 | Circuit 1 cell sky130_fd_pr__pfet_01v8 and Circuit 2 cell sky130_fd_pr__pfet_01v8 are black boxes. 18 | Warning: Equate pins: cell sky130_fd_pr__pfet_01v8 is a placeholder, treated as a black box. 19 | Warning: Equate pins: cell sky130_fd_pr__pfet_01v8 is a placeholder, treated as a black box. 20 | 21 | Subcircuit pins: 22 | Circuit 1: sky130_fd_pr__pfet_01v8 |Circuit 2: sky130_fd_pr__pfet_01v8 23 | -------------------------------------------|------------------------------------------- 24 | 1 |1 25 | 2 |2 26 | 3 |3 27 | 4 |4 28 | --------------------------------------------------------------------------------------- 29 | Cell pin lists are equivalent. 30 | Device classes sky130_fd_pr__pfet_01v8 and sky130_fd_pr__pfet_01v8 are equivalent. 31 | 32 | Circuit 1 cell sky130_fd_pr__cap_mim_m3_1 and Circuit 2 cell sky130_fd_pr__cap_mim_m3_1 are black boxes. 33 | Warning: Equate pins: cell sky130_fd_pr__cap_mim_m3_1 is a placeholder, treated as a black box. 34 | Warning: Equate pins: cell sky130_fd_pr__cap_mim_m3_1 is a placeholder, treated as a black box. 35 | 36 | Subcircuit pins: 37 | Circuit 1: sky130_fd_pr__cap_mim_m3_1 |Circuit 2: sky130_fd_pr__cap_mim_m3_1 38 | -------------------------------------------|------------------------------------------- 39 | 1 |1 40 | 2 |2 41 | --------------------------------------------------------------------------------------- 42 | Cell pin lists are equivalent. 43 | Device classes sky130_fd_pr__cap_mim_m3_1 and sky130_fd_pr__cap_mim_m3_1 are equivalent. 44 | Flattening unmatched subcell SUNSAR_SAR8B_CV in circuit tt_um_TT06_SAR_wulffern (1)(1 instance) 45 | Flattening unmatched subcell SUNSAR_SARBSSW_CV in circuit tt_um_TT06_SAR_wulffern (1)(2 instances) 46 | Flattening unmatched subcell SUNSAR_NCHDLR in circuit tt_um_TT06_SAR_wulffern (1)(16 instances) 47 | Flattening unmatched subcell SUNSAR_TAPCELLB_CV in circuit tt_um_TT06_SAR_wulffern (1)(6 instances) 48 | Flattening unmatched subcell SUNSAR_NCHDL in circuit tt_um_TT06_SAR_wulffern (1)(6 instances) 49 | Flattening unmatched subcell SUNSAR_PCHDL in circuit tt_um_TT06_SAR_wulffern (1)(6 instances) 50 | Flattening unmatched subcell SUNSAR_IVX1_CV in circuit tt_um_TT06_SAR_wulffern (1)(2 instances) 51 | Flattening unmatched subcell SUNSAR_NCHDL in circuit tt_um_TT06_SAR_wulffern (1)(2 instances) 52 | Flattening unmatched subcell SUNSAR_PCHDL in circuit tt_um_TT06_SAR_wulffern (1)(2 instances) 53 | Flattening unmatched subcell SUNSAR_TGPD_CV in circuit tt_um_TT06_SAR_wulffern (1)(2 instances) 54 | Flattening unmatched subcell SUNSAR_NCHDL in circuit tt_um_TT06_SAR_wulffern (1)(6 instances) 55 | Flattening unmatched subcell SUNSAR_PCHDL in circuit tt_um_TT06_SAR_wulffern (1)(6 instances) 56 | Flattening unmatched subcell SUNSAR_SARBSSWCTRL_CV in circuit tt_um_TT06_SAR_wulffern (1)(2 instances) 57 | Flattening unmatched subcell SUNSAR_NCHDL in circuit tt_um_TT06_SAR_wulffern (1)(4 instances) 58 | Flattening unmatched subcell SUNSAR_PCHDL in circuit tt_um_TT06_SAR_wulffern (1)(4 instances) 59 | Flattening unmatched subcell SUNSAR_TIEH_CV in circuit tt_um_TT06_SAR_wulffern (1)(2 instances) 60 | Flattening unmatched subcell SUNSAR_NCHDL in circuit tt_um_TT06_SAR_wulffern (1)(2 instances) 61 | Flattening unmatched subcell SUNSAR_PCHDL in circuit tt_um_TT06_SAR_wulffern (1)(2 instances) 62 | Flattening unmatched subcell SUNSAR_TIEL_CV in circuit tt_um_TT06_SAR_wulffern (1)(2 instances) 63 | Flattening unmatched subcell SUNSAR_NCHDL in circuit tt_um_TT06_SAR_wulffern (1)(2 instances) 64 | Flattening unmatched subcell SUNSAR_PCHDL in circuit tt_um_TT06_SAR_wulffern (1)(2 instances) 65 | Flattening unmatched subcell SUNSAR_CAP_BSSW5_CV in circuit tt_um_TT06_SAR_wulffern (1)(2 instances) 66 | Flattening unmatched subcell SUNSAR_CAP_BSSW_CV in circuit tt_um_TT06_SAR_wulffern (1)(10 instances) 67 | Flattening unmatched subcell SUNSAR_CDAC7_CV in circuit tt_um_TT06_SAR_wulffern (1)(2 instances) 68 | Flattening unmatched subcell SUNSAR_CAP32C_CV in circuit tt_um_TT06_SAR_wulffern (1)(8 instances) 69 | Flattening unmatched subcell SUNSAR_RM1 in circuit tt_um_TT06_SAR_wulffern (1)(48 instances) 70 | Flattening unmatched subcell SUNSAR_SARDIGEX4_CV in circuit tt_um_TT06_SAR_wulffern (1)(8 instances) 71 | Flattening unmatched subcell SUNSAR_SARMRYX1_CV in circuit tt_um_TT06_SAR_wulffern (1)(8 instances) 72 | Flattening unmatched subcell SUNSAR_TAPCELLB_CV in circuit tt_um_TT06_SAR_wulffern (1)(16 instances) 73 | Flattening unmatched subcell SUNSAR_NCHDL in circuit tt_um_TT06_SAR_wulffern (1)(16 instances) 74 | Flattening unmatched subcell SUNSAR_PCHDL in circuit tt_um_TT06_SAR_wulffern (1)(16 instances) 75 | Flattening unmatched subcell SUNSAR_SAREMX1_CV in circuit tt_um_TT06_SAR_wulffern (1)(8 instances) 76 | Flattening unmatched subcell SUNSAR_NCHDL in circuit tt_um_TT06_SAR_wulffern (1)(32 instances) 77 | Flattening unmatched subcell SUNSAR_PCHDL in circuit tt_um_TT06_SAR_wulffern (1)(32 instances) 78 | Flattening unmatched subcell SUNSAR_IVX1_CV in circuit tt_um_TT06_SAR_wulffern (1)(40 instances) 79 | Flattening unmatched subcell SUNSAR_NCHDL in circuit tt_um_TT06_SAR_wulffern (1)(40 instances) 80 | Flattening unmatched subcell SUNSAR_PCHDL in circuit tt_um_TT06_SAR_wulffern (1)(40 instances) 81 | Flattening unmatched subcell SUNSAR_SARLTX1_CV in circuit tt_um_TT06_SAR_wulffern (1)(16 instances) 82 | Flattening unmatched subcell SUNSAR_NCHDL in circuit tt_um_TT06_SAR_wulffern (1)(48 instances) 83 | Flattening unmatched subcell SUNSAR_PCHDL in circuit tt_um_TT06_SAR_wulffern (1)(48 instances) 84 | Flattening unmatched subcell SUNSAR_SWX4_CV in circuit tt_um_TT06_SAR_wulffern (1)(32 instances) 85 | Flattening unmatched subcell SUNSAR_NCHDL in circuit tt_um_TT06_SAR_wulffern (1)(128 instances) 86 | Flattening unmatched subcell SUNSAR_PCHDL in circuit tt_um_TT06_SAR_wulffern (1)(128 instances) 87 | Flattening unmatched subcell SUNSAR_SARCEX1_CV in circuit tt_um_TT06_SAR_wulffern (1)(8 instances) 88 | Flattening unmatched subcell SUNSAR_NCHDL in circuit tt_um_TT06_SAR_wulffern (1)(32 instances) 89 | Flattening unmatched subcell SUNSAR_PCHDL in circuit tt_um_TT06_SAR_wulffern (1)(32 instances) 90 | Flattening unmatched subcell SUNSAR_NDX1_CV in circuit tt_um_TT06_SAR_wulffern (1)(8 instances) 91 | Flattening unmatched subcell SUNSAR_NCHDL in circuit tt_um_TT06_SAR_wulffern (1)(16 instances) 92 | Flattening unmatched subcell SUNSAR_PCHDL in circuit tt_um_TT06_SAR_wulffern (1)(16 instances) 93 | Flattening unmatched subcell SUNSAR_NRX1_CV in circuit tt_um_TT06_SAR_wulffern (1)(8 instances) 94 | Flattening unmatched subcell SUNSAR_NCHDL in circuit tt_um_TT06_SAR_wulffern (1)(16 instances) 95 | Flattening unmatched subcell SUNSAR_PCHDL in circuit tt_um_TT06_SAR_wulffern (1)(16 instances) 96 | Flattening unmatched subcell SUNSAR_SARCMPX1_CV in circuit tt_um_TT06_SAR_wulffern (1)(1 instance) 97 | Flattening unmatched subcell SUNSAR_TAPCELLB_CV in circuit tt_um_TT06_SAR_wulffern (1)(2 instances) 98 | Flattening unmatched subcell SUNSAR_NCHDL in circuit tt_um_TT06_SAR_wulffern (1)(2 instances) 99 | Flattening unmatched subcell SUNSAR_PCHDL in circuit tt_um_TT06_SAR_wulffern (1)(2 instances) 100 | Flattening unmatched subcell SUNSAR_SARKICKHX1_CV in circuit tt_um_TT06_SAR_wulffern (1)(2 instances) 101 | Flattening unmatched subcell SUNSAR_NCHDL in circuit tt_um_TT06_SAR_wulffern (1)(14 instances) 102 | Flattening unmatched subcell SUNSAR_PCHDL in circuit tt_um_TT06_SAR_wulffern (1)(14 instances) 103 | Flattening unmatched subcell SUNSAR_SARCMPHX1_CV in circuit tt_um_TT06_SAR_wulffern (1)(2 instances) 104 | Flattening unmatched subcell SUNSAR_NCHDL in circuit tt_um_TT06_SAR_wulffern (1)(14 instances) 105 | Flattening unmatched subcell SUNSAR_PCHDL in circuit tt_um_TT06_SAR_wulffern (1)(14 instances) 106 | Flattening unmatched subcell SUNSAR_IVX4_CV in circuit tt_um_TT06_SAR_wulffern (1)(2 instances) 107 | Flattening unmatched subcell SUNSAR_NCHDL in circuit tt_um_TT06_SAR_wulffern (1)(8 instances) 108 | Flattening unmatched subcell SUNSAR_PCHDL in circuit tt_um_TT06_SAR_wulffern (1)(8 instances) 109 | Flattening unmatched subcell SUNSAR_IVX1_CV in circuit tt_um_TT06_SAR_wulffern (1)(2 instances) 110 | Flattening unmatched subcell SUNSAR_NCHDL in circuit tt_um_TT06_SAR_wulffern (1)(2 instances) 111 | Flattening unmatched subcell SUNSAR_PCHDL in circuit tt_um_TT06_SAR_wulffern (1)(2 instances) 112 | Flattening unmatched subcell SUNSAR_NDX1_CV in circuit tt_um_TT06_SAR_wulffern (1)(1 instance) 113 | Flattening unmatched subcell SUNSAR_NCHDL in circuit tt_um_TT06_SAR_wulffern (1)(2 instances) 114 | Flattening unmatched subcell SUNSAR_PCHDL in circuit tt_um_TT06_SAR_wulffern (1)(2 instances) 115 | Flattening unmatched subcell SUNSAR_NRX1_CV in circuit tt_um_TT06_SAR_wulffern (1)(1 instance) 116 | Flattening unmatched subcell SUNSAR_NCHDL in circuit tt_um_TT06_SAR_wulffern (1)(2 instances) 117 | Flattening unmatched subcell SUNSAR_PCHDL in circuit tt_um_TT06_SAR_wulffern (1)(2 instances) 118 | Flattening unmatched subcell SUNSAR_CAPT8B_CV in circuit tt_um_TT06_SAR_wulffern (1)(1 instance) 119 | Flattening unmatched subcell SUNSAR_DFQNX1_CV in circuit tt_um_TT06_SAR_wulffern (1)(8 instances) 120 | Flattening unmatched subcell SUNSAR_TAPCELLB_CV in circuit tt_um_TT06_SAR_wulffern (1)(9 instances) 121 | Flattening unmatched subcell SUNSAR_NCHDL in circuit tt_um_TT06_SAR_wulffern (1)(9 instances) 122 | Flattening unmatched subcell SUNSAR_PCHDL in circuit tt_um_TT06_SAR_wulffern (1)(9 instances) 123 | Flattening unmatched subcell SUNSAR_IVX1_CV in circuit tt_um_TT06_SAR_wulffern (1)(35 instances) 124 | Flattening unmatched subcell SUNSAR_NCHDL in circuit tt_um_TT06_SAR_wulffern (1)(35 instances) 125 | Flattening unmatched subcell SUNSAR_PCHDL in circuit tt_um_TT06_SAR_wulffern (1)(35 instances) 126 | Flattening unmatched subcell SUNSAR_IVTRIX1_CV in circuit tt_um_TT06_SAR_wulffern (1)(32 instances) 127 | Flattening unmatched subcell SUNSAR_NCHDL in circuit tt_um_TT06_SAR_wulffern (1)(64 instances) 128 | Flattening unmatched subcell SUNSAR_PCHDL in circuit tt_um_TT06_SAR_wulffern (1)(64 instances) 129 | Flattening unmatched subcell SUNSAR_BFX1_CV in circuit tt_um_TT06_SAR_wulffern (1)(1 instance) 130 | Flattening unmatched subcell SUNSAR_NCHDL in circuit tt_um_TT06_SAR_wulffern (1)(2 instances) 131 | Flattening unmatched subcell SUNSAR_PCHDL in circuit tt_um_TT06_SAR_wulffern (1)(2 instances) 132 | Flattening unmatched subcell SUNSAR_ORX1_CV in circuit tt_um_TT06_SAR_wulffern (1)(1 instance) 133 | Flattening unmatched subcell SUNSAR_NRX1_CV in circuit tt_um_TT06_SAR_wulffern (1)(1 instance) 134 | Flattening unmatched subcell SUNSAR_NCHDL in circuit tt_um_TT06_SAR_wulffern (1)(2 instances) 135 | Flattening unmatched subcell SUNSAR_PCHDL in circuit tt_um_TT06_SAR_wulffern (1)(2 instances) 136 | Flattening unmatched subcell SUNSAR_IVX1_CV in circuit tt_um_TT06_SAR_wulffern (1)(1 instance) 137 | Flattening unmatched subcell SUNSAR_NCHDL in circuit tt_um_TT06_SAR_wulffern (1)(1 instance) 138 | Flattening unmatched subcell SUNSAR_PCHDL in circuit tt_um_TT06_SAR_wulffern (1)(1 instance) 139 | Flattening unmatched subcell SUNSAR_ANX1_CV in circuit tt_um_TT06_SAR_wulffern (1)(1 instance) 140 | Flattening unmatched subcell SUNSAR_NDX1_CV in circuit tt_um_TT06_SAR_wulffern (1)(1 instance) 141 | Flattening unmatched subcell SUNSAR_NCHDL in circuit tt_um_TT06_SAR_wulffern (1)(2 instances) 142 | Flattening unmatched subcell SUNSAR_PCHDL in circuit tt_um_TT06_SAR_wulffern (1)(2 instances) 143 | Flattening unmatched subcell SUNSAR_IVX1_CV in circuit tt_um_TT06_SAR_wulffern (1)(1 instance) 144 | Flattening unmatched subcell SUNSAR_NCHDL in circuit tt_um_TT06_SAR_wulffern (1)(1 instance) 145 | Flattening unmatched subcell SUNSAR_PCHDL in circuit tt_um_TT06_SAR_wulffern (1)(1 instance) 146 | Flattening unmatched subcell SUNSAR_TIEL_CV in circuit tt_um_TT06_SAR_wulffern (1)(1 instance) 147 | Flattening unmatched subcell SUNSAR_NCHDL in circuit tt_um_TT06_SAR_wulffern (1)(1 instance) 148 | Flattening unmatched subcell SUNSAR_PCHDL in circuit tt_um_TT06_SAR_wulffern (1)(1 instance) 149 | Flattening unmatched subcell SUNTR_BFX1_CV in circuit tt_um_TT06_SAR_wulffern (1)(1 instance) 150 | Flattening unmatched subcell SUNTR_NCHDL in circuit tt_um_TT06_SAR_wulffern (1)(2 instances) 151 | Flattening unmatched subcell SUNTR_PCHDL in circuit tt_um_TT06_SAR_wulffern (1)(2 instances) 152 | Flattening unmatched subcell SUNTR_TIEH_CV in circuit tt_um_TT06_SAR_wulffern (1)(1 instance) 153 | Flattening unmatched subcell SUNTR_NCHDL in circuit tt_um_TT06_SAR_wulffern (1)(1 instance) 154 | Flattening unmatched subcell SUNTR_PCHDL in circuit tt_um_TT06_SAR_wulffern (1)(1 instance) 155 | Flattening unmatched subcell SUNTR_TAPCELLB_CV in circuit tt_um_TT06_SAR_wulffern (1)(1 instance) 156 | Flattening unmatched subcell SUNTR_NCHDL in circuit tt_um_TT06_SAR_wulffern (1)(1 instance) 157 | Flattening unmatched subcell SUNTR_PCHDL in circuit tt_um_TT06_SAR_wulffern (1)(1 instance) 158 | 159 | Cell tt_um_TT06_SAR_wulffern (0) disconnected node: ui_in[7] 160 | Cell tt_um_TT06_SAR_wulffern (0) disconnected node: ui_in[6] 161 | Cell tt_um_TT06_SAR_wulffern (0) disconnected node: ui_in[5] 162 | Cell tt_um_TT06_SAR_wulffern (0) disconnected node: ui_in[4] 163 | Cell tt_um_TT06_SAR_wulffern (0) disconnected node: ui_in[3] 164 | Cell tt_um_TT06_SAR_wulffern (0) disconnected node: ui_in[2] 165 | Cell tt_um_TT06_SAR_wulffern (0) disconnected node: ui_in[1] 166 | Cell tt_um_TT06_SAR_wulffern (0) disconnected node: uio_in[7] 167 | Cell tt_um_TT06_SAR_wulffern (0) disconnected node: uio_in[6] 168 | Cell tt_um_TT06_SAR_wulffern (0) disconnected node: uio_in[5] 169 | Cell tt_um_TT06_SAR_wulffern (0) disconnected node: uio_in[4] 170 | Cell tt_um_TT06_SAR_wulffern (0) disconnected node: uio_in[3] 171 | Cell tt_um_TT06_SAR_wulffern (0) disconnected node: uio_in[2] 172 | Cell tt_um_TT06_SAR_wulffern (0) disconnected node: uio_in[1] 173 | Cell tt_um_TT06_SAR_wulffern (0) disconnected node: uio_in[0] 174 | Cell tt_um_TT06_SAR_wulffern (0) disconnected node: ua[7] 175 | Cell tt_um_TT06_SAR_wulffern (0) disconnected node: ua[6] 176 | Cell tt_um_TT06_SAR_wulffern (0) disconnected node: ua[5] 177 | Cell tt_um_TT06_SAR_wulffern (0) disconnected node: ua[4] 178 | Cell tt_um_TT06_SAR_wulffern (0) disconnected node: ua[3] 179 | Cell tt_um_TT06_SAR_wulffern (0) disconnected node: ua[2] 180 | Cell tt_um_TT06_SAR_wulffern (0) disconnected node: ena 181 | Cell tt_um_TT06_SAR_wulffern (0) disconnected node: rst_n 182 | Cell tt_um_TT06_SAR_wulffern (1) disconnected node: ui_in[7] 183 | Cell tt_um_TT06_SAR_wulffern (1) disconnected node: ui_in[6] 184 | Cell tt_um_TT06_SAR_wulffern (1) disconnected node: ui_in[5] 185 | Cell tt_um_TT06_SAR_wulffern (1) disconnected node: ui_in[4] 186 | Cell tt_um_TT06_SAR_wulffern (1) disconnected node: ui_in[3] 187 | Cell tt_um_TT06_SAR_wulffern (1) disconnected node: ui_in[2] 188 | Cell tt_um_TT06_SAR_wulffern (1) disconnected node: ui_in[1] 189 | Cell tt_um_TT06_SAR_wulffern (1) disconnected node: uio_in[7] 190 | Cell tt_um_TT06_SAR_wulffern (1) disconnected node: uio_in[6] 191 | Cell tt_um_TT06_SAR_wulffern (1) disconnected node: uio_in[5] 192 | Cell tt_um_TT06_SAR_wulffern (1) disconnected node: uio_in[4] 193 | Cell tt_um_TT06_SAR_wulffern (1) disconnected node: uio_in[3] 194 | Cell tt_um_TT06_SAR_wulffern (1) disconnected node: uio_in[2] 195 | Cell tt_um_TT06_SAR_wulffern (1) disconnected node: uio_in[1] 196 | Cell tt_um_TT06_SAR_wulffern (1) disconnected node: uio_in[0] 197 | Cell tt_um_TT06_SAR_wulffern (1) disconnected node: ua[7] 198 | Cell tt_um_TT06_SAR_wulffern (1) disconnected node: ua[6] 199 | Cell tt_um_TT06_SAR_wulffern (1) disconnected node: ua[5] 200 | Cell tt_um_TT06_SAR_wulffern (1) disconnected node: ua[4] 201 | Cell tt_um_TT06_SAR_wulffern (1) disconnected node: ua[3] 202 | Cell tt_um_TT06_SAR_wulffern (1) disconnected node: ua[2] 203 | Cell tt_um_TT06_SAR_wulffern (1) disconnected node: ena 204 | Cell tt_um_TT06_SAR_wulffern (1) disconnected node: rst_n 205 | Class tt_um_TT06_SAR_wulffern (0): Merged 375 parallel devices. 206 | Class tt_um_TT06_SAR_wulffern (1): Merged 375 parallel devices. 207 | Cell tt_um_TT06_SAR_wulffern (0) disconnected node: ui_in[7] 208 | Cell tt_um_TT06_SAR_wulffern (0) disconnected node: ui_in[6] 209 | Cell tt_um_TT06_SAR_wulffern (0) disconnected node: ui_in[5] 210 | Cell tt_um_TT06_SAR_wulffern (0) disconnected node: ui_in[4] 211 | Cell tt_um_TT06_SAR_wulffern (0) disconnected node: ui_in[3] 212 | Cell tt_um_TT06_SAR_wulffern (0) disconnected node: ui_in[2] 213 | Cell tt_um_TT06_SAR_wulffern (0) disconnected node: ui_in[1] 214 | Cell tt_um_TT06_SAR_wulffern (0) disconnected node: uio_in[7] 215 | Cell tt_um_TT06_SAR_wulffern (0) disconnected node: uio_in[6] 216 | Cell tt_um_TT06_SAR_wulffern (0) disconnected node: uio_in[5] 217 | Cell tt_um_TT06_SAR_wulffern (0) disconnected node: uio_in[4] 218 | Cell tt_um_TT06_SAR_wulffern (0) disconnected node: uio_in[3] 219 | Cell tt_um_TT06_SAR_wulffern (0) disconnected node: uio_in[2] 220 | Cell tt_um_TT06_SAR_wulffern (0) disconnected node: uio_in[1] 221 | Cell tt_um_TT06_SAR_wulffern (0) disconnected node: uio_in[0] 222 | Cell tt_um_TT06_SAR_wulffern (0) disconnected node: ua[7] 223 | Cell tt_um_TT06_SAR_wulffern (0) disconnected node: ua[6] 224 | Cell tt_um_TT06_SAR_wulffern (0) disconnected node: ua[5] 225 | Cell tt_um_TT06_SAR_wulffern (0) disconnected node: ua[4] 226 | Cell tt_um_TT06_SAR_wulffern (0) disconnected node: ua[3] 227 | Cell tt_um_TT06_SAR_wulffern (0) disconnected node: ua[2] 228 | Cell tt_um_TT06_SAR_wulffern (0) disconnected node: ena 229 | Cell tt_um_TT06_SAR_wulffern (0) disconnected node: rst_n 230 | Cell tt_um_TT06_SAR_wulffern (1) disconnected node: ui_in[7] 231 | Cell tt_um_TT06_SAR_wulffern (1) disconnected node: ui_in[6] 232 | Cell tt_um_TT06_SAR_wulffern (1) disconnected node: ui_in[5] 233 | Cell tt_um_TT06_SAR_wulffern (1) disconnected node: ui_in[4] 234 | Cell tt_um_TT06_SAR_wulffern (1) disconnected node: ui_in[3] 235 | Cell tt_um_TT06_SAR_wulffern (1) disconnected node: ui_in[2] 236 | Cell tt_um_TT06_SAR_wulffern (1) disconnected node: ui_in[1] 237 | Cell tt_um_TT06_SAR_wulffern (1) disconnected node: uio_in[7] 238 | Cell tt_um_TT06_SAR_wulffern (1) disconnected node: uio_in[6] 239 | Cell tt_um_TT06_SAR_wulffern (1) disconnected node: uio_in[5] 240 | Cell tt_um_TT06_SAR_wulffern (1) disconnected node: uio_in[4] 241 | Cell tt_um_TT06_SAR_wulffern (1) disconnected node: uio_in[3] 242 | Cell tt_um_TT06_SAR_wulffern (1) disconnected node: uio_in[2] 243 | Cell tt_um_TT06_SAR_wulffern (1) disconnected node: uio_in[1] 244 | Cell tt_um_TT06_SAR_wulffern (1) disconnected node: uio_in[0] 245 | Cell tt_um_TT06_SAR_wulffern (1) disconnected node: ua[7] 246 | Cell tt_um_TT06_SAR_wulffern (1) disconnected node: ua[6] 247 | Cell tt_um_TT06_SAR_wulffern (1) disconnected node: ua[5] 248 | Cell tt_um_TT06_SAR_wulffern (1) disconnected node: ua[4] 249 | Cell tt_um_TT06_SAR_wulffern (1) disconnected node: ua[3] 250 | Cell tt_um_TT06_SAR_wulffern (1) disconnected node: ua[2] 251 | Cell tt_um_TT06_SAR_wulffern (1) disconnected node: ena 252 | Cell tt_um_TT06_SAR_wulffern (1) disconnected node: rst_n 253 | Subcircuit summary: 254 | Circuit 1: tt_um_TT06_SAR_wulffern |Circuit 2: tt_um_TT06_SAR_wulffern 255 | -------------------------------------------|------------------------------------------- 256 | sky130_fd_pr__nfet_01v8 (531->359) |sky130_fd_pr__nfet_01v8 (531->359) 257 | sky130_fd_pr__pfet_01v8 (515->363) |sky130_fd_pr__pfet_01v8 (515->363) 258 | sky130_fd_pr__res_generic_m4 (16) |sky130_fd_pr__res_generic_m4 (16) 259 | sky130_fd_pr__res_generic_l1 (48->21) |sky130_fd_pr__res_generic_l1 (48->21) 260 | sky130_fd_pr__res_generic_m3 (20->4) |sky130_fd_pr__res_generic_m3 (20->4) 261 | sky130_fd_pr__cap_mim_m3_1 (9->1) |sky130_fd_pr__cap_mim_m3_1 (9->1) 262 | sky130_fd_pr__diode_pw2nd_05v5 (3) |sky130_fd_pr__diode_pw2nd_05v5 (3) 263 | Number of devices: 767 |Number of devices: 767 264 | Number of nets: 476 |Number of nets: 476 265 | --------------------------------------------------------------------------------------- 266 | Resolving symmetries by property value. 267 | Resolving symmetries by pin name. 268 | Netlists match with 5 symmetries. 269 | 270 | Subcircuit pins: 271 | Circuit 1: tt_um_TT06_SAR_wulffern |Circuit 2: tt_um_TT06_SAR_wulffern 272 | -------------------------------------------|------------------------------------------- 273 | uio_oe[7] |uio_oe[7] 274 | uio_oe[6] |uio_oe[6] 275 | uio_oe[5] |uio_oe[5] 276 | uio_oe[4] |uio_oe[4] 277 | uio_oe[3] |uio_oe[3] 278 | uio_oe[2] |uio_oe[2] 279 | uio_oe[1] |uio_oe[1] 280 | uio_out[7] |uio_out[7] 281 | uio_out[6] |uio_out[6] 282 | uio_out[5] |uio_out[5] 283 | uio_out[4] |uio_out[4] 284 | uio_out[3] |uio_out[3] 285 | uio_out[2] |uio_out[2] 286 | uio_out[1] |uio_out[1] 287 | uio_oe[0] |uio_oe[0] 288 | clk |clk 289 | ui_in[0] |ui_in[0] 290 | uio_out[0] |uio_out[0] 291 | ua[1] |ua[1] 292 | ua[0] |ua[0] 293 | uo_out[0] |uo_out[0] 294 | uo_out[7] |uo_out[7] 295 | uo_out[6] |uo_out[6] 296 | uo_out[5] |uo_out[5] 297 | uo_out[1] |uo_out[1] 298 | uo_out[4] |uo_out[4] 299 | uo_out[2] |uo_out[2] 300 | uo_out[3] |uo_out[3] 301 | VPWR |VPWR 302 | VGND |VGND 303 | ui_in[7] |ui_in[7] 304 | ui_in[6] |ui_in[6] 305 | ui_in[5] |ui_in[5] 306 | ui_in[4] |ui_in[4] 307 | ui_in[3] |ui_in[3] 308 | ui_in[2] |ui_in[2] 309 | ui_in[1] |ui_in[1] 310 | uio_in[7] |uio_in[7] 311 | uio_in[6] |uio_in[6] 312 | uio_in[5] |uio_in[5] 313 | uio_in[4] |uio_in[4] 314 | uio_in[3] |uio_in[3] 315 | uio_in[2] |uio_in[2] 316 | uio_in[1] |uio_in[1] 317 | uio_in[0] |uio_in[0] 318 | ua[7] |ua[7] 319 | ua[6] |ua[6] 320 | ua[5] |ua[5] 321 | ua[4] |ua[4] 322 | ua[3] |ua[3] 323 | ua[2] |ua[2] 324 | ena |ena 325 | rst_n |rst_n 326 | --------------------------------------------------------------------------------------- 327 | Cell pin lists are equivalent. 328 | Device classes tt_um_TT06_SAR_wulffern and tt_um_TT06_SAR_wulffern are equivalent. 329 | 330 | Final result: Circuits match uniquely. 331 | . 332 | -------------------------------------------------------------------------------- /spi/tt_um_TT06_SAR_wulffern.spice: -------------------------------------------------------------------------------- 1 | ** sch_path: /Users/wulff/pro/tt06-sar/ip/tt06_sar_sky130nm/design/TT06_SAR_SKY130NM/tt_um_TT06_SAR_wulffern.sch 2 | .subckt tt_um_TT06_SAR_wulffern VPWR VGND ui_in[7] ui_in[6] ui_in[5] ui_in[4] ui_in[3] ui_in[2] ui_in[1] ui_in[0] 3 | + uo_out[7] uo_out[6] uo_out[5] uo_out[4] uo_out[3] uo_out[2] uo_out[1] uo_out[0] uio_in[7] uio_in[6] uio_in[5] uio_in[4] uio_in[3] uio_in[2] uio_in[1] uio_in[0] 4 | + uio_out[7] uio_out[6] uio_out[5] uio_out[4] uio_out[3] uio_out[2] uio_out[1] uio_out[0] uio_oe[7] uio_oe[6] uio_oe[5] uio_oe[4] uio_oe[3] uio_oe[2] uio_oe[1] uio_oe[0] ua[7] ua[6] ua[5] ua[4] ua[3] ua[2] ua[1] ua[0] 5 | + ena clk rst_n 6 | *.ipin VPWR 7 | *.ipin VGND 8 | *.ipin ui_in[7] ui_in[6] ui_in[5] ui_in[4] ui_in[3] ui_in[2] ui_in[1] ui_in[0] 9 | *.opin uo_out[7] uo_out[6] uo_out[5] uo_out[4] uo_out[3] uo_out[2] uo_out[1] uo_out[0] 10 | *.ipin uio_in[7] uio_in[6] uio_in[5] uio_in[4] uio_in[3] uio_in[2] uio_in[1] uio_in[0] 11 | *.opin uio_out[7] uio_out[6] uio_out[5] uio_out[4] uio_out[3] uio_out[2] uio_out[1] uio_out[0] 12 | *.opin uio_oe[7] uio_oe[6] uio_oe[5] uio_oe[4] uio_oe[3] uio_oe[2] uio_oe[1] uio_oe[0] 13 | *.iopin ua[7] ua[6] ua[5] ua[4] ua[3] ua[2] ua[1] ua[0] 14 | *.ipin ena 15 | *.ipin clk 16 | *.ipin rst_n 17 | x1 ua[1] ua[0] SARN SARP DONE D<7> D<6> D<5> D<4> D<3> D<2> D<1> D<0> EN CK_SAMPLE CK_SAMPLE_BSSW VPWR VPWR VGND SUNSAR_SAR8B_CV 18 | x2 clk ui_in[0] CK_SAMPLE CK_SAMPLE_BSSW EN D<7> D<6> D<5> D<4> D<3> D<2> D<1> D<0> uo_out[7] uo_out[6] uo_out[5] uo_out[4] 19 | + uo_out[3] uo_out[2] uo_out[1] uo_out[0] DONE VPWR VGND TIE_L SUNSAR_CAPT8B_CV 20 | R1[7] TIE_L2 uio_oe[7] sky130_fd_pr__res_generic_m4 W=0.3 L=0.3 m=1 21 | R1[6] TIE_L2 uio_oe[6] sky130_fd_pr__res_generic_m4 W=0.3 L=0.3 m=1 22 | R1[5] TIE_L2 uio_oe[5] sky130_fd_pr__res_generic_m4 W=0.3 L=0.3 m=1 23 | R1[4] TIE_L2 uio_oe[4] sky130_fd_pr__res_generic_m4 W=0.3 L=0.3 m=1 24 | R1[3] TIE_L2 uio_oe[3] sky130_fd_pr__res_generic_m4 W=0.3 L=0.3 m=1 25 | R1[2] TIE_L2 uio_oe[2] sky130_fd_pr__res_generic_m4 W=0.3 L=0.3 m=1 26 | R1[1] TIE_L2 uio_oe[1] sky130_fd_pr__res_generic_m4 W=0.3 L=0.3 m=1 27 | R2[7] TIE_L1 uio_out[7] sky130_fd_pr__res_generic_m4 W=0.3 L=0.3 m=1 28 | R2[6] TIE_L1 uio_out[6] sky130_fd_pr__res_generic_m4 W=0.3 L=0.3 m=1 29 | R2[5] TIE_L1 uio_out[5] sky130_fd_pr__res_generic_m4 W=0.3 L=0.3 m=1 30 | R2[4] TIE_L1 uio_out[4] sky130_fd_pr__res_generic_m4 W=0.3 L=0.3 m=1 31 | R2[3] TIE_L1 uio_out[3] sky130_fd_pr__res_generic_m4 W=0.3 L=0.3 m=1 32 | R2[2] TIE_L1 uio_out[2] sky130_fd_pr__res_generic_m4 W=0.3 L=0.3 m=1 33 | R2[1] TIE_L1 uio_out[1] sky130_fd_pr__res_generic_m4 W=0.3 L=0.3 m=1 34 | R3 TIE_L TIE_L1 sky130_fd_pr__res_generic_m4 W=0.3 L=0.3 m=1 35 | R4 TIE_L TIE_L2 sky130_fd_pr__res_generic_m4 W=0.3 L=0.3 m=1 36 | XC2[8] VPWR VGND sky130_fd_pr__cap_mim_m3_1 W=18 L=18 MF=1 m=1 37 | XC2[7] VPWR VGND sky130_fd_pr__cap_mim_m3_1 W=18 L=18 MF=1 m=1 38 | XC2[6] VPWR VGND sky130_fd_pr__cap_mim_m3_1 W=18 L=18 MF=1 m=1 39 | XC2[5] VPWR VGND sky130_fd_pr__cap_mim_m3_1 W=18 L=18 MF=1 m=1 40 | XC2[4] VPWR VGND sky130_fd_pr__cap_mim_m3_1 W=18 L=18 MF=1 m=1 41 | XC2[3] VPWR VGND sky130_fd_pr__cap_mim_m3_1 W=18 L=18 MF=1 m=1 42 | XC2[2] VPWR VGND sky130_fd_pr__cap_mim_m3_1 W=18 L=18 MF=1 m=1 43 | XC2[1] VPWR VGND sky130_fd_pr__cap_mim_m3_1 W=18 L=18 MF=1 m=1 44 | XC2[0] VPWR VGND sky130_fd_pr__cap_mim_m3_1 W=18 L=18 MF=1 m=1 45 | x3 DONE uio_out[0] VPWR VGND SUNTR_BFX1_CV 46 | x4 uio_oe[0] VPWR VGND SUNTR_TIEH_CV 47 | x5 VPWR VGND SUNTR_TAPCELLB_CV 48 | D1 VGND CK_SAMPLE_BSSW sky130_fd_pr__diode_pw2nd_05v5 area=2.025e11 pj=1.8e6 49 | D2 VGND clk sky130_fd_pr__diode_pw2nd_05v5 area=2.025e11 pj=1.8e6 50 | D3 VGND ui_in[0] sky130_fd_pr__diode_pw2nd_05v5 area=2.025e11 pj=1.8e6 51 | .ends 52 | 53 | * expanding symbol: SUN_SAR9B_SKY130NM/SUNSAR_SAR8B_CV.sym # of pins=19 54 | ** sym_path: /Users/wulff/data/2024/tt06-sar/ip/tt06_sar_sky130nm/design/SUN_SAR9B_SKY130NM/SUNSAR_SAR8B_CV.sym 55 | ** sch_path: /Users/wulff/data/2024/tt06-sar/ip/tt06_sar_sky130nm/design/SUN_SAR9B_SKY130NM/SUNSAR_SAR8B_CV.sch 56 | .subckt SUNSAR_SAR8B_CV SAR_IP SAR_IN SARN SARP DONE D<7> D<6> D<5> D<4> D<3> D<2> D<1> D<0> EN CK_SAMPLE CK_SAMPLE_BSSW VREF AVDD 57 | + AVSS 58 | *.iopin SAR_IP 59 | *.iopin SAR_IN 60 | *.iopin SARN 61 | *.iopin SARP 62 | *.iopin DONE 63 | *.iopin D<7> 64 | *.iopin D<6> 65 | *.iopin D<5> 66 | *.iopin D<4> 67 | *.iopin D<3> 68 | *.iopin D<2> 69 | *.iopin D<1> 70 | *.iopin D<0> 71 | *.iopin EN 72 | *.iopin CK_SAMPLE 73 | *.iopin CK_SAMPLE_BSSW 74 | *.iopin VREF 75 | *.iopin AVDD 76 | *.iopin AVSS 77 | XXB1 SAR_IP CK_SAMPLE_BSSW NCCA CEIN SARP SARN AVDD AVSS SUNSAR_SARBSSW_CV 78 | XXB2 SAR_IN CK_SAMPLE_BSSW NCCB CEIN SARN SARP AVDD AVSS SUNSAR_SARBSSW_CV 79 | XXDAC1 CP<9> CP<8> D<6> CP<6> D<5> CP<4> D<4> D<3> D<2> D<1> SARP AVSS SUNSAR_CDAC7_CV 80 | XXDAC2 D<7> CN<8> CN<7> CN<6> CN<5> CN<4> CN<3> CN<2> CN<1> CN<0> SARN AVSS SUNSAR_CDAC7_CV 81 | XXA0 CMP_OP CMP_ON EN EN ENO0 DONE0 CP<8> CP<9> CN<8> D<7> CEIN CEO0 CK_SAMPLE VREF AVDD AVSS SUNSAR_SARDIGEX4_CV 82 | XXA1 CMP_OP CMP_ON ENO0 EN ENO1 DONE1 CP<6> D<6> CN<6> CN<7> CEO0 CEO1 CK_SAMPLE VREF AVDD AVSS SUNSAR_SARDIGEX4_CV 83 | XXA2 CMP_OP CMP_ON ENO1 EN ENO2 DONE2 CP<4> D<5> CN<4> CN<5> CEO1 CEO2 CK_SAMPLE VREF AVDD AVSS SUNSAR_SARDIGEX4_CV 84 | XXA3 CMP_OP CMP_ON ENO2 EN ENO3 DONE3 NC2A D<4> CN<3> NC2B CEO2 CEO3 CK_SAMPLE VREF AVDD AVSS SUNSAR_SARDIGEX4_CV 85 | XXA4 CMP_OP CMP_ON ENO3 EN ENO4 DONE4 NC3A D<3> CN<2> NC3B CEO3 CEO4 CK_SAMPLE VREF AVDD AVSS SUNSAR_SARDIGEX4_CV 86 | XXA5 CMP_OP CMP_ON ENO4 EN ENO5 DONE5 NC4A D<2> CN<1> NC4B CEO4 CEO5 CK_SAMPLE VREF AVDD AVSS SUNSAR_SARDIGEX4_CV 87 | XXA6 CMP_OP CMP_ON ENO5 EN ENO6 DONE6 NC5A D<1> CN<0> NC5B CEO5 CEO6 CK_SAMPLE VREF AVDD AVSS SUNSAR_SARDIGEX4_CV 88 | XXA7 CMP_OP CMP_ON ENO6 EN ENO7 DONE NC6A D<0> NC6C NC6B CEO6 CK_CMP CK_SAMPLE VREF AVDD AVSS SUNSAR_SARDIGEX4_CV 89 | XXA20 SARP SARN CMP_OP CMP_ON CK_CMP CK_SAMPLE DONE AVDD AVSS SUNSAR_SARCMPX1_CV 90 | .ends 91 | 92 | 93 | * expanding symbol: SUN_SAR9B_SKY130NM/SUNSAR_CAPT8B_CV.sym # of pins=25 94 | ** sym_path: /Users/wulff/data/2024/tt06-sar/ip/tt06_sar_sky130nm/design/SUN_SAR9B_SKY130NM/SUNSAR_CAPT8B_CV.sym 95 | ** sch_path: /Users/wulff/data/2024/tt06-sar/ip/tt06_sar_sky130nm/design/SUN_SAR9B_SKY130NM/SUNSAR_CAPT8B_CV.sch 96 | .subckt SUNSAR_CAPT8B_CV CKS ENABLE CK_SAMPLE CK_SAMPLE_BSSW EN D<7> D<6> D<5> D<4> D<3> D<2> D<1> D<0> DO<7> DO<6> DO<5> DO<4> 97 | + DO<3> DO<2> DO<1> DO<0> DONE AVDD AVSS TIE_L 98 | *.iopin CKS 99 | *.iopin ENABLE 100 | *.iopin CK_SAMPLE 101 | *.iopin CK_SAMPLE_BSSW 102 | *.iopin EN 103 | *.iopin D<7> 104 | *.iopin D<6> 105 | *.iopin D<5> 106 | *.iopin D<4> 107 | *.iopin D<3> 108 | *.iopin D<2> 109 | *.iopin D<1> 110 | *.iopin D<0> 111 | *.iopin DO<7> 112 | *.iopin DO<6> 113 | *.iopin DO<5> 114 | *.iopin DO<4> 115 | *.iopin DO<3> 116 | *.iopin DO<2> 117 | *.iopin DO<1> 118 | *.iopin DO<0> 119 | *.iopin DONE 120 | *.iopin AVDD 121 | *.iopin AVSS 122 | *.iopin TIE_L 123 | XXB07 D<7> DONE DO<7> DN7 AVDD AVSS SUNSAR_DFQNX1_CV 124 | XXC08 D<6> DONE DO<6> DN6 AVDD AVSS SUNSAR_DFQNX1_CV 125 | XXD09 D<5> DONE DO<5> DN5 AVDD AVSS SUNSAR_DFQNX1_CV 126 | XXE10 D<4> DONE DO<4> DN4 AVDD AVSS SUNSAR_DFQNX1_CV 127 | XXF11 D<3> DONE DO<3> DN3 AVDD AVSS SUNSAR_DFQNX1_CV 128 | XXG12 D<2> DONE DO<2> DN2 AVDD AVSS SUNSAR_DFQNX1_CV 129 | XXH13 D<1> DONE DO<1> DN1 AVDD AVSS SUNSAR_DFQNX1_CV 130 | XXI14 D<0> DONE DO<0> DM0 AVDD AVSS SUNSAR_DFQNX1_CV 131 | XXA1 AVDD AVSS SUNSAR_TAPCELLB_CV 132 | XXA2 ENABLE ENABLE_N AVDD AVSS AVDD AVSS SUNSAR_IVX1_CV 133 | XXA3 ENABLE_N ENABLE_B AVDD AVSS AVDD AVSS SUNSAR_IVX1_CV 134 | XXA4 CKS CKS_B AVDD AVSS AVDD AVSS SUNSAR_BFX1_CV 135 | XXA5 CKS_B ENABLE_N CK_SAMPLE AVDD AVSS AVDD AVSS SUNSAR_ORX1_CV 136 | XXA5a CK_SAMPLE EN AVDD AVSS AVDD AVSS SUNSAR_IVX1_CV 137 | XXA6 CKS_B ENABLE_B CK_SAMPLE_BSSW AVDD AVSS AVSS AVDD SUNSAR_ANX1_CV 138 | XXA7 TIE_L AVDD AVSS AVDD AVSS SUNSAR_TIEL_CV 139 | .ends 140 | 141 | 142 | * expanding symbol: SUN_TR_SKY130NM/SUNTR_BFX1_CV.sym # of pins=4 143 | ** sym_path: /Users/wulff/data/2024/tt06-sar/ip/sun_tr_sky130nm/design/SUN_TR_SKY130NM/SUNTR_BFX1_CV.sym 144 | ** sch_path: /Users/wulff/data/2024/tt06-sar/ip/sun_tr_sky130nm/design/SUN_TR_SKY130NM/SUNTR_BFX1_CV.sch 145 | .subckt SUNTR_BFX1_CV A Y AVDD AVSS 146 | *.ipin A 147 | *.opin Y 148 | *.ipin AVDD 149 | *.ipin AVSS 150 | XMN0 AVSS A B AVSS SUNTR_NCHDL 151 | XMN1 Y B AVSS AVSS SUNTR_NCHDL 152 | XMP0 AVDD A B AVDD SUNTR_PCHDL 153 | XMP1 Y B AVDD AVDD SUNTR_PCHDL 154 | .ends 155 | 156 | 157 | * expanding symbol: SUN_TR_SKY130NM/SUNTR_TIEH_CV.sym # of pins=3 158 | ** sym_path: /Users/wulff/data/2024/tt06-sar/ip/sun_tr_sky130nm/design/SUN_TR_SKY130NM/SUNTR_TIEH_CV.sym 159 | ** sch_path: /Users/wulff/data/2024/tt06-sar/ip/sun_tr_sky130nm/design/SUN_TR_SKY130NM/SUNTR_TIEH_CV.sch 160 | .subckt SUNTR_TIEH_CV Y AVDD AVSS 161 | *.iopin Y 162 | *.iopin AVDD 163 | *.iopin AVSS 164 | XMN0 A A AVSS AVSS SUNTR_NCHDL 165 | XMP0 Y A AVDD AVDD SUNTR_PCHDL 166 | .ends 167 | 168 | 169 | * expanding symbol: SUN_TR_SKY130NM/SUNTR_TAPCELLB_CV.sym # of pins=2 170 | ** sym_path: /Users/wulff/data/2024/tt06-sar/ip/sun_tr_sky130nm/design/SUN_TR_SKY130NM/SUNTR_TAPCELLB_CV.sym 171 | ** sch_path: /Users/wulff/data/2024/tt06-sar/ip/sun_tr_sky130nm/design/SUN_TR_SKY130NM/SUNTR_TAPCELLB_CV.sch 172 | .subckt SUNTR_TAPCELLB_CV AVDD AVSS 173 | *.iopin AVDD 174 | *.iopin AVSS 175 | XMN1 AVSS AVSS AVSS AVSS SUNTR_NCHDL 176 | XMP1 AVDD AVDD AVDD AVDD SUNTR_PCHDL 177 | .ends 178 | 179 | 180 | * expanding symbol: SUN_SAR9B_SKY130NM/SUNSAR_SARBSSW_CV.sym # of pins=8 181 | ** sym_path: /Users/wulff/data/2024/tt06-sar/ip/tt06_sar_sky130nm/design/SUN_SAR9B_SKY130NM/SUNSAR_SARBSSW_CV.sym 182 | ** sch_path: /Users/wulff/data/2024/tt06-sar/ip/tt06_sar_sky130nm/design/SUN_SAR9B_SKY130NM/SUNSAR_SARBSSW_CV.sch 183 | .subckt SUNSAR_SARBSSW_CV VI CK CKN TIE_L VO1 VO2 AVDD AVSS 184 | *.iopin VI 185 | *.iopin CK 186 | *.iopin CKN 187 | *.iopin TIE_L 188 | *.iopin VO1 189 | *.iopin VO2 190 | *.iopin AVDD 191 | *.iopin AVSS 192 | XM1 VI GN VO1 AVSS SUNSAR_NCHDLR 193 | XM2 VI GN VO1 AVSS SUNSAR_NCHDLR 194 | XM3 VI GN VO1 AVSS SUNSAR_NCHDLR 195 | XM4 VI GN VO1 AVSS SUNSAR_NCHDLR 196 | XM5 VI TIE_L VO2 AVSS SUNSAR_NCHDLR 197 | XM6 VI TIE_L VO2 AVSS SUNSAR_NCHDLR 198 | XM7 VI TIE_L VO2 AVSS SUNSAR_NCHDLR 199 | XM8 VI TIE_L VO2 AVSS SUNSAR_NCHDLR 200 | XXA5b AVDD AVSS SUNSAR_TAPCELLB_CV 201 | XXA0 CK CKN AVDD AVSS AVDD AVSS SUNSAR_IVX1_CV 202 | XXA3 CKN VI VS AVDD AVSS AVDD AVSS SUNSAR_TGPD_CV 203 | XXA4 CKN GN GNG TIE_H AVDD AVSS AVDD AVSS SUNSAR_SARBSSWCTRL_CV 204 | XXA1 TIE_H AVDD AVSS AVDD AVSS SUNSAR_TIEH_CV 205 | XXA7 AVDD AVSS SUNSAR_TAPCELLB_CV 206 | XXA2 TIE_L AVDD AVSS AVDD AVSS SUNSAR_TIEL_CV 207 | XXA5 AVDD AVSS SUNSAR_TAPCELLB_CV 208 | XXCAPB1 GNG VS SUNSAR_CAP_BSSW5_CV 209 | .ends 210 | 211 | 212 | * expanding symbol: SUN_SAR9B_SKY130NM/SUNSAR_CDAC7_CV.sym # of pins=12 213 | ** sym_path: /Users/wulff/data/2024/tt06-sar/ip/tt06_sar_sky130nm/design/SUN_SAR9B_SKY130NM/SUNSAR_CDAC7_CV.sym 214 | ** sch_path: /Users/wulff/data/2024/tt06-sar/ip/tt06_sar_sky130nm/design/SUN_SAR9B_SKY130NM/SUNSAR_CDAC7_CV.sch 215 | .subckt SUNSAR_CDAC7_CV CP<9> CP<8> CP<7> CP<6> CP<5> CP<4> CP<3> CP<2> CP<1> CP<0> CTOP AVSS 216 | *.iopin CP<9> 217 | *.iopin CP<8> 218 | *.iopin CP<7> 219 | *.iopin CP<6> 220 | *.iopin CP<5> 221 | *.iopin CP<4> 222 | *.iopin CP<3> 223 | *.iopin CP<2> 224 | *.iopin CP<1> 225 | *.iopin CP<0> 226 | *.iopin CTOP 227 | *.iopin AVSS 228 | XXC1 CP<8> CP<8> CP<8> CP<8> CP<8> CP<8> CTOP AVSS SUNSAR_CAP32C_CV 229 | XXC32a<0> AVSS CP<0> CP<1> CP<2> CP<3> CP<7> CTOP AVSS SUNSAR_CAP32C_CV 230 | XX16ab CP<5> CP<5> CP<5> CP<5> CP<4> CP<6> CTOP AVSS SUNSAR_CAP32C_CV 231 | XXC0 CP<9> CP<9> CP<9> CP<9> CP<9> CP<9> CTOP AVSS SUNSAR_CAP32C_CV 232 | .ends 233 | 234 | 235 | * expanding symbol: SUN_SAR9B_SKY130NM/SUNSAR_SARDIGEX4_CV.sym # of pins=16 236 | ** sym_path: /Users/wulff/data/2024/tt06-sar/ip/tt06_sar_sky130nm/design/SUN_SAR9B_SKY130NM/SUNSAR_SARDIGEX4_CV.sym 237 | ** sch_path: /Users/wulff/data/2024/tt06-sar/ip/tt06_sar_sky130nm/design/SUN_SAR9B_SKY130NM/SUNSAR_SARDIGEX4_CV.sch 238 | .subckt SUNSAR_SARDIGEX4_CV CMP_OP CMP_ON EN RST_N ENO DONE CP0 CP1 CN0 CN1 CEIN CEO CKS VREF AVDD AVSS 239 | *.iopin CMP_OP 240 | *.iopin CMP_ON 241 | *.iopin EN 242 | *.iopin RST_N 243 | *.iopin ENO 244 | *.iopin DONE 245 | *.iopin CP0 246 | *.iopin CP1 247 | *.iopin CN0 248 | *.iopin CN1 249 | *.iopin CEIN 250 | *.iopin CEO 251 | *.iopin CKS 252 | *.iopin VREF 253 | *.iopin AVDD 254 | *.iopin AVSS 255 | XXA1 CMP_OP CMP_ON EN RST_N ENO CHL_OP CHL_ON AVDD AVSS SUNSAR_SARMRYX1_CV 256 | XXA2 CHL_ON CN1 VREF AVSS AVDD AVSS SUNSAR_SWX4_CV 257 | XXA3 CN1 CP1 VREF AVSS AVDD AVSS SUNSAR_SWX4_CV 258 | XXA4 CHL_OP CP0 VREF AVSS AVDD AVSS SUNSAR_SWX4_CV 259 | XXA5 CP0 CN0 VREF AVSS AVDD AVSS SUNSAR_SWX4_CV 260 | XXA6 CN0 CP1 CE CKS AVDD AVSS AVDD AVSS SUNSAR_SARCEX1_CV 261 | XXA7 ENO ENO_N AVDD AVSS AVDD AVSS SUNSAR_IVX1_CV 262 | XXA8 ENO_N DONE AVDD AVSS AVDD AVSS SUNSAR_IVX1_CV 263 | XXA9 ENO_N CE CE1 AVDD AVSS AVDD AVSS SUNSAR_NDX1_CV 264 | XXA10 CE1 CE1_N AVDD AVSS AVDD AVSS SUNSAR_IVX1_CV 265 | XXA11 CE1_N CEIN CEO1 AVDD AVSS AVDD AVSS SUNSAR_NRX1_CV 266 | XXA12 CEO1 CEO AVDD AVSS AVDD AVSS SUNSAR_IVX1_CV 267 | XXA13 AVDD AVSS SUNSAR_TAPCELLB_CV 268 | .ends 269 | 270 | 271 | * expanding symbol: SUN_SAR9B_SKY130NM/SUNSAR_SARCMPX1_CV.sym # of pins=9 272 | ** sym_path: /Users/wulff/data/2024/tt06-sar/ip/tt06_sar_sky130nm/design/SUN_SAR9B_SKY130NM/SUNSAR_SARCMPX1_CV.sym 273 | ** sch_path: /Users/wulff/data/2024/tt06-sar/ip/tt06_sar_sky130nm/design/SUN_SAR9B_SKY130NM/SUNSAR_SARCMPX1_CV.sch 274 | .subckt SUNSAR_SARCMPX1_CV CPI CNI CPO CNO CK_CMP CK_SAMPLE DONE AVDD AVSS 275 | *.iopin CPI 276 | *.iopin CNI 277 | *.iopin CPO 278 | *.iopin CNO 279 | *.iopin CK_CMP 280 | *.iopin CK_SAMPLE 281 | *.iopin DONE 282 | *.iopin AVDD 283 | *.iopin AVSS 284 | XXA0 AVDD AVSS SUNSAR_TAPCELLB_CV 285 | XXA1 CPI CK_B CK_N AVDD AVSS AVDD AVSS SUNSAR_SARKICKHX1_CV 286 | XXA2 CPI CK_B CNO_I CPO_I N1 NC1 AVDD AVSS AVDD AVSS SUNSAR_SARCMPHX1_CV 287 | XXA2a CPO_I CPO AVDD AVSS AVDD AVSS SUNSAR_IVX4_CV 288 | XXA3a CNO_I CNO AVDD AVSS AVDD AVSS SUNSAR_IVX4_CV 289 | XXA3 CNI CK_B CPO_I CNO_I N1 NC2 AVDD AVSS AVDD AVSS SUNSAR_SARCMPHX1_CV 290 | XXA4 CNI CK_B CK_N AVDD AVSS AVDD AVSS SUNSAR_SARKICKHX1_CV 291 | XXA9 CK_N CK_B AVDD AVSS AVDD AVSS SUNSAR_IVX1_CV 292 | XXA10 DONE_N CK_A CK_N AVDD AVSS AVDD AVSS SUNSAR_NDX1_CV 293 | XXA11 CK_SAMPLE DONE DONE_N AVDD AVSS AVDD AVSS SUNSAR_NRX1_CV 294 | XXA12 CK_CMP CK_A AVDD AVSS AVDD AVSS SUNSAR_IVX1_CV 295 | XXA13 AVDD AVSS SUNSAR_TAPCELLB_CV 296 | .ends 297 | 298 | 299 | * expanding symbol: SUN_SAR9B_SKY130NM/SUNSAR_DFQNX1_CV.sym # of pins=6 300 | ** sym_path: /Users/wulff/data/2024/tt06-sar/ip/tt06_sar_sky130nm/design/SUN_SAR9B_SKY130NM/SUNSAR_DFQNX1_CV.sym 301 | ** sch_path: /Users/wulff/data/2024/tt06-sar/ip/tt06_sar_sky130nm/design/SUN_SAR9B_SKY130NM/SUNSAR_DFQNX1_CV.sch 302 | .subckt SUNSAR_DFQNX1_CV D CK Q QN AVDD AVSS 303 | *.iopin D 304 | *.iopin CK 305 | *.iopin Q 306 | *.iopin QN 307 | *.iopin AVDD 308 | *.iopin AVSS 309 | XXA0 AVDD AVSS SUNSAR_TAPCELLB_CV 310 | XXA1 CK CKN AVDD AVSS AVDD AVSS SUNSAR_IVX1_CV 311 | XXA2 CKN CKB AVDD AVSS AVDD AVSS SUNSAR_IVX1_CV 312 | XXA3 D CKN CKB A0 AVDD AVSS AVDD AVSS SUNSAR_IVTRIX1_CV 313 | XXA4 A1 CKB CKN A0 AVDD AVSS AVDD AVSS SUNSAR_IVTRIX1_CV 314 | XXA5 A0 A1 AVDD AVSS AVDD AVSS SUNSAR_IVX1_CV 315 | XXA6 A1 CKB CKN QN AVDD AVSS AVDD AVSS SUNSAR_IVTRIX1_CV 316 | XXA7 Q CKN CKB QN AVDD AVSS AVDD AVSS SUNSAR_IVTRIX1_CV 317 | XXA8 QN Q AVDD AVSS AVDD AVSS SUNSAR_IVX1_CV 318 | .ends 319 | 320 | 321 | * expanding symbol: SUN_SAR9B_SKY130NM/SUNSAR_TAPCELLB_CV.sym # of pins=2 322 | ** sym_path: /Users/wulff/data/2024/tt06-sar/ip/tt06_sar_sky130nm/design/SUN_SAR9B_SKY130NM/SUNSAR_TAPCELLB_CV.sym 323 | ** sch_path: /Users/wulff/data/2024/tt06-sar/ip/tt06_sar_sky130nm/design/SUN_SAR9B_SKY130NM/SUNSAR_TAPCELLB_CV.sch 324 | .subckt SUNSAR_TAPCELLB_CV AVDD AVSS 325 | *.iopin AVDD 326 | *.iopin AVSS 327 | XMN1 AVSS AVSS AVSS AVSS SUNSAR_NCHDL 328 | XMP1 AVDD AVDD AVDD AVDD SUNSAR_PCHDL 329 | .ends 330 | 331 | 332 | * expanding symbol: SUN_SAR9B_SKY130NM/SUNSAR_IVX1_CV.sym # of pins=6 333 | ** sym_path: /Users/wulff/data/2024/tt06-sar/ip/tt06_sar_sky130nm/design/SUN_SAR9B_SKY130NM/SUNSAR_IVX1_CV.sym 334 | ** sch_path: /Users/wulff/data/2024/tt06-sar/ip/tt06_sar_sky130nm/design/SUN_SAR9B_SKY130NM/SUNSAR_IVX1_CV.sch 335 | .subckt SUNSAR_IVX1_CV A Y BULKP BULKN AVDD AVSS 336 | *.ipin A 337 | *.opin Y 338 | *.ipin BULKP 339 | *.ipin BULKN 340 | *.ipin AVDD 341 | *.ipin AVSS 342 | XMN0 Y A AVSS BULKN SUNSAR_NCHDL 343 | XMP0 Y A AVDD BULKP SUNSAR_PCHDL 344 | .ends 345 | 346 | 347 | * expanding symbol: SUN_SAR9B_SKY130NM/SUNSAR_BFX1_CV.sym # of pins=6 348 | ** sym_path: /Users/wulff/data/2024/tt06-sar/ip/tt06_sar_sky130nm/design/SUN_SAR9B_SKY130NM/SUNSAR_BFX1_CV.sym 349 | ** sch_path: /Users/wulff/data/2024/tt06-sar/ip/tt06_sar_sky130nm/design/SUN_SAR9B_SKY130NM/SUNSAR_BFX1_CV.sch 350 | .subckt SUNSAR_BFX1_CV A Y BULKP BULKN AVDD AVSS 351 | *.iopin A 352 | *.iopin Y 353 | *.iopin BULKP 354 | *.iopin BULKN 355 | *.iopin AVDD 356 | *.iopin AVSS 357 | XMN0 AVSS A B BULKN SUNSAR_NCHDL 358 | XMN1 Y B AVSS BULKN SUNSAR_NCHDL 359 | XMP0 AVDD A B BULKP SUNSAR_PCHDL 360 | XMP1 Y B AVDD BULKP SUNSAR_PCHDL 361 | .ends 362 | 363 | 364 | * expanding symbol: SUN_SAR9B_SKY130NM/SUNSAR_ORX1_CV.sym # of pins=7 365 | ** sym_path: /Users/wulff/data/2024/tt06-sar/ip/tt06_sar_sky130nm/design/SUN_SAR9B_SKY130NM/SUNSAR_ORX1_CV.sym 366 | ** sch_path: /Users/wulff/data/2024/tt06-sar/ip/tt06_sar_sky130nm/design/SUN_SAR9B_SKY130NM/SUNSAR_ORX1_CV.sch 367 | .subckt SUNSAR_ORX1_CV A B Y BULKP BULKN AVDD AVSS 368 | *.iopin A 369 | *.iopin B 370 | *.iopin Y 371 | *.iopin BULKP 372 | *.iopin BULKN 373 | *.iopin AVDD 374 | *.iopin AVSS 375 | XXA1 A B YN BULKP BULKN AVDD AVSS SUNSAR_NRX1_CV 376 | XXA2 YN Y BULKP BULKN AVDD AVSS SUNSAR_IVX1_CV 377 | .ends 378 | 379 | 380 | * expanding symbol: SUN_SAR9B_SKY130NM/SUNSAR_ANX1_CV.sym # of pins=7 381 | ** sym_path: /Users/wulff/data/2024/tt06-sar/ip/tt06_sar_sky130nm/design/SUN_SAR9B_SKY130NM/SUNSAR_ANX1_CV.sym 382 | ** sch_path: /Users/wulff/data/2024/tt06-sar/ip/tt06_sar_sky130nm/design/SUN_SAR9B_SKY130NM/SUNSAR_ANX1_CV.sch 383 | .subckt SUNSAR_ANX1_CV A B Y BULKP BULKN AVSS AVDD 384 | *.iopin A 385 | *.iopin B 386 | *.iopin Y 387 | *.iopin BULKP 388 | *.iopin BULKN 389 | *.iopin AVDD 390 | *.iopin AVSS 391 | XXA1 A B YN BULKP BULKN AVDD AVSS SUNSAR_NDX1_CV 392 | XXA2 YN Y BULKP BULKN AVDD AVSS SUNSAR_IVX1_CV 393 | .ends 394 | 395 | 396 | * expanding symbol: SUN_SAR9B_SKY130NM/SUNSAR_TIEL_CV.sym # of pins=5 397 | ** sym_path: /Users/wulff/data/2024/tt06-sar/ip/tt06_sar_sky130nm/design/SUN_SAR9B_SKY130NM/SUNSAR_TIEL_CV.sym 398 | ** sch_path: /Users/wulff/data/2024/tt06-sar/ip/tt06_sar_sky130nm/design/SUN_SAR9B_SKY130NM/SUNSAR_TIEL_CV.sch 399 | .subckt SUNSAR_TIEL_CV Y BULKP BULKN AVDD AVSS 400 | *.iopin Y 401 | *.ipin BULKP 402 | *.ipin BULKN 403 | *.iopin AVDD 404 | *.iopin AVSS 405 | XMN0 Y A AVSS BULKN SUNSAR_NCHDL 406 | XMP0 A A AVDD BULKP SUNSAR_PCHDL 407 | .ends 408 | 409 | 410 | * expanding symbol: SUN_TR_SKY130NM/SUNTR_NCHDL.sym # of pins=4 411 | ** sym_path: /Users/wulff/data/2024/tt06-sar/ip/sun_tr_sky130nm/design/SUN_TR_SKY130NM/SUNTR_NCHDL.sym 412 | ** sch_path: /Users/wulff/data/2024/tt06-sar/ip/sun_tr_sky130nm/design/SUN_TR_SKY130NM/SUNTR_NCHDL.sch 413 | .subckt SUNTR_NCHDL D G S B 414 | *.iopin D 415 | *.iopin G 416 | *.iopin S 417 | *.iopin B 418 | XM1 D G S B sky130_fd_pr__nfet_01v8 L=0.18 W=1.08 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29' pd='2*int((nf+1)/2) * (W/nf + 0.29)' 419 | + ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 mult=1 m=1 420 | .ends 421 | 422 | 423 | * expanding symbol: SUN_TR_SKY130NM/SUNTR_PCHDL.sym # of pins=4 424 | ** sym_path: /Users/wulff/data/2024/tt06-sar/ip/sun_tr_sky130nm/design/SUN_TR_SKY130NM/SUNTR_PCHDL.sym 425 | ** sch_path: /Users/wulff/data/2024/tt06-sar/ip/sun_tr_sky130nm/design/SUN_TR_SKY130NM/SUNTR_PCHDL.sch 426 | .subckt SUNTR_PCHDL D G S B 427 | *.iopin D 428 | *.iopin G 429 | *.iopin S 430 | *.iopin B 431 | XM1 D G S B sky130_fd_pr__pfet_01v8 L=0.18 W=1.08 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29' pd='2*int((nf+1)/2) * (W/nf + 0.29)' 432 | + ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 mult=1 m=1 433 | .ends 434 | 435 | 436 | * expanding symbol: SUN_SAR9B_SKY130NM/SUNSAR_NCHDLR.sym # of pins=4 437 | ** sym_path: /Users/wulff/data/2024/tt06-sar/ip/tt06_sar_sky130nm/design/SUN_SAR9B_SKY130NM/SUNSAR_NCHDLR.sym 438 | ** sch_path: /Users/wulff/data/2024/tt06-sar/ip/tt06_sar_sky130nm/design/SUN_SAR9B_SKY130NM/SUNSAR_NCHDLR.sch 439 | .subckt SUNSAR_NCHDLR D G S B 440 | *.iopin D 441 | *.iopin G 442 | *.iopin S 443 | *.iopin B 444 | XM1 D G S B sky130_fd_pr__nfet_01v8 L=0.18 W=1.08 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29' pd='2*int((nf+1)/2) * (W/nf + 0.29)' 445 | + ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 mult=1 m=1 446 | .ends 447 | 448 | 449 | * expanding symbol: SUN_SAR9B_SKY130NM/SUNSAR_TGPD_CV.sym # of pins=7 450 | ** sym_path: /Users/wulff/data/2024/tt06-sar/ip/tt06_sar_sky130nm/design/SUN_SAR9B_SKY130NM/SUNSAR_TGPD_CV.sym 451 | ** sch_path: /Users/wulff/data/2024/tt06-sar/ip/tt06_sar_sky130nm/design/SUN_SAR9B_SKY130NM/SUNSAR_TGPD_CV.sch 452 | .subckt SUNSAR_TGPD_CV C A B BULKP BULKN AVDD AVSS 453 | *.iopin C 454 | *.iopin A 455 | *.iopin B 456 | *.iopin BULKP 457 | *.iopin BULKN 458 | *.iopin AVDD 459 | *.iopin AVSS 460 | XMN0 AVSS C CN BULKN SUNSAR_NCHDL 461 | XMN1 B C AVSS BULKN SUNSAR_NCHDL 462 | XMN2 A CN B BULKN SUNSAR_NCHDL 463 | XMP0 AVDD C CN BULKP SUNSAR_PCHDL 464 | XMP1_DMY B AVDD AVDD BULKP SUNSAR_PCHDL 465 | XMP2 A C B BULKP SUNSAR_PCHDL 466 | .ends 467 | 468 | 469 | * expanding symbol: SUN_SAR9B_SKY130NM/SUNSAR_SARBSSWCTRL_CV.sym # of pins=8 470 | ** sym_path: /Users/wulff/data/2024/tt06-sar/ip/tt06_sar_sky130nm/design/SUN_SAR9B_SKY130NM/SUNSAR_SARBSSWCTRL_CV.sym 471 | ** sch_path: /Users/wulff/data/2024/tt06-sar/ip/tt06_sar_sky130nm/design/SUN_SAR9B_SKY130NM/SUNSAR_SARBSSWCTRL_CV.sch 472 | .subckt SUNSAR_SARBSSWCTRL_CV C GN GNG TIE_H BULKP BULKN AVDD AVSS 473 | *.iopin C 474 | *.iopin GN 475 | *.iopin GNG 476 | *.iopin TIE_H 477 | *.iopin BULKP 478 | *.iopin BULKN 479 | *.iopin AVDD 480 | *.iopin AVSS 481 | XMN0 N1 C AVSS BULKN SUNSAR_NCHDL 482 | XMN1 GN TIE_H N1 BULKN SUNSAR_NCHDL 483 | XMP0 GNG C GN BULKP SUNSAR_PCHDL 484 | XMP1 AVDD GN GNG BULKP SUNSAR_PCHDL 485 | .ends 486 | 487 | 488 | * expanding symbol: SUN_SAR9B_SKY130NM/SUNSAR_TIEH_CV.sym # of pins=5 489 | ** sym_path: /Users/wulff/data/2024/tt06-sar/ip/tt06_sar_sky130nm/design/SUN_SAR9B_SKY130NM/SUNSAR_TIEH_CV.sym 490 | ** sch_path: /Users/wulff/data/2024/tt06-sar/ip/tt06_sar_sky130nm/design/SUN_SAR9B_SKY130NM/SUNSAR_TIEH_CV.sch 491 | .subckt SUNSAR_TIEH_CV Y BULKP BULKN AVDD AVSS 492 | *.iopin Y 493 | *.ipin BULKP 494 | *.ipin BULKN 495 | *.iopin AVDD 496 | *.iopin AVSS 497 | XMN0 A A AVSS BULKN SUNSAR_NCHDL 498 | XMP0 Y A AVDD BULKP SUNSAR_PCHDL 499 | .ends 500 | 501 | 502 | * expanding symbol: SUN_SAR9B_SKY130NM/SUNSAR_CAP_BSSW5_CV.sym # of pins=2 503 | ** sym_path: /Users/wulff/data/2024/tt06-sar/ip/tt06_sar_sky130nm/design/SUN_SAR9B_SKY130NM/SUNSAR_CAP_BSSW5_CV.sym 504 | ** sch_path: /Users/wulff/data/2024/tt06-sar/ip/tt06_sar_sky130nm/design/SUN_SAR9B_SKY130NM/SUNSAR_CAP_BSSW5_CV.sch 505 | .subckt SUNSAR_CAP_BSSW5_CV A B 506 | *.iopin A 507 | *.iopin B 508 | XXCAPB0 A B SUNSAR_CAP_BSSW_CV 509 | XXCAPB1 A B SUNSAR_CAP_BSSW_CV 510 | XXCAPB2 A B SUNSAR_CAP_BSSW_CV 511 | XXCAPB3 A B SUNSAR_CAP_BSSW_CV 512 | XXCAPB4 A B SUNSAR_CAP_BSSW_CV 513 | .ends 514 | 515 | 516 | * expanding symbol: SUN_SAR9B_SKY130NM/SUNSAR_CAP32C_CV.sym # of pins=8 517 | ** sym_path: /Users/wulff/data/2024/tt06-sar/ip/tt06_sar_sky130nm/design/SUN_SAR9B_SKY130NM/SUNSAR_CAP32C_CV.sym 518 | ** sch_path: /Users/wulff/data/2024/tt06-sar/ip/tt06_sar_sky130nm/design/SUN_SAR9B_SKY130NM/SUNSAR_CAP32C_CV.sch 519 | .subckt SUNSAR_CAP32C_CV C1A C1B C2 C4 C8 C16 CTOP AVSS 520 | *.iopin C1A 521 | *.iopin C1B 522 | *.iopin C2 523 | *.iopin C4 524 | *.iopin C8 525 | *.iopin C16 526 | *.iopin CTOP 527 | *.iopin AVSS 528 | XXRES1A C1A NC1 SUNSAR_RM1 529 | XXRES1B C1B NC2 SUNSAR_RM1 530 | XXRES2 C2 NC3 SUNSAR_RM1 531 | XXRES4 C4 NC4 SUNSAR_RM1 532 | XXRES8 C8 NC5 SUNSAR_RM1 533 | XXRES16 C16 NC6 SUNSAR_RM1 534 | .ends 535 | 536 | 537 | * expanding symbol: SUN_SAR9B_SKY130NM/SUNSAR_SARMRYX1_CV.sym # of pins=9 538 | ** sym_path: /Users/wulff/data/2024/tt06-sar/ip/tt06_sar_sky130nm/design/SUN_SAR9B_SKY130NM/SUNSAR_SARMRYX1_CV.sym 539 | ** sch_path: /Users/wulff/data/2024/tt06-sar/ip/tt06_sar_sky130nm/design/SUN_SAR9B_SKY130NM/SUNSAR_SARMRYX1_CV.sch 540 | .subckt SUNSAR_SARMRYX1_CV CMP_OP CMP_ON EN RST_N ENO CHL_OP CHL_ON AVDD AVSS 541 | *.iopin CMP_OP 542 | *.iopin CMP_ON 543 | *.iopin EN 544 | *.iopin RST_N 545 | *.iopin ENO 546 | *.iopin CHL_OP 547 | *.iopin CHL_ON 548 | *.iopin AVDD 549 | *.iopin AVSS 550 | XXA0 AVDD AVSS SUNSAR_TAPCELLB_CV 551 | XXA1 CMP_OP CMP_ON EN ENO RST_N AVDD AVSS AVDD AVSS SUNSAR_SAREMX1_CV 552 | XXA2 ENO LCK_N AVDD AVSS AVDD AVSS SUNSAR_IVX1_CV 553 | XXA4 CMP_OP CHL_OP RST_N EN LCK_N AVDD AVSS AVDD AVSS SUNSAR_SARLTX1_CV 554 | XXA5 CMP_ON CHL_ON RST_N EN LCK_N AVDD AVSS AVDD AVSS SUNSAR_SARLTX1_CV 555 | .ends 556 | 557 | 558 | * expanding symbol: SUN_SAR9B_SKY130NM/SUNSAR_SWX4_CV.sym # of pins=6 559 | ** sym_path: /Users/wulff/data/2024/tt06-sar/ip/tt06_sar_sky130nm/design/SUN_SAR9B_SKY130NM/SUNSAR_SWX4_CV.sym 560 | ** sch_path: /Users/wulff/data/2024/tt06-sar/ip/tt06_sar_sky130nm/design/SUN_SAR9B_SKY130NM/SUNSAR_SWX4_CV.sch 561 | .subckt SUNSAR_SWX4_CV A Y VREF AVSS BULKP BULKN 562 | *.ipin A 563 | *.opin Y 564 | *.ipin VREF 565 | *.ipin AVSS 566 | *.ipin BULKP 567 | *.ipin BULKN 568 | XMN0 Y A AVSS BULKN SUNSAR_NCHDL 569 | XMN1 AVSS A Y BULKN SUNSAR_NCHDL 570 | XMN2 Y A AVSS BULKN SUNSAR_NCHDL 571 | XMN3 AVSS A Y BULKN SUNSAR_NCHDL 572 | XMP0 Y A VREF BULKP SUNSAR_PCHDL 573 | XMP1 VREF A Y BULKP SUNSAR_PCHDL 574 | XMP2 Y A VREF BULKP SUNSAR_PCHDL 575 | XMP3 VREF A Y BULKP SUNSAR_PCHDL 576 | .ends 577 | 578 | 579 | * expanding symbol: SUN_SAR9B_SKY130NM/SUNSAR_SARCEX1_CV.sym # of pins=8 580 | ** sym_path: /Users/wulff/data/2024/tt06-sar/ip/tt06_sar_sky130nm/design/SUN_SAR9B_SKY130NM/SUNSAR_SARCEX1_CV.sym 581 | ** sch_path: /Users/wulff/data/2024/tt06-sar/ip/tt06_sar_sky130nm/design/SUN_SAR9B_SKY130NM/SUNSAR_SARCEX1_CV.sch 582 | .subckt SUNSAR_SARCEX1_CV A B Y RST BULKP BULKN AVDD AVSS 583 | *.iopin A 584 | *.iopin B 585 | *.iopin Y 586 | *.iopin RST 587 | *.iopin BULKP 588 | *.iopin BULKN 589 | *.iopin AVDD 590 | *.iopin AVSS 591 | XMN0 N4 RST AVSS BULKN SUNSAR_NCHDL 592 | XMN1 AVSS RST N4 BULKN SUNSAR_NCHDL 593 | XMN2 N1 RST AVSS BULKN SUNSAR_NCHDL 594 | XMN3 Y RST N1 BULKN SUNSAR_NCHDL 595 | XMP0 N2 A Y BULKP SUNSAR_PCHDL 596 | XMP1 AVDD A N2 BULKP SUNSAR_PCHDL 597 | XMP2 N3 B AVDD BULKP SUNSAR_PCHDL 598 | XMP3 Y B N3 BULKP SUNSAR_PCHDL 599 | .ends 600 | 601 | 602 | * expanding symbol: SUN_SAR9B_SKY130NM/SUNSAR_NDX1_CV.sym # of pins=7 603 | ** sym_path: /Users/wulff/data/2024/tt06-sar/ip/tt06_sar_sky130nm/design/SUN_SAR9B_SKY130NM/SUNSAR_NDX1_CV.sym 604 | ** sch_path: /Users/wulff/data/2024/tt06-sar/ip/tt06_sar_sky130nm/design/SUN_SAR9B_SKY130NM/SUNSAR_NDX1_CV.sch 605 | .subckt SUNSAR_NDX1_CV A B Y BULKP BULKN AVDD AVSS 606 | *.ipin A 607 | *.ipin B 608 | *.opin Y 609 | *.ipin BULKP 610 | *.ipin BULKN 611 | *.ipin AVDD 612 | *.ipin AVSS 613 | XMN0 N1 A AVSS BULKN SUNSAR_NCHDL 614 | XMN1 Y B N1 BULKN SUNSAR_NCHDL 615 | XMP0 Y A AVDD BULKP SUNSAR_PCHDL 616 | XMP1 AVDD B Y BULKP SUNSAR_PCHDL 617 | .ends 618 | 619 | 620 | * expanding symbol: SUN_SAR9B_SKY130NM/SUNSAR_NRX1_CV.sym # of pins=7 621 | ** sym_path: /Users/wulff/data/2024/tt06-sar/ip/tt06_sar_sky130nm/design/SUN_SAR9B_SKY130NM/SUNSAR_NRX1_CV.sym 622 | ** sch_path: /Users/wulff/data/2024/tt06-sar/ip/tt06_sar_sky130nm/design/SUN_SAR9B_SKY130NM/SUNSAR_NRX1_CV.sch 623 | .subckt SUNSAR_NRX1_CV A B Y BULKP BULKN AVDD AVSS 624 | *.ipin A 625 | *.ipin B 626 | *.opin Y 627 | *.ipin BULKP 628 | *.ipin BULKN 629 | *.ipin AVDD 630 | *.ipin AVSS 631 | XMN0 Y A AVSS BULKN SUNSAR_NCHDL 632 | XMN1 AVSS B Y BULKN SUNSAR_NCHDL 633 | XMP0 N1 A AVDD BULKP SUNSAR_PCHDL 634 | XMP1 Y B N1 BULKP SUNSAR_PCHDL 635 | .ends 636 | 637 | 638 | * expanding symbol: SUN_SAR9B_SKY130NM/SUNSAR_SARKICKHX1_CV.sym # of pins=7 639 | ** sym_path: /Users/wulff/data/2024/tt06-sar/ip/tt06_sar_sky130nm/design/SUN_SAR9B_SKY130NM/SUNSAR_SARKICKHX1_CV.sym 640 | ** sch_path: /Users/wulff/data/2024/tt06-sar/ip/tt06_sar_sky130nm/design/SUN_SAR9B_SKY130NM/SUNSAR_SARKICKHX1_CV.sch 641 | .subckt SUNSAR_SARKICKHX1_CV CI CK CKN BULKP BULKN AVDD AVSS 642 | *.iopin CI 643 | *.iopin CK 644 | *.iopin CKN 645 | *.iopin BULKP 646 | *.iopin BULKN 647 | *.iopin AVDD 648 | *.iopin AVSS 649 | XMN0 N1 CKN AVSS BULKN SUNSAR_NCHDL 650 | XMN1 N1 CI N1 BULKN SUNSAR_NCHDL 651 | XMN2 N1 CI N1 BULKN SUNSAR_NCHDL 652 | XMN3 N1 CI N1 BULKN SUNSAR_NCHDL 653 | XMN4 N1 CI N1 BULKN SUNSAR_NCHDL 654 | XMN5 N1 CI N1 BULKN SUNSAR_NCHDL 655 | XMN6 AVDD CK N1 BULKN SUNSAR_NCHDL 656 | XMP0 AVDD CKN N1 BULKP SUNSAR_PCHDL 657 | XMP1_DMY AVDD AVDD AVDD BULKP SUNSAR_PCHDL 658 | XMP2_DMY AVDD AVDD AVDD BULKP SUNSAR_PCHDL 659 | XMP3_DMY AVDD AVDD AVDD BULKP SUNSAR_PCHDL 660 | XMP4_DMY AVDD AVDD AVDD BULKP SUNSAR_PCHDL 661 | XMP5_DMY AVDD AVDD AVDD BULKP SUNSAR_PCHDL 662 | XMP6_DMY AVDD AVDD AVDD BULKP SUNSAR_PCHDL 663 | .ends 664 | 665 | 666 | * expanding symbol: SUN_SAR9B_SKY130NM/SUNSAR_SARCMPHX1_CV.sym # of pins=10 667 | ** sym_path: /Users/wulff/data/2024/tt06-sar/ip/tt06_sar_sky130nm/design/SUN_SAR9B_SKY130NM/SUNSAR_SARCMPHX1_CV.sym 668 | ** sch_path: /Users/wulff/data/2024/tt06-sar/ip/tt06_sar_sky130nm/design/SUN_SAR9B_SKY130NM/SUNSAR_SARCMPHX1_CV.sch 669 | .subckt SUNSAR_SARCMPHX1_CV CI CK CO VMR N1 N2 BULKP BULKN AVDD AVSS 670 | *.iopin CI 671 | *.iopin CK 672 | *.iopin CO 673 | *.iopin VMR 674 | *.iopin N1 675 | *.iopin N2 676 | *.iopin BULKP 677 | *.iopin BULKN 678 | *.iopin AVDD 679 | *.iopin AVSS 680 | XMN0 N1 CK AVSS BULKN SUNSAR_NCHDL 681 | XMN1 N2 CI N1 BULKN SUNSAR_NCHDL 682 | XMN2 N1 CI N2 BULKN SUNSAR_NCHDL 683 | XMN3 N2 CI N1 BULKN SUNSAR_NCHDL 684 | XMN4 N1 CI N2 BULKN SUNSAR_NCHDL 685 | XMN5 N2 CI N1 BULKN SUNSAR_NCHDL 686 | XMN6 CO VMR N2 BULKN SUNSAR_NCHDL 687 | XMP0 AVDD CK N1 BULKP SUNSAR_PCHDL 688 | XMP1 N2 CK AVDD BULKP SUNSAR_PCHDL 689 | XMP2 AVDD AVDD N2 BULKP SUNSAR_PCHDL 690 | XMP3 CO CK AVDD BULKP SUNSAR_PCHDL 691 | XMP4 AVDD VMR CO BULKP SUNSAR_PCHDL 692 | XMP5 CO VMR AVDD BULKP SUNSAR_PCHDL 693 | XMP6 AVDD VMR CO BULKP SUNSAR_PCHDL 694 | .ends 695 | 696 | 697 | * expanding symbol: SUN_SAR9B_SKY130NM/SUNSAR_IVX4_CV.sym # of pins=6 698 | ** sym_path: /Users/wulff/data/2024/tt06-sar/ip/tt06_sar_sky130nm/design/SUN_SAR9B_SKY130NM/SUNSAR_IVX4_CV.sym 699 | ** sch_path: /Users/wulff/data/2024/tt06-sar/ip/tt06_sar_sky130nm/design/SUN_SAR9B_SKY130NM/SUNSAR_IVX4_CV.sch 700 | .subckt SUNSAR_IVX4_CV A Y BULKP BULKN AVDD AVSS 701 | *.ipin A 702 | *.opin Y 703 | *.ipin BULKP 704 | *.ipin BULKN 705 | *.ipin AVDD 706 | *.ipin AVSS 707 | XMN0 Y A AVSS BULKN SUNSAR_NCHDL 708 | XMN1 AVSS A Y BULKN SUNSAR_NCHDL 709 | XMN2 Y A AVSS BULKN SUNSAR_NCHDL 710 | XMN3 AVSS A Y BULKN SUNSAR_NCHDL 711 | XMP0 Y A AVDD BULKP SUNSAR_PCHDL 712 | XMP1 AVDD A Y BULKP SUNSAR_PCHDL 713 | XMP2 Y A AVDD BULKP SUNSAR_PCHDL 714 | XMP3 AVDD A Y BULKP SUNSAR_PCHDL 715 | .ends 716 | 717 | 718 | * expanding symbol: SUN_SAR9B_SKY130NM/SUNSAR_IVTRIX1_CV.sym # of pins=8 719 | ** sym_path: /Users/wulff/data/2024/tt06-sar/ip/tt06_sar_sky130nm/design/SUN_SAR9B_SKY130NM/SUNSAR_IVTRIX1_CV.sym 720 | ** sch_path: /Users/wulff/data/2024/tt06-sar/ip/tt06_sar_sky130nm/design/SUN_SAR9B_SKY130NM/SUNSAR_IVTRIX1_CV.sch 721 | .subckt SUNSAR_IVTRIX1_CV A C CN Y BULKP BULKN AVDD AVSS 722 | *.iopin A 723 | *.iopin C 724 | *.iopin CN 725 | *.iopin Y 726 | *.iopin BULKP 727 | *.iopin BULKN 728 | *.iopin AVDD 729 | *.iopin AVSS 730 | XMN0 N1 A AVSS BULKN SUNSAR_NCHDL 731 | XMN1 Y C N1 BULKN SUNSAR_NCHDL 732 | XMP0 N2 A AVDD BULKP SUNSAR_PCHDL 733 | XMP1 Y CN N2 BULKP SUNSAR_PCHDL 734 | .ends 735 | 736 | 737 | * expanding symbol: SUN_SAR9B_SKY130NM/SUNSAR_NCHDL.sym # of pins=4 738 | ** sym_path: /Users/wulff/data/2024/tt06-sar/ip/tt06_sar_sky130nm/design/SUN_SAR9B_SKY130NM/SUNSAR_NCHDL.sym 739 | ** sch_path: /Users/wulff/data/2024/tt06-sar/ip/tt06_sar_sky130nm/design/SUN_SAR9B_SKY130NM/SUNSAR_NCHDL.sch 740 | .subckt SUNSAR_NCHDL D G S B 741 | *.iopin D 742 | *.iopin G 743 | *.iopin S 744 | *.iopin B 745 | XM1 D G S B sky130_fd_pr__nfet_01v8 L=0.18 W=1.08 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29' pd='2*int((nf+1)/2) * (W/nf + 0.29)' 746 | + ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 mult=1 m=1 747 | .ends 748 | 749 | 750 | * expanding symbol: SUN_SAR9B_SKY130NM/SUNSAR_PCHDL.sym # of pins=4 751 | ** sym_path: /Users/wulff/data/2024/tt06-sar/ip/tt06_sar_sky130nm/design/SUN_SAR9B_SKY130NM/SUNSAR_PCHDL.sym 752 | ** sch_path: /Users/wulff/data/2024/tt06-sar/ip/tt06_sar_sky130nm/design/SUN_SAR9B_SKY130NM/SUNSAR_PCHDL.sch 753 | .subckt SUNSAR_PCHDL D G S B 754 | *.iopin D 755 | *.iopin G 756 | *.iopin S 757 | *.iopin B 758 | XM1 D G S B sky130_fd_pr__pfet_01v8 L=0.18 W=1.08 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29' pd='2*int((nf+1)/2) * (W/nf + 0.29)' 759 | + ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 mult=1 m=1 760 | .ends 761 | 762 | 763 | * expanding symbol: SUN_SAR9B_SKY130NM/SUNSAR_CAP_BSSW_CV.sym # of pins=2 764 | ** sym_path: /Users/wulff/data/2024/tt06-sar/ip/tt06_sar_sky130nm/design/SUN_SAR9B_SKY130NM/SUNSAR_CAP_BSSW_CV.sym 765 | ** sch_path: /Users/wulff/data/2024/tt06-sar/ip/tt06_sar_sky130nm/design/SUN_SAR9B_SKY130NM/SUNSAR_CAP_BSSW_CV.sch 766 | .subckt SUNSAR_CAP_BSSW_CV A B 767 | *.iopin A 768 | *.iopin B 769 | R1 A NC0 sky130_fd_pr__res_generic_m3 W=0.4 L=0.36 m=1 770 | R2 B NC1 sky130_fd_pr__res_generic_m3 W=0.4 L=0.36 m=1 771 | .ends 772 | 773 | 774 | * expanding symbol: SUN_SAR9B_SKY130NM/SUNSAR_RM1.sym # of pins=2 775 | ** sym_path: /Users/wulff/data/2024/tt06-sar/ip/tt06_sar_sky130nm/design/SUN_SAR9B_SKY130NM/SUNSAR_RM1.sym 776 | ** sch_path: /Users/wulff/data/2024/tt06-sar/ip/tt06_sar_sky130nm/design/SUN_SAR9B_SKY130NM/SUNSAR_RM1.sch 777 | .subckt SUNSAR_RM1 A B 778 | *.iopin A 779 | *.iopin B 780 | R1 A B sky130_fd_pr__res_generic_l1 W=0.34 L=0.34 m=1 781 | .ends 782 | 783 | 784 | * expanding symbol: SUN_SAR9B_SKY130NM/SUNSAR_SAREMX1_CV.sym # of pins=9 785 | ** sym_path: /Users/wulff/data/2024/tt06-sar/ip/tt06_sar_sky130nm/design/SUN_SAR9B_SKY130NM/SUNSAR_SAREMX1_CV.sym 786 | ** sch_path: /Users/wulff/data/2024/tt06-sar/ip/tt06_sar_sky130nm/design/SUN_SAR9B_SKY130NM/SUNSAR_SAREMX1_CV.sch 787 | .subckt SUNSAR_SAREMX1_CV A B EN ENO RST_N BULKP BULKN AVDD AVSS 788 | *.iopin A 789 | *.iopin B 790 | *.iopin EN 791 | *.iopin ENO 792 | *.iopin RST_N 793 | *.iopin BULKP 794 | *.iopin BULKN 795 | *.iopin AVDD 796 | *.iopin AVSS 797 | XMN0 N3 EN AM BULKN SUNSAR_NCHDL 798 | XMN1 N3 B AVSS BULKN SUNSAR_NCHDL 799 | XMN2 AVSS A N3 BULKN SUNSAR_NCHDL 800 | XMN3 ENO AM AVSS BULKN SUNSAR_NCHDL 801 | XMP0 AVDD RST_N AM BULKP SUNSAR_PCHDL 802 | XMP1 N2 B ENO BULKP SUNSAR_PCHDL 803 | XMP2 N1 A N2 BULKP SUNSAR_PCHDL 804 | XMP3 AVDD AM N1 BULKP SUNSAR_PCHDL 805 | .ends 806 | 807 | 808 | * expanding symbol: SUN_SAR9B_SKY130NM/SUNSAR_SARLTX1_CV.sym # of pins=9 809 | ** sym_path: /Users/wulff/data/2024/tt06-sar/ip/tt06_sar_sky130nm/design/SUN_SAR9B_SKY130NM/SUNSAR_SARLTX1_CV.sym 810 | ** sch_path: /Users/wulff/data/2024/tt06-sar/ip/tt06_sar_sky130nm/design/SUN_SAR9B_SKY130NM/SUNSAR_SARLTX1_CV.sch 811 | .subckt SUNSAR_SARLTX1_CV A CHL RST_N EN LCK_N BULKP BULKN AVDD AVSS 812 | *.iopin A 813 | *.iopin CHL 814 | *.iopin RST_N 815 | *.iopin EN 816 | *.iopin LCK_N 817 | *.iopin BULKP 818 | *.iopin BULKN 819 | *.iopin AVDD 820 | *.iopin AVSS 821 | XMN0 N1 A AVSS BULKN SUNSAR_NCHDL 822 | XMN1 N3 LCK_N N1 BULKN SUNSAR_NCHDL 823 | XMN2 CHL EN N3 BULKN SUNSAR_NCHDL 824 | XMP0 NP2 RST_N AVDD BULKP SUNSAR_PCHDL 825 | XMP1 NP1 RST_N NP2 BULKP SUNSAR_PCHDL 826 | XMP2 CHL RST_N NP1 BULKP SUNSAR_PCHDL 827 | .ends 828 | 829 | .end 830 | --------------------------------------------------------------------------------