Skip to content

Commit

Permalink
Merge pull request #33 from simi1505/Xschem-CACE
Browse files Browse the repository at this point in the history
updated / added xschemrc for better useability for non IIC-OSIC-Tools user
  • Loading branch information
hpretl authored Jan 31, 2025
2 parents a40c54a + 0d159d7 commit 1f6e18a
Show file tree
Hide file tree
Showing 36 changed files with 361 additions and 2,113 deletions.
2 changes: 1 addition & 1 deletion cace/_docs/ota-5t.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# ota-5t

- Description: Simple voltage buffer for capacitive load realized with 5T-OTA
- PDK: sg13g2
- PDK: ihp-sg13g2

## Authorship

Expand Down
Binary file modified cace/_docs/ota-5t/schematic/bw_vs_corner.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified cace/_docs/ota-5t/schematic/bw_vs_temp.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified cace/_docs/ota-5t/schematic/bw_vs_vdd.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified cace/_docs/ota-5t/schematic/bw_vs_vin.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified cace/_docs/ota-5t/schematic/gain_vs_corner.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified cace/_docs/ota-5t/schematic/gain_vs_temp.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified cace/_docs/ota-5t/schematic/gain_vs_vdd.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified cace/_docs/ota-5t/schematic/gain_vs_vin.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified cace/_docs/ota-5t/schematic/noise_vs_corner.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified cace/_docs/ota-5t/schematic/noise_vs_temp.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified cace/_docs/ota-5t/schematic/noise_vs_vdd.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified cace/_docs/ota-5t/schematic/noise_vs_vin.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified cace/_docs/ota-5t/schematic/settling_vs_corner.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified cace/_docs/ota-5t/schematic/settling_vs_temp.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified cace/_docs/ota-5t/schematic/settling_vs_vdd.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified cace/_docs/ota-5t/schematic/settling_vs_vin.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
8 changes: 4 additions & 4 deletions cace/_docs/ota-5t_schematic.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@

| Parameter | Tool | Result | Min Limit | Min Value | Typ Target | Typ Value | Max Limit | Max Value | Status |
| :------------------- | :------------------- | :-------------- | ---------: | -----------: | ---------: | -----------: | ---------: | -----------: | :------: |
| Output voltage ratio | ngspice | gain | 0.97 V/V | 0.987 V/V | any | 1.000 V/V | 1.03 V/V | 1.006 V/V | Pass ✅ |
| Bandwidth | ngspice | bw | 10e6 Hz | 15551000.000 Hz | any | 26912100.000 Hz | any | 34051700.000 Hz | Pass ✅ |
| Output noise | ngspice | noise | any | 0.308 mV | any | 0.371 mV | 1 mV | 0.455 mV | Pass ✅ |
| Settling time | ngspice | tsettle | any | 0.135 us | any | 0.142 us | 10 us | 0.155 us | Pass ✅ |
| Output voltage ratio | ngspice | gain | 0.97 V/V | 0.987 V/V | any | 1.000 V/V | 1.03 V/V | 1.007 V/V | Pass ✅ |
| Bandwidth | ngspice | bw | 10e6 Hz | 15550400.000 Hz | any | 26912100.000 Hz | any | 34052200.000 Hz | Pass ✅ |
| Output noise | ngspice | noise | any | 0.308 mV | any | 0.371 mV | 1 mV | 0.454 mV | Pass ✅ |
| Settling time | ngspice | tsettle | any | 0.137 us | any | 0.144 us | 10 us | 0.156 us | Pass ✅ |


## Plots {.unnumbered .unlisted}
Expand Down
28 changes: 20 additions & 8 deletions cace/fix_report_md_ota-5t.sh
Original file line number Diff line number Diff line change
@@ -1,12 +1,24 @@
#!/bin/bash
FILE=_docs/ota-5t_schematic.md
cp $FILE $FILE.tmp
# fix paths for Quarto rendering
sed 's#/ota#/cace/_docs/ota#g' $FILE.tmp > $FILE
cp $FILE $FILE.tmp
# suppress numbering and listing of headings
sed '/^#/ s/$/ {.unnumbered .unlisted}' $FILE.tmp > $FILE
set -euo pipefail
FILE="_docs/ota-5t_schematic.md"
TMP_FILE="${FILE}.tmp"

