push new mismatch settings for comparator
This commit is contained in:
parent
5e68192879
commit
6975153cec
File diff suppressed because it is too large
Load Diff
|
|
@ -1,4 +1,4 @@
|
|||
* Extracted by KLayout with SG13G2 LVS runset on : 13/02/2026 11:51
|
||||
* Extracted by KLayout with SG13G2 LVS runset on : 23/02/2026 16:48
|
||||
|
||||
.SUBCKT lvs_tester gnd G D
|
||||
M$1 gnd G D \$1 sg13_lv_nmos L=0.45u W=1u AS=0.34p AD=0.34p PS=2.68u PD=2.68u
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
"cells": [
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 34,
|
||||
"execution_count": 1,
|
||||
"id": "9f325daf-eb3b-4cf7-8ffe-b9b94e7f66ea",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
|
|
@ -18,7 +18,7 @@
|
|||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 35,
|
||||
"execution_count": 2,
|
||||
"id": "b5b31aca-47bf-4461-8e50-16c20f03b337",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
|
|
@ -29,7 +29,7 @@
|
|||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 36,
|
||||
"execution_count": 3,
|
||||
"id": "743dc381-0d35-4aa9-847c-c42c80c17786",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
|
|
@ -40,7 +40,7 @@
|
|||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 37,
|
||||
"execution_count": 4,
|
||||
"id": "b27d5fca-3436-4df7-895f-f6a4bbd7a80d",
|
||||
"metadata": {
|
||||
"jupyter": {
|
||||
|
|
@ -243,7 +243,7 @@
|
|||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 38,
|
||||
"execution_count": 5,
|
||||
"id": "fc95a0ff-ba36-46ce-9fa1-64d6d2d7770f",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
|
|
@ -263,14 +263,14 @@
|
|||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 39,
|
||||
"execution_count": 6,
|
||||
"id": "b7cc630f-b385-47a6-a6f9-ac0d10effffe",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"application/vnd.jupyter.widget-view+json": {
|
||||
"model_id": "c0d716a395d84be68ee1dbc73a913175",
|
||||
"model_id": "ffe7b403abd44a54aed0fd72398a9e7d",
|
||||
"version_major": 2,
|
||||
"version_minor": 0
|
||||
},
|
||||
|
|
@ -309,14 +309,14 @@
|
|||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 40,
|
||||
"execution_count": 7,
|
||||
"id": "3727c42d-a4bf-4eb0-bc11-6e859ae41324",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"application/vnd.jupyter.widget-view+json": {
|
||||
"model_id": "cba5a4c794944ea1900cd54144dad957",
|
||||
"model_id": "7d74cd77c32c4375988584ce9ecbe123",
|
||||
"version_major": 2,
|
||||
"version_minor": 0
|
||||
},
|
||||
|
|
@ -337,6 +337,14 @@
|
|||
"\n",
|
||||
"plot_data_vs_data(gm_values/id_values, gm_values/gds_values, vgs_values, length_2d_pmos, 'gm/id', 'gm/gds')"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "8cb46727-5495-4ba9-bc48-b6b672250b45",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": []
|
||||
}
|
||||
],
|
||||
"metadata": {
|
||||
|
|
|
|||
|
|
@ -189,12 +189,6 @@ value="
|
|||
.endc
|
||||
|
||||
"}
|
||||
C {devices/code_shown.sym} -980 -595 0 0 {name=MODEL only_toplevel=true
|
||||
format="tcleval( @value )"
|
||||
value="
|
||||
.lib $::SG13G2_MODELS/cornerCAP.lib cap_typ
|
||||
.lib $::SG13G2_MODELS/cornerRES.lib res_typ
|
||||
.lib cornerMOSlv.lib mos_tt_stat"}
|
||||
C {sg13g2_pr/sg13_lv_nmos.sym} -700 -765 2 0 {name=M8
|
||||
l=10u
|
||||
w=150n
|
||||
|
|
@ -335,3 +329,9 @@ w=100.78e-6
|
|||
l=100.78e-6
|
||||
}
|
||||
C {sg13g2_pr/sub.sym} 760 -310 0 0 {name=l7 lab=sub!}
|
||||
C {devices/code_shown.sym} -950 -585 0 0 {name=MODEL1 only_toplevel=true
|
||||
format="tcleval( @value )"
|
||||
value="
|
||||
.lib $::SG13G2_MODELS/cornerCAP.lib cap_typ
|
||||
.lib $::SG13G2_MODELS/cornerRES.lib res_typ
|
||||
.lib cornerMOSlv.lib mos_tt_stat"}
|
||||
|
|
|
|||
|
|
@ -102,10 +102,11 @@ footprint=1206
|
|||
device="ceramic capacitor"}
|
||||
C {gnd.sym} 460 -140 0 0 {name=l6 lab=GND}
|
||||
C {gnd.sym} 460 -300 2 0 {name=l7 lab=GND}
|
||||
C {devices/code_shown.sym} -675 -780 0 0 {name=NGSPICE1 only_toplevel=false
|
||||
C {devices/code_shown.sym} -855 -770 0 0 {name=NGSPICE1 only_toplevel=false
|
||||
value="
|
||||
.lib cornerCAP.lib cap_typ
|
||||
.lib cornerMOSlv.lib mos_tt_stat
|
||||
|
||||
.param mm_ok=1
|
||||
.param mc_ok=1
|
||||
|
||||
.control
|
||||
let run = 1
|
||||
|
|
@ -133,8 +134,7 @@ value="
|
|||
|
||||
"}
|
||||
C {dynamic_comparator.sym} 270 -220 0 0 {name=x1}
|
||||
C {devices/code_shown.sym} -5 -580 0 0 {name=MODEL only_toplevel=false
|
||||
C {devices/code_shown.sym} -180 -755 0 0 {name=MODEL only_toplevel=true
|
||||
format="tcleval( @value )"
|
||||
value="
|
||||
.lib cornerMOSlv.lib mos_tt_stat
|
||||
"}
|
||||
.lib cornerMOSlv.lib mos_tt_mismatch"}
|
||||
|
|
|
|||
|
|
@ -1,122 +0,0 @@
|
|||
* Place this .save file with a .include line in your testbench
|
||||
|
||||
.save @n.x1.xm13.nsg13_lv_pmos[ids]
|
||||
.save @n.x1.xm13.nsg13_lv_pmos[gm]
|
||||
.save @n.x1.xm13.nsg13_lv_pmos[gds]
|
||||
.save @n.x1.xm13.nsg13_lv_pmos[vth]
|
||||
.save @n.x1.xm13.nsg13_lv_pmos[vgs]
|
||||
.save @n.x1.xm13.nsg13_lv_pmos[vdss]
|
||||
.save @n.x1.xm13.nsg13_lv_pmos[vds]
|
||||
.save @n.x1.xm13.nsg13_lv_pmos[cgg]
|
||||
.save @n.x1.xm13.nsg13_lv_pmos[cgsol]
|
||||
.save @n.x1.xm13.nsg13_lv_pmos[cgdol]
|
||||
.save @n.x1.xm3.nsg13_lv_pmos[ids]
|
||||
.save @n.x1.xm3.nsg13_lv_pmos[gm]
|
||||
.save @n.x1.xm3.nsg13_lv_pmos[gds]
|
||||
.save @n.x1.xm3.nsg13_lv_pmos[vth]
|
||||
.save @n.x1.xm3.nsg13_lv_pmos[vgs]
|
||||
.save @n.x1.xm3.nsg13_lv_pmos[vdss]
|
||||
.save @n.x1.xm3.nsg13_lv_pmos[vds]
|
||||
.save @n.x1.xm3.nsg13_lv_pmos[cgg]
|
||||
.save @n.x1.xm3.nsg13_lv_pmos[cgsol]
|
||||
.save @n.x1.xm3.nsg13_lv_pmos[cgdol]
|
||||
.save @n.x1.xm2.nsg13_lv_pmos[ids]
|
||||
.save @n.x1.xm2.nsg13_lv_pmos[gm]
|
||||
.save @n.x1.xm2.nsg13_lv_pmos[gds]
|
||||
.save @n.x1.xm2.nsg13_lv_pmos[vth]
|
||||
.save @n.x1.xm2.nsg13_lv_pmos[vgs]
|
||||
.save @n.x1.xm2.nsg13_lv_pmos[vdss]
|
||||
.save @n.x1.xm2.nsg13_lv_pmos[vds]
|
||||
.save @n.x1.xm2.nsg13_lv_pmos[cgg]
|
||||
.save @n.x1.xm2.nsg13_lv_pmos[cgsol]
|
||||
.save @n.x1.xm2.nsg13_lv_pmos[cgdol]
|
||||
.save @n.x1.xm1.nsg13_lv_pmos[ids]
|
||||
.save @n.x1.xm1.nsg13_lv_pmos[gm]
|
||||
.save @n.x1.xm1.nsg13_lv_pmos[gds]
|
||||
.save @n.x1.xm1.nsg13_lv_pmos[vth]
|
||||
.save @n.x1.xm1.nsg13_lv_pmos[vgs]
|
||||
.save @n.x1.xm1.nsg13_lv_pmos[vdss]
|
||||
.save @n.x1.xm1.nsg13_lv_pmos[vds]
|
||||
.save @n.x1.xm1.nsg13_lv_pmos[cgg]
|
||||
.save @n.x1.xm1.nsg13_lv_pmos[cgsol]
|
||||
.save @n.x1.xm1.nsg13_lv_pmos[cgdol]
|
||||
.save @n.x1.xm4.nsg13_lv_pmos[ids]
|
||||
.save @n.x1.xm4.nsg13_lv_pmos[gm]
|
||||
.save @n.x1.xm4.nsg13_lv_pmos[gds]
|
||||
.save @n.x1.xm4.nsg13_lv_pmos[vth]
|
||||
.save @n.x1.xm4.nsg13_lv_pmos[vgs]
|
||||
.save @n.x1.xm4.nsg13_lv_pmos[vdss]
|
||||
.save @n.x1.xm4.nsg13_lv_pmos[vds]
|
||||
.save @n.x1.xm4.nsg13_lv_pmos[cgg]
|
||||
.save @n.x1.xm4.nsg13_lv_pmos[cgsol]
|
||||
.save @n.x1.xm4.nsg13_lv_pmos[cgdol]
|
||||
.save @n.x1.xm5.nsg13_lv_pmos[ids]
|
||||
.save @n.x1.xm5.nsg13_lv_pmos[gm]
|
||||
.save @n.x1.xm5.nsg13_lv_pmos[gds]
|
||||
.save @n.x1.xm5.nsg13_lv_pmos[vth]
|
||||
.save @n.x1.xm5.nsg13_lv_pmos[vgs]
|
||||
.save @n.x1.xm5.nsg13_lv_pmos[vdss]
|
||||
.save @n.x1.xm5.nsg13_lv_pmos[vds]
|
||||
.save @n.x1.xm5.nsg13_lv_pmos[cgg]
|
||||
.save @n.x1.xm5.nsg13_lv_pmos[cgsol]
|
||||
.save @n.x1.xm5.nsg13_lv_pmos[cgdol]
|
||||
.save @n.x1.xm11.nsg13_lv_nmos[ids]
|
||||
.save @n.x1.xm11.nsg13_lv_nmos[gm]
|
||||
.save @n.x1.xm11.nsg13_lv_nmos[gds]
|
||||
.save @n.x1.xm11.nsg13_lv_nmos[vth]
|
||||
.save @n.x1.xm11.nsg13_lv_nmos[vgs]
|
||||
.save @n.x1.xm11.nsg13_lv_nmos[vdss]
|
||||
.save @n.x1.xm11.nsg13_lv_nmos[vds]
|
||||
.save @n.x1.xm11.nsg13_lv_nmos[cgg]
|
||||
.save @n.x1.xm11.nsg13_lv_nmos[cgsol]
|
||||
.save @n.x1.xm11.nsg13_lv_nmos[cgdol]
|
||||
.save @n.x1.xm12.nsg13_lv_nmos[ids]
|
||||
.save @n.x1.xm12.nsg13_lv_nmos[gm]
|
||||
.save @n.x1.xm12.nsg13_lv_nmos[gds]
|
||||
.save @n.x1.xm12.nsg13_lv_nmos[vth]
|
||||
.save @n.x1.xm12.nsg13_lv_nmos[vgs]
|
||||
.save @n.x1.xm12.nsg13_lv_nmos[vdss]
|
||||
.save @n.x1.xm12.nsg13_lv_nmos[vds]
|
||||
.save @n.x1.xm12.nsg13_lv_nmos[cgg]
|
||||
.save @n.x1.xm12.nsg13_lv_nmos[cgsol]
|
||||
.save @n.x1.xm12.nsg13_lv_nmos[cgdol]
|
||||
.save @n.x1.xm6.nsg13_lv_nmos[ids]
|
||||
.save @n.x1.xm6.nsg13_lv_nmos[gm]
|
||||
.save @n.x1.xm6.nsg13_lv_nmos[gds]
|
||||
.save @n.x1.xm6.nsg13_lv_nmos[vth]
|
||||
.save @n.x1.xm6.nsg13_lv_nmos[vgs]
|
||||
.save @n.x1.xm6.nsg13_lv_nmos[vdss]
|
||||
.save @n.x1.xm6.nsg13_lv_nmos[vds]
|
||||
.save @n.x1.xm6.nsg13_lv_nmos[cgg]
|
||||
.save @n.x1.xm6.nsg13_lv_nmos[cgsol]
|
||||
.save @n.x1.xm6.nsg13_lv_nmos[cgdol]
|
||||
.save @n.x1.xm10.nsg13_lv_nmos[ids]
|
||||
.save @n.x1.xm10.nsg13_lv_nmos[gm]
|
||||
.save @n.x1.xm10.nsg13_lv_nmos[gds]
|
||||
.save @n.x1.xm10.nsg13_lv_nmos[vth]
|
||||
.save @n.x1.xm10.nsg13_lv_nmos[vgs]
|
||||
.save @n.x1.xm10.nsg13_lv_nmos[vdss]
|
||||
.save @n.x1.xm10.nsg13_lv_nmos[vds]
|
||||
.save @n.x1.xm10.nsg13_lv_nmos[cgg]
|
||||
.save @n.x1.xm10.nsg13_lv_nmos[cgsol]
|
||||
.save @n.x1.xm10.nsg13_lv_nmos[cgdol]
|
||||
.save @n.x1.xm7.nsg13_lv_nmos[ids]
|
||||
.save @n.x1.xm7.nsg13_lv_nmos[gm]
|
||||
.save @n.x1.xm7.nsg13_lv_nmos[gds]
|
||||
.save @n.x1.xm7.nsg13_lv_nmos[vth]
|
||||
.save @n.x1.xm7.nsg13_lv_nmos[vgs]
|
||||
.save @n.x1.xm7.nsg13_lv_nmos[vdss]
|
||||
.save @n.x1.xm7.nsg13_lv_nmos[vds]
|
||||
.save @n.x1.xm7.nsg13_lv_nmos[cgg]
|
||||
.save @n.x1.xm7.nsg13_lv_nmos[cgsol]
|
||||
.save @n.x1.xm7.nsg13_lv_nmos[cgdol]
|
||||
.save @n.x1.xm8.nsg13_lv_nmos[ids]
|
||||
.save @n.x1.xm8.nsg13_lv_nmos[gm]
|
||||
.save @n.x1.xm8.nsg13_lv_nmos[gds]
|
||||
.save @n.x1.xm8.nsg13_lv_nmos[vth]
|
||||
.save @n.x1.xm8.nsg13_lv_nmos[vgs]
|
||||
.save @n.x1.xm8.nsg13_lv_nmos[vdss]
|
||||
.save @n.x1.xm8.nsg13_lv_nmos[vds]
|
||||
.save @n.x1.xm8.nsg13_lv_nmos[cgg]
|
||||
.save @n.x1.xm8.nsg13_lv_nmos[cgsol]
|
||||
.save @n.x1.xm8.nsg13_lv_nmos[cgdol]
|
||||
|
|
@ -1,12 +0,0 @@
|
|||
* Place this .save file with a .include line in your testbench
|
||||
|
||||
.save @n.xm1.nsg13_lv_nmos[ids]
|
||||
.save @n.xm1.nsg13_lv_nmos[gm]
|
||||
.save @n.xm1.nsg13_lv_nmos[gds]
|
||||
.save @n.xm1.nsg13_lv_nmos[vth]
|
||||
.save @n.xm1.nsg13_lv_nmos[vgs]
|
||||
.save @n.xm1.nsg13_lv_nmos[vdss]
|
||||
.save @n.xm1.nsg13_lv_nmos[vds]
|
||||
.save @n.xm1.nsg13_lv_nmos[cgg]
|
||||
.save @n.xm1.nsg13_lv_nmos[cgsol]
|
||||
.save @n.xm1.nsg13_lv_nmos[cgdol]
|
||||
|
|
@ -1,32 +0,0 @@
|
|||
* Place this .save file with a .include line in your testbench
|
||||
|
||||
.save @n.xm1.nsg13_lv_nmos[ids]
|
||||
.save @n.xm1.nsg13_lv_nmos[gm]
|
||||
.save @n.xm1.nsg13_lv_nmos[gds]
|
||||
.save @n.xm1.nsg13_lv_nmos[vth]
|
||||
.save @n.xm1.nsg13_lv_nmos[vgs]
|
||||
.save @n.xm1.nsg13_lv_nmos[vdss]
|
||||
.save @n.xm1.nsg13_lv_nmos[vds]
|
||||
.save @n.xm1.nsg13_lv_nmos[cgg]
|
||||
.save @n.xm1.nsg13_lv_nmos[cgsol]
|
||||
.save @n.xm1.nsg13_lv_nmos[cgdol]
|
||||
.save @n.xm2.nsg13_lv_pmos[ids]
|
||||
.save @n.xm2.nsg13_lv_pmos[gm]
|
||||
.save @n.xm2.nsg13_lv_pmos[gds]
|
||||
.save @n.xm2.nsg13_lv_pmos[vth]
|
||||
.save @n.xm2.nsg13_lv_pmos[vgs]
|
||||
.save @n.xm2.nsg13_lv_pmos[vdss]
|
||||
.save @n.xm2.nsg13_lv_pmos[vds]
|
||||
.save @n.xm2.nsg13_lv_pmos[cgg]
|
||||
.save @n.xm2.nsg13_lv_pmos[cgsol]
|
||||
.save @n.xm2.nsg13_lv_pmos[cgdol]
|
||||
.save @n.xm3.nsg13_lv_nmos[ids]
|
||||
.save @n.xm3.nsg13_lv_nmos[gm]
|
||||
.save @n.xm3.nsg13_lv_nmos[gds]
|
||||
.save @n.xm3.nsg13_lv_nmos[vth]
|
||||
.save @n.xm3.nsg13_lv_nmos[vgs]
|
||||
.save @n.xm3.nsg13_lv_nmos[vdss]
|
||||
.save @n.xm3.nsg13_lv_nmos[vds]
|
||||
.save @n.xm3.nsg13_lv_nmos[cgg]
|
||||
.save @n.xm3.nsg13_lv_nmos[cgsol]
|
||||
.save @n.xm3.nsg13_lv_nmos[cgdol]
|
||||
Loading…
Reference in New Issue