# Check if the file exists
if [[ ! -f "$FILE" ]]; then
echo "[ERROR] File $FILE not found."
exit 1
fi

cp "$FILE" "$TMP_FILE"
# Fix paths for Quarto rendering
sed 's#/ota#/cace/_docs/ota#g' "$TMP_FILE" > "$FILE"
cp "$FILE" "$TMP_FILE"

# Suppress numbering and listing of headings
sed '/^#/ s/$/ {.unnumbered .unlisted}/' "$TMP_FILE" > "$FILE"

# cp $FILE $FILE.tmp
# remove Unicode for Latex rendering
# iconv -c -f utf-8 -t ascii $FILE.tmp > $FILE
rm $FILE.tmp

rm "$TMP_FILE"
28 changes: 20 additions & 8 deletions cace/fix_report_md_ota-improved.sh
Original file line number Diff line number Diff line change
@@ -1,12 +1,24 @@
#!/bin/bash
FILE=_docs/ota-improved_schematic.md
cp $FILE $FILE.tmp
# fix paths for Quarto rendering
sed 's#/ota#/cace/_docs/ota#g' $FILE.tmp > $FILE
cp $FILE $FILE.tmp
# suppress numbering and listing of headings
sed '/^#/ s/$/ {.unnumbered .unlisted}' $FILE.tmp > $FILE
set -euo pipefail
FILE="_docs/ota-improved_schematic.md"
TMP_FILE="${FILE}.tmp"

# Check if the file exists
if [[ ! -f "$FILE" ]]; then
echo "[ERROR] File $FILE not found."
exit 1
fi

cp "$FILE" "$TMP_FILE"
# Fix paths for Quarto rendering
sed 's#/ota#/cace/_docs/ota#g' "$TMP_FILE" > "$FILE"
cp "$FILE" "$TMP_FILE"

# Suppress numbering and listing of headings
sed '/^#/ s/$/ {.unnumbered .unlisted}/' "$TMP_FILE" > "$FILE"

# cp $FILE $FILE.tmp
# remove Unicode for Latex rendering
# iconv -c -f utf-8 -t ascii $FILE.tmp > $FILE
rm $FILE.tmp

rm "$TMP_FILE"
5 changes: 2 additions & 3 deletions cace/templates/ota-5t-ac.sch
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
v {xschem version=3.4.5 file_version=1.2
}
v {xschem version=3.4.6 file_version=1.2}
G {}
K {}
V {}
Expand Down Expand Up @@ -100,4 +99,4 @@ C {spice_probe.sym} 1080 -600 0 0 {name=p5 attrs=""}
C {spice_probe.sym} 1440 -570 0 0 {name=p6 attrs=""}
C {spice_probe.sym} 1350 -410 0 0 {name=p7 attrs=""}
C {lab_wire.sym} 1350 -470 0 0 {name=p8 sig_type=std_logic lab=v_ena}
C {/foss/designs/xschem/ota-5t.sym} 1310 -570 0 0 {name=x1}
C {ota-5t.sym} 1310 -570 0 0 {name=xota}
5 changes: 2 additions & 3 deletions cace/templates/ota-5t-noise.sch
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
v {xschem version=3.4.5 file_version=1.2
}
v {xschem version=3.4.6 file_version=1.2}
G {}
K {}
V {}
Expand Down Expand Up @@ -96,4 +95,4 @@ C {spice_probe.sym} 1080 -600 0 0 {name=p5 attrs=""}
C {spice_probe.sym} 1440 -570 0 0 {name=p6 attrs=""}
C {spice_probe.sym} 1350 -410 0 0 {name=p7 attrs=""}
C {lab_wire.sym} 1350 -470 0 0 {name=p8 sig_type=std_logic lab=v_ena}
C {/foss/designs/xschem/ota-5t.sym} 1310 -570 0 0 {name=x1}
C {ota-5t.sym} 1310 -570 0 0 {name=xota}
101 changes: 51 additions & 50 deletions cace/templates/ota-5t-tran.sch
Original file line number Diff line number Diff line change
@@ -1,73 +1,74 @@
v {xschem version=3.4.5 file_version=1.2
}
v {xschem version=3.4.6 file_version=1.2}
G {}
K {}
V {}
S {}
E {}
N 620 -300 620 -280 {
N 700 -180 700 -160 {
lab=GND}
N 700 -300 700 -280 {
N 780 -180 780 -160 {
lab=GND}
N 700 -380 700 -360 {
N 780 -260 780 -240 {
lab=v_ss}
N 1190 -380 1400 -380 {
N 1270 -260 1480 -260 {
lab=v_ss}
N 1150 -830 1190 -830 {
N 1230 -710 1270 -710 {
lab=v_dd}
N 1150 -550 1150 -380 {
N 1230 -430 1230 -260 {
lab=v_ss}
N 1400 -530 1400 -380 {
N 1480 -410 1480 -260 {
lab=v_ss}
N 1400 -630 1400 -590 {
N 1480 -510 1480 -470 {
lab=v_out}
N 1320 -630 1400 -630 {
N 1400 -510 1480 -510 {
lab=v_out}
N 1320 -630 1320 -510 {
N 1400 -510 1400 -390 {
lab=v_out}
N 1250 -630 1320 -630 {
N 1330 -510 1400 -510 {
lab=v_out}
N 1000 -510 1320 -510 {
N 1080 -390 1400 -390 {
lab=v_out}
N 1000 -600 1000 -510 {
N 1080 -480 1080 -390 {
lab=v_out}
N 1000 -600 1070 -600 {
N 1080 -480 1150 -480 {
lab=v_out}
N 800 -510 800 -380 {
N 880 -390 880 -260 {
lab=v_ss}
N 700 -380 800 -380 {
N 780 -260 880 -260 {
lab=v_ss}
N 800 -660 800 -570 {
N 880 -540 880 -450 {
lab=v_in}
N 800 -660 1070 -660 {
N 880 -540 1150 -540 {
lab=v_in}
N 1190 -830 1190 -810 {
N 1270 -710 1270 -690 {
lab=v_dd}
N 1190 -750 1190 -710 {
N 1270 -630 1270 -590 {
lab=#net1}
N 1150 -760 1150 -710 {
N 1230 -640 1230 -590 {
lab=v_dd}
N 620 -760 1150 -760 {
N 700 -640 1230 -640 {
lab=v_dd}
N 620 -760 620 -360 {
N 700 -640 700 -240 {
lab=v_dd}
N 1150 -830 1150 -760 {
N 1230 -710 1230 -640 {
lab=v_dd}
N 1190 -400 1190 -380 {
N 1270 -280 1270 -260 {
lab=v_ss}
N 1150 -380 1190 -380 {
N 1230 -260 1270 -260 {
lab=v_ss}
N 800 -380 1150 -380 {
N 880 -260 1230 -260 {
lab=v_ss}
N 1190 -550 1190 -460 {
N 1270 -430 1270 -340 {
lab=v_ena}
C {devices/code_shown.sym} 0 -750 0 0 {name=NGSPICE only_toplevel=true
C {devices/code_shown.sym} 0 -650 0 0 {name=NGSPICE only_toplevel=true
value="
.lib cornerMOSlv.lib mos_CACE\{corner\}
.include CACE\{DUT_path\}
.temp CACE\{temp\}
.option SEED=CACE[CACE\{seed=12345\} + CACE\{iterations=0\}]
.ic v(v_vout)=0

.ic v(v_out)=0
.option method=gear

.control
set num_threads=1
Expand All @@ -82,22 +83,22 @@ let tsettle=tcross-tstart
echo $&tsettle > CACE\{simpath\}/CACE\{filename\}_CACE\{N\}.data
.endc
"}
C {devices/vsource.sym} 620 -330 0 0 {name=Vdd value=CACE\{vdd\}}
C {devices/gnd.sym} 620 -280 0 0 {name=l3 lab=GND}
C {devices/title.sym} 160 -30 0 0 {name=l5 author="Copyright 2024 Harald Pretl"}
C {lab_pin.sym} 620 -380 0 0 {name=p2 sig_type=std_logic lab=v_dd}
C {devices/vsource.sym} 700 -330 0 0 {name=Vss value=0}
C {devices/gnd.sym} 700 -280 0 0 {name=l1 lab=GND}
C {lab_pin.sym} 700 -380 0 0 {name=p1 sig_type=std_logic lab=v_ss}
C {capa.sym} 1400 -560 0 0 {name=C1
C {devices/vsource.sym} 700 -210 0 0 {name=Vdd value=CACE\{vdd\}}
C {devices/gnd.sym} 700 -160 0 0 {name=l3 lab=GND}
C {devices/title.sym} 160 -30 0 0 {name=l5 author="Copyright 2024-2025 Harald Pretl"}
C {lab_pin.sym} 700 -260 0 0 {name=p2 sig_type=std_logic lab=v_dd}
C {devices/vsource.sym} 780 -210 0 0 {name=Vss value=0}
C {devices/gnd.sym} 780 -160 0 0 {name=l1 lab=GND}
C {lab_pin.sym} 780 -260 0 0 {name=p1 sig_type=std_logic lab=v_ss}
C {capa.sym} 1480 -440 0 0 {name=C1
value=CACE\{cload\}}
C {lab_wire.sym} 1400 -630 0 0 {name=p3 sig_type=std_logic lab=v_out}
C {devices/vsource.sym} 800 -540 0 0 {name=Vin value=CACE\{vin\}}
C {lab_wire.sym} 860 -660 0 0 {name=p4 sig_type=std_logic lab=v_in}
C {isource.sym} 1190 -780 0 0 {name=I0 value="dc 0 pwl(0 0 1.1u 0 1.2u CACE\{ibias\})"}
C {vsource.sym} 1190 -430 0 0 {name=Venable value="dc 0 pwl(0 0 1u 0 1.1u CACE\{vdd\})" savecurrent=false}
C {spice_probe.sym} 920 -660 0 0 {name=p5 attrs=""}
C {spice_probe.sym} 1280 -630 0 0 {name=p6 attrs=""}
C {spice_probe.sym} 1190 -470 0 0 {name=p7 attrs=""}
C {lab_wire.sym} 1190 -530 0 0 {name=p8 sig_type=std_logic lab=v_ena}
C {/foss/designs/xschem/ota-5t.sym} 1150 -630 0 0 {name=x1}
C {lab_wire.sym} 1480 -510 0 0 {name=p3 sig_type=std_logic lab=v_out}
C {devices/vsource.sym} 880 -420 0 0 {name=Vin value=CACE\{vin\}}
C {lab_wire.sym} 940 -540 0 0 {name=p4 sig_type=std_logic lab=v_in}
C {isource.sym} 1270 -660 0 0 {name=I0 value="dc 0 pwl(0 0 1.1u 0 1.2u CACE\{ibias\})"}
C {vsource.sym} 1270 -310 0 0 {name=Venable value="dc 0 pwl(0 0 1u 0 1.1u CACE\{vdd\})" savecurrent=false}
C {spice_probe.sym} 1000 -540 0 0 {name=p5 attrs=""}
C {spice_probe.sym} 1360 -510 0 0 {name=p6 attrs=""}
C {spice_probe.sym} 1270 -350 0 0 {name=p7 attrs=""}
C {lab_wire.sym} 1270 -410 0 0 {name=p8 sig_type=std_logic lab=v_ena}
C {ota-5t.sym} 1230 -510 0 0 {name=xota}
2 changes: 1 addition & 1 deletion cace/templates/ota-improved-ac.sch
Original file line number Diff line number Diff line change
Expand Up @@ -101,4 +101,4 @@ C {spice_probe.sym} 1080 -600 0 0 {name=p5 attrs=""}
C {spice_probe.sym} 1440 -570 0 0 {name=p6 attrs=""}
C {spice_probe.sym} 1350 -410 0 0 {name=p7 attrs=""}
C {lab_wire.sym} 1350 -470 0 0 {name=p8 sig_type=std_logic lab=v_ena}
C {ota-improved.sym} 1310 -570 0 0 {name=x1}
C {ota-improved.sym} 1310 -570 0 0 {name=xota}
5 changes: 2 additions & 3 deletions cace/templates/ota-improved-noise.sch
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
v {xschem version=3.4.5 file_version=1.2
}
v {xschem version=3.4.6 file_version=1.2}
G {}
K {}
V {}
Expand Down Expand Up @@ -97,4 +96,4 @@ C {spice_probe.sym} 1080 -600 0 0 {name=p5 attrs=""}
C {spice_probe.sym} 1440 -570 0 0 {name=p6 attrs=""}
C {spice_probe.sym} 1350 -410 0 0 {name=p7 attrs=""}
C {lab_wire.sym} 1350 -470 0 0 {name=p8 sig_type=std_logic lab=v_ena}
C {ota-5t.sym} 1310 -570 0 0 {name=x1}
C {ota-improved.sym} 1310 -570 0 0 {name=xota}
Loading

0 comments on commit 1f6e18a

Please sign in to comment.