diff --git a/modules/module_1_bandgap_reference/part_1_OTA/testbenches/ota_testbench.sch b/modules/module_1_bandgap_reference/part_1_OTA/testbenches/ota_testbench.sch index a1f51de1..e2175dfa 100644 --- a/modules/module_1_bandgap_reference/part_1_OTA/testbenches/ota_testbench.sch +++ b/modules/module_1_bandgap_reference/part_1_OTA/testbenches/ota_testbench.sch @@ -12,7 +12,7 @@ ypos2=2 divy=5 subdivy=4 unity=1 -x1=-0.22184875 +x1=0 divx=5 subdivx=8 @@ -38,37 +38,37 @@ y2=33.964 y1=-136.006 color=4 node=ph(vout) -x2=-0.22184875} +x2=7} B 2 680 -1295 1480 -895 {flags=graph -y1=27 +y1=0.024 y2=71 ypos1=0 ypos2=2 divy=5 subdivy=1 unity=1 -x1=-0.22184875 +x1=0 divx=5 subdivx=8 xlabmag=1.0 ylabmag=1.0 -node=av +node="av db20()" color=4 dataset=-1 unitx=1 logx=1 logy=0 -x2=-0.22184875} +x2=7} B 2 1535 -1295 2335 -895 {flags=graph -y1=37 -y2=86 +y1=21 +y2=67 ypos1=0 ypos2=2 divy=5 subdivy=1 unity=1 -x1=-0.22184875 +x1=0 divx=5 subdivx=8 @@ -80,18 +80,18 @@ dataset=-1 unitx=1 logx=1 logy=0 -x2=-0.22184875 +x2=7 color=4 -node=cmrr} +node="cmrr db20()"} B 2 1525 -875 2325 -475 {flags=graph -y1=0.055 -y2=30 +y1=-30 +y2=21 ypos1=0 ypos2=2 divy=5 subdivy=1 unity=1 -x1=-0.22184875 +x1=0 divx=5 subdivx=8 @@ -103,9 +103,9 @@ dataset=-1 unitx=1 logx=1 logy=0 -x2=-0.22184875 +x2=7 color=4 -node=psrr} +node="psrr db20()"} N 775 -265 775 -235 { lab=vp} N 1010 -265 1010 -235 { @@ -237,9 +237,9 @@ write tb_OTA_op.raw op ac dec 100 1 10e6 save all -let Av = db(v(vout)) -let PSRR = db(v(vout2)/v(VDDac)) -let CMRR = db((v(vout)/v(vp))/(v(vout1)/v(vp))) +let Av = v(vout) +let PSRR = v(VDDac)/v(vout2) +let CMRR = (v(vout)/v(vp))/(v(vout1)/v(vp)) let phase = 180*cph(vout)/pi write output_file.raw .endc diff --git a/modules/module_2_50GHz_MPA/part_4_layout_EMsims/T_connection_2/openems/modules/__pycache__/__init__.cpython-310.pyc b/modules/module_2_50GHz_MPA/part_4_layout_EMsims/T_connection_2/openems/modules/__pycache__/__init__.cpython-310.pyc index cd36dea7..fef518e5 100644 Binary files a/modules/module_2_50GHz_MPA/part_4_layout_EMsims/T_connection_2/openems/modules/__pycache__/__init__.cpython-310.pyc and b/modules/module_2_50GHz_MPA/part_4_layout_EMsims/T_connection_2/openems/modules/__pycache__/__init__.cpython-310.pyc differ diff --git a/modules/module_2_50GHz_MPA/part_4_layout_EMsims/T_connection_2/openems/modules/__pycache__/util_gds_reader.cpython-310.pyc b/modules/module_2_50GHz_MPA/part_4_layout_EMsims/T_connection_2/openems/modules/__pycache__/util_gds_reader.cpython-310.pyc index 84943098..0b2b78e5 100644 Binary files a/modules/module_2_50GHz_MPA/part_4_layout_EMsims/T_connection_2/openems/modules/__pycache__/util_gds_reader.cpython-310.pyc and b/modules/module_2_50GHz_MPA/part_4_layout_EMsims/T_connection_2/openems/modules/__pycache__/util_gds_reader.cpython-310.pyc differ diff --git a/modules/module_2_50GHz_MPA/part_4_layout_EMsims/T_connection_2/openems/modules/__pycache__/util_meshlines.cpython-310.pyc b/modules/module_2_50GHz_MPA/part_4_layout_EMsims/T_connection_2/openems/modules/__pycache__/util_meshlines.cpython-310.pyc index 7f5377f3..be3bb7e4 100644 Binary files a/modules/module_2_50GHz_MPA/part_4_layout_EMsims/T_connection_2/openems/modules/__pycache__/util_meshlines.cpython-310.pyc and b/modules/module_2_50GHz_MPA/part_4_layout_EMsims/T_connection_2/openems/modules/__pycache__/util_meshlines.cpython-310.pyc differ diff --git a/modules/module_2_50GHz_MPA/part_4_layout_EMsims/T_connection_2/openems/modules/__pycache__/util_simulation_setup.cpython-310.pyc b/modules/module_2_50GHz_MPA/part_4_layout_EMsims/T_connection_2/openems/modules/__pycache__/util_simulation_setup.cpython-310.pyc index e647e9b3..391d8b66 100644 Binary files a/modules/module_2_50GHz_MPA/part_4_layout_EMsims/T_connection_2/openems/modules/__pycache__/util_simulation_setup.cpython-310.pyc and b/modules/module_2_50GHz_MPA/part_4_layout_EMsims/T_connection_2/openems/modules/__pycache__/util_simulation_setup.cpython-310.pyc differ diff --git a/modules/module_2_50GHz_MPA/part_4_layout_EMsims/T_connection_2/openems/modules/__pycache__/util_stackup_reader.cpython-310.pyc b/modules/module_2_50GHz_MPA/part_4_layout_EMsims/T_connection_2/openems/modules/__pycache__/util_stackup_reader.cpython-310.pyc index 03ba2771..daf53036 100644 Binary files a/modules/module_2_50GHz_MPA/part_4_layout_EMsims/T_connection_2/openems/modules/__pycache__/util_stackup_reader.cpython-310.pyc and b/modules/module_2_50GHz_MPA/part_4_layout_EMsims/T_connection_2/openems/modules/__pycache__/util_stackup_reader.cpython-310.pyc differ diff --git a/modules/module_2_50GHz_MPA/part_4_layout_EMsims/T_connection_2/openems/modules/__pycache__/util_utilities.cpython-310.pyc b/modules/module_2_50GHz_MPA/part_4_layout_EMsims/T_connection_2/openems/modules/__pycache__/util_utilities.cpython-310.pyc index 93357dc8..06d9679a 100644 Binary files a/modules/module_2_50GHz_MPA/part_4_layout_EMsims/T_connection_2/openems/modules/__pycache__/util_utilities.cpython-310.pyc and b/modules/module_2_50GHz_MPA/part_4_layout_EMsims/T_connection_2/openems/modules/__pycache__/util_utilities.cpython-310.pyc differ diff --git a/modules/module_2_50GHz_MPA/part_4_layout_EMsims/T_connection_2/openems/output/run_t_con_50GHZ_data/sub-1/port_it_1 b/modules/module_2_50GHz_MPA/part_4_layout_EMsims/T_connection_2/openems/output/run_t_con_50GHZ_data/sub-1/port_it_1 index 8f8fa66d..3b9e0acf 100644 --- a/modules/module_2_50GHz_MPA/part_4_layout_EMsims/T_connection_2/openems/output/run_t_con_50GHZ_data/sub-1/port_it_1 +++ b/modules/module_2_50GHz_MPA/part_4_layout_EMsims/T_connection_2/openems/output/run_t_con_50GHZ_data/sub-1/port_it_1 @@ -1,76 +1,7 @@ -% time-domain current integration by openEMS v0.0.35-108-gc651cce @Wed May 21 16:07:12 2025 +% time-domain current integration by openEMS v0.0.35-108-gc651cce @Mon May 11 15:39:38 2026 % start-coordinates: (-6.4735e-05,-2.62176e-05,0.00016018) m -> [24,56,58] % stop-coordinates: (-6.4035e-05,-2.302e-05,0.00016018) m -> [27,67,58] % t/s current 1.58035417582e-16 0 3.57002008318e-13 -3.32401363379e-11 7.13845981218e-13 -4.26827219402e-11 -1.07068995412e-12 -1.15469630385e-11 -1.42753392702e-12 1.28272045763e-10 -1.78437789992e-12 4.92824114851e-10 -2.14122187282e-12 1.22304888439e-09 -2.49806584572e-12 2.40535791285e-09 -2.85490981862e-12 3.90713772447e-09 -3.21175379152e-12 5.14581577349e-09 -3.56859776442e-12 4.88882268002e-09 -3.92544173732e-12 1.27088128909e-09 -4.28228571022e-12 -7.75372743789e-09 -4.63912968312e-12 -2.34194459381e-08 -4.99597365602e-12 -4.47970407436e-08 -5.35281762892e-12 -6.76611406902e-08 -5.70966160182e-12 -8.43924468086e-08 -6.06650557472e-12 -8.55964827906e-08 -6.42334954762e-12 -6.34122230281e-08 -6.78019352052e-12 -1.54920432038e-08 -7.13703749342e-12 5.2177583143e-08 -7.49388146632e-12 1.25397065176e-07 -7.85072543922e-12 1.85489810178e-07 -8.20756941213e-12 2.1558149399e-07 -8.56441338503e-12 2.06850316431e-07 -8.92125735793e-12 1.61934281095e-07 -9.27810133083e-12 9.38859727739e-08 -9.63494530373e-12 2.11816733042e-08 -9.99178927663e-12 -3.88927183792e-08 -1.03486332495e-11 -7.55960769538e-08 -1.07054772224e-11 -8.68508323038e-08 -1.10623211953e-11 -7.78715190108e-08 -1.14191651682e-11 -5.76044136835e-08 -1.17760091411e-11 -3.48938407058e-08 -1.2132853114e-11 -1.58921711346e-08 -1.24896970869e-11 -3.26074944823e-09 -1.28465410598e-11 3.17439385888e-09 -1.32033850327e-11 5.11991604668e-09 -1.35602290056e-11 4.59640991934e-09 -1.39170729785e-11 3.19178039554e-09 -1.42739169514e-11 1.82721904274e-09 -1.46307609243e-11 8.60494175914e-10 -1.49876048972e-11 3.10181963448e-10 -1.53444488701e-11 5.83031470325e-11 -1.5701292843e-11 -2.53698624608e-11 -1.60581368159e-11 -3.48647742621e-11 -1.64149807888e-11 -2.30279389307e-11 -1.67718247617e-11 -1.98810464619e-11 -1.71286687346e-11 -2.10201248768e-11 -1.74855127075e-11 -2.22916129999e-11 -1.78423566804e-11 -2.3029574775e-11 -1.81992006533e-11 -2.20328113393e-11 -1.85560446262e-11 -2.08315222711e-11 -1.89128885991e-11 -2.02046088194e-11 -1.9269732572e-11 -2.10653022803e-11 -1.96265765449e-11 -2.2743310707e-11 -1.99834205178e-11 -2.37191030705e-11 -2.03402644907e-11 -2.36548575866e-11 -2.06971084636e-11 -2.20733206019e-11 -2.10539524365e-11 -2.11111440829e-11 -2.14107964094e-11 -2.11820110063e-11 -2.17676403823e-11 -2.24418469918e-11 -2.21244843552e-11 -2.36605336018e-11 -2.24813283281e-11 -2.42407240114e-11 -2.2838172301e-11 -2.34206491007e-11 -2.31950162739e-11 -2.222480186e-11 -2.35518602468e-11 -2.16637437156e-11 -2.39087042197e-11 -2.22931759858e-11 -2.42655481926e-11 -2.38845696693e-11 -2.46223921655e-11 -2.46983145741e-11 -2.49792361384e-11 -2.45045025937e-11 -2.53360801113e-11 -2.32521710219e-11 diff --git a/modules/module_2_50GHz_MPA/part_4_layout_EMsims/T_connection_2/openems/output/run_t_con_50GHZ_data/sub-1/port_it_2 b/modules/module_2_50GHz_MPA/part_4_layout_EMsims/T_connection_2/openems/output/run_t_con_50GHZ_data/sub-1/port_it_2 index 75b0e1aa..67178b9f 100644 --- a/modules/module_2_50GHz_MPA/part_4_layout_EMsims/T_connection_2/openems/output/run_t_con_50GHZ_data/sub-1/port_it_2 +++ b/modules/module_2_50GHz_MPA/part_4_layout_EMsims/T_connection_2/openems/output/run_t_con_50GHZ_data/sub-1/port_it_2 @@ -1,76 +1,7 @@ -% time-domain current integration by openEMS v0.0.35-108-gc651cce @Wed May 21 16:07:12 2025 +% time-domain current integration by openEMS v0.0.35-108-gc651cce @Mon May 11 15:39:38 2026 % start-coordinates: (-4.5205e-05,-2.62176e-05,0.00016018) m -> [92,56,58] % stop-coordinates: (-4.4505e-05,-2.302e-05,0.00016018) m -> [95,67,58] % t/s current 1.58035417582e-16 0 3.57002008318e-13 1.5002360465e-11 7.13845981218e-13 2.1680070933e-11 -1.07068995412e-12 1.50565723084e-11 -1.42753392702e-12 -3.39342443034e-11 -1.78437789992e-12 -1.77420148018e-10 -2.14122187282e-12 -4.85599727096e-10 -2.49806584572e-12 -1.01879549241e-09 -2.85490981862e-12 -1.75398029434e-09 -3.21175379152e-12 -2.47559706068e-09 -3.56859776442e-12 -2.6588204971e-09 -3.92544173732e-12 -1.43508538386e-09 -4.28228571022e-12 2.25162977152e-09 -4.63912968312e-12 9.2148422226e-09 -4.99597365602e-12 1.93671709781e-08 -5.35281762892e-12 3.1068321249e-08 -5.70966160182e-12 4.0882365937e-08 -6.06650557472e-12 4.41421477149e-08 -6.42334954762e-12 3.64304035827e-08 -6.78019352052e-12 1.56018611364e-08 -7.13703749342e-12 -1.65126348151e-08 -7.49388146632e-12 -5.36968762788e-08 -7.85072543922e-12 -8.67756284606e-08 -8.20756941213e-12 -1.06589581605e-07 -8.56441338503e-12 -1.0733743494e-07 -8.92125735793e-12 -8.8815198751e-08 -9.27810133083e-12 -5.6490044642e-08 -9.63494530373e-12 -1.93776017454e-08 -9.99178927663e-12 1.32694788491e-08 -1.03486332495e-11 3.49871562833e-08 -1.07054772224e-11 4.36437659346e-08 -1.10623211953e-11 4.11378699994e-08 -1.14191651682e-11 3.17606208e-08 -1.17760091411e-11 2.01817265122e-08 -1.2132853114e-11 9.92816850953e-09 -1.24896970869e-11 2.75605516187e-09 -1.28465410598e-11 -1.14805387419e-09 -1.32033850327e-11 -2.54057352933e-09 -1.35602290056e-11 -2.46094700174e-09 -1.39170729785e-11 -1.78697201481e-09 -1.42739169514e-11 -1.06188280391e-09 -1.46307609243e-11 -5.20837484252e-10 -1.49876048972e-11 -1.99658553579e-10 -1.53444488701e-11 -4.62897081777e-11 -1.5701292843e-11 8.71659775609e-12 -1.60581368159e-11 1.79492670727e-11 -1.64149807888e-11 1.24794055298e-11 -1.67718247617e-11 9.27510932641e-12 -1.71286687346e-11 1.01709283357e-11 -1.74855127075e-11 1.10770706843e-11 -1.78423566804e-11 1.14389496139e-11 -1.81992006533e-11 1.07016964734e-11 -1.85560446262e-11 9.85042603041e-12 -1.89128885991e-11 9.58953663005e-12 -1.9269732572e-11 1.01905168332e-11 -1.96265765449e-11 1.13053394771e-11 -1.99834205178e-11 1.18830674467e-11 -2.03402644907e-11 1.14333568654e-11 -2.06971084636e-11 1.05975297982e-11 -2.10539524365e-11 9.84451235808e-12 -2.14107964094e-11 1.03430632115e-11 -2.17676403823e-11 1.10844666779e-11 -2.21244843552e-11 1.21155334029e-11 -2.24813283281e-11 1.2076948816e-11 -2.2838172301e-11 1.11743600484e-11 -2.31950162739e-11 1.02675029937e-11 -2.35518602468e-11 1.04323060607e-11 -2.39087042197e-11 1.10146596705e-11 -2.42655481926e-11 1.21176410919e-11 -2.46223921655e-11 1.25236938875e-11 -2.49792361384e-11 1.19218012198e-11 -2.53360801113e-11 1.09201900994e-11 diff --git a/modules/module_2_50GHz_MPA/part_4_layout_EMsims/T_connection_2/openems/output/run_t_con_50GHZ_data/sub-1/port_it_3 b/modules/module_2_50GHz_MPA/part_4_layout_EMsims/T_connection_2/openems/output/run_t_con_50GHZ_data/sub-1/port_it_3 index bebe7def..f8c1d160 100644 --- a/modules/module_2_50GHz_MPA/part_4_layout_EMsims/T_connection_2/openems/output/run_t_con_50GHZ_data/sub-1/port_it_3 +++ b/modules/module_2_50GHz_MPA/part_4_layout_EMsims/T_connection_2/openems/output/run_t_con_50GHZ_data/sub-1/port_it_3 @@ -1,76 +1,7 @@ -% time-domain current integration by openEMS v0.0.35-108-gc651cce @Wed May 21 16:07:12 2025 +% time-domain current integration by openEMS v0.0.35-108-gc651cce @Mon May 11 15:39:38 2026 % start-coordinates: (-5.62176e-05,-3.622e-05,0.00016018) m -> [54,24,58] % stop-coordinates: (-5.302e-05,-3.552e-05,0.00016018) m -> [65,27,58] % t/s current 1.58035417582e-16 0 3.57002008318e-13 1.62728632652e-11 7.13845981218e-13 2.23327727839e-11 -1.07068995412e-12 1.30059123193e-11 -1.42753392702e-12 -4.23324326981e-11 -1.78437789992e-12 -1.98753014047e-10 -2.14122187282e-12 -5.29328303411e-10 -2.49806584572e-12 -1.0897373004e-09 -2.85490981862e-12 -1.84448878393e-09 -3.21175379152e-12 -2.550662348e-09 -3.56859776442e-12 -2.64500377156e-09 -3.92544173732e-12 -1.22072696396e-09 -4.28228571022e-12 2.78878742321e-09 -4.63912968312e-12 1.01493506932e-08 -4.99597365602e-12 2.06451655771e-08 -5.35281762892e-12 3.24393525375e-08 -5.70966160182e-12 4.18945340641e-08 -6.06650557472e-12 4.42387673161e-08 -6.42334954762e-12 3.51443176783e-08 -6.78019352052e-12 1.27923547311e-08 -7.13703749342e-12 -2.04954844207e-08 -7.49388146632e-12 -5.80188235233e-08 -7.85072543922e-12 -9.03422758824e-08 -8.20756941213e-12 -1.08412180566e-07 -8.56441338503e-12 -1.06900294838e-07 -8.92125735793e-12 -8.62712212779e-08 -9.27810133083e-12 -5.25963592679e-08 -9.63494530373e-12 -1.52037760159e-08 -9.99178927663e-12 1.67258491501e-08 -1.03486332495e-11 3.71099986296e-08 -1.07054772224e-11 4.43151719765e-08 -1.10623211953e-11 4.06572411293e-08 -1.14191651682e-11 3.06377430093e-08 -1.17760091411e-11 1.89189108823e-08 -1.2132853114e-11 8.87038620334e-09 -1.24896970869e-11 2.05275907383e-09 -1.28465410598e-11 -1.5069334669e-09 -1.32033850327e-11 -2.65079913575e-09 -1.35602290056e-11 -2.43394038257e-09 -1.39170729785e-11 -1.7104327954e-09 -1.42739169514e-11 -9.87241177697e-10 -1.46307609243e-11 -4.68162841827e-10 -1.49876048972e-11 -1.69818270557e-10 -1.53444488701e-11 -3.23349090559e-11 -1.5701292843e-11 1.39929821202e-11 -1.60581368159e-11 1.97191863532e-11 -1.64149807888e-11 1.30521825986e-11 -1.67718247617e-11 1.00900902217e-11 -1.71286687346e-11 1.03369656584e-11 -1.74855127075e-11 1.10013049018e-11 -1.78423566804e-11 1.15151941801e-11 -1.81992006533e-11 1.17060423854e-11 -1.85560446262e-11 1.11534019867e-11 -1.89128885991e-11 1.05404964271e-11 -1.9269732572e-11 1.04566971401e-11 -1.96265765449e-11 1.09032505247e-11 -1.99834205178e-11 1.14426922798e-11 -2.03402644907e-11 1.18443501534e-11 -2.06971084636e-11 1.17865673818e-11 -2.10539524365e-11 1.13071331811e-11 -2.14107964094e-11 1.09594399528e-11 -2.17676403823e-11 1.09148289365e-11 -2.21244843552e-11 1.14104463725e-11 -2.24813283281e-11 1.20035049608e-11 -2.2838172301e-11 1.21353040464e-11 -2.31950162739e-11 1.21620855748e-11 -2.35518602468e-11 1.15953002408e-11 -2.39087042197e-11 1.11054464236e-11 -2.42655481926e-11 1.10293024713e-11 -2.46223921655e-11 1.16293025557e-11 -2.49792361384e-11 1.23677196956e-11 -2.53360801113e-11 1.24685270789e-11 diff --git a/modules/module_2_50GHz_MPA/part_4_layout_EMsims/T_connection_2/openems/output/run_t_con_50GHZ_data/sub-1/port_ut_1 b/modules/module_2_50GHz_MPA/part_4_layout_EMsims/T_connection_2/openems/output/run_t_con_50GHZ_data/sub-1/port_ut_1 index 94612ddd..5b30ba9f 100644 --- a/modules/module_2_50GHz_MPA/part_4_layout_EMsims/T_connection_2/openems/output/run_t_con_50GHZ_data/sub-1/port_ut_1 +++ b/modules/module_2_50GHz_MPA/part_4_layout_EMsims/T_connection_2/openems/output/run_t_con_50GHZ_data/sub-1/port_ut_1 @@ -1,76 +1,7 @@ -% time-domain voltage integration by openEMS v0.0.35-108-gc651cce @Wed May 21 16:07:12 2025 +% time-domain voltage integration by openEMS v0.0.35-108-gc651cce @Mon May 11 15:39:38 2026 % start-coordinates: (-6.42725e-05,-2.452e-05,0.00015727) m -> [26,62,53] % stop-coordinates: (-6.42725e-05,-2.452e-05,0.00016498) m -> [26,62,63] % t/s voltage 0 -0 3.568439729e-13 -1.40548766722e-09 7.13687945801e-13 -1.13371022639e-09 -1.0705319187e-12 1.21941588771e-09 -1.4273758916e-12 8.67570318364e-09 -1.7842198645e-12 2.54052996418e-08 -2.1410638374e-12 5.52716992175e-08 -2.4979078103e-12 9.77822796067e-08 -2.8547517832e-12 1.41508240237e-07 -3.2115957561e-12 1.56937654872e-07 -3.568439729e-12 9.37422703906e-08 -3.9252837019e-12 -1.10746472881e-07 -4.2821276748e-12 -5.06189406835e-07 -4.6389716477e-12 -1.08935296694e-06 -4.9958156206e-12 -1.76385614026e-06 -5.35265959351e-12 -2.32458335603e-06 -5.70950356641e-12 -2.4921188384e-06 -6.06634753931e-12 -2.00465653677e-06 -6.42319151221e-12 -7.43497729161e-07 -6.78003548511e-12 1.16290769725e-06 -7.13687945801e-12 3.31864482916e-06 -7.49372343091e-12 5.15760319786e-06 -7.85056740381e-12 6.13595209131e-06 -8.20741137671e-12 5.94127361353e-06 -8.56425534961e-12 4.62169948889e-06 -8.92109932251e-12 2.57037185492e-06 -9.27794329541e-12 3.71477256067e-07 -9.63478726831e-12 -1.41891793604e-06 -9.99163124121e-12 -2.4570703232e-06 -1.03484752141e-11 -2.68727747255e-06 -1.0705319187e-11 -2.29579684685e-06 -1.10621631599e-11 -1.58731910105e-06 -1.14190071328e-11 -8.52325793943e-07 -1.17758511057e-11 -2.8030689414e-07 -1.21326950786e-11 6.19153581738e-08 -1.24895390515e-11 2.00890995394e-07 -1.28463830244e-11 2.07410606023e-07 -1.32032269973e-11 1.53689958537e-07 -1.35600709702e-11 9.01812646781e-08 -1.39169149431e-11 4.1413780516e-08 -1.4273758916e-11 1.27674462114e-08 -1.46306028889e-11 -4.9418580339e-11 -1.49874468618e-11 -3.67656810552e-09 -1.53442908347e-11 -3.37167950504e-09 -1.57011348076e-11 -2.14083148431e-09 -1.60579787805e-11 -1.15862250696e-09 -1.64148227534e-11 -7.17547217824e-10 -1.67716667263e-11 -8.82847347311e-10 -1.71285106992e-11 -8.26261069981e-10 -1.74853546721e-11 -7.64643643542e-10 -1.7842198645e-11 -7.26070481516e-10 -1.81990426179e-11 -7.74260084865e-10 -1.85558865908e-11 -8.35505022806e-10 -1.89127305637e-11 -8.66230778079e-10 -1.92695745366e-11 -8.27062651004e-10 -1.96264185095e-11 -7.42047499835e-10 -1.99832624824e-11 -6.93042253794e-10 -2.03401064553e-11 -6.94373806717e-10 -2.06969504282e-11 -7.71677811928e-10 -2.10537944011e-11 -8.21741516846e-10 -2.1410638374e-11 -8.20237702412e-10 -2.17674823469e-11 -7.57925595549e-10 -2.21243263198e-11 -6.94439686311e-10 -2.24811702927e-11 -6.66568206881e-10 -2.28380142656e-11 -7.04980383098e-10 -2.31948582385e-11 -7.67543428121e-10 -2.35517022114e-11 -7.96619176874e-10 -2.39085461843e-11 -7.64938543063e-10 -2.42653901572e-11 -6.84767260256e-10 -2.46222341301e-11 -6.43126484359e-10 -2.4979078103e-11 -6.52909863327e-10 -2.53359220759e-11 -7.13787712964e-10 diff --git a/modules/module_2_50GHz_MPA/part_4_layout_EMsims/T_connection_2/openems/output/run_t_con_50GHZ_data/sub-1/port_ut_2 b/modules/module_2_50GHz_MPA/part_4_layout_EMsims/T_connection_2/openems/output/run_t_con_50GHZ_data/sub-1/port_ut_2 index 753815d4..f57da4d4 100644 --- a/modules/module_2_50GHz_MPA/part_4_layout_EMsims/T_connection_2/openems/output/run_t_con_50GHZ_data/sub-1/port_ut_2 +++ b/modules/module_2_50GHz_MPA/part_4_layout_EMsims/T_connection_2/openems/output/run_t_con_50GHZ_data/sub-1/port_ut_2 @@ -1,76 +1,7 @@ -% time-domain voltage integration by openEMS v0.0.35-108-gc651cce @Wed May 21 16:07:12 2025 +% time-domain voltage integration by openEMS v0.0.35-108-gc651cce @Mon May 11 15:39:38 2026 % start-coordinates: (-4.47425e-05,-2.452e-05,0.00015727) m -> [94,62,53] % stop-coordinates: (-4.47425e-05,-2.452e-05,0.00016498) m -> [94,62,63] % t/s voltage 0 -0 3.568439729e-13 -7.47173625054e-10 7.13687945801e-13 -1.08128933932e-09 -1.0705319187e-12 -7.64390783309e-10 -1.4273758916e-12 1.61679338667e-09 -1.7842198645e-12 8.67305424701e-09 -2.1410638374e-12 2.38952635456e-08 -2.4979078103e-12 5.03332671098e-08 -2.8547517832e-12 8.69518255175e-08 -3.2115957561e-12 1.23219491055e-07 -3.568439729e-12 1.33216276677e-07 -3.9252837019e-12 7.38296304093e-08 -4.2821276748e-12 -1.07725161236e-07 -4.6389716477e-12 -4.52602312961e-07 -4.9958156206e-12 -9.57609010754e-07 -5.35265959351e-12 -1.54241570982e-06 -5.70950356641e-12 -2.03683482169e-06 -6.06634753931e-12 -2.20817329932e-06 -6.42319151221e-12 -1.83448734248e-06 -6.78003548511e-12 -8.05482770261e-07 -7.13687945801e-12 7.91542623446e-07 -7.49372343091e-12 2.64961241214e-06 -7.85056740381e-12 4.31169898718e-06 -8.20741137671e-12 5.31830089301e-06 -8.56425534961e-12 5.3749251947e-06 -8.92109932251e-12 4.46560861178e-06 -9.27794329541e-12 2.85893361252e-06 -9.63478726831e-12 1.00365951639e-06 -9.99163124121e-12 -6.36343180815e-07 -1.03484752141e-11 -1.73427935124e-06 -1.0705319187e-11 -2.1792721725e-06 -1.10621631599e-11 -2.06298574312e-06 -1.14190071328e-11 -1.59857763293e-06 -1.17758511057e-11 -1.01997265034e-06 -1.21326950786e-11 -5.04995714579e-07 -1.24895390515e-11 -1.43175400869e-07 -1.28463830244e-11 5.4908345648e-08 -1.32032269973e-11 1.26485220076e-07 -1.35600709702e-11 1.23484861003e-07 -1.39169149431e-11 9.00635011014e-08 -1.4273758916e-11 5.37199393857e-08 -1.46306028889e-11 2.64554139151e-08 -1.49874468618e-11 1.02054760753e-08 -1.53442908347e-11 2.40644564692e-09 -1.57011348076e-11 -4.1125835723e-10 -1.60579787805e-11 -9.01099962008e-10 -1.64148227534e-11 -6.29677599992e-10 -1.67716667263e-11 -4.66165354582e-10 -1.71285106992e-11 -5.07963933069e-10 -1.74853546721e-11 -5.5323715574e-10 -1.7842198645e-11 -5.71835591032e-10 -1.81990426179e-11 -5.37465412453e-10 -1.85558865908e-11 -4.9645439322e-10 -1.89127305637e-11 -4.78006616927e-10 -1.92695745366e-11 -5.12593014909e-10 -1.96264185095e-11 -5.64795760508e-10 -1.99832624824e-11 -5.93826009199e-10 -2.03401064553e-11 -5.72835013798e-10 -2.06969504282e-11 -5.30044551653e-10 -2.10537944011e-11 -4.94057178849e-10 -2.1410638374e-11 -5.17378114309e-10 -2.17674823469e-11 -5.55999716753e-10 -2.21243263198e-11 -6.04615212063e-10 -2.24811702927e-11 -6.03521458503e-10 -2.28380142656e-11 -5.60846862008e-10 -2.31948582385e-11 -5.15101053825e-10 -2.35517022114e-11 -5.2035617655e-10 -2.39085461843e-11 -5.50478789288e-10 -2.42653901572e-11 -6.06066764483e-10 -2.46222341301e-11 -6.24157335191e-10 -2.4979078103e-11 -5.99245923716e-10 -2.53359220759e-11 -5.4752538961e-10 diff --git a/modules/module_2_50GHz_MPA/part_4_layout_EMsims/T_connection_2/openems/output/run_t_con_50GHZ_data/sub-1/port_ut_3 b/modules/module_2_50GHz_MPA/part_4_layout_EMsims/T_connection_2/openems/output/run_t_con_50GHZ_data/sub-1/port_ut_3 index 94de8287..eb19c49b 100644 --- a/modules/module_2_50GHz_MPA/part_4_layout_EMsims/T_connection_2/openems/output/run_t_con_50GHZ_data/sub-1/port_ut_3 +++ b/modules/module_2_50GHz_MPA/part_4_layout_EMsims/T_connection_2/openems/output/run_t_con_50GHZ_data/sub-1/port_ut_3 @@ -1,76 +1,7 @@ -% time-domain voltage integration by openEMS v0.0.35-108-gc651cce @Wed May 21 16:07:12 2025 +% time-domain voltage integration by openEMS v0.0.35-108-gc651cce @Mon May 11 15:39:38 2026 % start-coordinates: (-5.452e-05,-3.57575e-05,0.00015727) m -> [60,26,53] % stop-coordinates: (-5.452e-05,-3.57575e-05,0.00016498) m -> [60,26,63] % t/s voltage 0 -0 3.568439729e-13 -8.00494630651e-10 7.13687945801e-13 -1.11070533326e-09 -1.0705319187e-12 -6.76339081962e-10 -1.4273758916e-12 2.02641575048e-09 -1.7842198645e-12 9.72329292082e-09 -2.1410638374e-12 2.60521814122e-08 -2.4979078103e-12 5.38477809009e-08 -2.8547517832e-12 9.14600919444e-08 -3.2115957561e-12 1.27009258222e-07 -3.568439729e-12 1.32663989127e-07 -3.9252837019e-12 6.33818957319e-08 -4.2821276748e-12 -1.34183813838e-07 -4.6389716477e-12 -4.98878437227e-07 -4.9958156206e-12 -1.02117172318e-06 -5.35265959351e-12 -1.61096340889e-06 -5.70950356641e-12 -2.08797674617e-06 -6.06634753931e-12 -2.21414373414e-06 -6.42319151221e-12 -1.77175745364e-06 -6.78003548511e-12 -6.66606494448e-07 -7.13687945801e-12 9.89579628907e-07 -7.49372343091e-12 2.86558150009e-06 -7.85056740381e-12 4.49103808364e-06 -8.20741137671e-12 5.41136230936e-06 -8.56425534961e-12 5.35535093604e-06 -8.92109932251e-12 4.34037141872e-06 -9.27794329541e-12 2.66535518278e-06 -9.63478726831e-12 7.95017975008e-07 -9.99163124121e-12 -8.10008330632e-07 -1.03484752141e-11 -1.84172374418e-06 -1.0705319187e-11 -2.2141427749e-06 -1.10621631599e-11 -2.03989927172e-06 -1.14190071328e-11 -1.54289614329e-06 -1.17758511057e-11 -9.5685446766e-07 -1.21326950786e-11 -4.51870608487e-07 -1.24895390515e-11 -1.0768544989e-07 -1.28463830244e-11 7.31357860939e-08 -1.32032269973e-11 1.32183795465e-07 -1.35600709702e-11 1.22227312715e-07 -1.39169149431e-11 8.6262111898e-08 -1.4273758916e-11 4.99780314911e-08 -1.46306028889e-11 2.38013969089e-08 -1.49874468618e-11 8.69458946506e-09 -1.53442908347e-11 1.69917924175e-09 -1.57011348076e-11 -6.81016255541e-10 -1.60579787805e-11 -9.89004531049e-10 -1.64148227534e-11 -6.609396936e-10 -1.67716667263e-11 -5.05631505415e-10 -1.71285106992e-11 -5.15427152348e-10 -1.74853546721e-11 -5.50320825368e-10 -1.7842198645e-11 -5.77224190321e-10 -1.81990426179e-11 -5.85737389147e-10 -1.85558865908e-11 -5.59003409534e-10 -1.89127305637e-11 -5.29261023896e-10 -1.92695745366e-11 -5.22711911949e-10 -1.96264185095e-11 -5.43804546532e-10 -1.99832624824e-11 -5.71896344517e-10 -2.03401064553e-11 -5.92108527139e-10 -2.06969504282e-11 -5.90350579185e-10 -2.10537944011e-11 -5.65704162334e-10 -2.1410638374e-11 -5.50202626515e-10 -2.17674823469e-11 -5.45138875013e-10 -2.21243263198e-11 -5.70372658826e-10 -2.24811702927e-11 -6.0024674467e-10 -2.28380142656e-11 -6.07424808369e-10 -2.31948582385e-11 -6.06971577166e-10 -2.35517022114e-11 -5.81108739253e-10 -2.39085461843e-11 -5.55554919776e-10 -2.42653901572e-11 -5.50422037809e-10 -2.46222341301e-11 -5.80960864485e-10 -2.4979078103e-11 -6.18158890395e-10 -2.53359220759e-11 -6.23615352066e-10 diff --git a/modules/module_2_50GHz_MPA/part_4_layout_EMsims/T_connection_2/openems/output/run_t_con_50GHZ_data/sub-1/run_t_con_50GHZ.xml b/modules/module_2_50GHz_MPA/part_4_layout_EMsims/T_connection_2/openems/output/run_t_con_50GHZ_data/sub-1/run_t_con_50GHZ.xml index 9a8aae23..93afedd9 100644 --- a/modules/module_2_50GHz_MPA/part_4_layout_EMsims/T_connection_2/openems/output/run_t_con_50GHZ_data/sub-1/run_t_con_50GHZ.xml +++ b/modules/module_2_50GHz_MPA/part_4_layout_EMsims/T_connection_2/openems/output/run_t_con_50GHZ_data/sub-1/run_t_con_50GHZ.xml @@ -13,6 +13,7 @@ + @@ -27,22 +28,26 @@ + + + + @@ -57,6 +62,7 @@ + @@ -69,6 +75,7 @@ + @@ -81,6 +88,7 @@ + @@ -93,6 +101,7 @@ + @@ -105,6 +114,7 @@ + @@ -117,6 +127,7 @@ + @@ -127,6 +138,7 @@ + @@ -138,6 +150,7 @@ + @@ -148,6 +161,7 @@ + @@ -158,6 +172,7 @@ + @@ -168,6 +183,7 @@ + @@ -178,6 +194,7 @@ + @@ -188,6 +205,7 @@ + @@ -198,6 +216,7 @@ + @@ -208,6 +227,7 @@ + diff --git a/modules/module_4_type_2_PLL/LC_Oscillator/testbench/LC_Oscillator_tb.sch b/modules/module_4_type_2_PLL/LC_Oscillator/testbench/LC_Oscillator_tb.sch index 4224a885..4e131623 100644 --- a/modules/module_4_type_2_PLL/LC_Oscillator/testbench/LC_Oscillator_tb.sch +++ b/modules/module_4_type_2_PLL/LC_Oscillator/testbench/LC_Oscillator_tb.sch @@ -12,8 +12,8 @@ ypos2=2 divy=5 subdivy=1 unity=1 -x1=3.9785566e-09 -x2=4.2974576e-09 +x1=3.9626115e-09 +x2=4.2815126e-09 divx=5 subdivx=1 xlabmag=1.0 @@ -33,8 +33,8 @@ ypos2=2 divy=5 subdivy=1 unity=1 -x1=3.9785566e-09 -x2=4.2974576e-09 +x1=3.9626115e-09 +x2=4.2815126e-09 divx=5 subdivx=1 xlabmag=1.0 @@ -45,19 +45,32 @@ logx=0 logy=0 color=4 node=vo_diff} -N 1040 -530 1040 -500 {lab=vdd} -N 1040 -440 1040 -410 {lab=GND} -N 740 -520 740 -500 {lab=GND} -N 700 -530 700 -500 {lab=vdd} -N 610 -390 630 -390 {lab=Voplus} -N 610 -430 630 -430 {lab=Vominus} -N 820 -410 860 -410 {lab=#net1} -N 860 -350 860 -320 {lab=GND} -C {code_shown.sym} 240 -1160 0 0 {name=transient_tb only_toplevel=false +N 540 -200 540 -170 {lab=VCC_oscillator} +N 540 -110 540 -80 {lab=GND} +N 460 -390 670 -390 {lab=Vominus} +N 460 -430 670 -430 {lab=Voplus} +N 660 -200 660 -170 {lab=VCC_Buffer} +N 660 -110 660 -80 {lab=GND} +N 860 -310 920 -310 {lab=VCC_oscillator} +N 860 -290 920 -290 {lab=VCC_Buffer} +N 860 -270 920 -270 {lab=VCC_oscillator} +N 860 -250 920 -250 {lab=bias} +N 860 -230 920 -230 {lab=GND} +N 740 -110 740 -80 {lab=GND} +N 740 -200 740 -170 {lab=bias} +N 550 -530 680 -530 {lab=Vo_buff+} +N 550 -510 680 -510 {lab=Vo_buff-} +N 620 -450 660 -450 {lab=GND} +N 620 -590 660 -590 {lab=GND} +N 860 -410 1000 -410 {lab=Vctrl} +N 810 -110 810 -80 {lab=GND} +N 810 -200 810 -170 {lab=Vctrl} +N 640 -320 670 -320 {lab=V_initial_C} +C {code_shown.sym} 50 -1190 0 0 {name=transient_tb only_toplevel=false value=" .include LC_Oscillator_tb.save .param temp=27 -.ic V(Voplus)=1.2 +.ic V(V_initial_C)=2.5 .control set noaskquit set numdgt=12 @@ -86,9 +99,13 @@ unset wr_vecnames write LC_Oscillator_tb.raw .endc "} -C {devices/code_shown.sym} 810 -1130 0 0 {name=MODEL only_toplevel=true +C {devices/code_shown.sym} 610 -1140 0 0 {name=MODEL only_toplevel=true format="tcleval( @value )" -value=".lib cornerMOSlv.lib mos_ss +value=" +.lib cornerHBT.lib hbt_typ +.lib cornerRES.lib res_typ +.lib $::MODELS_NGSPICE/cornerCAP.lib cap_typ +.lib cornerMOShv.lib mos_tt " } C {devices/launcher.sym} 1190 -250 0 0 {name=h1 @@ -99,12 +116,10 @@ C {launcher.sym} 1190 -170 0 0 {name=h5 descr="load waves" tclcommand="xschem raw_read $netlist_dir/LC_Oscillator_tb.raw tran" } -C {vsource.sym} 1040 -470 0 0 {name=V1 value= 1.2 savecurrent=false} -C {gnd.sym} 1040 -410 0 0 {name=l2 lab=GND} -C {lab_pin.sym} 1040 -530 0 0 {name=p2 sig_type=std_logic lab=vdd} -C {opin.sym} 610 -390 2 0 {name=p6 lab=Voplus} -C {gnd.sym} 740 -520 2 0 {name=l3 lab=GND} -C {lab_pin.sym} 700 -530 2 1 {name=p7 sig_type=std_logic lab=vdd} +C {vsource.sym} 540 -140 0 0 {name=V1 value= 2.5 savecurrent=false} +C {gnd.sym} 540 -80 0 0 {name=l2 lab=GND} +C {lab_pin.sym} 540 -200 0 0 {name=p2 sig_type=std_logic lab=VCC_oscillator} +C {opin.sym} 460 -430 2 0 {name=p6 lab=Voplus} C {launcher.sym} 1190 -210 0 0 {name=h2 descr=SimulateNGSPICE tclcommand=" @@ -129,7 +144,36 @@ write_data [save_params] $netlist_dir/[file rootname [file tail [xschem get curr xschem netlist simulate "} -C {opin.sym} 610 -430 0 1 {name=p9 lab=Vominus} -C {LC_Oscillator.sym} 720 -410 2 0 {name=x1} -C {vsource.sym} 860 -380 0 0 {name=V2 value= 0.2 savecurrent=false} -C {gnd.sym} 860 -320 0 0 {name=l1 lab=GND} +C {opin.sym} 460 -390 0 1 {name=p9 lab=Vominus} +C {LC_Oscillator.sym} 760 -410 0 1 {name=x1} +C {vsource.sym} 740 -140 0 0 {name=V2 value= 2.1 savecurrent=false} +C {vsource.sym} 660 -140 0 0 {name=V3 value= 3.3 savecurrent=false} +C {gnd.sym} 660 -80 0 0 {name=l3 lab=GND} +C {lab_pin.sym} 660 -200 0 0 {name=p1 sig_type=std_logic lab=VCC_Buffer} +C {gnd.sym} 740 -80 0 0 {name=l1 lab=GND} +C {lab_pin.sym} 740 -200 0 0 {name=p3 sig_type=std_logic lab=bias} +C {gnd.sym} 920 -230 0 0 {name=l4 lab=GND} +C {lab_pin.sym} 920 -310 0 1 {name=p4 sig_type=std_logic lab=VCC_oscillator} +C {lab_pin.sym} 920 -270 0 1 {name=p5 sig_type=std_logic lab=VCC_oscillator} +C {lab_pin.sym} 920 -290 0 1 {name=p7 sig_type=std_logic lab=VCC_Buffer} +C {lab_pin.sym} 920 -250 0 1 {name=p8 sig_type=std_logic lab=bias} +C {res.sym} 620 -560 2 0 {name=R1 +value=50 +footprint=1206 +device=resistor +m=1} +C {res.sym} 620 -480 0 0 {name=R2 +value=50 +footprint=1206 +device=resistor +m=1} +C {gnd.sym} 660 -450 3 0 {name=l5 lab=GND} +C {gnd.sym} 660 -590 3 1 {name=l6 lab=GND} +C {vsource.sym} 810 -140 0 0 {name=V4 value= 1.65 savecurrent=false} +C {gnd.sym} 810 -80 0 0 {name=l7 lab=GND +value=1.65} +C {lab_pin.sym} 810 -200 0 0 {name=p10 sig_type=std_logic lab=Vctrl} +C {lab_pin.sym} 1000 -410 0 1 {name=p11 sig_type=std_logic lab=Vctrl} +C {opin.sym} 550 -530 2 0 {name=p12 lab=Vo_buff+} +C {opin.sym} 550 -510 2 0 {name=p13 lab=Vo_buff-} +C {lab_pin.sym} 640 -320 0 0 {name=p14 sig_type=std_logic lab=V_initial_C} diff --git a/modules/module_4_type_2_PLL/LC_Oscillator/testbench/simulations/LC_Oscillator.save b/modules/module_4_type_2_PLL/LC_Oscillator/testbench/simulations/LC_Oscillator.save new file mode 100644 index 00000000..14622c65 --- /dev/null +++ b/modules/module_4_type_2_PLL/LC_Oscillator/testbench/simulations/LC_Oscillator.save @@ -0,0 +1,119 @@ +* Place this .save file with a .include line in your testbench + +.save @q.xq1.qnpn13g2[gm] +.save @q.xq1.qnpn13g2[go] +.save @q.xq1.qnpn13g2[gmu] +.save @q.xq1.qnpn13g2[gpi] +.save @q.xq1.qnpn13g2[gx] +.save @q.xq1.qnpn13g2[vbe] +.save @q.xq1.qnpn13g2[vbc] +.save @q.xq1.qnpn13g2[ib] +.save @q.xq1.qnpn13g2[ic] +.save @q.xq1.qnpn13g2[cbe] +.save @q.xq1.qnpn13g2[cbc] +.save @q.xq1.qnpn13g2[cbep] +.save @q.xq1.qnpn13g2[cbcp] +.save @q.xq2.qnpn13g2[gm] +.save @q.xq2.qnpn13g2[go] +.save @q.xq2.qnpn13g2[gmu] +.save @q.xq2.qnpn13g2[gpi] +.save @q.xq2.qnpn13g2[gx] +.save @q.xq2.qnpn13g2[vbe] +.save @q.xq2.qnpn13g2[vbc] +.save @q.xq2.qnpn13g2[ib] +.save @q.xq2.qnpn13g2[ic] +.save @q.xq2.qnpn13g2[cbe] +.save @q.xq2.qnpn13g2[cbc] +.save @q.xq2.qnpn13g2[cbep] +.save @q.xq2.qnpn13g2[cbcp] +.save @q.xq3.qnpn13g2[gm] +.save @q.xq3.qnpn13g2[go] +.save @q.xq3.qnpn13g2[gmu] +.save @q.xq3.qnpn13g2[gpi] +.save @q.xq3.qnpn13g2[gx] +.save @q.xq3.qnpn13g2[vbe] +.save @q.xq3.qnpn13g2[vbc] +.save @q.xq3.qnpn13g2[ib] +.save @q.xq3.qnpn13g2[ic] +.save @q.xq3.qnpn13g2[cbe] +.save @q.xq3.qnpn13g2[cbc] +.save @q.xq3.qnpn13g2[cbep] +.save @q.xq3.qnpn13g2[cbcp] +.save @q.xq5.qnpn13g2[gm] +.save @q.xq5.qnpn13g2[go] +.save @q.xq5.qnpn13g2[gmu] +.save @q.xq5.qnpn13g2[gpi] +.save @q.xq5.qnpn13g2[gx] +.save @q.xq5.qnpn13g2[vbe] +.save @q.xq5.qnpn13g2[vbc] +.save @q.xq5.qnpn13g2[ib] +.save @q.xq5.qnpn13g2[ic] +.save @q.xq5.qnpn13g2[cbe] +.save @q.xq5.qnpn13g2[cbc] +.save @q.xq5.qnpn13g2[cbep] +.save @q.xq5.qnpn13g2[cbcp] +.save @q.xq6.qnpn13g2[gm] +.save @q.xq6.qnpn13g2[go] +.save @q.xq6.qnpn13g2[gmu] +.save @q.xq6.qnpn13g2[gpi] +.save @q.xq6.qnpn13g2[gx] +.save @q.xq6.qnpn13g2[vbe] +.save @q.xq6.qnpn13g2[vbc] +.save @q.xq6.qnpn13g2[ib] +.save @q.xq6.qnpn13g2[ic] +.save @q.xq6.qnpn13g2[cbe] +.save @q.xq6.qnpn13g2[cbc] +.save @q.xq6.qnpn13g2[cbep] +.save @q.xq6.qnpn13g2[cbcp] +.save @q.xq4.qnpn13g2[gm] +.save @q.xq4.qnpn13g2[go] +.save @q.xq4.qnpn13g2[gmu] +.save @q.xq4.qnpn13g2[gpi] +.save @q.xq4.qnpn13g2[gx] +.save @q.xq4.qnpn13g2[vbe] +.save @q.xq4.qnpn13g2[vbc] +.save @q.xq4.qnpn13g2[ib] +.save @q.xq4.qnpn13g2[ic] +.save @q.xq4.qnpn13g2[cbe] +.save @q.xq4.qnpn13g2[cbc] +.save @q.xq4.qnpn13g2[cbep] +.save @q.xq4.qnpn13g2[cbcp] +.save @q.xq7.qnpn13g2[gm] +.save @q.xq7.qnpn13g2[go] +.save @q.xq7.qnpn13g2[gmu] +.save @q.xq7.qnpn13g2[gpi] +.save @q.xq7.qnpn13g2[gx] +.save @q.xq7.qnpn13g2[vbe] +.save @q.xq7.qnpn13g2[vbc] +.save @q.xq7.qnpn13g2[ib] +.save @q.xq7.qnpn13g2[ic] +.save @q.xq7.qnpn13g2[cbe] +.save @q.xq7.qnpn13g2[cbc] +.save @q.xq7.qnpn13g2[cbep] +.save @q.xq7.qnpn13g2[cbcp] +.save @q.xq8.qnpn13g2[gm] +.save @q.xq8.qnpn13g2[go] +.save @q.xq8.qnpn13g2[gmu] +.save @q.xq8.qnpn13g2[gpi] +.save @q.xq8.qnpn13g2[gx] +.save @q.xq8.qnpn13g2[vbe] +.save @q.xq8.qnpn13g2[vbc] +.save @q.xq8.qnpn13g2[ib] +.save @q.xq8.qnpn13g2[ic] +.save @q.xq8.qnpn13g2[cbe] +.save @q.xq8.qnpn13g2[cbc] +.save @q.xq8.qnpn13g2[cbep] +.save @q.xq8.qnpn13g2[cbcp] +.save @q.xq9.qnpn13g2[gm] +.save @q.xq9.qnpn13g2[go] +.save @q.xq9.qnpn13g2[gmu] +.save @q.xq9.qnpn13g2[gpi] +.save @q.xq9.qnpn13g2[gx] +.save @q.xq9.qnpn13g2[vbe] +.save @q.xq9.qnpn13g2[vbc] +.save @q.xq9.qnpn13g2[ib] +.save @q.xq9.qnpn13g2[ic] +.save @q.xq9.qnpn13g2[cbe] +.save @q.xq9.qnpn13g2[cbc] +.save @q.xq9.qnpn13g2[cbep] +.save @q.xq9.qnpn13g2[cbcp] diff --git a/modules/module_4_type_2_PLL/LC_Oscillator/testbench/simulations/LC_Oscillator_tb.save b/modules/module_4_type_2_PLL/LC_Oscillator/testbench/simulations/LC_Oscillator_tb.save index 17c91aaf..e181df96 100644 --- a/modules/module_4_type_2_PLL/LC_Oscillator/testbench/simulations/LC_Oscillator_tb.save +++ b/modules/module_4_type_2_PLL/LC_Oscillator/testbench/simulations/LC_Oscillator_tb.save @@ -1,42 +1,106 @@ * Place this .save file with a .include line in your testbench -.save @n.x1.xm1.nsg13_lv_nmos[ids] -.save @n.x1.xm1.nsg13_lv_nmos[gm] -.save @n.x1.xm1.nsg13_lv_nmos[gds] -.save @n.x1.xm1.nsg13_lv_nmos[vth] -.save @n.x1.xm1.nsg13_lv_nmos[vgs] -.save @n.x1.xm1.nsg13_lv_nmos[vdss] -.save @n.x1.xm1.nsg13_lv_nmos[vds] -.save @n.x1.xm1.nsg13_lv_nmos[cgg] -.save @n.x1.xm1.nsg13_lv_nmos[cgsol] -.save @n.x1.xm1.nsg13_lv_nmos[cgdol] -.save @n.x1.xm2.nsg13_lv_nmos[ids] -.save @n.x1.xm2.nsg13_lv_nmos[gm] -.save @n.x1.xm2.nsg13_lv_nmos[gds] -.save @n.x1.xm2.nsg13_lv_nmos[vth] -.save @n.x1.xm2.nsg13_lv_nmos[vgs] -.save @n.x1.xm2.nsg13_lv_nmos[vdss] -.save @n.x1.xm2.nsg13_lv_nmos[vds] -.save @n.x1.xm2.nsg13_lv_nmos[cgg] -.save @n.x1.xm2.nsg13_lv_nmos[cgsol] -.save @n.x1.xm2.nsg13_lv_nmos[cgdol] -.save @n.x1.xm3.nsg13_lv_nmos[ids] -.save @n.x1.xm3.nsg13_lv_nmos[gm] -.save @n.x1.xm3.nsg13_lv_nmos[gds] -.save @n.x1.xm3.nsg13_lv_nmos[vth] -.save @n.x1.xm3.nsg13_lv_nmos[vgs] -.save @n.x1.xm3.nsg13_lv_nmos[vdss] -.save @n.x1.xm3.nsg13_lv_nmos[vds] -.save @n.x1.xm3.nsg13_lv_nmos[cgg] -.save @n.x1.xm3.nsg13_lv_nmos[cgsol] -.save @n.x1.xm3.nsg13_lv_nmos[cgdol] -.save @n.x1.xm4.nsg13_lv_nmos[ids] -.save @n.x1.xm4.nsg13_lv_nmos[gm] -.save @n.x1.xm4.nsg13_lv_nmos[gds] -.save @n.x1.xm4.nsg13_lv_nmos[vth] -.save @n.x1.xm4.nsg13_lv_nmos[vgs] -.save @n.x1.xm4.nsg13_lv_nmos[vdss] -.save @n.x1.xm4.nsg13_lv_nmos[vds] -.save @n.x1.xm4.nsg13_lv_nmos[cgg] -.save @n.x1.xm4.nsg13_lv_nmos[cgsol] -.save @n.x1.xm4.nsg13_lv_nmos[cgdol] +.save @q.x1.xq2.qnpn13g2[gm] +.save @q.x1.xq2.qnpn13g2[go] +.save @q.x1.xq2.qnpn13g2[gmu] +.save @q.x1.xq2.qnpn13g2[gpi] +.save @q.x1.xq2.qnpn13g2[gx] +.save @q.x1.xq2.qnpn13g2[vbe] +.save @q.x1.xq2.qnpn13g2[vbc] +.save @q.x1.xq2.qnpn13g2[ib] +.save @q.x1.xq2.qnpn13g2[ic] +.save @q.x1.xq2.qnpn13g2[cbe] +.save @q.x1.xq2.qnpn13g2[cbc] +.save @q.x1.xq2.qnpn13g2[cbep] +.save @q.x1.xq2.qnpn13g2[cbcp] +.save @q.x1.xq3.qnpn13g2[gm] +.save @q.x1.xq3.qnpn13g2[go] +.save @q.x1.xq3.qnpn13g2[gmu] +.save @q.x1.xq3.qnpn13g2[gpi] +.save @q.x1.xq3.qnpn13g2[gx] +.save @q.x1.xq3.qnpn13g2[vbe] +.save @q.x1.xq3.qnpn13g2[vbc] +.save @q.x1.xq3.qnpn13g2[ib] +.save @q.x1.xq3.qnpn13g2[ic] +.save @q.x1.xq3.qnpn13g2[cbe] +.save @q.x1.xq3.qnpn13g2[cbc] +.save @q.x1.xq3.qnpn13g2[cbep] +.save @q.x1.xq3.qnpn13g2[cbcp] +.save @q.x1.xq5.qnpn13g2[gm] +.save @q.x1.xq5.qnpn13g2[go] +.save @q.x1.xq5.qnpn13g2[gmu] +.save @q.x1.xq5.qnpn13g2[gpi] +.save @q.x1.xq5.qnpn13g2[gx] +.save @q.x1.xq5.qnpn13g2[vbe] +.save @q.x1.xq5.qnpn13g2[vbc] +.save @q.x1.xq5.qnpn13g2[ib] +.save @q.x1.xq5.qnpn13g2[ic] +.save @q.x1.xq5.qnpn13g2[cbe] +.save @q.x1.xq5.qnpn13g2[cbc] +.save @q.x1.xq5.qnpn13g2[cbep] +.save @q.x1.xq5.qnpn13g2[cbcp] +.save @q.x1.xq6.qnpn13g2[gm] +.save @q.x1.xq6.qnpn13g2[go] +.save @q.x1.xq6.qnpn13g2[gmu] +.save @q.x1.xq6.qnpn13g2[gpi] +.save @q.x1.xq6.qnpn13g2[gx] +.save @q.x1.xq6.qnpn13g2[vbe] +.save @q.x1.xq6.qnpn13g2[vbc] +.save @q.x1.xq6.qnpn13g2[ib] +.save @q.x1.xq6.qnpn13g2[ic] +.save @q.x1.xq6.qnpn13g2[cbe] +.save @q.x1.xq6.qnpn13g2[cbc] +.save @q.x1.xq6.qnpn13g2[cbep] +.save @q.x1.xq6.qnpn13g2[cbcp] +.save @q.x1.xq4.qnpn13g2[gm] +.save @q.x1.xq4.qnpn13g2[go] +.save @q.x1.xq4.qnpn13g2[gmu] +.save @q.x1.xq4.qnpn13g2[gpi] +.save @q.x1.xq4.qnpn13g2[gx] +.save @q.x1.xq4.qnpn13g2[vbe] +.save @q.x1.xq4.qnpn13g2[vbc] +.save @q.x1.xq4.qnpn13g2[ib] +.save @q.x1.xq4.qnpn13g2[ic] +.save @q.x1.xq4.qnpn13g2[cbe] +.save @q.x1.xq4.qnpn13g2[cbc] +.save @q.x1.xq4.qnpn13g2[cbep] +.save @q.x1.xq4.qnpn13g2[cbcp] +.save @q.x1.xq7.qnpn13g2[gm] +.save @q.x1.xq7.qnpn13g2[go] +.save @q.x1.xq7.qnpn13g2[gmu] +.save @q.x1.xq7.qnpn13g2[gpi] +.save @q.x1.xq7.qnpn13g2[gx] +.save @q.x1.xq7.qnpn13g2[vbe] +.save @q.x1.xq7.qnpn13g2[vbc] +.save @q.x1.xq7.qnpn13g2[ib] +.save @q.x1.xq7.qnpn13g2[ic] +.save @q.x1.xq7.qnpn13g2[cbe] +.save @q.x1.xq7.qnpn13g2[cbc] +.save @q.x1.xq7.qnpn13g2[cbep] +.save @q.x1.xq7.qnpn13g2[cbcp] +.save @q.x1.xq8.qnpn13g2[gm] +.save @q.x1.xq8.qnpn13g2[go] +.save @q.x1.xq8.qnpn13g2[gmu] +.save @q.x1.xq8.qnpn13g2[gpi] +.save @q.x1.xq8.qnpn13g2[gx] +.save @q.x1.xq8.qnpn13g2[vbe] +.save @q.x1.xq8.qnpn13g2[vbc] +.save @q.x1.xq8.qnpn13g2[ib] +.save @q.x1.xq8.qnpn13g2[ic] +.save @q.x1.xq8.qnpn13g2[cbe] +.save @q.x1.xq8.qnpn13g2[cbc] +.save @q.x1.xq8.qnpn13g2[cbep] +.save @q.x1.xq8.qnpn13g2[cbcp] +.save @q.x1.xq9.qnpn13g2[gm] +.save @q.x1.xq9.qnpn13g2[go] +.save @q.x1.xq9.qnpn13g2[gmu] +.save @q.x1.xq9.qnpn13g2[gpi] +.save @q.x1.xq9.qnpn13g2[gx] +.save @q.x1.xq9.qnpn13g2[vbe] +.save @q.x1.xq9.qnpn13g2[vbc] +.save @q.x1.xq9.qnpn13g2[ib] +.save @q.x1.xq9.qnpn13g2[ic] +.save @q.x1.xq9.qnpn13g2[cbe] +.save @q.x1.xq9.qnpn13g2[cbc] +.save @q.x1.xq9.qnpn13g2[cbep] +.save @q.x1.xq9.qnpn13g2[cbcp] diff --git a/modules/module_4_type_2_PLL/LC_Oscillator/xschem/LC_Oscillator.sch b/modules/module_4_type_2_PLL/LC_Oscillator/xschem/LC_Oscillator.sch index b85cdd13..55c87be5 100644 --- a/modules/module_4_type_2_PLL/LC_Oscillator/xschem/LC_Oscillator.sch +++ b/modules/module_4_type_2_PLL/LC_Oscillator/xschem/LC_Oscillator.sch @@ -4,138 +4,725 @@ K {} V {} S {} E {} -N 310 -500 310 -440 {lab=#net1} -N 420 -440 530 -440 {lab=#net1} -N 530 -500 530 -440 {lab=#net1} -N 310 -720 310 -690 {lab=vdd} -N 420 -720 530 -720 {lab=vdd} -N 530 -720 530 -690 {lab=vdd} -N 310 -440 420 -440 {lab=#net1} -N 420 -330 420 -290 {lab=gnd} -N 420 -740 420 -720 {lab=vdd} -N 310 -720 420 -720 {lab=vdd} -N 530 -530 580 -530 {lab=gnd} -N 250 -530 310 -530 {lab=gnd} -N 420 -440 420 -390 {lab=#net1} -N 460 -530 490 -530 {lab=Voplus} -N 310 -590 310 -560 {lab=Voplus} -N 350 -530 380 -530 {lab=Vominus} -N 380 -530 530 -630 {lab=Vominus} -N 310 -630 460 -530 {lab=Voplus} -N 530 -690 600 -690 {lab=vdd} -N 530 -630 600 -630 {lab=Vominus} -N 240 -690 310 -690 {lab=vdd} -N 240 -630 310 -630 {lab=Voplus} -N 310 -630 310 -590 {lab=Voplus} -N 530 -590 530 -560 {lab=Vominus} -N 70 -590 70 -580 {lab=Voplus} -N 70 -520 70 -490 {lab=gnd} -N 770 -590 770 -580 {lab=Vominus} -N 770 -520 770 -490 {lab=gnd} -N 140 -590 310 -590 {lab=Voplus} -N 680 -590 770 -590 {lab=Vominus} -N 530 -630 530 -590 {lab=Vominus} -N 680 -590 680 -560 {lab=Vominus} -N 530 -590 680 -590 {lab=Vominus} -N 140 -590 140 -560 {lab=Voplus} -N 70 -590 140 -590 {lab=Voplus} -N 650 -520 650 -460 {lab=Vcont} -N 680 -460 710 -460 {lab=Vcont} -N 710 -520 710 -460 {lab=Vcont} -N 680 -520 680 -460 {lab=Vcont} -N 650 -460 680 -460 {lab=Vcont} -N 110 -520 110 -460 {lab=Vcont} -N 140 -460 170 -460 {lab=Vcont} -N 170 -520 170 -460 {lab=Vcont} -N 140 -520 140 -460 {lab=Vcont} -N 110 -460 140 -460 {lab=Vcont} -N 140 -460 140 -420 {lab=Vcont} -N 140 -420 680 -420 {lab=Vcont} -N 680 -460 680 -420 {lab=Vcont} -N 680 -420 770 -420 {lab=Vcont} -C {sg13g2_pr/sg13_lv_nmos.sym} 330 -530 0 1 {name=M1 -l=0.13u -w=16u -ng=4 -m=1 -model=sg13_lv_nmos +N 280 -1950 420 -1950 {lab=#net1} +N 420 -1950 420 -1880 {lab=#net1} +N 420 -1450 520 -1450 {lab=V_ic} +N 580 -1450 680 -1450 {lab=#net2} +N 420 -1450 420 -1310 {lab=V_ic} +N 420 -1310 620 -1310 {lab=V_ic} +N 420 -1670 680 -1670 {lab=V_ic} +N 420 -1670 420 -1450 {lab=V_ic} +N 280 -1950 280 -1150 {lab=#net1} +N 420 -2020 420 -1950 {lab=#net1} +N 1330 -1950 1470 -1950 {lab=#net3} +N 1330 -1950 1330 -1880 {lab=#net3} +N 1230 -1450 1330 -1450 {lab=V_tank_-} +N 1070 -1450 1170 -1450 {lab=#net4} +N 1330 -1450 1330 -1310 {lab=V_tank_-} +N 1130 -1310 1330 -1310 {lab=V_tank_-} +N 1070 -1670 1330 -1670 {lab=V_tank_-} +N 1330 -1670 1330 -1450 {lab=V_tank_-} +N 1470 -1950 1470 -1150 {lab=#net3} +N 1330 -2020 1330 -1950 {lab=#net3} +N 740 -1670 820 -1670 {lab=#net5} +N 900 -1670 1010 -1670 {lab=#net6} +N 740 -1450 820 -1450 {lab=#net7} +N 900 -1450 1010 -1450 {lab=#net8} +N 320 -1120 500 -1120 {lab=#net9} +N 500 -1120 500 -1090 {lab=#net9} +N 500 -1010 500 -990 {lab=Vo-} +N 380 -1010 500 -1010 {lab=Vo-} +N 500 -1030 500 -1010 {lab=Vo-} +N 500 -1120 680 -1120 {lab=#net9} +N 680 -1060 680 -990 {lab=bias} +N 1250 -1120 1430 -1120 {lab=#net10} +N 1250 -1120 1250 -1090 {lab=#net10} +N 1250 -1010 1250 -990 {lab=Vo+} +N 1250 -1010 1370 -1010 {lab=Vo+} +N 1250 -1030 1250 -1010 {lab=Vo+} +N 1070 -1120 1250 -1120 {lab=#net10} +N 1070 -1060 1070 -990 {lab=bias} +N 680 -990 1070 -990 {lab=bias} +N 530 -1060 530 -960 {lab=gnd} +N 1220 -1060 1220 -960 {lab=gnd} +N 680 -1310 1070 -1120 {lab=#net10} +N 680 -1120 1070 -1310 {lab=#net9} +N 500 -930 500 -860 {lab=VCC_oscillator} +N 1250 -930 1250 -860 {lab=VCC_oscillator} +N 500 -860 1250 -860 {lab=VCC_oscillator} +N 420 -2230 420 -2080 {lab=VCC_oscillator} +N 420 -2230 1330 -2230 {lab=VCC_oscillator} +N 1330 -2230 1330 -2080 {lab=VCC_oscillator} +N 280 -1090 280 -620 {lab=#net11} +N 1470 -1090 1470 -620 {lab=#net11} +N 1280 -620 1470 -620 {lab=#net11} +N 870 -620 870 -480 {lab=#net11} +N 280 -620 870 -620 {lab=#net11} +N 1280 -620 1280 -480 {lab=#net11} +N 870 -620 1280 -620 {lab=#net11} +N 1280 -420 1280 -20 {lab=gnd} +N 870 -390 870 -240 {lab=#net12} +N 870 -180 870 -130 {lab=#net13} +N 870 -70 870 -20 {lab=gnd} +N 160 -180 160 -130 {lab=#net14} +N 160 -20 870 -20 {lab=gnd} +N 160 -70 160 -20 {lab=gnd} +N 160 -280 160 -240 {lab=#net15} +N 160 -500 160 -400 {lab=VCC_Bias_Oscillator} +N 160 -340 160 -280 {lab=#net15} +N 230 -280 230 -210 {lab=#net15} +N 230 -210 830 -210 {lab=#net15} +N 1250 -20 1280 -20 {lab=gnd} +N 870 -390 1080 -390 {lab=#net12} +N 870 -420 870 -390 {lab=#net12} +N 1080 -390 1080 -380 {lab=#net12} +N 1080 -320 1080 -20 {lab=gnd} +N 870 -20 1080 -20 {lab=gnd} +N 80 -210 160 -210 {lab=sub!} +N 870 -210 950 -210 {lab=sub!} +N 650 -1420 710 -1420 {lab=gnd} +N 650 -1420 650 -1340 {lab=gnd} +N 550 -1420 650 -1420 {lab=gnd} +N 1100 -1420 1200 -1420 {lab=gnd} +N 1100 -1420 1100 -1340 {lab=gnd} +N 1040 -1420 1100 -1420 {lab=gnd} +N 420 -1820 420 -1670 {lab=V_ic} +N 1330 -1820 1330 -1670 {lab=V_tank_-} +N 710 -1640 710 -1620 {lab=gnd} +N 1040 -1640 1040 -1620 {lab=gnd} +N 710 -1620 1040 -1620 {lab=gnd} +N 860 -1520 860 -1480 {lab=Vctrl} +N 820 -1520 860 -1520 {lab=Vctrl} +N 860 -1740 860 -1700 {lab=Vctrl} +N 820 -1740 860 -1740 {lab=Vctrl} +N 200 -1120 280 -1120 {lab=sub!} +N 1470 -1120 1550 -1120 {lab=sub!} +N 160 -280 230 -280 {lab=#net15} +N 200 -210 230 -210 {lab=#net15} +N 1930 -1980 1930 -1970 {lab=Vo_Buffer_-} +N 1930 -1910 1930 -1620 {lab=gnd} +N 1970 -2020 2090 -2020 {lab=Vo-} +N 2090 -2060 2090 -2020 {lab=Vo-} +N 2090 -2140 2090 -2120 {lab=#net16} +N 2090 -2230 2090 -2200 {lab=VCC_Buffer} +N 1930 -2230 2090 -2230 {lab=VCC_Buffer} +N 1930 -2230 1930 -2050 {lab=VCC_Buffer} +N 2090 -2020 2090 -1980 {lab=Vo-} +N 1930 -1620 2090 -1620 {lab=gnd} +N 2090 -1680 2090 -1620 {lab=gnd} +N 2090 -1760 2090 -1740 {lab=#net17} +N 2090 -1840 2090 -1820 {lab=#net18} +N 2090 -1920 2090 -1900 {lab=#net19} +N 1850 -2020 1930 -2020 {lab=sub!} +N 1760 -1980 1930 -1980 {lab=Vo_Buffer_-} +N 1930 -1990 1930 -1980 {lab=Vo_Buffer_-} +N 2540 -1980 2540 -1970 {lab=Vo_Buffer_+} +N 2540 -1910 2540 -1620 {lab=gnd} +N 2380 -2020 2500 -2020 {lab=Vo+} +N 2380 -2060 2380 -2020 {lab=Vo+} +N 2380 -2140 2380 -2120 {lab=#net20} +N 2380 -2230 2380 -2200 {lab=VCC_Buffer} +N 2380 -2230 2540 -2230 {lab=VCC_Buffer} +N 2540 -2230 2540 -2050 {lab=VCC_Buffer} +N 2380 -2020 2380 -1980 {lab=Vo+} +N 2380 -1620 2540 -1620 {lab=gnd} +N 2380 -1680 2380 -1620 {lab=gnd} +N 2380 -1760 2380 -1740 {lab=#net21} +N 2380 -1840 2380 -1820 {lab=#net22} +N 2380 -1920 2380 -1900 {lab=#net23} +N 2540 -2020 2620 -2020 {lab=sub!} +N 2540 -1980 2710 -1980 {lab=Vo_Buffer_+} +N 2540 -1990 2540 -1980 {lab=Vo_Buffer_+} +N 1930 -1310 1930 -1300 {lab=Vo_Divider_-} +N 1970 -1350 2090 -1350 {lab=Vo-} +N 2090 -1390 2090 -1350 {lab=Vo-} +N 2090 -1470 2090 -1450 {lab=#net24} +N 2090 -1560 2090 -1530 {lab=VCC_Buffer} +N 1930 -1560 2090 -1560 {lab=VCC_Buffer} +N 1930 -1560 1930 -1380 {lab=VCC_Buffer} +N 2060 -1140 2090 -1140 {lab=gnd} +N 1850 -1350 1930 -1350 {lab=sub!} +N 1760 -1310 1930 -1310 {lab=Vo_Divider_-} +N 1930 -1320 1930 -1310 {lab=Vo_Divider_-} +N 2540 -1310 2540 -1300 {lab=Vo_Divider_+} +N 2380 -1350 2500 -1350 {lab=Vo+} +N 2380 -1390 2380 -1350 {lab=Vo+} +N 2380 -1470 2380 -1450 {lab=#net25} +N 2380 -1560 2380 -1530 {lab=VCC_Buffer} +N 2380 -1560 2540 -1560 {lab=VCC_Buffer} +N 2540 -1560 2540 -1380 {lab=VCC_Buffer} +N 2380 -1350 2380 -1280 {lab=Vo+} +N 2410 -1140 2540 -1140 {lab=gnd} +N 2540 -1350 2620 -1350 {lab=sub!} +N 2540 -1310 2710 -1310 {lab=Vo_Divider_+} +N 2540 -1320 2540 -1310 {lab=Vo_Divider_+} +N 1930 -1240 1930 -1140 {lab=gnd} +N 2540 -1240 2540 -1140 {lab=gnd} +N 2090 -1350 2090 -1280 {lab=Vo-} +N 2090 -1220 2090 -1140 {lab=gnd} +N 2380 -1220 2380 -1140 {lab=gnd} +N 2410 -1250 2410 -1140 {lab=gnd} +N 2380 -1140 2410 -1140 {lab=gnd} +N 2060 -1250 2060 -1140 {lab=gnd} +N 1930 -1140 2060 -1140 {lab=gnd} +N 1110 -350 1110 -20 {lab=gnd} +N 1080 -20 1110 -20 {lab=gnd} +N 1250 -450 1250 -20 {lab=gnd} +N 1110 -20 1250 -20 {lab=gnd} +N 1940 -1000 1940 -980 {lab=sub!} +N 2420 -1000 2540 -1000 {lab=sub!} +N 2540 -1000 2540 -980 {lab=sub!} +N 2420 -1000 2420 -980 {lab=sub!} +N 2300 -1000 2420 -1000 {lab=sub!} +N 2300 -1000 2300 -980 {lab=sub!} +N 2180 -1000 2300 -1000 {lab=sub!} +N 2180 -1000 2180 -980 {lab=sub!} +N 2060 -1000 2180 -1000 {lab=sub!} +N 2060 -1000 2060 -980 {lab=sub!} +N 1940 -1000 2060 -1000 {lab=sub!} +N 1940 -920 1940 -900 {lab=gnd} +N 2060 -920 2060 -900 {lab=gnd} +N 2180 -920 2180 -900 {lab=gnd} +N 2300 -920 2300 -900 {lab=gnd} +N 2420 -920 2420 -900 {lab=gnd} +N 2540 -920 2540 -900 {lab=gnd} +N 2420 -900 2540 -900 {lab=gnd} +N 1940 -900 2060 -900 {lab=gnd} +N 2060 -900 2180 -900 {lab=gnd} +N 2180 -900 2300 -900 {lab=gnd} +N 2300 -900 2420 -900 {lab=gnd} +C {lab_pin.sym} 530 -1010 2 0 {name=p3 sig_type=std_logic lab=gnd +} +C {iopin.sym} 420 -2230 2 0 {name=p24 lab=VCC_oscillator} +C {iopin.sym} 160 -500 0 1 {name=p25 lab=VCC_Bias_Oscillator} +C {opin.sym} 1760 -1980 2 0 {name=p8 lab=Vo_Buffer_-} +C {sg13g2_pr/cap_rfcmim.sym} 710 -1670 3 0 {name=C5 +model=cap_rfcmim +lvs_model=rfcmim +w=7.24e-6 +l=7.24e-6 +wfeed=5.0e-6 +spiceprefix=X} +C {sg13g2_pr/npn13G2.sym} 300 -1120 0 1 {name=Q2 +model=npn13G2 spiceprefix=X +Nx=1 } -C {sg13g2_pr/sg13_lv_nmos.sym} 510 -530 0 0 {name=M2 -l=0.13u -w=16u -ng=4 -m=1 -model=sg13_lv_nmos +C {sg13g2_pr/cap_rfcmim.sym} 650 -1310 3 1 {name=C2 +model=cap_rfcmim +lvs_model=rfcmim +w=9.065e-6 +l=9.065e-6 +wfeed=3.0e-6 +spiceprefix=X} +C {sg13g2_pr/npn13G2.sym} 1450 -1120 0 0 {name=Q3 +model=npn13G2 spiceprefix=X +Nx=3 } -C {res.sym} 600 -660 0 0 {name=R2 -value=393 -footprint=1206 -device=resistor -m=1} -C {isource.sym} 420 -360 0 0 {name=I0 value=1m} -C {lab_pin.sym} 420 -290 2 0 {name=p3 sig_type=std_logic lab=gnd -} -C {lab_pin.sym} 420 -740 2 0 {name=p9 sig_type=std_logic lab=vdd -} -C {iopin.sym} 230 -370 2 0 {name=p24 lab=vdd} -C {iopin.sym} 230 -350 2 0 {name=p25 lab=gnd} -C {ind.sym} 530 -660 0 0 {name=L1 +C {ind.sym} 1330 -2050 0 1 {name=L5 m=1 -value=1.56n +value=62.5p footprint=1206 device=inductor} -C {lab_pin.sym} 580 -530 2 0 {name=p1 sig_type=std_logic lab=gnd -} -C {lab_pin.sym} 250 -530 0 0 {name=p5 sig_type=std_logic lab=gnd -} -C {res.sym} 240 -660 0 1 {name=R1 -value=393 -footprint=1206 -device=resistor -m=1} -C {ind.sym} 310 -660 0 1 {name=L2 +C {ind.sym} 1330 -1850 0 1 {name=L6 m=1 -value=1.56n +value=62.5p footprint=1206 device=inductor} -C {capa.sym} 70 -550 0 0 {name=C1 -m=1 -value=300f -footprint=1206 -device="ceramic capacitor"} -C {lab_pin.sym} 70 -490 0 0 {name=p2 sig_type=std_logic lab=gnd -} -C {capa.sym} 770 -550 0 1 {name=C2 -m=1 -value=300f -footprint=1206 -device="ceramic capacitor"} -C {lab_pin.sym} 770 -490 0 1 {name=p4 sig_type=std_logic lab=gnd -} -C {lab_pin.sym} 770 -590 2 0 {name=p6 sig_type=std_logic lab=Vominus -} -C {lab_pin.sym} 70 -590 0 0 {name=p7 sig_type=std_logic lab=Voplus -} -C {opin.sym} 230 -330 2 0 {name=p8 lab=Voplus} -C {opin.sym} 230 -310 2 0 {name=p10 lab=Vominus} -C {sg13g2_pr/sg13_lv_nmos.sym} 140 -540 3 1 {name=M3 -l=1u -w=16u -ng=4 -m=1 -model=sg13_lv_nmos +C {sg13g2_pr/sg13_svaricap.sym} 860 -1670 0 0 {name=C13 +model=sg13_hv_svaricap +w=9.74u +l=0.8u +Nx=10 spiceprefix=X } -C {sg13g2_pr/sg13_lv_nmos.sym} 680 -540 3 1 {name=M4 -l=1u -w=16u -ng=4 -m=1 -model=sg13_lv_nmos +C {sg13g2_pr/sg13_svaricap.sym} 860 -1450 0 0 {name=C14 +model=sg13_hv_svaricap +w=9.74u +l=0.8u +Nx=10 spiceprefix=X } -C {lab_pin.sym} 770 -420 2 0 {name=p11 sig_type=std_logic lab=Vcont +C {sg13g2_pr/cap_rfcmim.sym} 500 -1060 0 1 {name=C15 +model=cap_rfcmim +lvs_model=rfcmim +w=18.195e-6 +l=18.195e-6 +wfeed=3.0e-6 +spiceprefix=X} +C {sg13g2_pr/cap_rfcmim.sym} 500 -960 0 1 {name=C16 +model=cap_rfcmim +lvs_model=rfcmim +w=18.195e-6 +l=18.195e-6 +wfeed=3.0e-6 +spiceprefix=X} +C {sg13g2_pr/rppd.sym} 680 -1090 0 0 {name=R1 +w=820e-9 +l=1e-6 +model=rppd +body=sub! +spiceprefix=X +b=0 +m=4 +value=expr_eng( ( 70.0e-6 / @w + 260.0 * ( (@b + 1)* @l + ( 1.081*( @w + 6.0e-9 ) + 0.18e-6 )*@b ) / ( @w + 6.0e-9 ) ) / @m ) } -C {ipin.sym} 230 -290 0 0 {name=p12 lab=Vcont} +C {sg13g2_pr/cap_rfcmim.sym} 1250 -1060 0 0 {name=C17 +model=cap_rfcmim +lvs_model=rfcmim +w=18.195e-6 +l=18.195e-6 +wfeed=3.0e-6 +spiceprefix=X} +C {sg13g2_pr/cap_rfcmim.sym} 1250 -960 0 0 {name=C18 +model=cap_rfcmim +lvs_model=rfcmim +w=18.195e-6 +l=18.195e-6 +wfeed=3.0e-6 +spiceprefix=X} +C {sg13g2_pr/rppd.sym} 1070 -1090 0 1 {name=R2 +w=820e-9 +l=1e-6 +model=rppd +body=sub! +spiceprefix=X +b=0 +m=4 +value=expr_eng( ( 70.0e-6 / @w + 260.0 * ( (@b + 1)* @l + ( 1.081*( @w + 6.0e-9 ) + 0.18e-6 )*@b ) / ( @w + 6.0e-9 ) ) / @m ) +} +C {ind.sym} 870 -450 0 1 {name=L7 +m=1 +value=50p +footprint=1206 +device=inductor} +C {sg13g2_pr/cap_rfcmim.sym} 1280 -450 0 0 {name=C19 +model=cap_rfcmim +lvs_model=rfcmim +w=7.2e-6 +l=7.2e-6 +wfeed=3.0e-6 +spiceprefix=X} +C {sg13g2_pr/npn13G2.sym} 850 -210 0 0 {name=Q5 +model=npn13G2 +spiceprefix=X +Nx=4 +} +C {sg13g2_pr/npn13G2.sym} 180 -210 0 1 {name=Q6 +model=npn13G2 +spiceprefix=X +Nx=1 +} +C {sg13g2_pr/rppd.sym} 870 -100 0 1 {name=R4 +w=1.3e-6 +l=4.55e-6 +model=rppd +body=sub! +spiceprefix=X +b=0 +m=12 +value=expr_eng( ( 70.0e-6 / @w + 260.0 * ( (@b + 1)* @l + ( 1.081*( @w + 6.0e-9 ) + 0.18e-6 )*@b ) / ( @w + 6.0e-9 ) ) / @m ) +} +C {sg13g2_pr/rppd.sym} 160 -100 0 1 {name=R5 +w=1.3e-6 +l=4.55e-6 +model=rppd +body=sub! +spiceprefix=X +b=0 +m=4 +value=expr_eng( ( 70.0e-6 / @w + 260.0 * ( (@b + 1)* @l + ( 1.081*( @w + 6.0e-9 ) + 0.18e-6 )*@b ) / ( @w + 6.0e-9 ) ) / @m ) +} +C {sg13g2_pr/rppd.sym} 160 -370 0 1 {name=R6 +w=1.3e-6 +l=4.55e-6 +model=rppd +body=sub! +spiceprefix=X +b=0 +m=4 +value=expr_eng( ( 70.0e-6 / @w + 260.0 * ( (@b + 1)* @l + ( 1.081*( @w + 6.0e-9 ) + 0.18e-6 )*@b ) / ( @w + 6.0e-9 ) ) / @m ) +} +C {sg13g2_pr/cap_rfcmim.sym} 1080 -350 0 1 {name=C20 +model=cap_rfcmim +lvs_model=rfcmim +w=9.1e-6 +l=9.1e-6 +wfeed=3.0e-6 +spiceprefix=X} +C {lab_pin.sym} 80 -210 0 0 {name=p1 sig_type=std_logic lab=sub!} +C {lab_pin.sym} 950 -210 0 1 {name=p2 sig_type=std_logic lab=sub!} +C {lab_pin.sym} 880 -860 3 0 {name=p6 sig_type=std_logic lab=VCC_oscillator} +C {iopin.sym} 160 -20 0 1 {name=p5 lab=gnd} +C {lab_pin.sym} 1220 -1010 2 1 {name=p7 sig_type=std_logic lab=gnd +} +C {sg13g2_pr/cap_rfcmim.sym} 550 -1450 3 0 {name=C21 +model=cap_rfcmim +lvs_model=rfcmim +w=11.485e-6 +l=11.485e-6 +wfeed=3.0e-6 +spiceprefix=X} +C {sg13g2_pr/cap_rfcmim.sym} 710 -1450 3 0 {name=C1 +model=cap_rfcmim +lvs_model=rfcmim +w=11.485e-6 +l=11.485e-6 +wfeed=3.0e-6 +spiceprefix=X} +C {sg13g2_pr/cap_rfcmim.sym} 1100 -1310 1 0 {name=C3 +model=cap_rfcmim +lvs_model=rfcmim +w=9.065e-6 +l=9.065e-6 +wfeed=3.0e-6 +spiceprefix=X} +C {sg13g2_pr/cap_rfcmim.sym} 1200 -1450 1 1 {name=C7 +model=cap_rfcmim +lvs_model=rfcmim +w=11.485e-6 +l=11.485e-6 +wfeed=3.0e-6 +spiceprefix=X} +C {sg13g2_pr/cap_rfcmim.sym} 1040 -1450 1 1 {name=C8 +model=cap_rfcmim +lvs_model=rfcmim +w=11.485e-6 +l=11.485e-6 +wfeed=3.0e-6 +spiceprefix=X} +C {lab_pin.sym} 650 -1380 0 0 {name=p9 sig_type=std_logic lab=gnd +} +C {lab_pin.sym} 1100 -1380 0 1 {name=p13 sig_type=std_logic lab=gnd +} +C {sg13g2_pr/cap_rfcmim.sym} 1040 -1670 1 1 {name=C6 +model=cap_rfcmim +lvs_model=rfcmim +w=7.24e-6 +l=7.24e-6 +wfeed=5.0e-6 +spiceprefix=X} +C {lab_pin.sym} 870 -1620 3 0 {name=p14 sig_type=std_logic lab=gnd +} +C {lab_pin.sym} 820 -1520 0 0 {name=p15 sig_type=std_logic lab=Vctrl +} +C {ipin.sym} 820 -1740 0 0 {name=p16 lab=Vctrl} +C {ind.sym} 420 -1850 0 0 {name=L1 +m=1 +value=62.5p +footprint=1206 +device=inductor} +C {ind.sym} 420 -2050 0 0 {name=L2 +m=1 +value=62.5p +footprint=1206 +device=inductor} +C {lab_pin.sym} 200 -1120 0 0 {name=p17 sig_type=std_logic lab=sub!} +C {lab_pin.sym} 1550 -1120 0 1 {name=p18 sig_type=std_logic lab=sub!} +C {lab_pin.sym} 1370 -1010 0 1 {name=p12 sig_type=std_logic lab=Vo+} +C {sg13g2_pr/npn13G2.sym} 1950 -2020 0 1 {name=Q4 +model=npn13G2 +spiceprefix=X +Nx=6 +} +C {sg13g2_pr/rppd.sym} 1930 -1940 0 1 {name=R3 +w=2e-6 +l=10.955e-6 +model=rppd +body=sub! +spiceprefix=X +b=0 +m=4 +value=expr_eng( ( 70.0e-6 / @w + 260.0 * ( (@b + 1)* @l + ( 1.081*( @w + 6.0e-9 ) + 0.18e-6 )*@b ) / ( @w + 6.0e-9 ) ) / @m ) +} +C {sg13g2_pr/rppd.sym} 2090 -2090 0 0 {name=R8 +w=0.5e-6 +l=1.675e-6 +model=rppd +body=sub! +spiceprefix=X +b=0 +m=2 +value=expr_eng( ( 70.0e-6 / @w + 260.0 * ( (@b + 1)* @l + ( 1.081*( @w + 6.0e-9 ) + 0.18e-6 )*@b ) / ( @w + 6.0e-9 ) ) / @m ) +} +C {sg13g2_pr/rppd.sym} 2090 -2170 0 0 {name=R9 +w=0.5e-6 +l=1.675e-6 +model=rppd +body=sub! +spiceprefix=X +b=0 +m=2 +value=expr_eng( ( 70.0e-6 / @w + 260.0 * ( (@b + 1)* @l + ( 1.081*( @w + 6.0e-9 ) + 0.18e-6 )*@b ) / ( @w + 6.0e-9 ) ) / @m ) +} +C {sg13g2_pr/rppd.sym} 2090 -1950 0 0 {name=R10 +w=0.5e-6 +l=1.675e-6 +model=rppd +body=sub! +spiceprefix=X +b=0 +m=2 +value=expr_eng( ( 70.0e-6 / @w + 260.0 * ( (@b + 1)* @l + ( 1.081*( @w + 6.0e-9 ) + 0.18e-6 )*@b ) / ( @w + 6.0e-9 ) ) / @m ) +} +C {sg13g2_pr/rppd.sym} 2090 -1870 0 0 {name=R11 +w=0.5e-6 +l=1.675e-6 +model=rppd +body=sub! +spiceprefix=X +b=0 +m=2 +value=expr_eng( ( 70.0e-6 / @w + 260.0 * ( (@b + 1)* @l + ( 1.081*( @w + 6.0e-9 ) + 0.18e-6 )*@b ) / ( @w + 6.0e-9 ) ) / @m ) +} +C {sg13g2_pr/rppd.sym} 2090 -1790 0 0 {name=R12 +w=0.5e-6 +l=1.675e-6 +model=rppd +body=sub! +spiceprefix=X +b=0 +m=2 +value=expr_eng( ( 70.0e-6 / @w + 260.0 * ( (@b + 1)* @l + ( 1.081*( @w + 6.0e-9 ) + 0.18e-6 )*@b ) / ( @w + 6.0e-9 ) ) / @m ) +} +C {sg13g2_pr/rppd.sym} 2090 -1710 0 0 {name=R13 +w=0.5e-6 +l=1.675e-6 +model=rppd +body=sub! +spiceprefix=X +b=0 +m=2 +value=expr_eng( ( 70.0e-6 / @w + 260.0 * ( (@b + 1)* @l + ( 1.081*( @w + 6.0e-9 ) + 0.18e-6 )*@b ) / ( @w + 6.0e-9 ) ) / @m ) +} +C {lab_pin.sym} 1850 -2020 0 0 {name=p19 sig_type=std_logic lab=sub!} +C {iopin.sym} 2280 -2260 2 0 {name=p20 lab=VCC_Buffer} +C {lab_pin.sym} 1930 -2230 0 0 {name=p21 sig_type=std_logic lab=VCC_Buffer +} +C {lab_pin.sym} 1930 -1620 2 1 {name=p22 sig_type=std_logic lab=gnd +} +C {opin.sym} 2710 -1980 2 1 {name=p23 lab=Vo_Buffer_+} +C {sg13g2_pr/npn13G2.sym} 2520 -2020 0 0 {name=Q7 +model=npn13G2 +spiceprefix=X +Nx=6 +} +C {sg13g2_pr/rppd.sym} 2540 -1940 0 0 {name=R14 +w=2e-6 +l=10.955e-6 +model=rppd +body=sub! +spiceprefix=X +b=0 +m=4 +value=expr_eng( ( 70.0e-6 / @w + 260.0 * ( (@b + 1)* @l + ( 1.081*( @w + 6.0e-9 ) + 0.18e-6 )*@b ) / ( @w + 6.0e-9 ) ) / @m ) +} +C {sg13g2_pr/rppd.sym} 2380 -2090 0 1 {name=R16 +w=0.5e-6 +l=1.675e-6 +model=rppd +body=sub! +spiceprefix=X +b=0 +m=2 +value=expr_eng( ( 70.0e-6 / @w + 260.0 * ( (@b + 1)* @l + ( 1.081*( @w + 6.0e-9 ) + 0.18e-6 )*@b ) / ( @w + 6.0e-9 ) ) / @m ) +} +C {sg13g2_pr/rppd.sym} 2380 -2170 0 1 {name=R17 +w=0.5e-6 +l=1.675e-6 +model=rppd +body=sub! +spiceprefix=X +b=0 +m=2 +value=expr_eng( ( 70.0e-6 / @w + 260.0 * ( (@b + 1)* @l + ( 1.081*( @w + 6.0e-9 ) + 0.18e-6 )*@b ) / ( @w + 6.0e-9 ) ) / @m ) +} +C {sg13g2_pr/rppd.sym} 2380 -1950 0 1 {name=R18 +w=0.5e-6 +l=1.675e-6 +model=rppd +body=sub! +spiceprefix=X +b=0 +m=2 +value=expr_eng( ( 70.0e-6 / @w + 260.0 * ( (@b + 1)* @l + ( 1.081*( @w + 6.0e-9 ) + 0.18e-6 )*@b ) / ( @w + 6.0e-9 ) ) / @m ) +} +C {sg13g2_pr/rppd.sym} 2380 -1870 0 1 {name=R19 +w=0.5e-6 +l=1.675e-6 +model=rppd +body=sub! +spiceprefix=X +b=0 +m=2 +value=expr_eng( ( 70.0e-6 / @w + 260.0 * ( (@b + 1)* @l + ( 1.081*( @w + 6.0e-9 ) + 0.18e-6 )*@b ) / ( @w + 6.0e-9 ) ) / @m ) +} +C {sg13g2_pr/rppd.sym} 2380 -1790 0 1 {name=R20 +w=0.5e-6 +l=1.675e-6 +model=rppd +body=sub! +spiceprefix=X +b=0 +m=2 +value=expr_eng( ( 70.0e-6 / @w + 260.0 * ( (@b + 1)* @l + ( 1.081*( @w + 6.0e-9 ) + 0.18e-6 )*@b ) / ( @w + 6.0e-9 ) ) / @m ) +} +C {sg13g2_pr/rppd.sym} 2380 -1710 0 1 {name=R21 +w=0.5e-6 +l=1.675e-6 +model=rppd +body=sub! +spiceprefix=X +b=0 +m=2 +value=expr_eng( ( 70.0e-6 / @w + 260.0 * ( (@b + 1)* @l + ( 1.081*( @w + 6.0e-9 ) + 0.18e-6 )*@b ) / ( @w + 6.0e-9 ) ) / @m ) +} +C {lab_pin.sym} 2620 -2020 0 1 {name=p26 sig_type=std_logic lab=sub!} +C {lab_pin.sym} 2540 -2230 0 1 {name=p27 sig_type=std_logic lab=VCC_Buffer +} +C {lab_pin.sym} 2540 -1620 2 0 {name=p28 sig_type=std_logic lab=gnd +} +C {lab_pin.sym} 380 -1010 0 0 {name=p29 sig_type=std_logic lab=Vo-} +C {lab_pin.sym} 2090 -2020 2 0 {name=p30 sig_type=std_logic lab=Vo-} +C {lab_pin.sym} 2380 -2020 2 1 {name=p31 sig_type=std_logic lab=Vo+} +C {opin.sym} 1760 -1310 2 0 {name=p10 lab=Vo_Divider_-} +C {sg13g2_pr/npn13G2.sym} 1950 -1350 0 1 {name=Q8 +model=npn13G2 +spiceprefix=X +Nx=6 +} +C {sg13g2_pr/rppd.sym} 1930 -1270 0 1 {name=R7 +w=2e-6 +l=10.955e-6 +model=rppd +body=sub! +spiceprefix=X +b=0 +m=4 +value=expr_eng( ( 70.0e-6 / @w + 260.0 * ( (@b + 1)* @l + ( 1.081*( @w + 6.0e-9 ) + 0.18e-6 )*@b ) / ( @w + 6.0e-9 ) ) / @m ) +} +C {sg13g2_pr/rppd.sym} 2090 -1420 0 0 {name=R15 +w=0.5e-6 +l=1.675e-6 +model=rppd +body=sub! +spiceprefix=X +b=0 +m=2 +value=expr_eng( ( 70.0e-6 / @w + 260.0 * ( (@b + 1)* @l + ( 1.081*( @w + 6.0e-9 ) + 0.18e-6 )*@b ) / ( @w + 6.0e-9 ) ) / @m ) +} +C {sg13g2_pr/rppd.sym} 2090 -1500 0 0 {name=R22 +w=0.5e-6 +l=1.675e-6 +model=rppd +body=sub! +spiceprefix=X +b=0 +m=2 +value=expr_eng( ( 70.0e-6 / @w + 260.0 * ( (@b + 1)* @l + ( 1.081*( @w + 6.0e-9 ) + 0.18e-6 )*@b ) / ( @w + 6.0e-9 ) ) / @m ) +} +C {lab_pin.sym} 1850 -1350 0 0 {name=p32 sig_type=std_logic lab=sub!} +C {lab_pin.sym} 1930 -1560 0 0 {name=p34 sig_type=std_logic lab=VCC_Buffer +} +C {lab_pin.sym} 1930 -1140 2 1 {name=p35 sig_type=std_logic lab=gnd +} +C {opin.sym} 2710 -1310 2 1 {name=p36 lab=Vo_Divider_+} +C {sg13g2_pr/npn13G2.sym} 2520 -1350 0 0 {name=Q9 +model=npn13G2 +spiceprefix=X +Nx=6 +} +C {sg13g2_pr/rppd.sym} 2540 -1270 0 0 {name=R27 +w=2e-6 +l=10.955e-6 +model=rppd +body=sub! +spiceprefix=X +b=0 +m=4 +value=expr_eng( ( 70.0e-6 / @w + 260.0 * ( (@b + 1)* @l + ( 1.081*( @w + 6.0e-9 ) + 0.18e-6 )*@b ) / ( @w + 6.0e-9 ) ) / @m ) +} +C {sg13g2_pr/rppd.sym} 2380 -1420 0 1 {name=R28 +w=0.5e-6 +l=1.675e-6 +model=rppd +body=sub! +spiceprefix=X +b=0 +m=2 +value=expr_eng( ( 70.0e-6 / @w + 260.0 * ( (@b + 1)* @l + ( 1.081*( @w + 6.0e-9 ) + 0.18e-6 )*@b ) / ( @w + 6.0e-9 ) ) / @m ) +} +C {sg13g2_pr/rppd.sym} 2380 -1500 0 1 {name=R29 +w=0.5e-6 +l=1.675e-6 +model=rppd +body=sub! +spiceprefix=X +b=0 +m=2 +value=expr_eng( ( 70.0e-6 / @w + 260.0 * ( (@b + 1)* @l + ( 1.081*( @w + 6.0e-9 ) + 0.18e-6 )*@b ) / ( @w + 6.0e-9 ) ) / @m ) +} +C {lab_pin.sym} 2620 -1350 0 1 {name=p37 sig_type=std_logic lab=sub!} +C {lab_pin.sym} 2540 -1560 0 1 {name=p38 sig_type=std_logic lab=VCC_Buffer +} +C {lab_pin.sym} 2540 -1140 2 0 {name=p39 sig_type=std_logic lab=gnd +} +C {lab_pin.sym} 2090 -1350 2 0 {name=p40 sig_type=std_logic lab=Vo-} +C {lab_pin.sym} 2380 -1350 2 1 {name=p41 sig_type=std_logic lab=Vo+} +C {sg13g2_pr/cap_rfcmim.sym} 2090 -1250 0 0 {name=C9 +model=cap_rfcmim +lvs_model=rfcmim +w=18.195e-6 +l=18.195e-6 +wfeed=3.0e-6 +spiceprefix=X} +C {sg13g2_pr/cap_rfcmim.sym} 2380 -1250 0 1 {name=C10 +model=cap_rfcmim +lvs_model=rfcmim +w=18.195e-6 +l=18.195e-6 +wfeed=3.0e-6 +spiceprefix=X} +C {lab_pin.sym} 1330 -1450 2 0 {name=p33 sig_type=std_logic lab=V_tank_-} +C {iopin.sym} 880 -990 1 0 {name=p43 lab=bias} +C {sg13g2_pr/ptap1.sym} 2540 -950 2 0 {name=R23 +model=ptap1 +spiceprefix=X +w=0.78e-6 +l=0.78e-6 +} +C {sg13g2_pr/ptap1.sym} 2420 -950 2 0 {name=R24 +model=ptap1 +spiceprefix=X +w=0.78e-6 +l=0.78e-6 +} +C {sg13g2_pr/ptap1.sym} 2300 -950 2 0 {name=R25 +model=ptap1 +spiceprefix=X +w=0.78e-6 +l=0.78e-6 +} +C {sg13g2_pr/ptap1.sym} 2180 -950 2 0 {name=R26 +model=ptap1 +spiceprefix=X +w=0.78e-6 +l=0.78e-6 +} +C {sg13g2_pr/ptap1.sym} 2060 -950 2 0 {name=R30 +model=ptap1 +spiceprefix=X +w=0.78e-6 +l=0.78e-6 +} +C {sg13g2_pr/ptap1.sym} 1940 -950 2 0 {name=R31 +model=ptap1 +spiceprefix=X +w=0.78e-6 +l=0.78e-6 +} +C {lab_pin.sym} 1940 -900 2 1 {name=p4 sig_type=std_logic lab=gnd +} +C {lab_pin.sym} 1940 -1000 0 0 {name=p44 sig_type=std_logic lab=sub!} +C {iopin.sym} 420 -1450 0 1 {name=p45 lab=V_ic} diff --git a/modules/module_4_type_2_PLL/LC_Oscillator/xschem/LC_Oscillator.sym b/modules/module_4_type_2_PLL/LC_Oscillator/xschem/LC_Oscillator.sym index 4d1a7d8b..6ea6e241 100644 --- a/modules/module_4_type_2_PLL/LC_Oscillator/xschem/LC_Oscillator.sym +++ b/modules/module_4_type_2_PLL/LC_Oscillator/xschem/LC_Oscillator.sym @@ -10,21 +10,42 @@ E {} L 4 70 -20 90 -20 {} L 4 70 20 90 20 {} L 4 -100 0 -80 0 {} -L 7 20 70 20 90 {} -L 7 -20 70 -20 90 {} -B 5 87.5 -22.5 92.5 -17.5 {name=Voplus dir=out} -B 5 17.5 87.5 22.5 92.5 {name=vdd dir=inout} -B 5 -22.5 87.5 -17.5 92.5 {name=gnd dir=inout} -B 5 87.5 17.5 92.5 22.5 {name=Vominus dir=out} -B 5 -102.5 -2.5 -97.5 2.5 {name=Vcont dir=in} +L 4 60 -100 80 -100 {} +L 4 60 -120 80 -120 {} +L 7 -100 100 -80 100 {} +L 7 -100 180 -80 180 {} +L 7 -100 160 -80 160 {} +L 7 -100 120 -80 120 {} +L 7 -100 140 -80 140 {} +L 7 70 90 90 90 {} +B 5 87.5 -22.5 92.5 -17.5 {name=Vo_Divider_+ + dir=out} +B 5 -102.5 97.5 -97.5 102.5 {name=VCC_oscillator dir=inout} +B 5 -102.5 177.5 -97.5 182.5 {name=gnd dir=inout} +B 5 87.5 17.5 92.5 22.5 {name=Vo_Divider_- + dir=out} +B 5 -102.5 -2.5 -97.5 2.5 {name=Vctrl dir=in} +B 5 -102.5 157.5 -97.5 162.5 {name=bias dir=inout} +B 5 -102.5 117.5 -97.5 122.5 {name=VCC_Buffer dir=inout} +B 5 -102.5 137.5 -97.5 142.5 {name=VCC_Bias_Oscillator dir=inout} +B 5 77.5 -102.5 82.5 -97.5 {name=Vo_Buffer_- dir=out} +B 5 77.5 -122.5 82.5 -117.5 {name=Vo_Buffer_+ dir=out} +B 5 87.5 87.5 92.5 92.5 {name=V_ic dir=inout} A 4 -1.666666666666714 1.666666666666714 71.68604389202189 287.5924245621816 360 {} A 4 -30 27.5 40.69705149024927 42.51044707800085 94.97910584399833 {} A 4 30 -27.5 40.69705149024927 222.5104470780009 94.97910584399833 {} T {@symname} -40.5 -56 0 0 0.1 0.1 {} T {@name} -40 -47 0 0 0.1 0.1 { } -T {Voplus} 65 -24 0 1 0.2 0.2 {} -T {vdd} 5 64 2 1 0.2 0.2 {} -T {gnd} -35 64 2 1 0.2 0.2 {} -T {Vominus} 65 16 0 1 0.2 0.2 {} -T {Vcont} -75 4 2 1 0.2 0.2 {} +T {Vo_Divider_+} 65 -24 0 1 0.2 0.2 {} +T {VCC_oscillator} -80 104 2 1 0.2 0.2 {} +T {gnd} -80 189 2 1 0.2 0.2 {} +T {Vo_Divider_- +} 65 16 0 1 0.2 0.2 {} +T {Vctrl} -75 4 2 1 0.2 0.2 {} +T {bias} -80 166.5 2 1 0.2 0.2 {} +T {VCC_Buffer} -80 116 0 0 0.2 0.2 {} +T {VCC_Bias_Oscillator} -80 136 0 0 0.2 0.2 {} +T {Vo_Buffer_-} 55 -106.5 0 1 0.2 0.2 {} +T {Vo_Buffer_+} 55 -126.5 0 1 0.2 0.2 {} +T {V_ic} 70 94 2 0 0.2 0.2 {} diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/cace/differential_oscillator.yaml b/modules/module_4_type_2_PLL/diff_Roscillator/cace/differential_oscillator.yaml deleted file mode 100644 index 579a7f72..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/cace/differential_oscillator.yaml +++ /dev/null @@ -1,85 +0,0 @@ -#-------------------------------------------------------------- -# CACE circuit characterization file -#-------------------------------------------------------------- - -name: diff_ring_oscillator -description: Differential Ring oscillator testbench -PDK: ihp-sg13g2 - -cace_format: 5.2 - -authorship: - designer: - company: - creation_date: - license: Apache 2.0 - -paths: - root: .. - schematic: xschem/ - netlist: xschem/simulations - documentation: docs - -pins: - vdd: - description: Positive analog power supply - type: power - direction: inout - Vmin: 0.8 - Vmax: 1.8 - gnd: - description: Analog ground - type: ground - direction: inout - -default_conditions: - vdd: - description: Analog power supply voltage - display: Vdd - unit: V - typical: 1.2 - corner: - description: Process corner - display: Corner - typical: tt - temperature: - description: Ambient temperature - display: Temp - unit: °C - typical: 27 - -parameters: - Frequency: - description: Analysing the frequency of the oscillator - display: Freq - unit: GHz - spec: - frequency: - minimum: - value: 4.2 - typical: - value: 5.4 - maximum: - value: 7.1 - tool: - ngspice: - template: diff_oscillator_tb.sch - format: ascii - suffix: .data - variables: [time_axis, vo_diff] - script: freq.py - script_variables: [frequency] - - plot: - frequency: - xaxis: time_axis - yaxis: vo_diff - conditions: - vdd: - typical: 1.2 - temperature: - typical: 27 - corner: - typical: tt - - diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/cace/scripts/__pycache__/freq.cpython-310.pyc b/modules/module_4_type_2_PLL/diff_Roscillator/cace/scripts/__pycache__/freq.cpython-310.pyc deleted file mode 100644 index c822efd5..00000000 Binary files a/modules/module_4_type_2_PLL/diff_Roscillator/cace/scripts/__pycache__/freq.cpython-310.pyc and /dev/null differ diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/cace/scripts/freq.py b/modules/module_4_type_2_PLL/diff_Roscillator/cace/scripts/freq.py deleted file mode 100644 index 1014da4a..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/cace/scripts/freq.py +++ /dev/null @@ -1,30 +0,0 @@ -from typing import Any -import numpy as np - -def postprocess(results: dict[str, list], conditions: dict[str, Any]) -> dict[str, list]: - # Extract waveform - t = np.array(results['time_axis']) - y = np.array(results['vo_diff']) - - if len(y) == 0: - # Fallback if waveform is empty - return {'frequency': [0.0]} - - dt = np.mean(np.diff(t)) - fs = 1 / dt - - # FFT - Y = np.fft.fft(y - np.mean(y)) # remove DC - freqs = np.fft.fftfreq(len(Y), d=dt) - - # Only positive frequencies - mask = freqs > 0 - freqs = freqs[mask] - Y = np.abs(Y[mask]) - - # Find frequency with maximum magnitude - freq_peak = freqs[np.argmax(Y)] # convert to GHz - - - # Return as a list for compatibility with sweep/postprocessing tools - return {'frequency': [freq_peak]} diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/cace/templates/diff_oscillator_tb.sch b/modules/module_4_type_2_PLL/diff_Roscillator/cace/templates/diff_oscillator_tb.sch deleted file mode 100644 index 8b2e4f89..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/cace/templates/diff_oscillator_tb.sch +++ /dev/null @@ -1,65 +0,0 @@ -v {xschem version=3.4.6 file_version=1.2} -G {} -K {} -V {} -S {} -E {} -N 760 -230 760 -210 {lab=vdd} -N 720 -230 720 -210 {lab=gnd} -N 830 -340 850 -340 {lab=Voplus} -N 830 -300 850 -300 {lab=Vominus} -N 390 -280 390 -250 {lab=GND} -N 390 -370 390 -340 {lab=vdd} -C {opin.sym} 850 -340 0 0 {name=p3 lab=Voplus} -C {opin.sym} 850 -300 2 1 {name=p4 lab=Vominus} -C {code_shown.sym} 10 -1170 0 0 {name=transient_tb only_toplevel=false -value=" -.param temp=27 -* Keep this if your manual run has it — parity matters - -.ic V(Voplus)=1.2 -.control -* Stability & parity options -set noaskquit -set numdgt=12 - -* Save vectors and run -save all -op -write diff_oscillator_tb.raw -set appendwrite -tran 10p 2n 160p - -* Define explicit vectors (avoid V(...) on calculated vectors) -let vo_p = v(Voplus) -let vo_m = v(Vominus) -let vo_diff = vo_p - vo_m - -* --- Main file that CACE reads: 2 columns (time, vo_diff) --- -set wr_singlescale -wrdata CACE\{simpath\}/CACE\{filename\}_CACE\{N\}.data vo_diff - -* --- Extra debug file (CACE ignores): 4 columns w/ names --- -set wr_vecnames -wrdata CACE\{simpath\}/debug_CACE\{N\}.dat time vo_p vo_m vo_diff -unset wr_vecnames - -write diff_oscillator_tb.raw -.endc -"} -C {iopin.sym} 760 -210 0 0 {name=p1 lab=vdd} -C {devices/code_shown.sym} 10 -510 0 0 {name=MODEL1 only_toplevel=true -format="tcleval( @value )" -value=" -.lib CACE\{PDK_ROOT\}/CACE\{PDK\}/libs.tech/ngspice/models/cornerMOSlv.lib mos_CACE\{corner\} - -.include CACE\{DUT_path\} - -.temp CACE\{temperature\} -" -} -C {diff_ring_oscillator.sym} 740 -320 0 0 {name=x1} -C {iopin.sym} 720 -210 2 0 {name=p2 lab=gnd} -C {vsource.sym} 390 -310 0 0 {name=V1 value=1.2 savecurrent=false} -C {gnd.sym} 390 -250 0 0 {name=l1 lab=GND} -C {lab_pin.sym} 390 -370 2 0 {name=p5 sig_type=std_logic lab=vdd} diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/cace/templates/xschemrc b/modules/module_4_type_2_PLL/diff_Roscillator/cace/templates/xschemrc deleted file mode 100644 index 88fd1465..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/cace/templates/xschemrc +++ /dev/null @@ -1,18 +0,0 @@ -# xschemrc - Custom configuration file for xschem -# This file sources another xschemrc file from a known location - -# Source the base configuration from a known location -source $::env(PDK_ROOT)/$::env(PDK)/libs.tech/xschem/xschemrc - -# (Optional) Add any custom overrides or extensions below -# set xschem_library_path /home/user/my_libs -# set xschem_gui_font "Monospace 10" - -#### include skywater libraries. Here I use [pwd]. This works if I start xschem from here. -###only if you dont have this setup already ### -###append XSCHEM_LIBRARY_PATH :[file dirname [info script]] - - -#### Add custom libraries (directories with .lib files) -append XSCHEM_LIBRARY_PATH :../../xschem/ - diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/docs/diff_ring_oscillator.md b/modules/module_4_type_2_PLL/diff_Roscillator/docs/diff_ring_oscillator.md deleted file mode 100644 index 43b5c6fd..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/docs/diff_ring_oscillator.md +++ /dev/null @@ -1,50 +0,0 @@ -# diff_ring_oscillator - -- Description: Differential Ring oscillator testbench -- PDK: ihp-sg13g2 - -## Authorship - -- Designer: None -- Company: None -- Created: None -- License: Apache 2.0 -- Last modified: None - -## Pins - -- vdd - + Description: Positive analog power supply - + Type: power - + Direction: inout - + Vmin: 0.8 - + Vmax: 1.8 -- gnd - + Description: Analog ground - + Type: ground - + Direction: inout - -## Default Conditions - -- vdd - + Description: Analog power supply voltage - + Display: Vdd - + Unit: V - + Typical: 1.2 -- corner - + Description: Process corner - + Display: Corner - + Typical: tt -- temperature - + Description: Ambient temperature - + Display: Temp - + Unit: °C - + Typical: 27 - -## Symbol - -![Symbol of diff_ring_oscillator](diff_ring_oscillator_symbol.svg) - -## Schematic - -![Schematic of diff_ring_oscillator](diff_ring_oscillator_schematic.svg) diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/docs/diff_ring_oscillator/schematic/frequency.png b/modules/module_4_type_2_PLL/diff_Roscillator/docs/diff_ring_oscillator/schematic/frequency.png deleted file mode 100644 index d2bd4121..00000000 Binary files a/modules/module_4_type_2_PLL/diff_Roscillator/docs/diff_ring_oscillator/schematic/frequency.png and /dev/null differ diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/docs/diff_ring_oscillator_schematic.md b/modules/module_4_type_2_PLL/diff_Roscillator/docs/diff_ring_oscillator_schematic.md deleted file mode 100644 index b83728f3..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/docs/diff_ring_oscillator_schematic.md +++ /dev/null @@ -1,15 +0,0 @@ - -# CACE Summary for diff_ring_oscillator - -**netlist source**: schematic - -| Parameter | Tool | Result | Min Limit | Min Value | Typ Target | Typ Value | Max Limit | Max Value | Status | -| :------------------- | :------------------- | :-------------- | ---------: | -----------: | ---------: | -----------: | ---------: | -----------: | :------: | -| Freq | ngspice | frequency | 4.2 GHz | 5.414 GHz | 5.4 GHz | 5.414 GHz | 7.1 GHz | 5.414 GHz | Pass ✅ | - - -## Plots - -## frequency - -![frequency](./diff_ring_oscillator/schematic/frequency.png) diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/docs/diff_ring_oscillator_schematic.svg b/modules/module_4_type_2_PLL/diff_Roscillator/docs/diff_ring_oscillator_schematic.svg deleted file mode 100644 index 5de9a6fa..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/docs/diff_ring_oscillator_schematic.svg +++ /dev/null @@ -1,160 +0,0 @@ - - - - diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/docs/diff_ring_oscillator_symbol.svg b/modules/module_4_type_2_PLL/diff_Roscillator/docs/diff_ring_oscillator_symbol.svg deleted file mode 100644 index 5de9a6fa..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/docs/diff_ring_oscillator_symbol.svg +++ /dev/null @@ -1,160 +0,0 @@ - - - - diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_14-36-06/parameters/Frequency/diff_oscillator_tb.sch b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_14-36-06/parameters/Frequency/diff_oscillator_tb.sch deleted file mode 100644 index 8007d3ee..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_14-36-06/parameters/Frequency/diff_oscillator_tb.sch +++ /dev/null @@ -1,42 +0,0 @@ -v {xschem version=3.4.6 file_version=1.2} -G {} -K {} -V {} -S {} -E {} -N 760 -230 760 -210 {lab=vdd} -N 720 -230 720 -210 {lab=#net1} -N 830 -340 850 -340 {lab=Voplus} -N 830 -300 850 -300 {lab=Vominus} -C {opin.sym} 850 -340 0 0 {name=p3 lab=Voplus} -C {opin.sym} 850 -300 2 1 {name=p4 lab=Vominus} -C {code_shown.sym} 0 -840 0 0 {name=transient_tb only_toplevel=false -value=" -.param temp=27 -.ic V(Voplus)=1.2 -.control -save all -op -write diff_oscillator_tb.raw -set appendwrite -tran 10p 2n -save all -let vo_diff = v(Voplus) - v(Vominus) -set wr_singlescale -wrdata CACE\{simpath\}/CACE\{filename\}_CACE\{N\}.data V(vo_diff) -write diff_oscillator_tb.raw -.endc -"} -C {iopin.sym} 760 -210 0 0 {name=p1 lab=vdd} -C {devices/code_shown.sym} 10 -510 0 0 {name=MODEL1 only_toplevel=true -format="tcleval( @value )" -value=" -.lib CACE\{PDK_ROOT\}/CACE\{PDK\}/libs.tech/ngspice/models/cornerMOSlv.lib mos_CACE\{corner\} - -.include CACE\{DUT_path\} - -.temp CACE\{temperature\} -" -} -C {diff_ring_oscillator.sym} 740 -320 0 0 {name=x1} -C {iopin.sym} 720 -210 2 0 {name=p2 lab=gnd} diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_14-36-06/parameters/Frequency/frequency.png b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_14-36-06/parameters/Frequency/frequency.png deleted file mode 100644 index f8b9f9a1..00000000 Binary files a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_14-36-06/parameters/Frequency/frequency.png and /dev/null differ diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_14-36-06/parameters/Frequency/run_0/.spiceinit b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_14-36-06/parameters/Frequency/run_0/.spiceinit deleted file mode 100644 index 02b902fb..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_14-36-06/parameters/Frequency/run_0/.spiceinit +++ /dev/null @@ -1,30 +0,0 @@ -* a custom spiceinit file for IHP-Open-PDK - -* export PDK_ROOT and PDK environmental variables first and add it to your .bashrc -* export PDK_ROOT= installation_specific_directory/IHP-Open-PDK -* export PDK=ihp-sg13g2 - -setcs sourcepath = ( $sourcepath $PDK_ROOT/$PDK/libs.tech/ngspice/models $PDK_ROOT/ihp-sg13g2/libs.ref/sg13g2_stdcell/spice ) -setcs sourcepath = ( $sourcepath $PDK_ROOT/$PDK/libs.tech/ngspice/models $PDK_ROOT/ihp-sg13g2/libs.ref/sg13g2_io/spice ) -*echo $sourcepath - -*option tnom=28 -*option list - -* KLU solver still do not work correctly for every simulation -*option klu - -*option node -*option opts -*option warn=1 -*option maxwarns=10 -*option savecurrents - -*set ngbehavior=hsa -*set noinit - -* add OSDI -osdi '$PDK_ROOT/$PDK/libs.tech/ngspice/osdi/psp103_nqs.osdi' -osdi '$PDK_ROOT/$PDK/libs.tech/ngspice/osdi/r3_cmc.osdi' -osdi '$PDK_ROOT/$PDK/libs.tech/ngspice/osdi/mosvar.osdi' - diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_14-36-06/parameters/Frequency/run_0/conditions.yaml b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_14-36-06/parameters/Frequency/run_0/conditions.yaml deleted file mode 100644 index 8eb2ce14..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_14-36-06/parameters/Frequency/run_0/conditions.yaml +++ /dev/null @@ -1,8 +0,0 @@ -DUT_path: /home/pedersen/projects/IHP-AnalogAcademy/modules/module_4_type_2_PLL/diff_Roscillator/xschem/simulations/schematic/diff_ring_oscillator.spice -N: 0 -PDK: ihp-sg13g2 -PDK_ROOT: /home/pedersen/IHP-Open-PDK -corner: tt -filename: diff_oscillator_tb -simpath: /home/pedersen/projects/IHP-AnalogAcademy/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_14-36-06/parameters/Frequency/run_0 -temperature: '27' diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_14-36-06/parameters/Frequency/run_0/diff_oscillator_tb.sch b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_14-36-06/parameters/Frequency/run_0/diff_oscillator_tb.sch deleted file mode 100644 index 36d01301..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_14-36-06/parameters/Frequency/run_0/diff_oscillator_tb.sch +++ /dev/null @@ -1,42 +0,0 @@ -v {xschem version=3.4.6 file_version=1.2} -G {} -K {} -V {} -S {} -E {} -N 760 -230 760 -210 {lab=vdd} -N 720 -230 720 -210 {lab=#net1} -N 830 -340 850 -340 {lab=Voplus} -N 830 -300 850 -300 {lab=Vominus} -C {opin.sym} 850 -340 0 0 {name=p3 lab=Voplus} -C {opin.sym} 850 -300 2 1 {name=p4 lab=Vominus} -C {code_shown.sym} 0 -840 0 0 {name=transient_tb only_toplevel=false -value=" -.param temp=27 -.ic V(Voplus)=1.2 -.control -save all -op -write diff_oscillator_tb.raw -set appendwrite -tran 10p 2n -save all -let vo_diff = v(Voplus) - v(Vominus) -set wr_singlescale -wrdata /home/pedersen/projects/IHP-AnalogAcademy/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_14-36-06/parameters/Frequency/run_0/diff_oscillator_tb_0.data V(vo_diff) -write diff_oscillator_tb.raw -.endc -"} -C {iopin.sym} 760 -210 0 0 {name=p1 lab=vdd} -C {devices/code_shown.sym} 10 -510 0 0 {name=MODEL1 only_toplevel=true -format="tcleval( @value )" -value=" -.lib /home/pedersen/IHP-Open-PDK/ihp-sg13g2/libs.tech/ngspice/models/cornerMOSlv.lib mos_tt - -.include /home/pedersen/projects/IHP-AnalogAcademy/modules/module_4_type_2_PLL/diff_Roscillator/xschem/simulations/schematic/diff_ring_oscillator.spice - -.temp 27 -" -} -C {diff_ring_oscillator.sym} 740 -320 0 0 {name=x1} -C {iopin.sym} 720 -210 2 0 {name=p2 lab=gnd} diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_14-36-06/parameters/Frequency/run_0/diff_oscillator_tb_0.data b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_14-36-06/parameters/Frequency/run_0/diff_oscillator_tb_0.data deleted file mode 100644 index fbaae6a4..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_14-36-06/parameters/Frequency/run_0/diff_oscillator_tb_0.data +++ /dev/null @@ -1,208 +0,0 @@ - 0.00000000e+00 1.50149049e+00 - 1.00000000e-13 1.49305933e+00 - 2.00000000e-13 1.48762993e+00 - 4.00000000e-13 1.47835377e+00 - 8.00000000e-13 1.46164680e+00 - 1.60000000e-12 1.42856559e+00 - 3.20000000e-12 1.36698463e+00 - 6.40000000e-12 1.25782460e+00 - 1.28000000e-11 1.08329184e+00 - 2.28000000e-11 8.71035493e-01 - 3.28000000e-11 7.01254834e-01 - 4.28000000e-11 5.69268666e-01 - 5.28000000e-11 4.67472873e-01 - 6.28000000e-11 3.88133688e-01 - 7.28000000e-11 3.25963336e-01 - 8.28000000e-11 2.75833402e-01 - 9.28000000e-11 2.35272475e-01 - 1.02800000e-10 2.01449017e-01 - 1.12800000e-10 1.72976489e-01 - 1.22800000e-10 1.48257979e-01 - 1.32800000e-10 1.26851615e-01 - 1.42800000e-10 1.07852737e-01 - 1.52800000e-10 9.13049778e-02 - 1.62800000e-10 7.66490286e-02 - 1.72800000e-10 6.40805814e-02 - 1.82800000e-10 5.31111453e-02 - 1.92800000e-10 4.39141630e-02 - 2.02800000e-10 3.59896484e-02 - 2.12800000e-10 2.94857246e-02 - 2.22800000e-10 2.39196602e-02 - 2.32800000e-10 1.94468223e-02 - 2.42800000e-10 1.56224285e-02 - 2.52800000e-10 1.26211750e-02 - 2.62800000e-10 1.00396496e-02 - 2.72800000e-10 8.07228591e-03 - 2.82800000e-10 6.35363179e-03 - 2.92800000e-10 5.09412630e-03 - 3.02800000e-10 3.96077425e-03 - 3.12800000e-10 3.17515852e-03 - 3.22800000e-10 2.43103839e-03 - 3.32800000e-10 1.95645853e-03 - 3.42800000e-10 1.46686012e-03 - 3.52800000e-10 1.19281616e-03 - 3.62800000e-10 8.67310196e-04 - 3.72800000e-10 7.20419269e-04 - 3.82800000e-10 4.99475012e-04 - 3.92800000e-10 4.31886194e-04 - 4.02800000e-10 2.76956531e-04 - 4.12800000e-10 2.57956889e-04 - 4.22800000e-10 1.44433763e-04 - 4.32800000e-10 1.54585536e-04 - 4.42800000e-10 6.69535287e-05 - 4.52800000e-10 9.41142808e-05 - 4.62800000e-10 2.26996257e-05 - 4.72800000e-10 5.93807102e-05 - 4.82800000e-10 -1.78612241e-06 - 4.92800000e-10 3.98585351e-05 - 5.02800000e-10 -1.47083610e-05 - 5.12800000e-10 2.91690709e-05 - 5.22800000e-10 -2.10064243e-05 - 5.32800000e-10 2.34975240e-05 - 5.42800000e-10 -2.36122120e-05 - 5.52800000e-10 2.05966110e-05 - 5.62800000e-10 -2.42373428e-05 - 5.72800000e-10 1.91662809e-05 - 5.82800000e-10 -2.38606720e-05 - 5.92800000e-10 1.84715158e-05 - 6.02800000e-10 -2.30271287e-05 - 6.12800000e-10 1.81092938e-05 - 6.22800000e-10 -2.20289175e-05 - 6.32800000e-10 1.78681053e-05 - 6.42800000e-10 -2.10140792e-05 - 6.52800000e-10 1.76443427e-05 - 6.62800000e-10 -2.00506354e-05 - 6.72800000e-10 1.73932875e-05 - 6.82800000e-10 -1.91638592e-05 - 6.92800000e-10 1.71009105e-05 - 7.02800000e-10 -1.83574797e-05 - 7.12800000e-10 1.67680328e-05 - 7.22800000e-10 -1.76254120e-05 - 7.32800000e-10 1.64017176e-05 - 7.42800000e-10 -1.69579955e-05 - 7.52800000e-10 1.60108123e-05 - 7.62800000e-10 -1.63451157e-05 - 7.72800000e-10 1.56038138e-05 - 7.82800000e-10 -1.57776080e-05 - 7.92800000e-10 1.51879916e-05 - 8.02800000e-10 -1.52477524e-05 - 8.12800000e-10 1.47691590e-05 - 8.22800000e-10 -1.47493166e-05 - 8.32800000e-10 1.43517499e-05 - 8.42800000e-10 -1.42773992e-05 - 8.52800000e-10 1.39390192e-05 - 8.62800000e-10 -1.38282052e-05 - 8.72800000e-10 1.35332720e-05 - 8.82800000e-10 -1.33988187e-05 - 8.92800000e-10 1.31360780e-05 - 9.02800000e-10 -1.29870020e-05 - 9.12800000e-10 1.27484537e-05 - 9.22800000e-10 -1.25910299e-05 - 9.32800000e-10 1.23710090e-05 - 9.42800000e-10 -1.22095585e-05 - 9.52800000e-10 1.20040604e-05 - 9.62800000e-10 -1.18415246e-05 - 9.72800000e-10 1.16477172e-05 - 9.82800000e-10 -1.14860712e-05 - 9.92800000e-10 1.13019442e-05 - 1.00280000e-09 -1.11424911e-05 - 1.01280000e-09 1.09666084e-05 - 1.02280000e-09 -1.08101874e-05 - 1.03280000e-09 1.06415116e-05 - 1.04280000e-09 -1.04886439e-05 - 1.05280000e-09 1.03264143e-05 - 1.06280000e-09 -1.01774042e-05 - 1.07280000e-09 1.00210517e-05 - 1.08280000e-09 -9.87605735e-06 - 1.09280000e-09 9.72514526e-06 - 1.10280000e-09 -9.58422695e-06 - 1.11280000e-09 9.43841071e-06 - 1.12280000e-09 -9.30156383e-06 - 1.13280000e-09 9.16056303e-06 - 1.14280000e-09 -9.02774079e-06 - 1.15280000e-09 8.89132013e-06 - 1.16280000e-09 -8.76244881e-06 - 1.17280000e-09 8.63040506e-06 - 1.18280000e-09 -8.50539433e-06 - 1.19280000e-09 8.37754749e-06 - 1.20280000e-09 -8.25629736e-06 - 1.21280000e-09 8.13248451e-06 - 1.22280000e-09 -8.01488990e-06 - 1.23280000e-09 7.89496117e-06 - 1.24280000e-09 -7.78091494e-06 - 1.25280000e-09 7.66473063e-06 - 1.26280000e-09 -7.55412554e-06 - 1.27280000e-09 7.44155422e-06 - 1.28280000e-09 -7.33428425e-06 - 1.29280000e-09 7.22520127e-06 - 1.30280000e-09 -7.12116247e-06 - 1.31280000e-09 7.01544909e-06 - 1.32280000e-09 -6.91453993e-06 - 1.33280000e-09 6.81208267e-06 - 1.34280000e-09 -6.71420446e-06 - 1.35280000e-09 6.61489446e-06 - 1.36280000e-09 -6.51995139e-06 - 1.37280000e-09 6.42368417e-06 - 1.38280000e-09 -6.33158344e-06 - 1.39280000e-09 6.23825850e-06 - 1.40280000e-09 -6.14891024e-06 - 1.41280000e-09 6.05843085e-06 - 1.42280000e-09 -5.97174817e-06 - 1.43280000e-09 5.88402118e-06 - 1.44280000e-09 -5.79992000e-06 - 1.45280000e-09 5.71485565e-06 - 1.46280000e-09 -5.63325474e-06 - 1.47280000e-09 5.55076647e-06 - 1.48280000e-09 -5.47158728e-06 - 1.49280000e-09 5.39159165e-06 - 1.50280000e-09 -5.31475827e-06 - 1.51280000e-09 5.23717479e-06 - 1.52280000e-09 -5.16261385e-06 - 1.53280000e-09 5.08736485e-06 - 1.54280000e-09 -5.01500544e-06 - 1.55280000e-09 4.94201599e-06 - 1.56280000e-09 -4.87178954e-06 - 1.57280000e-09 4.80098734e-06 - 1.58280000e-09 -4.73282758e-06 - 1.59280000e-09 4.66414285e-06 - 1.60280000e-09 -4.59798569e-06 - 1.61280000e-09 4.53135104e-06 - 1.62280000e-09 -4.46713454e-06 - 1.63280000e-09 4.40248494e-06 - 1.64280000e-09 -4.34014921e-06 - 1.65280000e-09 4.27742183e-06 - 1.66280000e-09 -4.21690894e-06 - 1.67280000e-09 4.15604313e-06 - 1.68280000e-09 -4.09729707e-06 - 1.69280000e-09 4.03823423e-06 - 1.70280000e-09 -3.98120084e-06 - 1.71280000e-09 3.92388436e-06 - 1.72280000e-09 -3.86851124e-06 - 1.73280000e-09 3.81288648e-06 - 1.74280000e-09 -3.75912291e-06 - 1.75280000e-09 3.70513701e-06 - 1.76280000e-09 -3.65293401e-06 - 1.77280000e-09 3.60053592e-06 - 1.78280000e-09 -3.54984600e-06 - 1.79280000e-09 3.49898643e-06 - 1.80280000e-09 -3.44976368e-06 - 1.81280000e-09 3.40039490e-06 - 1.82280000e-09 -3.35259493e-06 - 1.83280000e-09 3.30467088e-06 - 1.84280000e-09 -3.25825066e-06 - 1.85280000e-09 3.21172679e-06 - 1.86280000e-09 -3.16664472e-06 - 1.87280000e-09 3.12147793e-06 - 1.88280000e-09 -3.07769371e-06 - 1.89280000e-09 3.03384239e-06 - 1.90280000e-09 -2.99131704e-06 - 1.91280000e-09 2.94874091e-06 - 1.92280000e-09 -2.90743663e-06 - 1.93280000e-09 2.86609674e-06 - 1.94280000e-09 -2.82597704e-06 - 1.95280000e-09 2.78583567e-06 - 1.96280000e-09 -2.74686516e-06 - 1.97280000e-09 2.70788585e-06 - 1.98280000e-09 -2.67003028e-06 - 1.99280000e-09 2.63217780e-06 - 2.00000000e-09 -2.57652890e-06 diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_14-36-06/parameters/Frequency/run_0/diff_ring_oscillator.sym b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_14-36-06/parameters/Frequency/run_0/diff_ring_oscillator.sym deleted file mode 100644 index e632b156..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_14-36-06/parameters/Frequency/run_0/diff_ring_oscillator.sym +++ /dev/null @@ -1,27 +0,0 @@ -v {xschem version=3.4.6 file_version=1.2} -G {} -K {type=primitive -format="@name @pinlist @symname" -template="name=x1" -} -V {} -S {} -E {} -L 4 70 -20 90 -20 {} -L 4 70 20 90 20 {} -L 7 20 70 20 90 {} -L 7 -20 70 -20 90 {} -B 5 87.5 -22.5 92.5 -17.5 {name=Voplus dir=out} -B 5 17.5 87.5 22.5 92.5 {name=vdd dir=inout} -B 5 -22.5 87.5 -17.5 92.5 {name=gnd dir=inout} -B 5 87.5 17.5 92.5 22.5 {name=Vominus dir=out} -A 4 -1.666666666666714 1.666666666666714 71.68604389202189 287.5924245621816 360 {} -A 4 -30 27.5 40.69705149024927 42.51044707800085 94.97910584399833 {} -A 4 30 -27.5 40.69705149024927 222.5104470780009 94.97910584399833 {} -T {@symname} -40.5 -56 0 0 0.1 0.1 {} -T {@name} -40 -47 0 0 0.1 0.1 { -} -T {Voplus} 65 -24 0 1 0.2 0.2 {} -T {vdd} 5 64 2 1 0.2 0.2 {} -T {gnd} -35 64 2 1 0.2 0.2 {} -T {Vominus} 65 16 0 1 0.2 0.2 {} diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_14-36-06/parameters/Frequency/simulation_summary.csv b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_14-36-06/parameters/Frequency/simulation_summary.csv deleted file mode 100644 index f0e1ddca..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_14-36-06/parameters/Frequency/simulation_summary.csv +++ /dev/null @@ -1,2 +0,0 @@ -run,time_axis,vo_diff,frequency -run_0,"[0.000, 1.000e-13, 2.000e-13, …]","[1.501, 1.493, 1.488, …]",4.976e+08 diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_14-36-06/parameters/Frequency/simulation_summary.md b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_14-36-06/parameters/Frequency/simulation_summary.md deleted file mode 100644 index fba78079..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_14-36-06/parameters/Frequency/simulation_summary.md +++ /dev/null @@ -1,5 +0,0 @@ -# Simulation Summary for Freq - -| run | time_axis | vo_diff | frequency | -| :-- | --------: | ------: | --------: | -| run_0 | [0.000, 1.000e-13, 2.000e-13, …] | [1.501, 1.493, 1.488, …] | 4.976e+08 | diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_14-36-06/summary.md b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_14-36-06/summary.md deleted file mode 100644 index 13a3fa51..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_14-36-06/summary.md +++ /dev/null @@ -1,9 +0,0 @@ - -# CACE Summary for diff_ring_oscillator - -**netlist source**: schematic - -| Parameter | Tool | Result | Min Limit | Min Value | Typ Target | Typ Value | Max Limit | Max Value | Status | -| :------------------- | :------------------- | :-------------- | ---------: | -----------: | ---------: | -----------: | ---------: | -----------: | :------: | -| Freq | ngspice | frequency | any | 0.498 GHz | any | 0.498 GHz | any | 0.498 GHz | Pass ✅ | - diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_14-53-50/parameters/Frequency/diff_oscillator_tb.sch b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_14-53-50/parameters/Frequency/diff_oscillator_tb.sch deleted file mode 100644 index 35552a14..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_14-53-50/parameters/Frequency/diff_oscillator_tb.sch +++ /dev/null @@ -1,42 +0,0 @@ -v {xschem version=3.4.6 file_version=1.2} -G {} -K {} -V {} -S {} -E {} -N 760 -230 760 -210 {lab=vdd} -N 720 -230 720 -210 {lab=gnd} -N 830 -340 850 -340 {lab=Voplus} -N 830 -300 850 -300 {lab=Vominus} -C {opin.sym} 850 -340 0 0 {name=p3 lab=Voplus} -C {opin.sym} 850 -300 2 1 {name=p4 lab=Vominus} -C {code_shown.sym} 0 -840 0 0 {name=transient_tb only_toplevel=false -value=" -.param temp=27 -.ic V(Voplus)=1.2 -.control -save all -op -write diff_oscillator_tb.raw -set appendwrite -tran 10p 2n -save all -let vo_diff = v(Voplus) - v(Vominus) -set wr_singlescale -wrdata CACE\{simpath\}/CACE\{filename\}_CACE\{N\}.data vo_diff -write diff_oscillator_tb.raw -.endc -"} -C {iopin.sym} 760 -210 0 0 {name=p1 lab=vdd} -C {devices/code_shown.sym} 10 -510 0 0 {name=MODEL1 only_toplevel=true -format="tcleval( @value )" -value=" -.lib CACE\{PDK_ROOT\}/CACE\{PDK\}/libs.tech/ngspice/models/cornerMOSlv.lib mos_CACE\{corner\} - -.include CACE\{DUT_path\} - -.temp CACE\{temperature\} -" -} -C {diff_ring_oscillator.sym} 740 -320 0 0 {name=x1} -C {iopin.sym} 720 -210 2 0 {name=p2 lab=gnd} diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_14-53-50/parameters/Frequency/frequency.png b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_14-53-50/parameters/Frequency/frequency.png deleted file mode 100644 index f8b9f9a1..00000000 Binary files a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_14-53-50/parameters/Frequency/frequency.png and /dev/null differ diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_14-53-50/parameters/Frequency/run_0/.spiceinit b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_14-53-50/parameters/Frequency/run_0/.spiceinit deleted file mode 100644 index 02b902fb..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_14-53-50/parameters/Frequency/run_0/.spiceinit +++ /dev/null @@ -1,30 +0,0 @@ -* a custom spiceinit file for IHP-Open-PDK - -* export PDK_ROOT and PDK environmental variables first and add it to your .bashrc -* export PDK_ROOT= installation_specific_directory/IHP-Open-PDK -* export PDK=ihp-sg13g2 - -setcs sourcepath = ( $sourcepath $PDK_ROOT/$PDK/libs.tech/ngspice/models $PDK_ROOT/ihp-sg13g2/libs.ref/sg13g2_stdcell/spice ) -setcs sourcepath = ( $sourcepath $PDK_ROOT/$PDK/libs.tech/ngspice/models $PDK_ROOT/ihp-sg13g2/libs.ref/sg13g2_io/spice ) -*echo $sourcepath - -*option tnom=28 -*option list - -* KLU solver still do not work correctly for every simulation -*option klu - -*option node -*option opts -*option warn=1 -*option maxwarns=10 -*option savecurrents - -*set ngbehavior=hsa -*set noinit - -* add OSDI -osdi '$PDK_ROOT/$PDK/libs.tech/ngspice/osdi/psp103_nqs.osdi' -osdi '$PDK_ROOT/$PDK/libs.tech/ngspice/osdi/r3_cmc.osdi' -osdi '$PDK_ROOT/$PDK/libs.tech/ngspice/osdi/mosvar.osdi' - diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_14-53-50/parameters/Frequency/run_0/conditions.yaml b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_14-53-50/parameters/Frequency/run_0/conditions.yaml deleted file mode 100644 index e9db1781..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_14-53-50/parameters/Frequency/run_0/conditions.yaml +++ /dev/null @@ -1,8 +0,0 @@ -DUT_path: /home/pedersen/projects/IHP-AnalogAcademy/modules/module_4_type_2_PLL/diff_Roscillator/xschem/simulations/schematic/diff_ring_oscillator.spice -N: 0 -PDK: ihp-sg13g2 -PDK_ROOT: /home/pedersen/IHP-Open-PDK -corner: tt -filename: diff_oscillator_tb -simpath: /home/pedersen/projects/IHP-AnalogAcademy/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_14-53-50/parameters/Frequency/run_0 -temperature: '27' diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_14-53-50/parameters/Frequency/run_0/diff_oscillator_tb.sch b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_14-53-50/parameters/Frequency/run_0/diff_oscillator_tb.sch deleted file mode 100644 index 94bdb520..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_14-53-50/parameters/Frequency/run_0/diff_oscillator_tb.sch +++ /dev/null @@ -1,42 +0,0 @@ -v {xschem version=3.4.6 file_version=1.2} -G {} -K {} -V {} -S {} -E {} -N 760 -230 760 -210 {lab=vdd} -N 720 -230 720 -210 {lab=gnd} -N 830 -340 850 -340 {lab=Voplus} -N 830 -300 850 -300 {lab=Vominus} -C {opin.sym} 850 -340 0 0 {name=p3 lab=Voplus} -C {opin.sym} 850 -300 2 1 {name=p4 lab=Vominus} -C {code_shown.sym} 0 -840 0 0 {name=transient_tb only_toplevel=false -value=" -.param temp=27 -.ic V(Voplus)=1.2 -.control -save all -op -write diff_oscillator_tb.raw -set appendwrite -tran 10p 2n -save all -let vo_diff = v(Voplus) - v(Vominus) -set wr_singlescale -wrdata /home/pedersen/projects/IHP-AnalogAcademy/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_14-53-50/parameters/Frequency/run_0/diff_oscillator_tb_0.data vo_diff -write diff_oscillator_tb.raw -.endc -"} -C {iopin.sym} 760 -210 0 0 {name=p1 lab=vdd} -C {devices/code_shown.sym} 10 -510 0 0 {name=MODEL1 only_toplevel=true -format="tcleval( @value )" -value=" -.lib /home/pedersen/IHP-Open-PDK/ihp-sg13g2/libs.tech/ngspice/models/cornerMOSlv.lib mos_tt - -.include /home/pedersen/projects/IHP-AnalogAcademy/modules/module_4_type_2_PLL/diff_Roscillator/xschem/simulations/schematic/diff_ring_oscillator.spice - -.temp 27 -" -} -C {diff_ring_oscillator.sym} 740 -320 0 0 {name=x1} -C {iopin.sym} 720 -210 2 0 {name=p2 lab=gnd} diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_14-53-50/parameters/Frequency/run_0/diff_oscillator_tb_0.data b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_14-53-50/parameters/Frequency/run_0/diff_oscillator_tb_0.data deleted file mode 100644 index fbaae6a4..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_14-53-50/parameters/Frequency/run_0/diff_oscillator_tb_0.data +++ /dev/null @@ -1,208 +0,0 @@ - 0.00000000e+00 1.50149049e+00 - 1.00000000e-13 1.49305933e+00 - 2.00000000e-13 1.48762993e+00 - 4.00000000e-13 1.47835377e+00 - 8.00000000e-13 1.46164680e+00 - 1.60000000e-12 1.42856559e+00 - 3.20000000e-12 1.36698463e+00 - 6.40000000e-12 1.25782460e+00 - 1.28000000e-11 1.08329184e+00 - 2.28000000e-11 8.71035493e-01 - 3.28000000e-11 7.01254834e-01 - 4.28000000e-11 5.69268666e-01 - 5.28000000e-11 4.67472873e-01 - 6.28000000e-11 3.88133688e-01 - 7.28000000e-11 3.25963336e-01 - 8.28000000e-11 2.75833402e-01 - 9.28000000e-11 2.35272475e-01 - 1.02800000e-10 2.01449017e-01 - 1.12800000e-10 1.72976489e-01 - 1.22800000e-10 1.48257979e-01 - 1.32800000e-10 1.26851615e-01 - 1.42800000e-10 1.07852737e-01 - 1.52800000e-10 9.13049778e-02 - 1.62800000e-10 7.66490286e-02 - 1.72800000e-10 6.40805814e-02 - 1.82800000e-10 5.31111453e-02 - 1.92800000e-10 4.39141630e-02 - 2.02800000e-10 3.59896484e-02 - 2.12800000e-10 2.94857246e-02 - 2.22800000e-10 2.39196602e-02 - 2.32800000e-10 1.94468223e-02 - 2.42800000e-10 1.56224285e-02 - 2.52800000e-10 1.26211750e-02 - 2.62800000e-10 1.00396496e-02 - 2.72800000e-10 8.07228591e-03 - 2.82800000e-10 6.35363179e-03 - 2.92800000e-10 5.09412630e-03 - 3.02800000e-10 3.96077425e-03 - 3.12800000e-10 3.17515852e-03 - 3.22800000e-10 2.43103839e-03 - 3.32800000e-10 1.95645853e-03 - 3.42800000e-10 1.46686012e-03 - 3.52800000e-10 1.19281616e-03 - 3.62800000e-10 8.67310196e-04 - 3.72800000e-10 7.20419269e-04 - 3.82800000e-10 4.99475012e-04 - 3.92800000e-10 4.31886194e-04 - 4.02800000e-10 2.76956531e-04 - 4.12800000e-10 2.57956889e-04 - 4.22800000e-10 1.44433763e-04 - 4.32800000e-10 1.54585536e-04 - 4.42800000e-10 6.69535287e-05 - 4.52800000e-10 9.41142808e-05 - 4.62800000e-10 2.26996257e-05 - 4.72800000e-10 5.93807102e-05 - 4.82800000e-10 -1.78612241e-06 - 4.92800000e-10 3.98585351e-05 - 5.02800000e-10 -1.47083610e-05 - 5.12800000e-10 2.91690709e-05 - 5.22800000e-10 -2.10064243e-05 - 5.32800000e-10 2.34975240e-05 - 5.42800000e-10 -2.36122120e-05 - 5.52800000e-10 2.05966110e-05 - 5.62800000e-10 -2.42373428e-05 - 5.72800000e-10 1.91662809e-05 - 5.82800000e-10 -2.38606720e-05 - 5.92800000e-10 1.84715158e-05 - 6.02800000e-10 -2.30271287e-05 - 6.12800000e-10 1.81092938e-05 - 6.22800000e-10 -2.20289175e-05 - 6.32800000e-10 1.78681053e-05 - 6.42800000e-10 -2.10140792e-05 - 6.52800000e-10 1.76443427e-05 - 6.62800000e-10 -2.00506354e-05 - 6.72800000e-10 1.73932875e-05 - 6.82800000e-10 -1.91638592e-05 - 6.92800000e-10 1.71009105e-05 - 7.02800000e-10 -1.83574797e-05 - 7.12800000e-10 1.67680328e-05 - 7.22800000e-10 -1.76254120e-05 - 7.32800000e-10 1.64017176e-05 - 7.42800000e-10 -1.69579955e-05 - 7.52800000e-10 1.60108123e-05 - 7.62800000e-10 -1.63451157e-05 - 7.72800000e-10 1.56038138e-05 - 7.82800000e-10 -1.57776080e-05 - 7.92800000e-10 1.51879916e-05 - 8.02800000e-10 -1.52477524e-05 - 8.12800000e-10 1.47691590e-05 - 8.22800000e-10 -1.47493166e-05 - 8.32800000e-10 1.43517499e-05 - 8.42800000e-10 -1.42773992e-05 - 8.52800000e-10 1.39390192e-05 - 8.62800000e-10 -1.38282052e-05 - 8.72800000e-10 1.35332720e-05 - 8.82800000e-10 -1.33988187e-05 - 8.92800000e-10 1.31360780e-05 - 9.02800000e-10 -1.29870020e-05 - 9.12800000e-10 1.27484537e-05 - 9.22800000e-10 -1.25910299e-05 - 9.32800000e-10 1.23710090e-05 - 9.42800000e-10 -1.22095585e-05 - 9.52800000e-10 1.20040604e-05 - 9.62800000e-10 -1.18415246e-05 - 9.72800000e-10 1.16477172e-05 - 9.82800000e-10 -1.14860712e-05 - 9.92800000e-10 1.13019442e-05 - 1.00280000e-09 -1.11424911e-05 - 1.01280000e-09 1.09666084e-05 - 1.02280000e-09 -1.08101874e-05 - 1.03280000e-09 1.06415116e-05 - 1.04280000e-09 -1.04886439e-05 - 1.05280000e-09 1.03264143e-05 - 1.06280000e-09 -1.01774042e-05 - 1.07280000e-09 1.00210517e-05 - 1.08280000e-09 -9.87605735e-06 - 1.09280000e-09 9.72514526e-06 - 1.10280000e-09 -9.58422695e-06 - 1.11280000e-09 9.43841071e-06 - 1.12280000e-09 -9.30156383e-06 - 1.13280000e-09 9.16056303e-06 - 1.14280000e-09 -9.02774079e-06 - 1.15280000e-09 8.89132013e-06 - 1.16280000e-09 -8.76244881e-06 - 1.17280000e-09 8.63040506e-06 - 1.18280000e-09 -8.50539433e-06 - 1.19280000e-09 8.37754749e-06 - 1.20280000e-09 -8.25629736e-06 - 1.21280000e-09 8.13248451e-06 - 1.22280000e-09 -8.01488990e-06 - 1.23280000e-09 7.89496117e-06 - 1.24280000e-09 -7.78091494e-06 - 1.25280000e-09 7.66473063e-06 - 1.26280000e-09 -7.55412554e-06 - 1.27280000e-09 7.44155422e-06 - 1.28280000e-09 -7.33428425e-06 - 1.29280000e-09 7.22520127e-06 - 1.30280000e-09 -7.12116247e-06 - 1.31280000e-09 7.01544909e-06 - 1.32280000e-09 -6.91453993e-06 - 1.33280000e-09 6.81208267e-06 - 1.34280000e-09 -6.71420446e-06 - 1.35280000e-09 6.61489446e-06 - 1.36280000e-09 -6.51995139e-06 - 1.37280000e-09 6.42368417e-06 - 1.38280000e-09 -6.33158344e-06 - 1.39280000e-09 6.23825850e-06 - 1.40280000e-09 -6.14891024e-06 - 1.41280000e-09 6.05843085e-06 - 1.42280000e-09 -5.97174817e-06 - 1.43280000e-09 5.88402118e-06 - 1.44280000e-09 -5.79992000e-06 - 1.45280000e-09 5.71485565e-06 - 1.46280000e-09 -5.63325474e-06 - 1.47280000e-09 5.55076647e-06 - 1.48280000e-09 -5.47158728e-06 - 1.49280000e-09 5.39159165e-06 - 1.50280000e-09 -5.31475827e-06 - 1.51280000e-09 5.23717479e-06 - 1.52280000e-09 -5.16261385e-06 - 1.53280000e-09 5.08736485e-06 - 1.54280000e-09 -5.01500544e-06 - 1.55280000e-09 4.94201599e-06 - 1.56280000e-09 -4.87178954e-06 - 1.57280000e-09 4.80098734e-06 - 1.58280000e-09 -4.73282758e-06 - 1.59280000e-09 4.66414285e-06 - 1.60280000e-09 -4.59798569e-06 - 1.61280000e-09 4.53135104e-06 - 1.62280000e-09 -4.46713454e-06 - 1.63280000e-09 4.40248494e-06 - 1.64280000e-09 -4.34014921e-06 - 1.65280000e-09 4.27742183e-06 - 1.66280000e-09 -4.21690894e-06 - 1.67280000e-09 4.15604313e-06 - 1.68280000e-09 -4.09729707e-06 - 1.69280000e-09 4.03823423e-06 - 1.70280000e-09 -3.98120084e-06 - 1.71280000e-09 3.92388436e-06 - 1.72280000e-09 -3.86851124e-06 - 1.73280000e-09 3.81288648e-06 - 1.74280000e-09 -3.75912291e-06 - 1.75280000e-09 3.70513701e-06 - 1.76280000e-09 -3.65293401e-06 - 1.77280000e-09 3.60053592e-06 - 1.78280000e-09 -3.54984600e-06 - 1.79280000e-09 3.49898643e-06 - 1.80280000e-09 -3.44976368e-06 - 1.81280000e-09 3.40039490e-06 - 1.82280000e-09 -3.35259493e-06 - 1.83280000e-09 3.30467088e-06 - 1.84280000e-09 -3.25825066e-06 - 1.85280000e-09 3.21172679e-06 - 1.86280000e-09 -3.16664472e-06 - 1.87280000e-09 3.12147793e-06 - 1.88280000e-09 -3.07769371e-06 - 1.89280000e-09 3.03384239e-06 - 1.90280000e-09 -2.99131704e-06 - 1.91280000e-09 2.94874091e-06 - 1.92280000e-09 -2.90743663e-06 - 1.93280000e-09 2.86609674e-06 - 1.94280000e-09 -2.82597704e-06 - 1.95280000e-09 2.78583567e-06 - 1.96280000e-09 -2.74686516e-06 - 1.97280000e-09 2.70788585e-06 - 1.98280000e-09 -2.67003028e-06 - 1.99280000e-09 2.63217780e-06 - 2.00000000e-09 -2.57652890e-06 diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_14-53-50/parameters/Frequency/run_0/diff_ring_oscillator.sym b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_14-53-50/parameters/Frequency/run_0/diff_ring_oscillator.sym deleted file mode 100644 index e632b156..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_14-53-50/parameters/Frequency/run_0/diff_ring_oscillator.sym +++ /dev/null @@ -1,27 +0,0 @@ -v {xschem version=3.4.6 file_version=1.2} -G {} -K {type=primitive -format="@name @pinlist @symname" -template="name=x1" -} -V {} -S {} -E {} -L 4 70 -20 90 -20 {} -L 4 70 20 90 20 {} -L 7 20 70 20 90 {} -L 7 -20 70 -20 90 {} -B 5 87.5 -22.5 92.5 -17.5 {name=Voplus dir=out} -B 5 17.5 87.5 22.5 92.5 {name=vdd dir=inout} -B 5 -22.5 87.5 -17.5 92.5 {name=gnd dir=inout} -B 5 87.5 17.5 92.5 22.5 {name=Vominus dir=out} -A 4 -1.666666666666714 1.666666666666714 71.68604389202189 287.5924245621816 360 {} -A 4 -30 27.5 40.69705149024927 42.51044707800085 94.97910584399833 {} -A 4 30 -27.5 40.69705149024927 222.5104470780009 94.97910584399833 {} -T {@symname} -40.5 -56 0 0 0.1 0.1 {} -T {@name} -40 -47 0 0 0.1 0.1 { -} -T {Voplus} 65 -24 0 1 0.2 0.2 {} -T {vdd} 5 64 2 1 0.2 0.2 {} -T {gnd} -35 64 2 1 0.2 0.2 {} -T {Vominus} 65 16 0 1 0.2 0.2 {} diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_14-53-50/parameters/Frequency/simulation_summary.csv b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_14-53-50/parameters/Frequency/simulation_summary.csv deleted file mode 100644 index f0e1ddca..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_14-53-50/parameters/Frequency/simulation_summary.csv +++ /dev/null @@ -1,2 +0,0 @@ -run,time_axis,vo_diff,frequency -run_0,"[0.000, 1.000e-13, 2.000e-13, …]","[1.501, 1.493, 1.488, …]",4.976e+08 diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_14-53-50/parameters/Frequency/simulation_summary.md b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_14-53-50/parameters/Frequency/simulation_summary.md deleted file mode 100644 index fba78079..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_14-53-50/parameters/Frequency/simulation_summary.md +++ /dev/null @@ -1,5 +0,0 @@ -# Simulation Summary for Freq - -| run | time_axis | vo_diff | frequency | -| :-- | --------: | ------: | --------: | -| run_0 | [0.000, 1.000e-13, 2.000e-13, …] | [1.501, 1.493, 1.488, …] | 4.976e+08 | diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_14-53-50/summary.md b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_14-53-50/summary.md deleted file mode 100644 index 13a3fa51..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_14-53-50/summary.md +++ /dev/null @@ -1,9 +0,0 @@ - -# CACE Summary for diff_ring_oscillator - -**netlist source**: schematic - -| Parameter | Tool | Result | Min Limit | Min Value | Typ Target | Typ Value | Max Limit | Max Value | Status | -| :------------------- | :------------------- | :-------------- | ---------: | -----------: | ---------: | -----------: | ---------: | -----------: | :------: | -| Freq | ngspice | frequency | any | 0.498 GHz | any | 0.498 GHz | any | 0.498 GHz | Pass ✅ | - diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_14-54-56/parameters/Frequency/diff_oscillator_tb.sch b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_14-54-56/parameters/Frequency/diff_oscillator_tb.sch deleted file mode 100644 index 7a5b911e..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_14-54-56/parameters/Frequency/diff_oscillator_tb.sch +++ /dev/null @@ -1,42 +0,0 @@ -v {xschem version=3.4.6 file_version=1.2} -G {} -K {} -V {} -S {} -E {} -N 760 -230 760 -210 {lab=vdd} -N 720 -230 720 -210 {lab=gnd} -N 830 -340 850 -340 {lab=Voplus} -N 830 -300 850 -300 {lab=Vominus} -C {opin.sym} 850 -340 0 0 {name=p3 lab=Voplus} -C {opin.sym} 850 -300 2 1 {name=p4 lab=Vominus} -C {code_shown.sym} 0 -840 0 0 {name=transient_tb only_toplevel=false -value=" -.param temp=27 -.ic V(Voplus)=1.2 -.control -save all -op -write diff_oscillator_tb.raw -set appendwrite -tran 10p 2n -save all -let vo_diff = v(Vominus) -set wr_singlescale -wrdata CACE\{simpath\}/CACE\{filename\}_CACE\{N\}.data vo_diff -write diff_oscillator_tb.raw -.endc -"} -C {iopin.sym} 760 -210 0 0 {name=p1 lab=vdd} -C {devices/code_shown.sym} 10 -510 0 0 {name=MODEL1 only_toplevel=true -format="tcleval( @value )" -value=" -.lib CACE\{PDK_ROOT\}/CACE\{PDK\}/libs.tech/ngspice/models/cornerMOSlv.lib mos_CACE\{corner\} - -.include CACE\{DUT_path\} - -.temp CACE\{temperature\} -" -} -C {diff_ring_oscillator.sym} 740 -320 0 0 {name=x1} -C {iopin.sym} 720 -210 2 0 {name=p2 lab=gnd} diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_14-54-56/parameters/Frequency/frequency.png b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_14-54-56/parameters/Frequency/frequency.png deleted file mode 100644 index 98cf514e..00000000 Binary files a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_14-54-56/parameters/Frequency/frequency.png and /dev/null differ diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_14-54-56/parameters/Frequency/run_0/.spiceinit b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_14-54-56/parameters/Frequency/run_0/.spiceinit deleted file mode 100644 index 02b902fb..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_14-54-56/parameters/Frequency/run_0/.spiceinit +++ /dev/null @@ -1,30 +0,0 @@ -* a custom spiceinit file for IHP-Open-PDK - -* export PDK_ROOT and PDK environmental variables first and add it to your .bashrc -* export PDK_ROOT= installation_specific_directory/IHP-Open-PDK -* export PDK=ihp-sg13g2 - -setcs sourcepath = ( $sourcepath $PDK_ROOT/$PDK/libs.tech/ngspice/models $PDK_ROOT/ihp-sg13g2/libs.ref/sg13g2_stdcell/spice ) -setcs sourcepath = ( $sourcepath $PDK_ROOT/$PDK/libs.tech/ngspice/models $PDK_ROOT/ihp-sg13g2/libs.ref/sg13g2_io/spice ) -*echo $sourcepath - -*option tnom=28 -*option list - -* KLU solver still do not work correctly for every simulation -*option klu - -*option node -*option opts -*option warn=1 -*option maxwarns=10 -*option savecurrents - -*set ngbehavior=hsa -*set noinit - -* add OSDI -osdi '$PDK_ROOT/$PDK/libs.tech/ngspice/osdi/psp103_nqs.osdi' -osdi '$PDK_ROOT/$PDK/libs.tech/ngspice/osdi/r3_cmc.osdi' -osdi '$PDK_ROOT/$PDK/libs.tech/ngspice/osdi/mosvar.osdi' - diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_14-54-56/parameters/Frequency/run_0/conditions.yaml b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_14-54-56/parameters/Frequency/run_0/conditions.yaml deleted file mode 100644 index 8b95e613..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_14-54-56/parameters/Frequency/run_0/conditions.yaml +++ /dev/null @@ -1,8 +0,0 @@ -DUT_path: /home/pedersen/projects/IHP-AnalogAcademy/modules/module_4_type_2_PLL/diff_Roscillator/xschem/simulations/schematic/diff_ring_oscillator.spice -N: 0 -PDK: ihp-sg13g2 -PDK_ROOT: /home/pedersen/IHP-Open-PDK -corner: tt -filename: diff_oscillator_tb -simpath: /home/pedersen/projects/IHP-AnalogAcademy/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_14-54-56/parameters/Frequency/run_0 -temperature: '27' diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_14-54-56/parameters/Frequency/run_0/diff_oscillator_tb.sch b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_14-54-56/parameters/Frequency/run_0/diff_oscillator_tb.sch deleted file mode 100644 index b9a76f33..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_14-54-56/parameters/Frequency/run_0/diff_oscillator_tb.sch +++ /dev/null @@ -1,42 +0,0 @@ -v {xschem version=3.4.6 file_version=1.2} -G {} -K {} -V {} -S {} -E {} -N 760 -230 760 -210 {lab=vdd} -N 720 -230 720 -210 {lab=gnd} -N 830 -340 850 -340 {lab=Voplus} -N 830 -300 850 -300 {lab=Vominus} -C {opin.sym} 850 -340 0 0 {name=p3 lab=Voplus} -C {opin.sym} 850 -300 2 1 {name=p4 lab=Vominus} -C {code_shown.sym} 0 -840 0 0 {name=transient_tb only_toplevel=false -value=" -.param temp=27 -.ic V(Voplus)=1.2 -.control -save all -op -write diff_oscillator_tb.raw -set appendwrite -tran 10p 2n -save all -let vo_diff = v(Vominus) -set wr_singlescale -wrdata /home/pedersen/projects/IHP-AnalogAcademy/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_14-54-56/parameters/Frequency/run_0/diff_oscillator_tb_0.data vo_diff -write diff_oscillator_tb.raw -.endc -"} -C {iopin.sym} 760 -210 0 0 {name=p1 lab=vdd} -C {devices/code_shown.sym} 10 -510 0 0 {name=MODEL1 only_toplevel=true -format="tcleval( @value )" -value=" -.lib /home/pedersen/IHP-Open-PDK/ihp-sg13g2/libs.tech/ngspice/models/cornerMOSlv.lib mos_tt - -.include /home/pedersen/projects/IHP-AnalogAcademy/modules/module_4_type_2_PLL/diff_Roscillator/xschem/simulations/schematic/diff_ring_oscillator.spice - -.temp 27 -" -} -C {diff_ring_oscillator.sym} 740 -320 0 0 {name=x1} -C {iopin.sym} 720 -210 2 0 {name=p2 lab=gnd} diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_14-54-56/parameters/Frequency/run_0/diff_oscillator_tb_0.data b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_14-54-56/parameters/Frequency/run_0/diff_oscillator_tb_0.data deleted file mode 100644 index 94a10bb1..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_14-54-56/parameters/Frequency/run_0/diff_oscillator_tb_0.data +++ /dev/null @@ -1,208 +0,0 @@ - 0.00000000e+00 -3.01490490e-01 - 1.00000000e-13 -3.02202826e-01 - 2.00000000e-13 -3.03217377e-01 - 4.00000000e-13 -3.05487354e-01 - 8.00000000e-13 -3.10275218e-01 - 1.60000000e-12 -3.19403583e-01 - 3.20000000e-12 -3.36524442e-01 - 6.40000000e-12 -3.64521958e-01 - 1.28000000e-11 -3.98981227e-01 - 2.28000000e-11 -4.43228477e-01 - 3.28000000e-11 -4.93037785e-01 - 4.28000000e-11 -5.39656031e-01 - 5.28000000e-11 -5.82569960e-01 - 6.28000000e-11 -6.19247599e-01 - 7.28000000e-11 -6.50724716e-01 - 8.28000000e-11 -6.75840014e-01 - 9.28000000e-11 -6.95891563e-01 - 1.02800000e-10 -7.11431033e-01 - 1.12800000e-10 -7.23499559e-01 - 1.22800000e-10 -7.32486459e-01 - 1.32800000e-10 -7.39227962e-01 - 1.42800000e-10 -7.44106441e-01 - 1.52800000e-10 -7.47706778e-01 - 1.62800000e-10 -7.50297462e-01 - 1.72800000e-10 -7.52247704e-01 - 1.82800000e-10 -7.53705550e-01 - 1.92800000e-10 -7.54885573e-01 - 2.02800000e-10 -7.55847028e-01 - 2.12800000e-10 -7.56709052e-01 - 2.22800000e-10 -7.57478760e-01 - 2.32800000e-10 -7.58222730e-01 - 2.42800000e-10 -7.58922387e-01 - 2.52800000e-10 -7.59617923e-01 - 2.62800000e-10 -7.60280787e-01 - 2.72800000e-10 -7.60939179e-01 - 2.82800000e-10 -7.61562746e-01 - 2.92800000e-10 -7.62174903e-01 - 3.02800000e-10 -7.62747147e-01 - 3.12800000e-10 -7.63301297e-01 - 3.22800000e-10 -7.63811913e-01 - 3.32800000e-10 -7.64300339e-01 - 3.42800000e-10 -7.64744245e-01 - 3.52800000e-10 -7.65164667e-01 - 3.62800000e-10 -7.65541965e-01 - 3.72800000e-10 -7.65896671e-01 - 3.82800000e-10 -7.66211317e-01 - 3.92800000e-10 -7.66505656e-01 - 4.02800000e-10 -7.66763929e-01 - 4.12800000e-10 -7.67004885e-01 - 4.22800000e-10 -7.67214108e-01 - 4.32800000e-10 -7.67409200e-01 - 4.42800000e-10 -7.67576833e-01 - 4.52800000e-10 -7.67733389e-01 - 4.62800000e-10 -7.67866462e-01 - 4.72800000e-10 -7.67991198e-01 - 4.82800000e-10 -7.68096006e-01 - 4.92800000e-10 -7.68194826e-01 - 5.02800000e-10 -7.68276812e-01 - 5.12800000e-10 -7.68354753e-01 - 5.22800000e-10 -7.68418504e-01 - 5.32800000e-10 -7.68479766e-01 - 5.42800000e-10 -7.68529072e-01 - 5.52800000e-10 -7.68577103e-01 - 5.62800000e-10 -7.68615050e-01 - 5.72800000e-10 -7.68652640e-01 - 5.82800000e-10 -7.68681710e-01 - 5.92800000e-10 -7.68711097e-01 - 6.02800000e-10 -7.68733266e-01 - 6.12800000e-10 -7.68756227e-01 - 6.22800000e-10 -7.68773059e-01 - 6.32800000e-10 -7.68790999e-01 - 6.42800000e-10 -7.68803722e-01 - 6.52800000e-10 -7.68817744e-01 - 6.62800000e-10 -7.68827316e-01 - 6.72800000e-10 -7.68838283e-01 - 6.82800000e-10 -7.68845452e-01 - 6.92800000e-10 -7.68854035e-01 - 7.02800000e-10 -7.68859379e-01 - 7.12800000e-10 -7.68866101e-01 - 7.22800000e-10 -7.68870067e-01 - 7.32800000e-10 -7.68875334e-01 - 7.42800000e-10 -7.68878265e-01 - 7.52800000e-10 -7.68882392e-01 - 7.62800000e-10 -7.68884551e-01 - 7.72800000e-10 -7.68887781e-01 - 7.82800000e-10 -7.68889372e-01 - 7.92800000e-10 -7.68891893e-01 - 8.02800000e-10 -7.68893068e-01 - 8.12800000e-10 -7.68895026e-01 - 8.22800000e-10 -7.68895903e-01 - 8.32800000e-10 -7.68897411e-01 - 8.42800000e-10 -7.68898078e-01 - 8.52800000e-10 -7.68899224e-01 - 8.62800000e-10 -7.68899749e-01 - 8.72800000e-10 -7.68900600e-01 - 8.82800000e-10 -7.68901033e-01 - 8.92800000e-10 -7.68901643e-01 - 9.02800000e-10 -7.68902021e-01 - 9.12800000e-10 -7.68902432e-01 - 9.22800000e-10 -7.68902783e-01 - 9.32800000e-10 -7.68903027e-01 - 9.42800000e-10 -7.68903372e-01 - 9.52800000e-10 -7.68903474e-01 - 9.62800000e-10 -7.68903828e-01 - 9.72800000e-10 -7.68903809e-01 - 9.82800000e-10 -7.68904182e-01 - 9.92800000e-10 -7.68904059e-01 - 1.00280000e-09 -7.68904458e-01 - 1.01280000e-09 -7.68904244e-01 - 1.02280000e-09 -7.68904674e-01 - 1.03280000e-09 -7.68904379e-01 - 1.04280000e-09 -7.68904844e-01 - 1.05280000e-09 -7.68904478e-01 - 1.06280000e-09 -7.68904979e-01 - 1.07280000e-09 -7.68904549e-01 - 1.08280000e-09 -7.68905086e-01 - 1.09280000e-09 -7.68904598e-01 - 1.10280000e-09 -7.68905172e-01 - 1.11280000e-09 -7.68904632e-01 - 1.12280000e-09 -7.68905242e-01 - 1.13280000e-09 -7.68904654e-01 - 1.14280000e-09 -7.68905299e-01 - 1.15280000e-09 -7.68904667e-01 - 1.16280000e-09 -7.68905345e-01 - 1.17280000e-09 -7.68904673e-01 - 1.18280000e-09 -7.68905384e-01 - 1.19280000e-09 -7.68904675e-01 - 1.20280000e-09 -7.68905417e-01 - 1.21280000e-09 -7.68904674e-01 - 1.22280000e-09 -7.68905444e-01 - 1.23280000e-09 -7.68904671e-01 - 1.24280000e-09 -7.68905468e-01 - 1.25280000e-09 -7.68904665e-01 - 1.26280000e-09 -7.68905488e-01 - 1.27280000e-09 -7.68904659e-01 - 1.28280000e-09 -7.68905506e-01 - 1.29280000e-09 -7.68904652e-01 - 1.30280000e-09 -7.68905521e-01 - 1.31280000e-09 -7.68904645e-01 - 1.32280000e-09 -7.68905535e-01 - 1.33280000e-09 -7.68904638e-01 - 1.34280000e-09 -7.68905546e-01 - 1.35280000e-09 -7.68904632e-01 - 1.36280000e-09 -7.68905557e-01 - 1.37280000e-09 -7.68904625e-01 - 1.38280000e-09 -7.68905566e-01 - 1.39280000e-09 -7.68904619e-01 - 1.40280000e-09 -7.68905575e-01 - 1.41280000e-09 -7.68904613e-01 - 1.42280000e-09 -7.68905582e-01 - 1.43280000e-09 -7.68904607e-01 - 1.44280000e-09 -7.68905588e-01 - 1.45280000e-09 -7.68904602e-01 - 1.46280000e-09 -7.68905594e-01 - 1.47280000e-09 -7.68904598e-01 - 1.48280000e-09 -7.68905599e-01 - 1.49280000e-09 -7.68904594e-01 - 1.50280000e-09 -7.68905603e-01 - 1.51280000e-09 -7.68904590e-01 - 1.52280000e-09 -7.68905607e-01 - 1.53280000e-09 -7.68904587e-01 - 1.54280000e-09 -7.68905610e-01 - 1.55280000e-09 -7.68904585e-01 - 1.56280000e-09 -7.68905613e-01 - 1.57280000e-09 -7.68904582e-01 - 1.58280000e-09 -7.68905615e-01 - 1.59280000e-09 -7.68904581e-01 - 1.60280000e-09 -7.68905617e-01 - 1.61280000e-09 -7.68904579e-01 - 1.62280000e-09 -7.68905618e-01 - 1.63280000e-09 -7.68904578e-01 - 1.64280000e-09 -7.68905619e-01 - 1.65280000e-09 -7.68904578e-01 - 1.66280000e-09 -7.68905619e-01 - 1.67280000e-09 -7.68904577e-01 - 1.68280000e-09 -7.68905620e-01 - 1.69280000e-09 -7.68904578e-01 - 1.70280000e-09 -7.68905619e-01 - 1.71280000e-09 -7.68904578e-01 - 1.72280000e-09 -7.68905619e-01 - 1.73280000e-09 -7.68904579e-01 - 1.74280000e-09 -7.68905618e-01 - 1.75280000e-09 -7.68904580e-01 - 1.76280000e-09 -7.68905617e-01 - 1.77280000e-09 -7.68904581e-01 - 1.78280000e-09 -7.68905615e-01 - 1.79280000e-09 -7.68904582e-01 - 1.80280000e-09 -7.68905614e-01 - 1.81280000e-09 -7.68904584e-01 - 1.82280000e-09 -7.68905612e-01 - 1.83280000e-09 -7.68904586e-01 - 1.84280000e-09 -7.68905610e-01 - 1.85280000e-09 -7.68904588e-01 - 1.86280000e-09 -7.68905607e-01 - 1.87280000e-09 -7.68904591e-01 - 1.88280000e-09 -7.68905605e-01 - 1.89280000e-09 -7.68904593e-01 - 1.90280000e-09 -7.68905602e-01 - 1.91280000e-09 -7.68904596e-01 - 1.92280000e-09 -7.68905599e-01 - 1.93280000e-09 -7.68904599e-01 - 1.94280000e-09 -7.68905596e-01 - 1.95280000e-09 -7.68904602e-01 - 1.96280000e-09 -7.68905593e-01 - 1.97280000e-09 -7.68904606e-01 - 1.98280000e-09 -7.68905590e-01 - 1.99280000e-09 -7.68904609e-01 - 2.00000000e-09 -7.68905584e-01 diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_14-54-56/parameters/Frequency/run_0/diff_ring_oscillator.sym b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_14-54-56/parameters/Frequency/run_0/diff_ring_oscillator.sym deleted file mode 100644 index e632b156..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_14-54-56/parameters/Frequency/run_0/diff_ring_oscillator.sym +++ /dev/null @@ -1,27 +0,0 @@ -v {xschem version=3.4.6 file_version=1.2} -G {} -K {type=primitive -format="@name @pinlist @symname" -template="name=x1" -} -V {} -S {} -E {} -L 4 70 -20 90 -20 {} -L 4 70 20 90 20 {} -L 7 20 70 20 90 {} -L 7 -20 70 -20 90 {} -B 5 87.5 -22.5 92.5 -17.5 {name=Voplus dir=out} -B 5 17.5 87.5 22.5 92.5 {name=vdd dir=inout} -B 5 -22.5 87.5 -17.5 92.5 {name=gnd dir=inout} -B 5 87.5 17.5 92.5 22.5 {name=Vominus dir=out} -A 4 -1.666666666666714 1.666666666666714 71.68604389202189 287.5924245621816 360 {} -A 4 -30 27.5 40.69705149024927 42.51044707800085 94.97910584399833 {} -A 4 30 -27.5 40.69705149024927 222.5104470780009 94.97910584399833 {} -T {@symname} -40.5 -56 0 0 0.1 0.1 {} -T {@name} -40 -47 0 0 0.1 0.1 { -} -T {Voplus} 65 -24 0 1 0.2 0.2 {} -T {vdd} 5 64 2 1 0.2 0.2 {} -T {gnd} -35 64 2 1 0.2 0.2 {} -T {Vominus} 65 16 0 1 0.2 0.2 {} diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_14-54-56/parameters/Frequency/simulation_summary.csv b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_14-54-56/parameters/Frequency/simulation_summary.csv deleted file mode 100644 index acee6e8f..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_14-54-56/parameters/Frequency/simulation_summary.csv +++ /dev/null @@ -1,2 +0,0 @@ -run,time_axis,vo_diff,frequency -run_0,"[0.000, 1.000e-13, 2.000e-13, …]","[-3.015e-01, -3.022e-01, -3.032e-01, …]",4.976e+08 diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_14-54-56/parameters/Frequency/simulation_summary.md b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_14-54-56/parameters/Frequency/simulation_summary.md deleted file mode 100644 index dc805474..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_14-54-56/parameters/Frequency/simulation_summary.md +++ /dev/null @@ -1,5 +0,0 @@ -# Simulation Summary for Freq - -| run | time_axis | vo_diff | frequency | -| :-- | --------: | ------: | --------: | -| run_0 | [0.000, 1.000e-13, 2.000e-13, …] | [-3.015e-01, -3.022e-01, -3.032e-01, …] | 4.976e+08 | diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_14-54-56/summary.md b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_14-54-56/summary.md deleted file mode 100644 index 13a3fa51..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_14-54-56/summary.md +++ /dev/null @@ -1,9 +0,0 @@ - -# CACE Summary for diff_ring_oscillator - -**netlist source**: schematic - -| Parameter | Tool | Result | Min Limit | Min Value | Typ Target | Typ Value | Max Limit | Max Value | Status | -| :------------------- | :------------------- | :-------------- | ---------: | -----------: | ---------: | -----------: | ---------: | -----------: | :------: | -| Freq | ngspice | frequency | any | 0.498 GHz | any | 0.498 GHz | any | 0.498 GHz | Pass ✅ | - diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-04-40/parameters/Frequency/diff_oscillator_tb.sch b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-04-40/parameters/Frequency/diff_oscillator_tb.sch deleted file mode 100644 index 8fa9c421..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-04-40/parameters/Frequency/diff_oscillator_tb.sch +++ /dev/null @@ -1,61 +0,0 @@ -v {xschem version=3.4.6 file_version=1.2} -G {} -K {} -V {} -S {} -E {} -N 760 -230 760 -210 {lab=vdd} -N 720 -230 720 -210 {lab=gnd} -N 830 -340 850 -340 {lab=Voplus} -N 830 -300 850 -300 {lab=Vominus} -C {opin.sym} 850 -340 0 0 {name=p3 lab=Voplus} -C {opin.sym} 850 -300 2 1 {name=p4 lab=Vominus} -C {code_shown.sym} 50 -1230 0 0 {name=transient_tb only_toplevel=false -value=" -.param temp=27 -* Keep this if your manual run has it — parity matters -.include diff_oscillator_tb.save - -.ic V(Voplus)=1.2 -.control -* Stability & parity options -set noaskquit -set numdgt=12 - -* Save vectors and run -save all -op -write diff_oscillator_tb.raw -set appendwrite -tran 10p 2n - -* Define explicit vectors (avoid V(...) on calculated vectors) -let vo_p = v(Voplus) -let vo_m = v(Vominus) -let vo_diff = vo_p - vo_m - -* --- Main file that CACE reads: 2 columns (time, vo_diff) --- -set wr_singlescale -wrdata CACE\{simpath\}/CACE\{filename\}_CACE\{N\}.data vo_diff - -* --- Extra debug file (CACE ignores): 4 columns w/ names --- -set wr_vecnames -wrdata CACE\{simpath\}/debug_CACE\{N\}.dat time vo_p vo_m vo_diff -unset wr_vecnames - -write diff_oscillator_tb.raw -.endc -"} -C {iopin.sym} 760 -210 0 0 {name=p1 lab=vdd} -C {devices/code_shown.sym} 10 -510 0 0 {name=MODEL1 only_toplevel=true -format="tcleval( @value )" -value=" -.lib CACE\{PDK_ROOT\}/CACE\{PDK\}/libs.tech/ngspice/models/cornerMOSlv.lib mos_CACE\{corner\} - -.include CACE\{DUT_path\} - -.temp CACE\{temperature\} -" -} -C {diff_ring_oscillator.sym} 740 -320 0 0 {name=x1} -C {iopin.sym} 720 -210 2 0 {name=p2 lab=gnd} diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-04-40/parameters/Frequency/run_0/.spiceinit b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-04-40/parameters/Frequency/run_0/.spiceinit deleted file mode 100644 index 02b902fb..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-04-40/parameters/Frequency/run_0/.spiceinit +++ /dev/null @@ -1,30 +0,0 @@ -* a custom spiceinit file for IHP-Open-PDK - -* export PDK_ROOT and PDK environmental variables first and add it to your .bashrc -* export PDK_ROOT= installation_specific_directory/IHP-Open-PDK -* export PDK=ihp-sg13g2 - -setcs sourcepath = ( $sourcepath $PDK_ROOT/$PDK/libs.tech/ngspice/models $PDK_ROOT/ihp-sg13g2/libs.ref/sg13g2_stdcell/spice ) -setcs sourcepath = ( $sourcepath $PDK_ROOT/$PDK/libs.tech/ngspice/models $PDK_ROOT/ihp-sg13g2/libs.ref/sg13g2_io/spice ) -*echo $sourcepath - -*option tnom=28 -*option list - -* KLU solver still do not work correctly for every simulation -*option klu - -*option node -*option opts -*option warn=1 -*option maxwarns=10 -*option savecurrents - -*set ngbehavior=hsa -*set noinit - -* add OSDI -osdi '$PDK_ROOT/$PDK/libs.tech/ngspice/osdi/psp103_nqs.osdi' -osdi '$PDK_ROOT/$PDK/libs.tech/ngspice/osdi/r3_cmc.osdi' -osdi '$PDK_ROOT/$PDK/libs.tech/ngspice/osdi/mosvar.osdi' - diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-04-40/parameters/Frequency/run_0/conditions.yaml b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-04-40/parameters/Frequency/run_0/conditions.yaml deleted file mode 100644 index ae3cb591..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-04-40/parameters/Frequency/run_0/conditions.yaml +++ /dev/null @@ -1,8 +0,0 @@ -DUT_path: /home/pedersen/projects/IHP-AnalogAcademy/modules/module_4_type_2_PLL/diff_Roscillator/xschem/simulations/schematic/diff_ring_oscillator.spice -N: 0 -PDK: ihp-sg13g2 -PDK_ROOT: /home/pedersen/IHP-Open-PDK -corner: tt -filename: diff_oscillator_tb -simpath: /home/pedersen/projects/IHP-AnalogAcademy/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-04-40/parameters/Frequency/run_0 -temperature: '27' diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-04-40/parameters/Frequency/run_0/diff_oscillator_tb.sch b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-04-40/parameters/Frequency/run_0/diff_oscillator_tb.sch deleted file mode 100644 index 8070d016..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-04-40/parameters/Frequency/run_0/diff_oscillator_tb.sch +++ /dev/null @@ -1,61 +0,0 @@ -v {xschem version=3.4.6 file_version=1.2} -G {} -K {} -V {} -S {} -E {} -N 760 -230 760 -210 {lab=vdd} -N 720 -230 720 -210 {lab=gnd} -N 830 -340 850 -340 {lab=Voplus} -N 830 -300 850 -300 {lab=Vominus} -C {opin.sym} 850 -340 0 0 {name=p3 lab=Voplus} -C {opin.sym} 850 -300 2 1 {name=p4 lab=Vominus} -C {code_shown.sym} 50 -1230 0 0 {name=transient_tb only_toplevel=false -value=" -.param temp=27 -* Keep this if your manual run has it — parity matters -.include diff_oscillator_tb.save - -.ic V(Voplus)=1.2 -.control -* Stability & parity options -set noaskquit -set numdgt=12 - -* Save vectors and run -save all -op -write diff_oscillator_tb.raw -set appendwrite -tran 10p 2n - -* Define explicit vectors (avoid V(...) on calculated vectors) -let vo_p = v(Voplus) -let vo_m = v(Vominus) -let vo_diff = vo_p - vo_m - -* --- Main file that CACE reads: 2 columns (time, vo_diff) --- -set wr_singlescale -wrdata /home/pedersen/projects/IHP-AnalogAcademy/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-04-40/parameters/Frequency/run_0/diff_oscillator_tb_0.data vo_diff - -* --- Extra debug file (CACE ignores): 4 columns w/ names --- -set wr_vecnames -wrdata /home/pedersen/projects/IHP-AnalogAcademy/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-04-40/parameters/Frequency/run_0/debug_0.dat time vo_p vo_m vo_diff -unset wr_vecnames - -write diff_oscillator_tb.raw -.endc -"} -C {iopin.sym} 760 -210 0 0 {name=p1 lab=vdd} -C {devices/code_shown.sym} 10 -510 0 0 {name=MODEL1 only_toplevel=true -format="tcleval( @value )" -value=" -.lib /home/pedersen/IHP-Open-PDK/ihp-sg13g2/libs.tech/ngspice/models/cornerMOSlv.lib mos_tt - -.include /home/pedersen/projects/IHP-AnalogAcademy/modules/module_4_type_2_PLL/diff_Roscillator/xschem/simulations/schematic/diff_ring_oscillator.spice - -.temp 27 -" -} -C {diff_ring_oscillator.sym} 740 -320 0 0 {name=x1} -C {iopin.sym} 720 -210 2 0 {name=p2 lab=gnd} diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-04-40/parameters/Frequency/run_0/diff_ring_oscillator.sym b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-04-40/parameters/Frequency/run_0/diff_ring_oscillator.sym deleted file mode 100644 index e632b156..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-04-40/parameters/Frequency/run_0/diff_ring_oscillator.sym +++ /dev/null @@ -1,27 +0,0 @@ -v {xschem version=3.4.6 file_version=1.2} -G {} -K {type=primitive -format="@name @pinlist @symname" -template="name=x1" -} -V {} -S {} -E {} -L 4 70 -20 90 -20 {} -L 4 70 20 90 20 {} -L 7 20 70 20 90 {} -L 7 -20 70 -20 90 {} -B 5 87.5 -22.5 92.5 -17.5 {name=Voplus dir=out} -B 5 17.5 87.5 22.5 92.5 {name=vdd dir=inout} -B 5 -22.5 87.5 -17.5 92.5 {name=gnd dir=inout} -B 5 87.5 17.5 92.5 22.5 {name=Vominus dir=out} -A 4 -1.666666666666714 1.666666666666714 71.68604389202189 287.5924245621816 360 {} -A 4 -30 27.5 40.69705149024927 42.51044707800085 94.97910584399833 {} -A 4 30 -27.5 40.69705149024927 222.5104470780009 94.97910584399833 {} -T {@symname} -40.5 -56 0 0 0.1 0.1 {} -T {@name} -40 -47 0 0 0.1 0.1 { -} -T {Voplus} 65 -24 0 1 0.2 0.2 {} -T {vdd} 5 64 2 1 0.2 0.2 {} -T {gnd} -35 64 2 1 0.2 0.2 {} -T {Vominus} 65 16 0 1 0.2 0.2 {} diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-04-40/summary.md b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-04-40/summary.md deleted file mode 100644 index 6072c5cc..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-04-40/summary.md +++ /dev/null @@ -1,9 +0,0 @@ - -# CACE Summary for diff_ring_oscillator - -**netlist source**: schematic - -| Parameter | Tool | Result | Min Limit | Min Value | Typ Target | Typ Value | Max Limit | Max Value | Status | -| :------------------- | :------------------- | :-------------- | ---------: | -----------: | ---------: | -----------: | ---------: | -----------: | :------: | -| Freq | ngspice | frequency | any | ​ | any | ​ | any | ​ | Error ❗ | - diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-04-51/parameters/Frequency/diff_oscillator_tb.sch b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-04-51/parameters/Frequency/diff_oscillator_tb.sch deleted file mode 100644 index 5c9d54d2..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-04-51/parameters/Frequency/diff_oscillator_tb.sch +++ /dev/null @@ -1,60 +0,0 @@ -v {xschem version=3.4.6 file_version=1.2} -G {} -K {} -V {} -S {} -E {} -N 760 -230 760 -210 {lab=vdd} -N 720 -230 720 -210 {lab=gnd} -N 830 -340 850 -340 {lab=Voplus} -N 830 -300 850 -300 {lab=Vominus} -C {opin.sym} 850 -340 0 0 {name=p3 lab=Voplus} -C {opin.sym} 850 -300 2 1 {name=p4 lab=Vominus} -C {code_shown.sym} 50 -1230 0 0 {name=transient_tb only_toplevel=false -value=" -.param temp=27 -* Keep this if your manual run has it — parity matters - -.ic V(Voplus)=1.2 -.control -* Stability & parity options -set noaskquit -set numdgt=12 - -* Save vectors and run -save all -op -write diff_oscillator_tb.raw -set appendwrite -tran 10p 2n - -* Define explicit vectors (avoid V(...) on calculated vectors) -let vo_p = v(Voplus) -let vo_m = v(Vominus) -let vo_diff = vo_p - vo_m - -* --- Main file that CACE reads: 2 columns (time, vo_diff) --- -set wr_singlescale -wrdata CACE\{simpath\}/CACE\{filename\}_CACE\{N\}.data vo_diff - -* --- Extra debug file (CACE ignores): 4 columns w/ names --- -set wr_vecnames -wrdata CACE\{simpath\}/debug_CACE\{N\}.dat time vo_p vo_m vo_diff -unset wr_vecnames - -write diff_oscillator_tb.raw -.endc -"} -C {iopin.sym} 760 -210 0 0 {name=p1 lab=vdd} -C {devices/code_shown.sym} 10 -510 0 0 {name=MODEL1 only_toplevel=true -format="tcleval( @value )" -value=" -.lib CACE\{PDK_ROOT\}/CACE\{PDK\}/libs.tech/ngspice/models/cornerMOSlv.lib mos_CACE\{corner\} - -.include CACE\{DUT_path\} - -.temp CACE\{temperature\} -" -} -C {diff_ring_oscillator.sym} 740 -320 0 0 {name=x1} -C {iopin.sym} 720 -210 2 0 {name=p2 lab=gnd} diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-04-51/parameters/Frequency/frequency.png b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-04-51/parameters/Frequency/frequency.png deleted file mode 100644 index f8b9f9a1..00000000 Binary files a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-04-51/parameters/Frequency/frequency.png and /dev/null differ diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-04-51/parameters/Frequency/run_0/.spiceinit b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-04-51/parameters/Frequency/run_0/.spiceinit deleted file mode 100644 index 02b902fb..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-04-51/parameters/Frequency/run_0/.spiceinit +++ /dev/null @@ -1,30 +0,0 @@ -* a custom spiceinit file for IHP-Open-PDK - -* export PDK_ROOT and PDK environmental variables first and add it to your .bashrc -* export PDK_ROOT= installation_specific_directory/IHP-Open-PDK -* export PDK=ihp-sg13g2 - -setcs sourcepath = ( $sourcepath $PDK_ROOT/$PDK/libs.tech/ngspice/models $PDK_ROOT/ihp-sg13g2/libs.ref/sg13g2_stdcell/spice ) -setcs sourcepath = ( $sourcepath $PDK_ROOT/$PDK/libs.tech/ngspice/models $PDK_ROOT/ihp-sg13g2/libs.ref/sg13g2_io/spice ) -*echo $sourcepath - -*option tnom=28 -*option list - -* KLU solver still do not work correctly for every simulation -*option klu - -*option node -*option opts -*option warn=1 -*option maxwarns=10 -*option savecurrents - -*set ngbehavior=hsa -*set noinit - -* add OSDI -osdi '$PDK_ROOT/$PDK/libs.tech/ngspice/osdi/psp103_nqs.osdi' -osdi '$PDK_ROOT/$PDK/libs.tech/ngspice/osdi/r3_cmc.osdi' -osdi '$PDK_ROOT/$PDK/libs.tech/ngspice/osdi/mosvar.osdi' - diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-04-51/parameters/Frequency/run_0/conditions.yaml b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-04-51/parameters/Frequency/run_0/conditions.yaml deleted file mode 100644 index f855aa1f..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-04-51/parameters/Frequency/run_0/conditions.yaml +++ /dev/null @@ -1,8 +0,0 @@ -DUT_path: /home/pedersen/projects/IHP-AnalogAcademy/modules/module_4_type_2_PLL/diff_Roscillator/xschem/simulations/schematic/diff_ring_oscillator.spice -N: 0 -PDK: ihp-sg13g2 -PDK_ROOT: /home/pedersen/IHP-Open-PDK -corner: tt -filename: diff_oscillator_tb -simpath: /home/pedersen/projects/IHP-AnalogAcademy/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-04-51/parameters/Frequency/run_0 -temperature: '27' diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-04-51/parameters/Frequency/run_0/diff_oscillator_tb.sch b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-04-51/parameters/Frequency/run_0/diff_oscillator_tb.sch deleted file mode 100644 index a8e9d5b2..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-04-51/parameters/Frequency/run_0/diff_oscillator_tb.sch +++ /dev/null @@ -1,60 +0,0 @@ -v {xschem version=3.4.6 file_version=1.2} -G {} -K {} -V {} -S {} -E {} -N 760 -230 760 -210 {lab=vdd} -N 720 -230 720 -210 {lab=gnd} -N 830 -340 850 -340 {lab=Voplus} -N 830 -300 850 -300 {lab=Vominus} -C {opin.sym} 850 -340 0 0 {name=p3 lab=Voplus} -C {opin.sym} 850 -300 2 1 {name=p4 lab=Vominus} -C {code_shown.sym} 50 -1230 0 0 {name=transient_tb only_toplevel=false -value=" -.param temp=27 -* Keep this if your manual run has it — parity matters - -.ic V(Voplus)=1.2 -.control -* Stability & parity options -set noaskquit -set numdgt=12 - -* Save vectors and run -save all -op -write diff_oscillator_tb.raw -set appendwrite -tran 10p 2n - -* Define explicit vectors (avoid V(...) on calculated vectors) -let vo_p = v(Voplus) -let vo_m = v(Vominus) -let vo_diff = vo_p - vo_m - -* --- Main file that CACE reads: 2 columns (time, vo_diff) --- -set wr_singlescale -wrdata /home/pedersen/projects/IHP-AnalogAcademy/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-04-51/parameters/Frequency/run_0/diff_oscillator_tb_0.data vo_diff - -* --- Extra debug file (CACE ignores): 4 columns w/ names --- -set wr_vecnames -wrdata /home/pedersen/projects/IHP-AnalogAcademy/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-04-51/parameters/Frequency/run_0/debug_0.dat time vo_p vo_m vo_diff -unset wr_vecnames - -write diff_oscillator_tb.raw -.endc -"} -C {iopin.sym} 760 -210 0 0 {name=p1 lab=vdd} -C {devices/code_shown.sym} 10 -510 0 0 {name=MODEL1 only_toplevel=true -format="tcleval( @value )" -value=" -.lib /home/pedersen/IHP-Open-PDK/ihp-sg13g2/libs.tech/ngspice/models/cornerMOSlv.lib mos_tt - -.include /home/pedersen/projects/IHP-AnalogAcademy/modules/module_4_type_2_PLL/diff_Roscillator/xschem/simulations/schematic/diff_ring_oscillator.spice - -.temp 27 -" -} -C {diff_ring_oscillator.sym} 740 -320 0 0 {name=x1} -C {iopin.sym} 720 -210 2 0 {name=p2 lab=gnd} diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-04-51/parameters/Frequency/run_0/diff_oscillator_tb_0.data b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-04-51/parameters/Frequency/run_0/diff_oscillator_tb_0.data deleted file mode 100644 index 4a0b5ac2..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-04-51/parameters/Frequency/run_0/diff_oscillator_tb_0.data +++ /dev/null @@ -1,208 +0,0 @@ - 0.000000000000e+00 1.501490489952e+00 - 1.000000000000e-13 1.493059332822e+00 - 2.000000000000e-13 1.487629932209e+00 - 4.000000000000e-13 1.478353768016e+00 - 8.000000000000e-13 1.461646802601e+00 - 1.600000000000e-12 1.428565592219e+00 - 3.200000000000e-12 1.366984627607e+00 - 6.400000000000e-12 1.257824602026e+00 - 1.280000000000e-11 1.083291838740e+00 - 2.280000000000e-11 8.710354931983e-01 - 3.280000000000e-11 7.012548342612e-01 - 4.280000000000e-11 5.692686657539e-01 - 5.280000000000e-11 4.674728734214e-01 - 6.280000000000e-11 3.881336879207e-01 - 7.280000000000e-11 3.259633362701e-01 - 8.280000000000e-11 2.758334023214e-01 - 9.280000000000e-11 2.352724747795e-01 - 1.028000000000e-10 2.014490165507e-01 - 1.128000000000e-10 1.729764887031e-01 - 1.228000000000e-10 1.482579790988e-01 - 1.328000000000e-10 1.268516151810e-01 - 1.428000000000e-10 1.078527366224e-01 - 1.528000000000e-10 9.130497780307e-02 - 1.628000000000e-10 7.664902855206e-02 - 1.728000000000e-10 6.408058136449e-02 - 1.828000000000e-10 5.311114526166e-02 - 1.928000000000e-10 4.391416298544e-02 - 2.028000000000e-10 3.598964843066e-02 - 2.128000000000e-10 2.948572457647e-02 - 2.228000000000e-10 2.391966019122e-02 - 2.328000000000e-10 1.944682229659e-02 - 2.428000000000e-10 1.562242854644e-02 - 2.528000000000e-10 1.262117501377e-02 - 2.628000000000e-10 1.003964957631e-02 - 2.728000000000e-10 8.072285909579e-03 - 2.828000000000e-10 6.353631794527e-03 - 2.928000000000e-10 5.094126301006e-03 - 3.028000000000e-10 3.960774252123e-03 - 3.128000000000e-10 3.175158522702e-03 - 3.228000000000e-10 2.431038392751e-03 - 3.328000000000e-10 1.956458525826e-03 - 3.428000000000e-10 1.466860117281e-03 - 3.528000000000e-10 1.192816155690e-03 - 3.628000000000e-10 8.673101959982e-04 - 3.728000000000e-10 7.204192692291e-04 - 3.828000000000e-10 4.994750120545e-04 - 3.928000000000e-10 4.318861942222e-04 - 4.028000000000e-10 2.769565308169e-04 - 4.128000000000e-10 2.579568886254e-04 - 4.228000000000e-10 1.444337625361e-04 - 4.328000000000e-10 1.545855356601e-04 - 4.428000000000e-10 6.695352871566e-05 - 4.528000000000e-10 9.411428076378e-05 - 4.628000000000e-10 2.269962569268e-05 - 4.728000000000e-10 5.938071020783e-05 - 4.828000000000e-10 -1.786122408753e-06 - 4.928000000000e-10 3.985853511801e-05 - 5.028000000000e-10 -1.470836099826e-05 - 5.128000000000e-10 2.916907092532e-05 - 5.228000000000e-10 -2.100642431524e-05 - 5.328000000000e-10 2.349752400843e-05 - 5.428000000000e-10 -2.361221195224e-05 - 5.528000000000e-10 2.059661099585e-05 - 5.628000000000e-10 -2.423734279522e-05 - 5.728000000000e-10 1.916628093812e-05 - 5.828000000000e-10 -2.386067200999e-05 - 5.928000000000e-10 1.847151578238e-05 - 6.028000000000e-10 -2.302712873670e-05 - 6.128000000000e-10 1.810929381141e-05 - 6.228000000000e-10 -2.202891751879e-05 - 6.328000000000e-10 1.786810534277e-05 - 6.428000000000e-10 -2.101407922339e-05 - 6.528000000000e-10 1.764434272822e-05 - 6.628000000000e-10 -2.005063535315e-05 - 6.728000000000e-10 1.739328754791e-05 - 6.828000000000e-10 -1.916385916301e-05 - 6.928000000000e-10 1.710091054175e-05 - 7.028000000000e-10 -1.835747965595e-05 - 7.128000000000e-10 1.676803280681e-05 - 7.228000000000e-10 -1.762541197881e-05 - 7.328000000000e-10 1.640171764550e-05 - 7.428000000000e-10 -1.695799551626e-05 - 7.528000000000e-10 1.601081233293e-05 - 7.628000000000e-10 -1.634511571857e-05 - 7.728000000000e-10 1.560381375043e-05 - 7.828000000000e-10 -1.577760799520e-05 - 7.928000000000e-10 1.518799157274e-05 - 8.028000000000e-10 -1.524775235184e-05 - 8.128000000000e-10 1.476915897591e-05 - 8.228000000000e-10 -1.474931656797e-05 - 8.328000000000e-10 1.435174987197e-05 - 8.428000000000e-10 -1.427739921545e-05 - 8.528000000000e-10 1.393901916680e-05 - 8.628000000000e-10 -1.382820520168e-05 - 8.728000000000e-10 1.353327195985e-05 - 8.828000000000e-10 -1.339881866980e-05 - 8.928000000000e-10 1.313607799325e-05 - 9.028000000000e-10 -1.298700201535e-05 - 9.128000000000e-10 1.274845373045e-05 - 9.228000000000e-10 -1.259102994633e-05 - 9.328000000000e-10 1.237100900031e-05 - 9.428000000000e-10 -1.220955849468e-05 - 9.528000000000e-10 1.200406044899e-05 - 9.628000000000e-10 -1.184152464995e-05 - 9.728000000000e-10 1.164771719997e-05 - 9.828000000000e-10 -1.148607117096e-05 - 9.928000000000e-10 1.130194420718e-05 - 1.002800000000e-09 -1.114249112399e-05 - 1.012800000000e-09 1.096660837263e-05 - 1.022800000000e-09 -1.081018744209e-05 - 1.032800000000e-09 1.064151162311e-05 - 1.042800000000e-09 -1.048864387188e-05 - 1.052800000000e-09 1.032641430831e-05 - 1.062800000000e-09 -1.017740419751e-05 - 1.072800000000e-09 1.002105167147e-05 - 1.082800000000e-09 -9.876057346259e-06 - 1.092800000000e-09 9.725145261541e-06 - 1.102800000000e-09 -9.584226945858e-06 - 1.112800000000e-09 9.438410707774e-06 - 1.122800000000e-09 -9.301563827502e-06 - 1.132800000000e-09 9.160563030908e-06 - 1.142800000000e-09 -9.027740791145e-06 - 1.152800000000e-09 8.891320125715e-06 - 1.162800000000e-09 -8.762448812982e-06 - 1.172800000000e-09 8.630405064824e-06 - 1.182800000000e-09 -8.505394331504e-06 - 1.192800000000e-09 8.377547491611e-06 - 1.202800000000e-09 -8.256297357567e-06 - 1.212800000000e-09 8.132484513035e-06 - 1.222800000000e-09 -8.014889896324e-06 - 1.232800000000e-09 7.894961171484e-06 - 1.242800000000e-09 -7.780914935585e-06 - 1.252800000000e-09 7.664730634294e-06 - 1.262800000000e-09 -7.554125537435e-06 - 1.272800000000e-09 7.441554215393e-06 - 1.282800000000e-09 -7.334284250926e-06 - 1.292800000000e-09 7.225201268501e-06 - 1.302800000000e-09 -7.121162471257e-06 - 1.312800000000e-09 7.015449091319e-06 - 1.322800000000e-09 -6.914539934288e-06 - 1.332800000000e-09 6.812082669394e-06 - 1.342800000000e-09 -6.714204455416e-06 - 1.352800000000e-09 6.614894461632e-06 - 1.362800000000e-09 -6.519951391781e-06 - 1.372800000000e-09 6.423684174472e-06 - 1.382800000000e-09 -6.331583441765e-06 - 1.392800000000e-09 6.238258495772e-06 - 1.402800000000e-09 -6.148910241865e-06 - 1.412800000000e-09 6.058430853551e-06 - 1.422800000000e-09 -5.971748166966e-06 - 1.432800000000e-09 5.884021181624e-06 - 1.442800000000e-09 -5.799920003269e-06 - 1.452800000000e-09 5.714855647487e-06 - 1.462800000000e-09 -5.633254736237e-06 - 1.472800000000e-09 5.550766467022e-06 - 1.482800000000e-09 -5.471587278483e-06 - 1.492800000000e-09 5.391591650694e-06 - 1.502800000000e-09 -5.314758271147e-06 - 1.512800000000e-09 5.237174787509e-06 - 1.522800000000e-09 -5.162613846865e-06 - 1.532800000000e-09 5.087364853162e-06 - 1.542800000000e-09 -5.015005435038e-06 - 1.552800000000e-09 4.942015990217e-06 - 1.562800000000e-09 -4.871789542116e-06 - 1.572800000000e-09 4.800987341902e-06 - 1.582800000000e-09 -4.732827582177e-06 - 1.592800000000e-09 4.664142846167e-06 - 1.602800000000e-09 -4.597985687416e-06 - 1.612800000000e-09 4.531351042836e-06 - 1.622800000000e-09 -4.467134543940e-06 - 1.632800000000e-09 4.402484940158e-06 - 1.642800000000e-09 -4.340149208248e-06 - 1.652800000000e-09 4.277421828847e-06 - 1.662800000000e-09 -4.216908940147e-06 - 1.672800000000e-09 4.156043125314e-06 - 1.682800000000e-09 -4.097297067740e-06 - 1.692800000000e-09 4.038234226900e-06 - 1.702800000000e-09 -3.981200836667e-06 - 1.712800000000e-09 3.923884363544e-06 - 1.722800000000e-09 -3.868511237570e-06 - 1.732800000000e-09 3.812886476329e-06 - 1.742800000000e-09 -3.759122911395e-06 - 1.752800000000e-09 3.705137014531e-06 - 1.762800000000e-09 -3.652934007503e-06 - 1.772800000000e-09 3.600535924630e-06 - 1.782800000000e-09 -3.549846003148e-06 - 1.792800000000e-09 3.498986428596e-06 - 1.802800000000e-09 -3.449763679053e-06 - 1.812800000000e-09 3.400394904207e-06 - 1.822800000000e-09 -3.352594933781e-06 - 1.832800000000e-09 3.304670882387e-06 - 1.842800000000e-09 -3.258250656057e-06 - 1.852800000000e-09 3.211726785857e-06 - 1.862800000000e-09 -3.166644716113e-06 - 1.872800000000e-09 3.121477931800e-06 - 1.882800000000e-09 -3.077693713549e-06 - 1.892800000000e-09 3.033842391531e-06 - 1.902800000000e-09 -2.991317038625e-06 - 1.912800000000e-09 2.948740905895e-06 - 1.922800000000e-09 -2.907436633337e-06 - 1.932800000000e-09 2.866096736276e-06 - 1.942800000000e-09 -2.825977035048e-06 - 1.952800000000e-09 2.785835670593e-06 - 1.962800000000e-09 -2.746865162440e-06 - 1.972800000000e-09 2.707885854991e-06 - 1.982800000000e-09 -2.670030278207e-06 - 1.992800000000e-09 2.632177803608e-06 - 2.000000000000e-09 -2.576528895126e-06 diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-04-51/parameters/Frequency/run_0/diff_ring_oscillator.sym b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-04-51/parameters/Frequency/run_0/diff_ring_oscillator.sym deleted file mode 100644 index e632b156..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-04-51/parameters/Frequency/run_0/diff_ring_oscillator.sym +++ /dev/null @@ -1,27 +0,0 @@ -v {xschem version=3.4.6 file_version=1.2} -G {} -K {type=primitive -format="@name @pinlist @symname" -template="name=x1" -} -V {} -S {} -E {} -L 4 70 -20 90 -20 {} -L 4 70 20 90 20 {} -L 7 20 70 20 90 {} -L 7 -20 70 -20 90 {} -B 5 87.5 -22.5 92.5 -17.5 {name=Voplus dir=out} -B 5 17.5 87.5 22.5 92.5 {name=vdd dir=inout} -B 5 -22.5 87.5 -17.5 92.5 {name=gnd dir=inout} -B 5 87.5 17.5 92.5 22.5 {name=Vominus dir=out} -A 4 -1.666666666666714 1.666666666666714 71.68604389202189 287.5924245621816 360 {} -A 4 -30 27.5 40.69705149024927 42.51044707800085 94.97910584399833 {} -A 4 30 -27.5 40.69705149024927 222.5104470780009 94.97910584399833 {} -T {@symname} -40.5 -56 0 0 0.1 0.1 {} -T {@name} -40 -47 0 0 0.1 0.1 { -} -T {Voplus} 65 -24 0 1 0.2 0.2 {} -T {vdd} 5 64 2 1 0.2 0.2 {} -T {gnd} -35 64 2 1 0.2 0.2 {} -T {Vominus} 65 16 0 1 0.2 0.2 {} diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-04-51/parameters/Frequency/simulation_summary.csv b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-04-51/parameters/Frequency/simulation_summary.csv deleted file mode 100644 index f0e1ddca..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-04-51/parameters/Frequency/simulation_summary.csv +++ /dev/null @@ -1,2 +0,0 @@ -run,time_axis,vo_diff,frequency -run_0,"[0.000, 1.000e-13, 2.000e-13, …]","[1.501, 1.493, 1.488, …]",4.976e+08 diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-04-51/parameters/Frequency/simulation_summary.md b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-04-51/parameters/Frequency/simulation_summary.md deleted file mode 100644 index fba78079..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-04-51/parameters/Frequency/simulation_summary.md +++ /dev/null @@ -1,5 +0,0 @@ -# Simulation Summary for Freq - -| run | time_axis | vo_diff | frequency | -| :-- | --------: | ------: | --------: | -| run_0 | [0.000, 1.000e-13, 2.000e-13, …] | [1.501, 1.493, 1.488, …] | 4.976e+08 | diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-04-51/summary.md b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-04-51/summary.md deleted file mode 100644 index 13a3fa51..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-04-51/summary.md +++ /dev/null @@ -1,9 +0,0 @@ - -# CACE Summary for diff_ring_oscillator - -**netlist source**: schematic - -| Parameter | Tool | Result | Min Limit | Min Value | Typ Target | Typ Value | Max Limit | Max Value | Status | -| :------------------- | :------------------- | :-------------- | ---------: | -----------: | ---------: | -----------: | ---------: | -----------: | :------: | -| Freq | ngspice | frequency | any | 0.498 GHz | any | 0.498 GHz | any | 0.498 GHz | Pass ✅ | - diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-27-09/parameters/Frequency/diff_oscillator_tb.sch b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-27-09/parameters/Frequency/diff_oscillator_tb.sch deleted file mode 100644 index 2816ca3f..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-27-09/parameters/Frequency/diff_oscillator_tb.sch +++ /dev/null @@ -1,65 +0,0 @@ -v {xschem version=3.4.6 file_version=1.2} -G {} -K {} -V {} -S {} -E {} -N 760 -230 760 -210 {lab=vdd} -N 720 -230 720 -210 {lab=gnd} -N 830 -340 850 -340 {lab=Voplus} -N 830 -300 850 -300 {lab=Vominus} -N 390 -280 390 -250 {lab=GND} -N 390 -370 390 -340 {lab=vdd} -C {opin.sym} 850 -340 0 0 {name=p3 lab=Voplus} -C {opin.sym} 850 -300 2 1 {name=p4 lab=Vominus} -C {code_shown.sym} 10 -1170 0 0 {name=transient_tb only_toplevel=false -value=" -.param temp=27 -* Keep this if your manual run has it — parity matters - -.ic V(Voplus)=1.2 -.control -* Stability & parity options -set noaskquit -set numdgt=12 - -* Save vectors and run -save all -op -write diff_oscillator_tb.raw -set appendwrite -tran 10p 2n - -* Define explicit vectors (avoid V(...) on calculated vectors) -let vo_p = v(Voplus) -let vo_m = v(Vominus) -let vo_diff = vo_p - vo_m - -* --- Main file that CACE reads: 2 columns (time, vo_diff) --- -set wr_singlescale -wrdata CACE\{simpath\}/CACE\{filename\}_CACE\{N\}.data vo_diff - -* --- Extra debug file (CACE ignores): 4 columns w/ names --- -set wr_vecnames -wrdata CACE\{simpath\}/debug_CACE\{N\}.dat time vo_p vo_m vo_diff -unset wr_vecnames - -write diff_oscillator_tb.raw -.endc -"} -C {iopin.sym} 760 -210 0 0 {name=p1 lab=vdd} -C {devices/code_shown.sym} 10 -510 0 0 {name=MODEL1 only_toplevel=true -format="tcleval( @value )" -value=" -.lib CACE\{PDK_ROOT\}/CACE\{PDK\}/libs.tech/ngspice/models/cornerMOSlv.lib mos_CACE\{corner\} - -.include CACE\{DUT_path\} - -.temp CACE\{temperature\} -" -} -C {diff_ring_oscillator.sym} 740 -320 0 0 {name=x1} -C {iopin.sym} 720 -210 2 0 {name=p2 lab=gnd} -C {vsource.sym} 390 -310 0 0 {name=V1 value=1.2 savecurrent=false} -C {gnd.sym} 390 -250 0 0 {name=l1 lab=GND} -C {lab_pin.sym} 390 -370 2 0 {name=p5 sig_type=std_logic lab=vdd} diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-27-09/parameters/Frequency/frequency.png b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-27-09/parameters/Frequency/frequency.png deleted file mode 100644 index 50dc9b77..00000000 Binary files a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-27-09/parameters/Frequency/frequency.png and /dev/null differ diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-27-09/parameters/Frequency/run_0/.spiceinit b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-27-09/parameters/Frequency/run_0/.spiceinit deleted file mode 100644 index 02b902fb..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-27-09/parameters/Frequency/run_0/.spiceinit +++ /dev/null @@ -1,30 +0,0 @@ -* a custom spiceinit file for IHP-Open-PDK - -* export PDK_ROOT and PDK environmental variables first and add it to your .bashrc -* export PDK_ROOT= installation_specific_directory/IHP-Open-PDK -* export PDK=ihp-sg13g2 - -setcs sourcepath = ( $sourcepath $PDK_ROOT/$PDK/libs.tech/ngspice/models $PDK_ROOT/ihp-sg13g2/libs.ref/sg13g2_stdcell/spice ) -setcs sourcepath = ( $sourcepath $PDK_ROOT/$PDK/libs.tech/ngspice/models $PDK_ROOT/ihp-sg13g2/libs.ref/sg13g2_io/spice ) -*echo $sourcepath - -*option tnom=28 -*option list - -* KLU solver still do not work correctly for every simulation -*option klu - -*option node -*option opts -*option warn=1 -*option maxwarns=10 -*option savecurrents - -*set ngbehavior=hsa -*set noinit - -* add OSDI -osdi '$PDK_ROOT/$PDK/libs.tech/ngspice/osdi/psp103_nqs.osdi' -osdi '$PDK_ROOT/$PDK/libs.tech/ngspice/osdi/r3_cmc.osdi' -osdi '$PDK_ROOT/$PDK/libs.tech/ngspice/osdi/mosvar.osdi' - diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-27-09/parameters/Frequency/run_0/conditions.yaml b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-27-09/parameters/Frequency/run_0/conditions.yaml deleted file mode 100644 index db3e0bb8..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-27-09/parameters/Frequency/run_0/conditions.yaml +++ /dev/null @@ -1,8 +0,0 @@ -DUT_path: /home/pedersen/projects/IHP-AnalogAcademy/modules/module_4_type_2_PLL/diff_Roscillator/xschem/simulations/schematic/diff_ring_oscillator.spice -N: 0 -PDK: ihp-sg13g2 -PDK_ROOT: /home/pedersen/IHP-Open-PDK -corner: tt -filename: diff_oscillator_tb -simpath: /home/pedersen/projects/IHP-AnalogAcademy/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-27-09/parameters/Frequency/run_0 -temperature: '27' diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-27-09/parameters/Frequency/run_0/diff_oscillator_tb.sch b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-27-09/parameters/Frequency/run_0/diff_oscillator_tb.sch deleted file mode 100644 index a110c9f0..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-27-09/parameters/Frequency/run_0/diff_oscillator_tb.sch +++ /dev/null @@ -1,65 +0,0 @@ -v {xschem version=3.4.6 file_version=1.2} -G {} -K {} -V {} -S {} -E {} -N 760 -230 760 -210 {lab=vdd} -N 720 -230 720 -210 {lab=gnd} -N 830 -340 850 -340 {lab=Voplus} -N 830 -300 850 -300 {lab=Vominus} -N 390 -280 390 -250 {lab=GND} -N 390 -370 390 -340 {lab=vdd} -C {opin.sym} 850 -340 0 0 {name=p3 lab=Voplus} -C {opin.sym} 850 -300 2 1 {name=p4 lab=Vominus} -C {code_shown.sym} 10 -1170 0 0 {name=transient_tb only_toplevel=false -value=" -.param temp=27 -* Keep this if your manual run has it — parity matters - -.ic V(Voplus)=1.2 -.control -* Stability & parity options -set noaskquit -set numdgt=12 - -* Save vectors and run -save all -op -write diff_oscillator_tb.raw -set appendwrite -tran 10p 2n - -* Define explicit vectors (avoid V(...) on calculated vectors) -let vo_p = v(Voplus) -let vo_m = v(Vominus) -let vo_diff = vo_p - vo_m - -* --- Main file that CACE reads: 2 columns (time, vo_diff) --- -set wr_singlescale -wrdata /home/pedersen/projects/IHP-AnalogAcademy/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-27-09/parameters/Frequency/run_0/diff_oscillator_tb_0.data vo_diff - -* --- Extra debug file (CACE ignores): 4 columns w/ names --- -set wr_vecnames -wrdata /home/pedersen/projects/IHP-AnalogAcademy/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-27-09/parameters/Frequency/run_0/debug_0.dat time vo_p vo_m vo_diff -unset wr_vecnames - -write diff_oscillator_tb.raw -.endc -"} -C {iopin.sym} 760 -210 0 0 {name=p1 lab=vdd} -C {devices/code_shown.sym} 10 -510 0 0 {name=MODEL1 only_toplevel=true -format="tcleval( @value )" -value=" -.lib /home/pedersen/IHP-Open-PDK/ihp-sg13g2/libs.tech/ngspice/models/cornerMOSlv.lib mos_tt - -.include /home/pedersen/projects/IHP-AnalogAcademy/modules/module_4_type_2_PLL/diff_Roscillator/xschem/simulations/schematic/diff_ring_oscillator.spice - -.temp 27 -" -} -C {diff_ring_oscillator.sym} 740 -320 0 0 {name=x1} -C {iopin.sym} 720 -210 2 0 {name=p2 lab=gnd} -C {vsource.sym} 390 -310 0 0 {name=V1 value=1.2 savecurrent=false} -C {gnd.sym} 390 -250 0 0 {name=l1 lab=GND} -C {lab_pin.sym} 390 -370 2 0 {name=p5 sig_type=std_logic lab=vdd} diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-27-09/parameters/Frequency/run_0/diff_oscillator_tb_0.data b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-27-09/parameters/Frequency/run_0/diff_oscillator_tb_0.data deleted file mode 100644 index 55aad520..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-27-09/parameters/Frequency/run_0/diff_oscillator_tb_0.data +++ /dev/null @@ -1,208 +0,0 @@ - 0.000000000000e+00 6.337866790587e-02 - 1.000000000000e-13 5.977070129326e-02 - 2.000000000000e-13 5.737010752555e-02 - 4.000000000000e-13 5.321759247257e-02 - 8.000000000000e-13 4.572726454202e-02 - 1.600000000000e-12 3.110636852241e-02 - 3.200000000000e-12 4.261647382150e-03 - 6.400000000000e-12 -4.367747947467e-02 - 1.280000000000e-11 -1.262652366305e-01 - 2.280000000000e-11 -2.340996284945e-01 - 3.280000000000e-11 -3.130989756157e-01 - 4.280000000000e-11 -3.432505429806e-01 - 5.280000000000e-11 -3.012854887225e-01 - 6.280000000000e-11 -1.904316905848e-01 - 7.280000000000e-11 -4.073682199355e-02 - 8.280000000000e-11 1.139505637115e-01 - 9.280000000000e-11 2.545516769294e-01 - 1.028000000000e-10 3.797066846222e-01 - 1.128000000000e-10 4.904124358963e-01 - 1.228000000000e-10 5.415988913067e-01 - 1.328000000000e-10 4.823039600532e-01 - 1.428000000000e-10 3.286487398132e-01 - 1.528000000000e-10 1.494333187522e-01 - 1.628000000000e-10 -2.292252894521e-02 - 1.728000000000e-10 -1.721878995476e-01 - 1.828000000000e-10 -3.003971530482e-01 - 1.928000000000e-10 -4.209827688535e-01 - 2.028000000000e-10 -5.322027853128e-01 - 2.128000000000e-10 -5.791583227387e-01 - 2.228000000000e-10 -5.110033194175e-01 - 2.328000000000e-10 -3.457576287601e-01 - 2.428000000000e-10 -1.607196798900e-01 - 2.528000000000e-10 1.365547887835e-02 - 2.628000000000e-10 1.638016925338e-01 - 2.728000000000e-10 2.919305498126e-01 - 2.828000000000e-10 4.124239288433e-01 - 2.928000000000e-10 5.263166298848e-01 - 3.028000000000e-10 5.824106149717e-01 - 3.128000000000e-10 5.252174273130e-01 - 3.228000000000e-10 3.651459872532e-01 - 3.328000000000e-10 1.795084214438e-01 - 3.428000000000e-10 3.226267600252e-03 - 3.528000000000e-10 -1.496702035742e-01 - 3.628000000000e-10 -2.792887178681e-01 - 3.728000000000e-10 -4.000019021719e-01 - 3.828000000000e-10 -5.160190704246e-01 - 3.928000000000e-10 -5.816500208715e-01 - 4.028000000000e-10 -5.372846837038e-01 - 4.128000000000e-10 -3.848834507397e-01 - 4.228000000000e-10 -1.993014483184e-01 - 4.328000000000e-10 -2.125168120944e-02 - 4.428000000000e-10 1.345897939599e-01 - 4.528000000000e-10 2.660516467047e-01 - 4.628000000000e-10 3.871267719337e-01 - 4.728000000000e-10 5.047282820024e-01 - 4.828000000000e-10 5.793062880329e-01 - 4.928000000000e-10 5.480670992790e-01 - 5.028000000000e-10 4.046247574272e-01 - 5.128000000000e-10 2.194567139019e-01 - 5.228000000000e-10 3.978854030163e-02 - 5.328000000000e-10 -1.190134240033e-01 - 5.428000000000e-10 -2.525512770557e-01 - 5.528000000000e-10 -3.741228468393e-01 - 5.628000000000e-10 -4.927999203803e-01 - 5.728000000000e-10 -5.755235861382e-01 - 5.828000000000e-10 -5.574109039140e-01 - 5.928000000000e-10 -4.240101965476e-01 - 6.028000000000e-10 -2.397070733991e-01 - 6.128000000000e-10 -5.859311656156e-02 - 6.228000000000e-10 1.031069489747e-01 - 6.328000000000e-10 2.389202178782e-01 - 6.428000000000e-10 3.611164053835e-01 - 6.528000000000e-10 4.804511503358e-01 - 6.628000000000e-10 5.703927182427e-01 - 6.728000000000e-10 5.651995411624e-01 - 6.828000000000e-10 4.426884649777e-01 - 6.928000000000e-10 2.598493744117e-01 - 7.028000000000e-10 7.747657769560e-02 - 7.128000000000e-10 -8.699618736653e-02 - 7.228000000000e-10 -2.252447884331e-01 - 7.328000000000e-10 -3.481970680463e-01 - 7.428000000000e-10 -4.678842164117e-01 - 7.528000000000e-10 -5.640875390474e-01 - 7.628000000000e-10 -5.714336476059e-01 - 7.728000000000e-10 -4.604185473907e-01 - 7.828000000000e-10 -2.797750138125e-01 - 7.928000000000e-10 -9.633858138806e-02 - 8.028000000000e-10 7.073777814255e-02 - 8.128000000000e-10 2.115493094061e-01 - 8.228000000000e-10 3.353876046363e-01 - 8.328000000000e-10 4.552524923411e-01 - 8.428000000000e-10 5.567938616314e-01 - 8.528000000000e-10 5.762058661922e-01 - 8.628000000000e-10 4.770908355033e-01 - 8.728000000000e-10 2.994880974607e-01 - 8.828000000000e-10 1.151828864331e-01 - 8.928000000000e-10 -5.431208395594e-02 - 9.028000000000e-10 -1.977861602727e-01 - 9.128000000000e-10 -3.226531529049e-01 - 9.228000000000e-10 -4.427347421602e-01 - 9.328000000000e-10 -5.488327643130e-01 - 9.428000000000e-10 -5.797041909504e-01 - 9.528000000000e-10 -4.927265308101e-01 - 9.628000000000e-10 -3.191097454976e-01 - 9.728000000000e-10 -1.342181141771e-01 - 9.828000000000e-10 3.744993884902e-02 - 9.928000000000e-10 1.836370942174e-01 - 1.002800000000e-09 3.096940812427e-01 - 1.012800000000e-09 4.298817640101e-01 - 1.022800000000e-09 5.397599749883e-01 - 1.032800000000e-09 5.817861936754e-01 - 1.042800000000e-09 5.074041226008e-01 - 1.052800000000e-09 3.388664774534e-01 - 1.062800000000e-09 1.535104608579e-01 - 1.072800000000e-09 -2.024845785028e-02 - 1.082800000000e-09 -1.692491421902e-01 - 1.092800000000e-09 -2.967013757932e-01 - 1.102800000000e-09 -4.171073443425e-01 - 1.112800000000e-09 -5.301213512093e-01 - 1.122800000000e-09 -5.826820342472e-01 - 1.132800000000e-09 -5.208927839223e-01 - 1.142800000000e-09 -3.582851623030e-01 - 1.152800000000e-09 -1.726179318326e-01 - 1.162800000000e-09 3.001935102304e-03 - 1.172800000000e-09 1.548738889534e-01 - 1.182800000000e-09 2.838707642593e-01 - 1.192800000000e-09 4.044922095117e-01 - 1.202800000000e-09 5.198180562761e-01 - 1.212800000000e-09 5.821632166084e-01 - 1.222800000000e-09 5.332184734218e-01 - 1.232800000000e-09 3.779624918474e-01 - 1.242800000000e-09 1.922988577092e-01 - 1.252800000000e-09 1.486703325848e-02 - 1.262800000000e-09 -1.399496932386e-01 - 1.272800000000e-09 -2.707197504860e-01 - 1.282800000000e-09 -3.916660474216e-01 - 1.292800000000e-09 -5.087606367752e-01 - 1.302800000000e-09 -5.803016232270e-01 - 1.312800000000e-09 -5.444413186477e-01 - 1.322800000000e-09 -3.977418947932e-01 - 1.332800000000e-09 -2.123689566689e-01 - 1.342800000000e-09 -3.326433605185e-02 - 1.352800000000e-09 1.245198660865e-01 - 1.362800000000e-09 2.572914801001e-01 - 1.372800000000e-09 3.786884397038e-01 - 1.382800000000e-09 4.970287842619e-01 - 1.392800000000e-09 5.770140673465e-01 - 1.402800000000e-09 5.543068732670e-01 - 1.412800000000e-09 4.172944393038e-01 - 1.422800000000e-09 2.326135914048e-01 - 1.432800000000e-09 5.200031629165e-02 - 1.442800000000e-09 -1.087117173734e-01 - 1.452800000000e-09 -2.436934942172e-01 - 1.462800000000e-09 -3.656702152799e-01 - 1.472800000000e-09 -4.848025482630e-01 - 1.482800000000e-09 -5.723385369588e-01 - 1.492800000000e-09 -5.626458033125e-01 - 1.502800000000e-09 -4.362543636943e-01 - 1.512800000000e-09 -2.528118155371e-01 - 1.522800000000e-09 -7.087265053387e-02 - 1.532800000000e-09 9.266186071927e-02 - 1.542800000000e-09 2.300274395412e-01 - 1.552800000000e-09 3.527140919248e-01 - 1.562800000000e-09 4.722911338649e-01 - 1.572800000000e-09 5.664223472519e-01 - 1.582800000000e-09 5.694169369289e-01 - 1.592800000000e-09 4.543351006071e-01 - 1.602800000000e-09 2.728185799251e-01 - 1.612800000000e-09 8.974653097500e-02 - 1.622800000000e-09 -7.645342918533e-02 - 1.632800000000e-09 -2.163412758022e-01 - 1.642800000000e-09 -3.398672125281e-01 - 1.652800000000e-09 -4.596702740436e-01 - 1.662800000000e-09 -5.594547917655e-01 - 1.672800000000e-09 -5.746885318592e-01 - 1.682800000000e-09 -4.713817902736e-01 - 1.692800000000e-09 -2.925998303757e-01 - 1.702800000000e-09 -1.085902848019e-01 - 1.712800000000e-09 6.009271011551e-02 - 1.722800000000e-09 2.026110402562e-01 - 1.732800000000e-09 3.271137583800e-01 - 1.742800000000e-09 4.470366757261e-01 - 1.752800000000e-09 5.516024260258e-01 - 1.762800000000e-09 5.785682691472e-01 - 1.772800000000e-09 4.872997263391e-01 - 1.782800000000e-09 3.121706971956e-01 - 1.792800000000e-09 1.275093354174e-01 - 1.802800000000e-09 -4.339966691138e-02 - 1.812800000000e-09 -1.885914489076e-01 - 1.822800000000e-09 -3.142192224600e-01 - 1.832800000000e-09 -4.343522534326e-01 - 1.842800000000e-09 -5.430041650422e-01 - 1.852800000000e-09 -5.811837349212e-01 - 1.862800000000e-09 -5.023856761573e-01 - 1.872800000000e-09 -3.319418855515e-01 - 1.882800000000e-09 -1.467398868003e-01 - 1.892800000000e-09 2.631801497144e-02 - 1.902800000000e-09 1.743391836774e-01 - 1.912800000000e-09 3.012879943958e-01 - 1.922800000000e-09 4.215592295324e-01 - 1.932800000000e-09 5.336096259357e-01 - 1.942800000000e-09 5.825911854269e-01 - 1.952800000000e-09 5.163685478590e-01 - 1.962800000000e-09 3.514506166310e-01 - 1.972800000000e-09 1.658449567189e-01 - 1.982800000000e-09 -9.123570295392e-03 - 1.992800000000e-09 -1.599641527363e-01 - 2.000000000000e-09 -2.536669268561e-01 diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-27-09/parameters/Frequency/run_0/diff_ring_oscillator.sym b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-27-09/parameters/Frequency/run_0/diff_ring_oscillator.sym deleted file mode 100644 index e632b156..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-27-09/parameters/Frequency/run_0/diff_ring_oscillator.sym +++ /dev/null @@ -1,27 +0,0 @@ -v {xschem version=3.4.6 file_version=1.2} -G {} -K {type=primitive -format="@name @pinlist @symname" -template="name=x1" -} -V {} -S {} -E {} -L 4 70 -20 90 -20 {} -L 4 70 20 90 20 {} -L 7 20 70 20 90 {} -L 7 -20 70 -20 90 {} -B 5 87.5 -22.5 92.5 -17.5 {name=Voplus dir=out} -B 5 17.5 87.5 22.5 92.5 {name=vdd dir=inout} -B 5 -22.5 87.5 -17.5 92.5 {name=gnd dir=inout} -B 5 87.5 17.5 92.5 22.5 {name=Vominus dir=out} -A 4 -1.666666666666714 1.666666666666714 71.68604389202189 287.5924245621816 360 {} -A 4 -30 27.5 40.69705149024927 42.51044707800085 94.97910584399833 {} -A 4 30 -27.5 40.69705149024927 222.5104470780009 94.97910584399833 {} -T {@symname} -40.5 -56 0 0 0.1 0.1 {} -T {@name} -40 -47 0 0 0.1 0.1 { -} -T {Voplus} 65 -24 0 1 0.2 0.2 {} -T {vdd} 5 64 2 1 0.2 0.2 {} -T {gnd} -35 64 2 1 0.2 0.2 {} -T {Vominus} 65 16 0 1 0.2 0.2 {} diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-27-09/parameters/Frequency/simulation_summary.csv b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-27-09/parameters/Frequency/simulation_summary.csv deleted file mode 100644 index 116f997d..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-27-09/parameters/Frequency/simulation_summary.csv +++ /dev/null @@ -1,2 +0,0 @@ -run,time_axis,vo_diff,frequency -run_0,"[0.000, 1.000e-13, 2.000e-13, …]","[6.338e-02, 5.977e-02, 5.737e-02, …]",5.474e+09 diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-27-09/parameters/Frequency/simulation_summary.md b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-27-09/parameters/Frequency/simulation_summary.md deleted file mode 100644 index 84d31e27..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-27-09/parameters/Frequency/simulation_summary.md +++ /dev/null @@ -1,5 +0,0 @@ -# Simulation Summary for Freq - -| run | time_axis | vo_diff | frequency | -| :-- | --------: | ------: | --------: | -| run_0 | [0.000, 1.000e-13, 2.000e-13, …] | [6.338e-02, 5.977e-02, 5.737e-02, …] | 5.474e+09 | diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-27-09/summary.md b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-27-09/summary.md deleted file mode 100644 index e2473f45..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-27-09/summary.md +++ /dev/null @@ -1,9 +0,0 @@ - -# CACE Summary for diff_ring_oscillator - -**netlist source**: schematic - -| Parameter | Tool | Result | Min Limit | Min Value | Typ Target | Typ Value | Max Limit | Max Value | Status | -| :------------------- | :------------------- | :-------------- | ---------: | -----------: | ---------: | -----------: | ---------: | -----------: | :------: | -| Freq | ngspice | frequency | any | 5.474 GHz | any | 5.474 GHz | any | 5.474 GHz | Pass ✅ | - diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-28-35/parameters/Frequency/diff_oscillator_tb.sch b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-28-35/parameters/Frequency/diff_oscillator_tb.sch deleted file mode 100644 index 2816ca3f..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-28-35/parameters/Frequency/diff_oscillator_tb.sch +++ /dev/null @@ -1,65 +0,0 @@ -v {xschem version=3.4.6 file_version=1.2} -G {} -K {} -V {} -S {} -E {} -N 760 -230 760 -210 {lab=vdd} -N 720 -230 720 -210 {lab=gnd} -N 830 -340 850 -340 {lab=Voplus} -N 830 -300 850 -300 {lab=Vominus} -N 390 -280 390 -250 {lab=GND} -N 390 -370 390 -340 {lab=vdd} -C {opin.sym} 850 -340 0 0 {name=p3 lab=Voplus} -C {opin.sym} 850 -300 2 1 {name=p4 lab=Vominus} -C {code_shown.sym} 10 -1170 0 0 {name=transient_tb only_toplevel=false -value=" -.param temp=27 -* Keep this if your manual run has it — parity matters - -.ic V(Voplus)=1.2 -.control -* Stability & parity options -set noaskquit -set numdgt=12 - -* Save vectors and run -save all -op -write diff_oscillator_tb.raw -set appendwrite -tran 10p 2n - -* Define explicit vectors (avoid V(...) on calculated vectors) -let vo_p = v(Voplus) -let vo_m = v(Vominus) -let vo_diff = vo_p - vo_m - -* --- Main file that CACE reads: 2 columns (time, vo_diff) --- -set wr_singlescale -wrdata CACE\{simpath\}/CACE\{filename\}_CACE\{N\}.data vo_diff - -* --- Extra debug file (CACE ignores): 4 columns w/ names --- -set wr_vecnames -wrdata CACE\{simpath\}/debug_CACE\{N\}.dat time vo_p vo_m vo_diff -unset wr_vecnames - -write diff_oscillator_tb.raw -.endc -"} -C {iopin.sym} 760 -210 0 0 {name=p1 lab=vdd} -C {devices/code_shown.sym} 10 -510 0 0 {name=MODEL1 only_toplevel=true -format="tcleval( @value )" -value=" -.lib CACE\{PDK_ROOT\}/CACE\{PDK\}/libs.tech/ngspice/models/cornerMOSlv.lib mos_CACE\{corner\} - -.include CACE\{DUT_path\} - -.temp CACE\{temperature\} -" -} -C {diff_ring_oscillator.sym} 740 -320 0 0 {name=x1} -C {iopin.sym} 720 -210 2 0 {name=p2 lab=gnd} -C {vsource.sym} 390 -310 0 0 {name=V1 value=1.2 savecurrent=false} -C {gnd.sym} 390 -250 0 0 {name=l1 lab=GND} -C {lab_pin.sym} 390 -370 2 0 {name=p5 sig_type=std_logic lab=vdd} diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-28-35/parameters/Frequency/frequency.png b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-28-35/parameters/Frequency/frequency.png deleted file mode 100644 index 50dc9b77..00000000 Binary files a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-28-35/parameters/Frequency/frequency.png and /dev/null differ diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-28-35/parameters/Frequency/run_0/.spiceinit b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-28-35/parameters/Frequency/run_0/.spiceinit deleted file mode 100644 index 02b902fb..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-28-35/parameters/Frequency/run_0/.spiceinit +++ /dev/null @@ -1,30 +0,0 @@ -* a custom spiceinit file for IHP-Open-PDK - -* export PDK_ROOT and PDK environmental variables first and add it to your .bashrc -* export PDK_ROOT= installation_specific_directory/IHP-Open-PDK -* export PDK=ihp-sg13g2 - -setcs sourcepath = ( $sourcepath $PDK_ROOT/$PDK/libs.tech/ngspice/models $PDK_ROOT/ihp-sg13g2/libs.ref/sg13g2_stdcell/spice ) -setcs sourcepath = ( $sourcepath $PDK_ROOT/$PDK/libs.tech/ngspice/models $PDK_ROOT/ihp-sg13g2/libs.ref/sg13g2_io/spice ) -*echo $sourcepath - -*option tnom=28 -*option list - -* KLU solver still do not work correctly for every simulation -*option klu - -*option node -*option opts -*option warn=1 -*option maxwarns=10 -*option savecurrents - -*set ngbehavior=hsa -*set noinit - -* add OSDI -osdi '$PDK_ROOT/$PDK/libs.tech/ngspice/osdi/psp103_nqs.osdi' -osdi '$PDK_ROOT/$PDK/libs.tech/ngspice/osdi/r3_cmc.osdi' -osdi '$PDK_ROOT/$PDK/libs.tech/ngspice/osdi/mosvar.osdi' - diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-28-35/parameters/Frequency/run_0/conditions.yaml b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-28-35/parameters/Frequency/run_0/conditions.yaml deleted file mode 100644 index 6e9b7331..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-28-35/parameters/Frequency/run_0/conditions.yaml +++ /dev/null @@ -1,8 +0,0 @@ -DUT_path: /home/pedersen/projects/IHP-AnalogAcademy/modules/module_4_type_2_PLL/diff_Roscillator/xschem/simulations/schematic/diff_ring_oscillator.spice -N: 0 -PDK: ihp-sg13g2 -PDK_ROOT: /home/pedersen/IHP-Open-PDK -corner: tt -filename: diff_oscillator_tb -simpath: /home/pedersen/projects/IHP-AnalogAcademy/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-28-35/parameters/Frequency/run_0 -temperature: '27' diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-28-35/parameters/Frequency/run_0/diff_oscillator_tb.sch b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-28-35/parameters/Frequency/run_0/diff_oscillator_tb.sch deleted file mode 100644 index af42fa86..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-28-35/parameters/Frequency/run_0/diff_oscillator_tb.sch +++ /dev/null @@ -1,65 +0,0 @@ -v {xschem version=3.4.6 file_version=1.2} -G {} -K {} -V {} -S {} -E {} -N 760 -230 760 -210 {lab=vdd} -N 720 -230 720 -210 {lab=gnd} -N 830 -340 850 -340 {lab=Voplus} -N 830 -300 850 -300 {lab=Vominus} -N 390 -280 390 -250 {lab=GND} -N 390 -370 390 -340 {lab=vdd} -C {opin.sym} 850 -340 0 0 {name=p3 lab=Voplus} -C {opin.sym} 850 -300 2 1 {name=p4 lab=Vominus} -C {code_shown.sym} 10 -1170 0 0 {name=transient_tb only_toplevel=false -value=" -.param temp=27 -* Keep this if your manual run has it — parity matters - -.ic V(Voplus)=1.2 -.control -* Stability & parity options -set noaskquit -set numdgt=12 - -* Save vectors and run -save all -op -write diff_oscillator_tb.raw -set appendwrite -tran 10p 2n - -* Define explicit vectors (avoid V(...) on calculated vectors) -let vo_p = v(Voplus) -let vo_m = v(Vominus) -let vo_diff = vo_p - vo_m - -* --- Main file that CACE reads: 2 columns (time, vo_diff) --- -set wr_singlescale -wrdata /home/pedersen/projects/IHP-AnalogAcademy/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-28-35/parameters/Frequency/run_0/diff_oscillator_tb_0.data vo_diff - -* --- Extra debug file (CACE ignores): 4 columns w/ names --- -set wr_vecnames -wrdata /home/pedersen/projects/IHP-AnalogAcademy/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-28-35/parameters/Frequency/run_0/debug_0.dat time vo_p vo_m vo_diff -unset wr_vecnames - -write diff_oscillator_tb.raw -.endc -"} -C {iopin.sym} 760 -210 0 0 {name=p1 lab=vdd} -C {devices/code_shown.sym} 10 -510 0 0 {name=MODEL1 only_toplevel=true -format="tcleval( @value )" -value=" -.lib /home/pedersen/IHP-Open-PDK/ihp-sg13g2/libs.tech/ngspice/models/cornerMOSlv.lib mos_tt - -.include /home/pedersen/projects/IHP-AnalogAcademy/modules/module_4_type_2_PLL/diff_Roscillator/xschem/simulations/schematic/diff_ring_oscillator.spice - -.temp 27 -" -} -C {diff_ring_oscillator.sym} 740 -320 0 0 {name=x1} -C {iopin.sym} 720 -210 2 0 {name=p2 lab=gnd} -C {vsource.sym} 390 -310 0 0 {name=V1 value=1.2 savecurrent=false} -C {gnd.sym} 390 -250 0 0 {name=l1 lab=GND} -C {lab_pin.sym} 390 -370 2 0 {name=p5 sig_type=std_logic lab=vdd} diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-28-35/parameters/Frequency/run_0/diff_oscillator_tb_0.data b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-28-35/parameters/Frequency/run_0/diff_oscillator_tb_0.data deleted file mode 100644 index 55aad520..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-28-35/parameters/Frequency/run_0/diff_oscillator_tb_0.data +++ /dev/null @@ -1,208 +0,0 @@ - 0.000000000000e+00 6.337866790587e-02 - 1.000000000000e-13 5.977070129326e-02 - 2.000000000000e-13 5.737010752555e-02 - 4.000000000000e-13 5.321759247257e-02 - 8.000000000000e-13 4.572726454202e-02 - 1.600000000000e-12 3.110636852241e-02 - 3.200000000000e-12 4.261647382150e-03 - 6.400000000000e-12 -4.367747947467e-02 - 1.280000000000e-11 -1.262652366305e-01 - 2.280000000000e-11 -2.340996284945e-01 - 3.280000000000e-11 -3.130989756157e-01 - 4.280000000000e-11 -3.432505429806e-01 - 5.280000000000e-11 -3.012854887225e-01 - 6.280000000000e-11 -1.904316905848e-01 - 7.280000000000e-11 -4.073682199355e-02 - 8.280000000000e-11 1.139505637115e-01 - 9.280000000000e-11 2.545516769294e-01 - 1.028000000000e-10 3.797066846222e-01 - 1.128000000000e-10 4.904124358963e-01 - 1.228000000000e-10 5.415988913067e-01 - 1.328000000000e-10 4.823039600532e-01 - 1.428000000000e-10 3.286487398132e-01 - 1.528000000000e-10 1.494333187522e-01 - 1.628000000000e-10 -2.292252894521e-02 - 1.728000000000e-10 -1.721878995476e-01 - 1.828000000000e-10 -3.003971530482e-01 - 1.928000000000e-10 -4.209827688535e-01 - 2.028000000000e-10 -5.322027853128e-01 - 2.128000000000e-10 -5.791583227387e-01 - 2.228000000000e-10 -5.110033194175e-01 - 2.328000000000e-10 -3.457576287601e-01 - 2.428000000000e-10 -1.607196798900e-01 - 2.528000000000e-10 1.365547887835e-02 - 2.628000000000e-10 1.638016925338e-01 - 2.728000000000e-10 2.919305498126e-01 - 2.828000000000e-10 4.124239288433e-01 - 2.928000000000e-10 5.263166298848e-01 - 3.028000000000e-10 5.824106149717e-01 - 3.128000000000e-10 5.252174273130e-01 - 3.228000000000e-10 3.651459872532e-01 - 3.328000000000e-10 1.795084214438e-01 - 3.428000000000e-10 3.226267600252e-03 - 3.528000000000e-10 -1.496702035742e-01 - 3.628000000000e-10 -2.792887178681e-01 - 3.728000000000e-10 -4.000019021719e-01 - 3.828000000000e-10 -5.160190704246e-01 - 3.928000000000e-10 -5.816500208715e-01 - 4.028000000000e-10 -5.372846837038e-01 - 4.128000000000e-10 -3.848834507397e-01 - 4.228000000000e-10 -1.993014483184e-01 - 4.328000000000e-10 -2.125168120944e-02 - 4.428000000000e-10 1.345897939599e-01 - 4.528000000000e-10 2.660516467047e-01 - 4.628000000000e-10 3.871267719337e-01 - 4.728000000000e-10 5.047282820024e-01 - 4.828000000000e-10 5.793062880329e-01 - 4.928000000000e-10 5.480670992790e-01 - 5.028000000000e-10 4.046247574272e-01 - 5.128000000000e-10 2.194567139019e-01 - 5.228000000000e-10 3.978854030163e-02 - 5.328000000000e-10 -1.190134240033e-01 - 5.428000000000e-10 -2.525512770557e-01 - 5.528000000000e-10 -3.741228468393e-01 - 5.628000000000e-10 -4.927999203803e-01 - 5.728000000000e-10 -5.755235861382e-01 - 5.828000000000e-10 -5.574109039140e-01 - 5.928000000000e-10 -4.240101965476e-01 - 6.028000000000e-10 -2.397070733991e-01 - 6.128000000000e-10 -5.859311656156e-02 - 6.228000000000e-10 1.031069489747e-01 - 6.328000000000e-10 2.389202178782e-01 - 6.428000000000e-10 3.611164053835e-01 - 6.528000000000e-10 4.804511503358e-01 - 6.628000000000e-10 5.703927182427e-01 - 6.728000000000e-10 5.651995411624e-01 - 6.828000000000e-10 4.426884649777e-01 - 6.928000000000e-10 2.598493744117e-01 - 7.028000000000e-10 7.747657769560e-02 - 7.128000000000e-10 -8.699618736653e-02 - 7.228000000000e-10 -2.252447884331e-01 - 7.328000000000e-10 -3.481970680463e-01 - 7.428000000000e-10 -4.678842164117e-01 - 7.528000000000e-10 -5.640875390474e-01 - 7.628000000000e-10 -5.714336476059e-01 - 7.728000000000e-10 -4.604185473907e-01 - 7.828000000000e-10 -2.797750138125e-01 - 7.928000000000e-10 -9.633858138806e-02 - 8.028000000000e-10 7.073777814255e-02 - 8.128000000000e-10 2.115493094061e-01 - 8.228000000000e-10 3.353876046363e-01 - 8.328000000000e-10 4.552524923411e-01 - 8.428000000000e-10 5.567938616314e-01 - 8.528000000000e-10 5.762058661922e-01 - 8.628000000000e-10 4.770908355033e-01 - 8.728000000000e-10 2.994880974607e-01 - 8.828000000000e-10 1.151828864331e-01 - 8.928000000000e-10 -5.431208395594e-02 - 9.028000000000e-10 -1.977861602727e-01 - 9.128000000000e-10 -3.226531529049e-01 - 9.228000000000e-10 -4.427347421602e-01 - 9.328000000000e-10 -5.488327643130e-01 - 9.428000000000e-10 -5.797041909504e-01 - 9.528000000000e-10 -4.927265308101e-01 - 9.628000000000e-10 -3.191097454976e-01 - 9.728000000000e-10 -1.342181141771e-01 - 9.828000000000e-10 3.744993884902e-02 - 9.928000000000e-10 1.836370942174e-01 - 1.002800000000e-09 3.096940812427e-01 - 1.012800000000e-09 4.298817640101e-01 - 1.022800000000e-09 5.397599749883e-01 - 1.032800000000e-09 5.817861936754e-01 - 1.042800000000e-09 5.074041226008e-01 - 1.052800000000e-09 3.388664774534e-01 - 1.062800000000e-09 1.535104608579e-01 - 1.072800000000e-09 -2.024845785028e-02 - 1.082800000000e-09 -1.692491421902e-01 - 1.092800000000e-09 -2.967013757932e-01 - 1.102800000000e-09 -4.171073443425e-01 - 1.112800000000e-09 -5.301213512093e-01 - 1.122800000000e-09 -5.826820342472e-01 - 1.132800000000e-09 -5.208927839223e-01 - 1.142800000000e-09 -3.582851623030e-01 - 1.152800000000e-09 -1.726179318326e-01 - 1.162800000000e-09 3.001935102304e-03 - 1.172800000000e-09 1.548738889534e-01 - 1.182800000000e-09 2.838707642593e-01 - 1.192800000000e-09 4.044922095117e-01 - 1.202800000000e-09 5.198180562761e-01 - 1.212800000000e-09 5.821632166084e-01 - 1.222800000000e-09 5.332184734218e-01 - 1.232800000000e-09 3.779624918474e-01 - 1.242800000000e-09 1.922988577092e-01 - 1.252800000000e-09 1.486703325848e-02 - 1.262800000000e-09 -1.399496932386e-01 - 1.272800000000e-09 -2.707197504860e-01 - 1.282800000000e-09 -3.916660474216e-01 - 1.292800000000e-09 -5.087606367752e-01 - 1.302800000000e-09 -5.803016232270e-01 - 1.312800000000e-09 -5.444413186477e-01 - 1.322800000000e-09 -3.977418947932e-01 - 1.332800000000e-09 -2.123689566689e-01 - 1.342800000000e-09 -3.326433605185e-02 - 1.352800000000e-09 1.245198660865e-01 - 1.362800000000e-09 2.572914801001e-01 - 1.372800000000e-09 3.786884397038e-01 - 1.382800000000e-09 4.970287842619e-01 - 1.392800000000e-09 5.770140673465e-01 - 1.402800000000e-09 5.543068732670e-01 - 1.412800000000e-09 4.172944393038e-01 - 1.422800000000e-09 2.326135914048e-01 - 1.432800000000e-09 5.200031629165e-02 - 1.442800000000e-09 -1.087117173734e-01 - 1.452800000000e-09 -2.436934942172e-01 - 1.462800000000e-09 -3.656702152799e-01 - 1.472800000000e-09 -4.848025482630e-01 - 1.482800000000e-09 -5.723385369588e-01 - 1.492800000000e-09 -5.626458033125e-01 - 1.502800000000e-09 -4.362543636943e-01 - 1.512800000000e-09 -2.528118155371e-01 - 1.522800000000e-09 -7.087265053387e-02 - 1.532800000000e-09 9.266186071927e-02 - 1.542800000000e-09 2.300274395412e-01 - 1.552800000000e-09 3.527140919248e-01 - 1.562800000000e-09 4.722911338649e-01 - 1.572800000000e-09 5.664223472519e-01 - 1.582800000000e-09 5.694169369289e-01 - 1.592800000000e-09 4.543351006071e-01 - 1.602800000000e-09 2.728185799251e-01 - 1.612800000000e-09 8.974653097500e-02 - 1.622800000000e-09 -7.645342918533e-02 - 1.632800000000e-09 -2.163412758022e-01 - 1.642800000000e-09 -3.398672125281e-01 - 1.652800000000e-09 -4.596702740436e-01 - 1.662800000000e-09 -5.594547917655e-01 - 1.672800000000e-09 -5.746885318592e-01 - 1.682800000000e-09 -4.713817902736e-01 - 1.692800000000e-09 -2.925998303757e-01 - 1.702800000000e-09 -1.085902848019e-01 - 1.712800000000e-09 6.009271011551e-02 - 1.722800000000e-09 2.026110402562e-01 - 1.732800000000e-09 3.271137583800e-01 - 1.742800000000e-09 4.470366757261e-01 - 1.752800000000e-09 5.516024260258e-01 - 1.762800000000e-09 5.785682691472e-01 - 1.772800000000e-09 4.872997263391e-01 - 1.782800000000e-09 3.121706971956e-01 - 1.792800000000e-09 1.275093354174e-01 - 1.802800000000e-09 -4.339966691138e-02 - 1.812800000000e-09 -1.885914489076e-01 - 1.822800000000e-09 -3.142192224600e-01 - 1.832800000000e-09 -4.343522534326e-01 - 1.842800000000e-09 -5.430041650422e-01 - 1.852800000000e-09 -5.811837349212e-01 - 1.862800000000e-09 -5.023856761573e-01 - 1.872800000000e-09 -3.319418855515e-01 - 1.882800000000e-09 -1.467398868003e-01 - 1.892800000000e-09 2.631801497144e-02 - 1.902800000000e-09 1.743391836774e-01 - 1.912800000000e-09 3.012879943958e-01 - 1.922800000000e-09 4.215592295324e-01 - 1.932800000000e-09 5.336096259357e-01 - 1.942800000000e-09 5.825911854269e-01 - 1.952800000000e-09 5.163685478590e-01 - 1.962800000000e-09 3.514506166310e-01 - 1.972800000000e-09 1.658449567189e-01 - 1.982800000000e-09 -9.123570295392e-03 - 1.992800000000e-09 -1.599641527363e-01 - 2.000000000000e-09 -2.536669268561e-01 diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-28-35/parameters/Frequency/run_0/diff_ring_oscillator.sym b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-28-35/parameters/Frequency/run_0/diff_ring_oscillator.sym deleted file mode 100644 index e632b156..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-28-35/parameters/Frequency/run_0/diff_ring_oscillator.sym +++ /dev/null @@ -1,27 +0,0 @@ -v {xschem version=3.4.6 file_version=1.2} -G {} -K {type=primitive -format="@name @pinlist @symname" -template="name=x1" -} -V {} -S {} -E {} -L 4 70 -20 90 -20 {} -L 4 70 20 90 20 {} -L 7 20 70 20 90 {} -L 7 -20 70 -20 90 {} -B 5 87.5 -22.5 92.5 -17.5 {name=Voplus dir=out} -B 5 17.5 87.5 22.5 92.5 {name=vdd dir=inout} -B 5 -22.5 87.5 -17.5 92.5 {name=gnd dir=inout} -B 5 87.5 17.5 92.5 22.5 {name=Vominus dir=out} -A 4 -1.666666666666714 1.666666666666714 71.68604389202189 287.5924245621816 360 {} -A 4 -30 27.5 40.69705149024927 42.51044707800085 94.97910584399833 {} -A 4 30 -27.5 40.69705149024927 222.5104470780009 94.97910584399833 {} -T {@symname} -40.5 -56 0 0 0.1 0.1 {} -T {@name} -40 -47 0 0 0.1 0.1 { -} -T {Voplus} 65 -24 0 1 0.2 0.2 {} -T {vdd} 5 64 2 1 0.2 0.2 {} -T {gnd} -35 64 2 1 0.2 0.2 {} -T {Vominus} 65 16 0 1 0.2 0.2 {} diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-28-35/parameters/Frequency/simulation_summary.csv b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-28-35/parameters/Frequency/simulation_summary.csv deleted file mode 100644 index 116f997d..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-28-35/parameters/Frequency/simulation_summary.csv +++ /dev/null @@ -1,2 +0,0 @@ -run,time_axis,vo_diff,frequency -run_0,"[0.000, 1.000e-13, 2.000e-13, …]","[6.338e-02, 5.977e-02, 5.737e-02, …]",5.474e+09 diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-28-35/parameters/Frequency/simulation_summary.md b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-28-35/parameters/Frequency/simulation_summary.md deleted file mode 100644 index 84d31e27..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-28-35/parameters/Frequency/simulation_summary.md +++ /dev/null @@ -1,5 +0,0 @@ -# Simulation Summary for Freq - -| run | time_axis | vo_diff | frequency | -| :-- | --------: | ------: | --------: | -| run_0 | [0.000, 1.000e-13, 2.000e-13, …] | [6.338e-02, 5.977e-02, 5.737e-02, …] | 5.474e+09 | diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-28-35/summary.md b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-28-35/summary.md deleted file mode 100644 index a758e068..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-28-35/summary.md +++ /dev/null @@ -1,9 +0,0 @@ - -# CACE Summary for diff_ring_oscillator - -**netlist source**: schematic - -| Parameter | Tool | Result | Min Limit | Min Value | Typ Target | Typ Value | Max Limit | Max Value | Status | -| :------------------- | :------------------- | :-------------- | ---------: | -----------: | ---------: | -----------: | ---------: | -----------: | :------: | -| Freq | ngspice | frequency | 4.2GHz GHz | 5.474 GHz | 5.4GHz GHz | 5.474 GHz | 7.1GHz GHz | 5.474 GHz | Fail ❌ | - diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-29-02/parameters/Frequency/diff_oscillator_tb.sch b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-29-02/parameters/Frequency/diff_oscillator_tb.sch deleted file mode 100644 index 2816ca3f..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-29-02/parameters/Frequency/diff_oscillator_tb.sch +++ /dev/null @@ -1,65 +0,0 @@ -v {xschem version=3.4.6 file_version=1.2} -G {} -K {} -V {} -S {} -E {} -N 760 -230 760 -210 {lab=vdd} -N 720 -230 720 -210 {lab=gnd} -N 830 -340 850 -340 {lab=Voplus} -N 830 -300 850 -300 {lab=Vominus} -N 390 -280 390 -250 {lab=GND} -N 390 -370 390 -340 {lab=vdd} -C {opin.sym} 850 -340 0 0 {name=p3 lab=Voplus} -C {opin.sym} 850 -300 2 1 {name=p4 lab=Vominus} -C {code_shown.sym} 10 -1170 0 0 {name=transient_tb only_toplevel=false -value=" -.param temp=27 -* Keep this if your manual run has it — parity matters - -.ic V(Voplus)=1.2 -.control -* Stability & parity options -set noaskquit -set numdgt=12 - -* Save vectors and run -save all -op -write diff_oscillator_tb.raw -set appendwrite -tran 10p 2n - -* Define explicit vectors (avoid V(...) on calculated vectors) -let vo_p = v(Voplus) -let vo_m = v(Vominus) -let vo_diff = vo_p - vo_m - -* --- Main file that CACE reads: 2 columns (time, vo_diff) --- -set wr_singlescale -wrdata CACE\{simpath\}/CACE\{filename\}_CACE\{N\}.data vo_diff - -* --- Extra debug file (CACE ignores): 4 columns w/ names --- -set wr_vecnames -wrdata CACE\{simpath\}/debug_CACE\{N\}.dat time vo_p vo_m vo_diff -unset wr_vecnames - -write diff_oscillator_tb.raw -.endc -"} -C {iopin.sym} 760 -210 0 0 {name=p1 lab=vdd} -C {devices/code_shown.sym} 10 -510 0 0 {name=MODEL1 only_toplevel=true -format="tcleval( @value )" -value=" -.lib CACE\{PDK_ROOT\}/CACE\{PDK\}/libs.tech/ngspice/models/cornerMOSlv.lib mos_CACE\{corner\} - -.include CACE\{DUT_path\} - -.temp CACE\{temperature\} -" -} -C {diff_ring_oscillator.sym} 740 -320 0 0 {name=x1} -C {iopin.sym} 720 -210 2 0 {name=p2 lab=gnd} -C {vsource.sym} 390 -310 0 0 {name=V1 value=1.2 savecurrent=false} -C {gnd.sym} 390 -250 0 0 {name=l1 lab=GND} -C {lab_pin.sym} 390 -370 2 0 {name=p5 sig_type=std_logic lab=vdd} diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-29-02/parameters/Frequency/frequency.png b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-29-02/parameters/Frequency/frequency.png deleted file mode 100644 index 50dc9b77..00000000 Binary files a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-29-02/parameters/Frequency/frequency.png and /dev/null differ diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-29-02/parameters/Frequency/run_0/.spiceinit b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-29-02/parameters/Frequency/run_0/.spiceinit deleted file mode 100644 index 02b902fb..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-29-02/parameters/Frequency/run_0/.spiceinit +++ /dev/null @@ -1,30 +0,0 @@ -* a custom spiceinit file for IHP-Open-PDK - -* export PDK_ROOT and PDK environmental variables first and add it to your .bashrc -* export PDK_ROOT= installation_specific_directory/IHP-Open-PDK -* export PDK=ihp-sg13g2 - -setcs sourcepath = ( $sourcepath $PDK_ROOT/$PDK/libs.tech/ngspice/models $PDK_ROOT/ihp-sg13g2/libs.ref/sg13g2_stdcell/spice ) -setcs sourcepath = ( $sourcepath $PDK_ROOT/$PDK/libs.tech/ngspice/models $PDK_ROOT/ihp-sg13g2/libs.ref/sg13g2_io/spice ) -*echo $sourcepath - -*option tnom=28 -*option list - -* KLU solver still do not work correctly for every simulation -*option klu - -*option node -*option opts -*option warn=1 -*option maxwarns=10 -*option savecurrents - -*set ngbehavior=hsa -*set noinit - -* add OSDI -osdi '$PDK_ROOT/$PDK/libs.tech/ngspice/osdi/psp103_nqs.osdi' -osdi '$PDK_ROOT/$PDK/libs.tech/ngspice/osdi/r3_cmc.osdi' -osdi '$PDK_ROOT/$PDK/libs.tech/ngspice/osdi/mosvar.osdi' - diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-29-02/parameters/Frequency/run_0/conditions.yaml b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-29-02/parameters/Frequency/run_0/conditions.yaml deleted file mode 100644 index f52afc19..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-29-02/parameters/Frequency/run_0/conditions.yaml +++ /dev/null @@ -1,8 +0,0 @@ -DUT_path: /home/pedersen/projects/IHP-AnalogAcademy/modules/module_4_type_2_PLL/diff_Roscillator/xschem/simulations/schematic/diff_ring_oscillator.spice -N: 0 -PDK: ihp-sg13g2 -PDK_ROOT: /home/pedersen/IHP-Open-PDK -corner: tt -filename: diff_oscillator_tb -simpath: /home/pedersen/projects/IHP-AnalogAcademy/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-29-02/parameters/Frequency/run_0 -temperature: '27' diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-29-02/parameters/Frequency/run_0/diff_oscillator_tb.sch b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-29-02/parameters/Frequency/run_0/diff_oscillator_tb.sch deleted file mode 100644 index 7b5840c0..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-29-02/parameters/Frequency/run_0/diff_oscillator_tb.sch +++ /dev/null @@ -1,65 +0,0 @@ -v {xschem version=3.4.6 file_version=1.2} -G {} -K {} -V {} -S {} -E {} -N 760 -230 760 -210 {lab=vdd} -N 720 -230 720 -210 {lab=gnd} -N 830 -340 850 -340 {lab=Voplus} -N 830 -300 850 -300 {lab=Vominus} -N 390 -280 390 -250 {lab=GND} -N 390 -370 390 -340 {lab=vdd} -C {opin.sym} 850 -340 0 0 {name=p3 lab=Voplus} -C {opin.sym} 850 -300 2 1 {name=p4 lab=Vominus} -C {code_shown.sym} 10 -1170 0 0 {name=transient_tb only_toplevel=false -value=" -.param temp=27 -* Keep this if your manual run has it — parity matters - -.ic V(Voplus)=1.2 -.control -* Stability & parity options -set noaskquit -set numdgt=12 - -* Save vectors and run -save all -op -write diff_oscillator_tb.raw -set appendwrite -tran 10p 2n - -* Define explicit vectors (avoid V(...) on calculated vectors) -let vo_p = v(Voplus) -let vo_m = v(Vominus) -let vo_diff = vo_p - vo_m - -* --- Main file that CACE reads: 2 columns (time, vo_diff) --- -set wr_singlescale -wrdata /home/pedersen/projects/IHP-AnalogAcademy/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-29-02/parameters/Frequency/run_0/diff_oscillator_tb_0.data vo_diff - -* --- Extra debug file (CACE ignores): 4 columns w/ names --- -set wr_vecnames -wrdata /home/pedersen/projects/IHP-AnalogAcademy/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-29-02/parameters/Frequency/run_0/debug_0.dat time vo_p vo_m vo_diff -unset wr_vecnames - -write diff_oscillator_tb.raw -.endc -"} -C {iopin.sym} 760 -210 0 0 {name=p1 lab=vdd} -C {devices/code_shown.sym} 10 -510 0 0 {name=MODEL1 only_toplevel=true -format="tcleval( @value )" -value=" -.lib /home/pedersen/IHP-Open-PDK/ihp-sg13g2/libs.tech/ngspice/models/cornerMOSlv.lib mos_tt - -.include /home/pedersen/projects/IHP-AnalogAcademy/modules/module_4_type_2_PLL/diff_Roscillator/xschem/simulations/schematic/diff_ring_oscillator.spice - -.temp 27 -" -} -C {diff_ring_oscillator.sym} 740 -320 0 0 {name=x1} -C {iopin.sym} 720 -210 2 0 {name=p2 lab=gnd} -C {vsource.sym} 390 -310 0 0 {name=V1 value=1.2 savecurrent=false} -C {gnd.sym} 390 -250 0 0 {name=l1 lab=GND} -C {lab_pin.sym} 390 -370 2 0 {name=p5 sig_type=std_logic lab=vdd} diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-29-02/parameters/Frequency/run_0/diff_oscillator_tb_0.data b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-29-02/parameters/Frequency/run_0/diff_oscillator_tb_0.data deleted file mode 100644 index 55aad520..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-29-02/parameters/Frequency/run_0/diff_oscillator_tb_0.data +++ /dev/null @@ -1,208 +0,0 @@ - 0.000000000000e+00 6.337866790587e-02 - 1.000000000000e-13 5.977070129326e-02 - 2.000000000000e-13 5.737010752555e-02 - 4.000000000000e-13 5.321759247257e-02 - 8.000000000000e-13 4.572726454202e-02 - 1.600000000000e-12 3.110636852241e-02 - 3.200000000000e-12 4.261647382150e-03 - 6.400000000000e-12 -4.367747947467e-02 - 1.280000000000e-11 -1.262652366305e-01 - 2.280000000000e-11 -2.340996284945e-01 - 3.280000000000e-11 -3.130989756157e-01 - 4.280000000000e-11 -3.432505429806e-01 - 5.280000000000e-11 -3.012854887225e-01 - 6.280000000000e-11 -1.904316905848e-01 - 7.280000000000e-11 -4.073682199355e-02 - 8.280000000000e-11 1.139505637115e-01 - 9.280000000000e-11 2.545516769294e-01 - 1.028000000000e-10 3.797066846222e-01 - 1.128000000000e-10 4.904124358963e-01 - 1.228000000000e-10 5.415988913067e-01 - 1.328000000000e-10 4.823039600532e-01 - 1.428000000000e-10 3.286487398132e-01 - 1.528000000000e-10 1.494333187522e-01 - 1.628000000000e-10 -2.292252894521e-02 - 1.728000000000e-10 -1.721878995476e-01 - 1.828000000000e-10 -3.003971530482e-01 - 1.928000000000e-10 -4.209827688535e-01 - 2.028000000000e-10 -5.322027853128e-01 - 2.128000000000e-10 -5.791583227387e-01 - 2.228000000000e-10 -5.110033194175e-01 - 2.328000000000e-10 -3.457576287601e-01 - 2.428000000000e-10 -1.607196798900e-01 - 2.528000000000e-10 1.365547887835e-02 - 2.628000000000e-10 1.638016925338e-01 - 2.728000000000e-10 2.919305498126e-01 - 2.828000000000e-10 4.124239288433e-01 - 2.928000000000e-10 5.263166298848e-01 - 3.028000000000e-10 5.824106149717e-01 - 3.128000000000e-10 5.252174273130e-01 - 3.228000000000e-10 3.651459872532e-01 - 3.328000000000e-10 1.795084214438e-01 - 3.428000000000e-10 3.226267600252e-03 - 3.528000000000e-10 -1.496702035742e-01 - 3.628000000000e-10 -2.792887178681e-01 - 3.728000000000e-10 -4.000019021719e-01 - 3.828000000000e-10 -5.160190704246e-01 - 3.928000000000e-10 -5.816500208715e-01 - 4.028000000000e-10 -5.372846837038e-01 - 4.128000000000e-10 -3.848834507397e-01 - 4.228000000000e-10 -1.993014483184e-01 - 4.328000000000e-10 -2.125168120944e-02 - 4.428000000000e-10 1.345897939599e-01 - 4.528000000000e-10 2.660516467047e-01 - 4.628000000000e-10 3.871267719337e-01 - 4.728000000000e-10 5.047282820024e-01 - 4.828000000000e-10 5.793062880329e-01 - 4.928000000000e-10 5.480670992790e-01 - 5.028000000000e-10 4.046247574272e-01 - 5.128000000000e-10 2.194567139019e-01 - 5.228000000000e-10 3.978854030163e-02 - 5.328000000000e-10 -1.190134240033e-01 - 5.428000000000e-10 -2.525512770557e-01 - 5.528000000000e-10 -3.741228468393e-01 - 5.628000000000e-10 -4.927999203803e-01 - 5.728000000000e-10 -5.755235861382e-01 - 5.828000000000e-10 -5.574109039140e-01 - 5.928000000000e-10 -4.240101965476e-01 - 6.028000000000e-10 -2.397070733991e-01 - 6.128000000000e-10 -5.859311656156e-02 - 6.228000000000e-10 1.031069489747e-01 - 6.328000000000e-10 2.389202178782e-01 - 6.428000000000e-10 3.611164053835e-01 - 6.528000000000e-10 4.804511503358e-01 - 6.628000000000e-10 5.703927182427e-01 - 6.728000000000e-10 5.651995411624e-01 - 6.828000000000e-10 4.426884649777e-01 - 6.928000000000e-10 2.598493744117e-01 - 7.028000000000e-10 7.747657769560e-02 - 7.128000000000e-10 -8.699618736653e-02 - 7.228000000000e-10 -2.252447884331e-01 - 7.328000000000e-10 -3.481970680463e-01 - 7.428000000000e-10 -4.678842164117e-01 - 7.528000000000e-10 -5.640875390474e-01 - 7.628000000000e-10 -5.714336476059e-01 - 7.728000000000e-10 -4.604185473907e-01 - 7.828000000000e-10 -2.797750138125e-01 - 7.928000000000e-10 -9.633858138806e-02 - 8.028000000000e-10 7.073777814255e-02 - 8.128000000000e-10 2.115493094061e-01 - 8.228000000000e-10 3.353876046363e-01 - 8.328000000000e-10 4.552524923411e-01 - 8.428000000000e-10 5.567938616314e-01 - 8.528000000000e-10 5.762058661922e-01 - 8.628000000000e-10 4.770908355033e-01 - 8.728000000000e-10 2.994880974607e-01 - 8.828000000000e-10 1.151828864331e-01 - 8.928000000000e-10 -5.431208395594e-02 - 9.028000000000e-10 -1.977861602727e-01 - 9.128000000000e-10 -3.226531529049e-01 - 9.228000000000e-10 -4.427347421602e-01 - 9.328000000000e-10 -5.488327643130e-01 - 9.428000000000e-10 -5.797041909504e-01 - 9.528000000000e-10 -4.927265308101e-01 - 9.628000000000e-10 -3.191097454976e-01 - 9.728000000000e-10 -1.342181141771e-01 - 9.828000000000e-10 3.744993884902e-02 - 9.928000000000e-10 1.836370942174e-01 - 1.002800000000e-09 3.096940812427e-01 - 1.012800000000e-09 4.298817640101e-01 - 1.022800000000e-09 5.397599749883e-01 - 1.032800000000e-09 5.817861936754e-01 - 1.042800000000e-09 5.074041226008e-01 - 1.052800000000e-09 3.388664774534e-01 - 1.062800000000e-09 1.535104608579e-01 - 1.072800000000e-09 -2.024845785028e-02 - 1.082800000000e-09 -1.692491421902e-01 - 1.092800000000e-09 -2.967013757932e-01 - 1.102800000000e-09 -4.171073443425e-01 - 1.112800000000e-09 -5.301213512093e-01 - 1.122800000000e-09 -5.826820342472e-01 - 1.132800000000e-09 -5.208927839223e-01 - 1.142800000000e-09 -3.582851623030e-01 - 1.152800000000e-09 -1.726179318326e-01 - 1.162800000000e-09 3.001935102304e-03 - 1.172800000000e-09 1.548738889534e-01 - 1.182800000000e-09 2.838707642593e-01 - 1.192800000000e-09 4.044922095117e-01 - 1.202800000000e-09 5.198180562761e-01 - 1.212800000000e-09 5.821632166084e-01 - 1.222800000000e-09 5.332184734218e-01 - 1.232800000000e-09 3.779624918474e-01 - 1.242800000000e-09 1.922988577092e-01 - 1.252800000000e-09 1.486703325848e-02 - 1.262800000000e-09 -1.399496932386e-01 - 1.272800000000e-09 -2.707197504860e-01 - 1.282800000000e-09 -3.916660474216e-01 - 1.292800000000e-09 -5.087606367752e-01 - 1.302800000000e-09 -5.803016232270e-01 - 1.312800000000e-09 -5.444413186477e-01 - 1.322800000000e-09 -3.977418947932e-01 - 1.332800000000e-09 -2.123689566689e-01 - 1.342800000000e-09 -3.326433605185e-02 - 1.352800000000e-09 1.245198660865e-01 - 1.362800000000e-09 2.572914801001e-01 - 1.372800000000e-09 3.786884397038e-01 - 1.382800000000e-09 4.970287842619e-01 - 1.392800000000e-09 5.770140673465e-01 - 1.402800000000e-09 5.543068732670e-01 - 1.412800000000e-09 4.172944393038e-01 - 1.422800000000e-09 2.326135914048e-01 - 1.432800000000e-09 5.200031629165e-02 - 1.442800000000e-09 -1.087117173734e-01 - 1.452800000000e-09 -2.436934942172e-01 - 1.462800000000e-09 -3.656702152799e-01 - 1.472800000000e-09 -4.848025482630e-01 - 1.482800000000e-09 -5.723385369588e-01 - 1.492800000000e-09 -5.626458033125e-01 - 1.502800000000e-09 -4.362543636943e-01 - 1.512800000000e-09 -2.528118155371e-01 - 1.522800000000e-09 -7.087265053387e-02 - 1.532800000000e-09 9.266186071927e-02 - 1.542800000000e-09 2.300274395412e-01 - 1.552800000000e-09 3.527140919248e-01 - 1.562800000000e-09 4.722911338649e-01 - 1.572800000000e-09 5.664223472519e-01 - 1.582800000000e-09 5.694169369289e-01 - 1.592800000000e-09 4.543351006071e-01 - 1.602800000000e-09 2.728185799251e-01 - 1.612800000000e-09 8.974653097500e-02 - 1.622800000000e-09 -7.645342918533e-02 - 1.632800000000e-09 -2.163412758022e-01 - 1.642800000000e-09 -3.398672125281e-01 - 1.652800000000e-09 -4.596702740436e-01 - 1.662800000000e-09 -5.594547917655e-01 - 1.672800000000e-09 -5.746885318592e-01 - 1.682800000000e-09 -4.713817902736e-01 - 1.692800000000e-09 -2.925998303757e-01 - 1.702800000000e-09 -1.085902848019e-01 - 1.712800000000e-09 6.009271011551e-02 - 1.722800000000e-09 2.026110402562e-01 - 1.732800000000e-09 3.271137583800e-01 - 1.742800000000e-09 4.470366757261e-01 - 1.752800000000e-09 5.516024260258e-01 - 1.762800000000e-09 5.785682691472e-01 - 1.772800000000e-09 4.872997263391e-01 - 1.782800000000e-09 3.121706971956e-01 - 1.792800000000e-09 1.275093354174e-01 - 1.802800000000e-09 -4.339966691138e-02 - 1.812800000000e-09 -1.885914489076e-01 - 1.822800000000e-09 -3.142192224600e-01 - 1.832800000000e-09 -4.343522534326e-01 - 1.842800000000e-09 -5.430041650422e-01 - 1.852800000000e-09 -5.811837349212e-01 - 1.862800000000e-09 -5.023856761573e-01 - 1.872800000000e-09 -3.319418855515e-01 - 1.882800000000e-09 -1.467398868003e-01 - 1.892800000000e-09 2.631801497144e-02 - 1.902800000000e-09 1.743391836774e-01 - 1.912800000000e-09 3.012879943958e-01 - 1.922800000000e-09 4.215592295324e-01 - 1.932800000000e-09 5.336096259357e-01 - 1.942800000000e-09 5.825911854269e-01 - 1.952800000000e-09 5.163685478590e-01 - 1.962800000000e-09 3.514506166310e-01 - 1.972800000000e-09 1.658449567189e-01 - 1.982800000000e-09 -9.123570295392e-03 - 1.992800000000e-09 -1.599641527363e-01 - 2.000000000000e-09 -2.536669268561e-01 diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-29-02/parameters/Frequency/run_0/diff_ring_oscillator.sym b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-29-02/parameters/Frequency/run_0/diff_ring_oscillator.sym deleted file mode 100644 index e632b156..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-29-02/parameters/Frequency/run_0/diff_ring_oscillator.sym +++ /dev/null @@ -1,27 +0,0 @@ -v {xschem version=3.4.6 file_version=1.2} -G {} -K {type=primitive -format="@name @pinlist @symname" -template="name=x1" -} -V {} -S {} -E {} -L 4 70 -20 90 -20 {} -L 4 70 20 90 20 {} -L 7 20 70 20 90 {} -L 7 -20 70 -20 90 {} -B 5 87.5 -22.5 92.5 -17.5 {name=Voplus dir=out} -B 5 17.5 87.5 22.5 92.5 {name=vdd dir=inout} -B 5 -22.5 87.5 -17.5 92.5 {name=gnd dir=inout} -B 5 87.5 17.5 92.5 22.5 {name=Vominus dir=out} -A 4 -1.666666666666714 1.666666666666714 71.68604389202189 287.5924245621816 360 {} -A 4 -30 27.5 40.69705149024927 42.51044707800085 94.97910584399833 {} -A 4 30 -27.5 40.69705149024927 222.5104470780009 94.97910584399833 {} -T {@symname} -40.5 -56 0 0 0.1 0.1 {} -T {@name} -40 -47 0 0 0.1 0.1 { -} -T {Voplus} 65 -24 0 1 0.2 0.2 {} -T {vdd} 5 64 2 1 0.2 0.2 {} -T {gnd} -35 64 2 1 0.2 0.2 {} -T {Vominus} 65 16 0 1 0.2 0.2 {} diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-29-02/parameters/Frequency/simulation_summary.csv b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-29-02/parameters/Frequency/simulation_summary.csv deleted file mode 100644 index 116f997d..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-29-02/parameters/Frequency/simulation_summary.csv +++ /dev/null @@ -1,2 +0,0 @@ -run,time_axis,vo_diff,frequency -run_0,"[0.000, 1.000e-13, 2.000e-13, …]","[6.338e-02, 5.977e-02, 5.737e-02, …]",5.474e+09 diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-29-02/parameters/Frequency/simulation_summary.md b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-29-02/parameters/Frequency/simulation_summary.md deleted file mode 100644 index 84d31e27..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-29-02/parameters/Frequency/simulation_summary.md +++ /dev/null @@ -1,5 +0,0 @@ -# Simulation Summary for Freq - -| run | time_axis | vo_diff | frequency | -| :-- | --------: | ------: | --------: | -| run_0 | [0.000, 1.000e-13, 2.000e-13, …] | [6.338e-02, 5.977e-02, 5.737e-02, …] | 5.474e+09 | diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-29-02/summary.md b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-29-02/summary.md deleted file mode 100644 index 8f601475..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_15-29-02/summary.md +++ /dev/null @@ -1,9 +0,0 @@ - -# CACE Summary for diff_ring_oscillator - -**netlist source**: schematic - -| Parameter | Tool | Result | Min Limit | Min Value | Typ Target | Typ Value | Max Limit | Max Value | Status | -| :------------------- | :------------------- | :-------------- | ---------: | -----------: | ---------: | -----------: | ---------: | -----------: | :------: | -| Freq | ngspice | frequency | 4.2 GHz | 5.474 GHz | 5.4 GHz | 5.474 GHz | 7.1 GHz | 5.474 GHz | Pass ✅ | - diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_17-00-02/parameters/Frequency/diff_oscillator_tb.sch b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_17-00-02/parameters/Frequency/diff_oscillator_tb.sch deleted file mode 100644 index 2816ca3f..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_17-00-02/parameters/Frequency/diff_oscillator_tb.sch +++ /dev/null @@ -1,65 +0,0 @@ -v {xschem version=3.4.6 file_version=1.2} -G {} -K {} -V {} -S {} -E {} -N 760 -230 760 -210 {lab=vdd} -N 720 -230 720 -210 {lab=gnd} -N 830 -340 850 -340 {lab=Voplus} -N 830 -300 850 -300 {lab=Vominus} -N 390 -280 390 -250 {lab=GND} -N 390 -370 390 -340 {lab=vdd} -C {opin.sym} 850 -340 0 0 {name=p3 lab=Voplus} -C {opin.sym} 850 -300 2 1 {name=p4 lab=Vominus} -C {code_shown.sym} 10 -1170 0 0 {name=transient_tb only_toplevel=false -value=" -.param temp=27 -* Keep this if your manual run has it — parity matters - -.ic V(Voplus)=1.2 -.control -* Stability & parity options -set noaskquit -set numdgt=12 - -* Save vectors and run -save all -op -write diff_oscillator_tb.raw -set appendwrite -tran 10p 2n - -* Define explicit vectors (avoid V(...) on calculated vectors) -let vo_p = v(Voplus) -let vo_m = v(Vominus) -let vo_diff = vo_p - vo_m - -* --- Main file that CACE reads: 2 columns (time, vo_diff) --- -set wr_singlescale -wrdata CACE\{simpath\}/CACE\{filename\}_CACE\{N\}.data vo_diff - -* --- Extra debug file (CACE ignores): 4 columns w/ names --- -set wr_vecnames -wrdata CACE\{simpath\}/debug_CACE\{N\}.dat time vo_p vo_m vo_diff -unset wr_vecnames - -write diff_oscillator_tb.raw -.endc -"} -C {iopin.sym} 760 -210 0 0 {name=p1 lab=vdd} -C {devices/code_shown.sym} 10 -510 0 0 {name=MODEL1 only_toplevel=true -format="tcleval( @value )" -value=" -.lib CACE\{PDK_ROOT\}/CACE\{PDK\}/libs.tech/ngspice/models/cornerMOSlv.lib mos_CACE\{corner\} - -.include CACE\{DUT_path\} - -.temp CACE\{temperature\} -" -} -C {diff_ring_oscillator.sym} 740 -320 0 0 {name=x1} -C {iopin.sym} 720 -210 2 0 {name=p2 lab=gnd} -C {vsource.sym} 390 -310 0 0 {name=V1 value=1.2 savecurrent=false} -C {gnd.sym} 390 -250 0 0 {name=l1 lab=GND} -C {lab_pin.sym} 390 -370 2 0 {name=p5 sig_type=std_logic lab=vdd} diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_17-00-02/parameters/Frequency/frequency.png b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_17-00-02/parameters/Frequency/frequency.png deleted file mode 100644 index 50dc9b77..00000000 Binary files a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_17-00-02/parameters/Frequency/frequency.png and /dev/null differ diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_17-00-02/parameters/Frequency/run_0/.spiceinit b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_17-00-02/parameters/Frequency/run_0/.spiceinit deleted file mode 100644 index 02b902fb..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_17-00-02/parameters/Frequency/run_0/.spiceinit +++ /dev/null @@ -1,30 +0,0 @@ -* a custom spiceinit file for IHP-Open-PDK - -* export PDK_ROOT and PDK environmental variables first and add it to your .bashrc -* export PDK_ROOT= installation_specific_directory/IHP-Open-PDK -* export PDK=ihp-sg13g2 - -setcs sourcepath = ( $sourcepath $PDK_ROOT/$PDK/libs.tech/ngspice/models $PDK_ROOT/ihp-sg13g2/libs.ref/sg13g2_stdcell/spice ) -setcs sourcepath = ( $sourcepath $PDK_ROOT/$PDK/libs.tech/ngspice/models $PDK_ROOT/ihp-sg13g2/libs.ref/sg13g2_io/spice ) -*echo $sourcepath - -*option tnom=28 -*option list - -* KLU solver still do not work correctly for every simulation -*option klu - -*option node -*option opts -*option warn=1 -*option maxwarns=10 -*option savecurrents - -*set ngbehavior=hsa -*set noinit - -* add OSDI -osdi '$PDK_ROOT/$PDK/libs.tech/ngspice/osdi/psp103_nqs.osdi' -osdi '$PDK_ROOT/$PDK/libs.tech/ngspice/osdi/r3_cmc.osdi' -osdi '$PDK_ROOT/$PDK/libs.tech/ngspice/osdi/mosvar.osdi' - diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_17-00-02/parameters/Frequency/run_0/conditions.yaml b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_17-00-02/parameters/Frequency/run_0/conditions.yaml deleted file mode 100644 index 9635501f..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_17-00-02/parameters/Frequency/run_0/conditions.yaml +++ /dev/null @@ -1,8 +0,0 @@ -DUT_path: /home/pedersen/projects/IHP-AnalogAcademy/modules/module_4_type_2_PLL/diff_Roscillator/xschem/simulations/schematic/diff_ring_oscillator.spice -N: 0 -PDK: ihp-sg13g2 -PDK_ROOT: /home/pedersen/IHP-Open-PDK -corner: tt -filename: diff_oscillator_tb -simpath: /home/pedersen/projects/IHP-AnalogAcademy/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_17-00-02/parameters/Frequency/run_0 -temperature: '27' diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_17-00-02/parameters/Frequency/run_0/diff_oscillator_tb.sch b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_17-00-02/parameters/Frequency/run_0/diff_oscillator_tb.sch deleted file mode 100644 index 406a891f..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_17-00-02/parameters/Frequency/run_0/diff_oscillator_tb.sch +++ /dev/null @@ -1,65 +0,0 @@ -v {xschem version=3.4.6 file_version=1.2} -G {} -K {} -V {} -S {} -E {} -N 760 -230 760 -210 {lab=vdd} -N 720 -230 720 -210 {lab=gnd} -N 830 -340 850 -340 {lab=Voplus} -N 830 -300 850 -300 {lab=Vominus} -N 390 -280 390 -250 {lab=GND} -N 390 -370 390 -340 {lab=vdd} -C {opin.sym} 850 -340 0 0 {name=p3 lab=Voplus} -C {opin.sym} 850 -300 2 1 {name=p4 lab=Vominus} -C {code_shown.sym} 10 -1170 0 0 {name=transient_tb only_toplevel=false -value=" -.param temp=27 -* Keep this if your manual run has it — parity matters - -.ic V(Voplus)=1.2 -.control -* Stability & parity options -set noaskquit -set numdgt=12 - -* Save vectors and run -save all -op -write diff_oscillator_tb.raw -set appendwrite -tran 10p 2n - -* Define explicit vectors (avoid V(...) on calculated vectors) -let vo_p = v(Voplus) -let vo_m = v(Vominus) -let vo_diff = vo_p - vo_m - -* --- Main file that CACE reads: 2 columns (time, vo_diff) --- -set wr_singlescale -wrdata /home/pedersen/projects/IHP-AnalogAcademy/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_17-00-02/parameters/Frequency/run_0/diff_oscillator_tb_0.data vo_diff - -* --- Extra debug file (CACE ignores): 4 columns w/ names --- -set wr_vecnames -wrdata /home/pedersen/projects/IHP-AnalogAcademy/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_17-00-02/parameters/Frequency/run_0/debug_0.dat time vo_p vo_m vo_diff -unset wr_vecnames - -write diff_oscillator_tb.raw -.endc -"} -C {iopin.sym} 760 -210 0 0 {name=p1 lab=vdd} -C {devices/code_shown.sym} 10 -510 0 0 {name=MODEL1 only_toplevel=true -format="tcleval( @value )" -value=" -.lib /home/pedersen/IHP-Open-PDK/ihp-sg13g2/libs.tech/ngspice/models/cornerMOSlv.lib mos_tt - -.include /home/pedersen/projects/IHP-AnalogAcademy/modules/module_4_type_2_PLL/diff_Roscillator/xschem/simulations/schematic/diff_ring_oscillator.spice - -.temp 27 -" -} -C {diff_ring_oscillator.sym} 740 -320 0 0 {name=x1} -C {iopin.sym} 720 -210 2 0 {name=p2 lab=gnd} -C {vsource.sym} 390 -310 0 0 {name=V1 value=1.2 savecurrent=false} -C {gnd.sym} 390 -250 0 0 {name=l1 lab=GND} -C {lab_pin.sym} 390 -370 2 0 {name=p5 sig_type=std_logic lab=vdd} diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_17-00-02/parameters/Frequency/run_0/diff_oscillator_tb_0.data b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_17-00-02/parameters/Frequency/run_0/diff_oscillator_tb_0.data deleted file mode 100644 index 55aad520..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_17-00-02/parameters/Frequency/run_0/diff_oscillator_tb_0.data +++ /dev/null @@ -1,208 +0,0 @@ - 0.000000000000e+00 6.337866790587e-02 - 1.000000000000e-13 5.977070129326e-02 - 2.000000000000e-13 5.737010752555e-02 - 4.000000000000e-13 5.321759247257e-02 - 8.000000000000e-13 4.572726454202e-02 - 1.600000000000e-12 3.110636852241e-02 - 3.200000000000e-12 4.261647382150e-03 - 6.400000000000e-12 -4.367747947467e-02 - 1.280000000000e-11 -1.262652366305e-01 - 2.280000000000e-11 -2.340996284945e-01 - 3.280000000000e-11 -3.130989756157e-01 - 4.280000000000e-11 -3.432505429806e-01 - 5.280000000000e-11 -3.012854887225e-01 - 6.280000000000e-11 -1.904316905848e-01 - 7.280000000000e-11 -4.073682199355e-02 - 8.280000000000e-11 1.139505637115e-01 - 9.280000000000e-11 2.545516769294e-01 - 1.028000000000e-10 3.797066846222e-01 - 1.128000000000e-10 4.904124358963e-01 - 1.228000000000e-10 5.415988913067e-01 - 1.328000000000e-10 4.823039600532e-01 - 1.428000000000e-10 3.286487398132e-01 - 1.528000000000e-10 1.494333187522e-01 - 1.628000000000e-10 -2.292252894521e-02 - 1.728000000000e-10 -1.721878995476e-01 - 1.828000000000e-10 -3.003971530482e-01 - 1.928000000000e-10 -4.209827688535e-01 - 2.028000000000e-10 -5.322027853128e-01 - 2.128000000000e-10 -5.791583227387e-01 - 2.228000000000e-10 -5.110033194175e-01 - 2.328000000000e-10 -3.457576287601e-01 - 2.428000000000e-10 -1.607196798900e-01 - 2.528000000000e-10 1.365547887835e-02 - 2.628000000000e-10 1.638016925338e-01 - 2.728000000000e-10 2.919305498126e-01 - 2.828000000000e-10 4.124239288433e-01 - 2.928000000000e-10 5.263166298848e-01 - 3.028000000000e-10 5.824106149717e-01 - 3.128000000000e-10 5.252174273130e-01 - 3.228000000000e-10 3.651459872532e-01 - 3.328000000000e-10 1.795084214438e-01 - 3.428000000000e-10 3.226267600252e-03 - 3.528000000000e-10 -1.496702035742e-01 - 3.628000000000e-10 -2.792887178681e-01 - 3.728000000000e-10 -4.000019021719e-01 - 3.828000000000e-10 -5.160190704246e-01 - 3.928000000000e-10 -5.816500208715e-01 - 4.028000000000e-10 -5.372846837038e-01 - 4.128000000000e-10 -3.848834507397e-01 - 4.228000000000e-10 -1.993014483184e-01 - 4.328000000000e-10 -2.125168120944e-02 - 4.428000000000e-10 1.345897939599e-01 - 4.528000000000e-10 2.660516467047e-01 - 4.628000000000e-10 3.871267719337e-01 - 4.728000000000e-10 5.047282820024e-01 - 4.828000000000e-10 5.793062880329e-01 - 4.928000000000e-10 5.480670992790e-01 - 5.028000000000e-10 4.046247574272e-01 - 5.128000000000e-10 2.194567139019e-01 - 5.228000000000e-10 3.978854030163e-02 - 5.328000000000e-10 -1.190134240033e-01 - 5.428000000000e-10 -2.525512770557e-01 - 5.528000000000e-10 -3.741228468393e-01 - 5.628000000000e-10 -4.927999203803e-01 - 5.728000000000e-10 -5.755235861382e-01 - 5.828000000000e-10 -5.574109039140e-01 - 5.928000000000e-10 -4.240101965476e-01 - 6.028000000000e-10 -2.397070733991e-01 - 6.128000000000e-10 -5.859311656156e-02 - 6.228000000000e-10 1.031069489747e-01 - 6.328000000000e-10 2.389202178782e-01 - 6.428000000000e-10 3.611164053835e-01 - 6.528000000000e-10 4.804511503358e-01 - 6.628000000000e-10 5.703927182427e-01 - 6.728000000000e-10 5.651995411624e-01 - 6.828000000000e-10 4.426884649777e-01 - 6.928000000000e-10 2.598493744117e-01 - 7.028000000000e-10 7.747657769560e-02 - 7.128000000000e-10 -8.699618736653e-02 - 7.228000000000e-10 -2.252447884331e-01 - 7.328000000000e-10 -3.481970680463e-01 - 7.428000000000e-10 -4.678842164117e-01 - 7.528000000000e-10 -5.640875390474e-01 - 7.628000000000e-10 -5.714336476059e-01 - 7.728000000000e-10 -4.604185473907e-01 - 7.828000000000e-10 -2.797750138125e-01 - 7.928000000000e-10 -9.633858138806e-02 - 8.028000000000e-10 7.073777814255e-02 - 8.128000000000e-10 2.115493094061e-01 - 8.228000000000e-10 3.353876046363e-01 - 8.328000000000e-10 4.552524923411e-01 - 8.428000000000e-10 5.567938616314e-01 - 8.528000000000e-10 5.762058661922e-01 - 8.628000000000e-10 4.770908355033e-01 - 8.728000000000e-10 2.994880974607e-01 - 8.828000000000e-10 1.151828864331e-01 - 8.928000000000e-10 -5.431208395594e-02 - 9.028000000000e-10 -1.977861602727e-01 - 9.128000000000e-10 -3.226531529049e-01 - 9.228000000000e-10 -4.427347421602e-01 - 9.328000000000e-10 -5.488327643130e-01 - 9.428000000000e-10 -5.797041909504e-01 - 9.528000000000e-10 -4.927265308101e-01 - 9.628000000000e-10 -3.191097454976e-01 - 9.728000000000e-10 -1.342181141771e-01 - 9.828000000000e-10 3.744993884902e-02 - 9.928000000000e-10 1.836370942174e-01 - 1.002800000000e-09 3.096940812427e-01 - 1.012800000000e-09 4.298817640101e-01 - 1.022800000000e-09 5.397599749883e-01 - 1.032800000000e-09 5.817861936754e-01 - 1.042800000000e-09 5.074041226008e-01 - 1.052800000000e-09 3.388664774534e-01 - 1.062800000000e-09 1.535104608579e-01 - 1.072800000000e-09 -2.024845785028e-02 - 1.082800000000e-09 -1.692491421902e-01 - 1.092800000000e-09 -2.967013757932e-01 - 1.102800000000e-09 -4.171073443425e-01 - 1.112800000000e-09 -5.301213512093e-01 - 1.122800000000e-09 -5.826820342472e-01 - 1.132800000000e-09 -5.208927839223e-01 - 1.142800000000e-09 -3.582851623030e-01 - 1.152800000000e-09 -1.726179318326e-01 - 1.162800000000e-09 3.001935102304e-03 - 1.172800000000e-09 1.548738889534e-01 - 1.182800000000e-09 2.838707642593e-01 - 1.192800000000e-09 4.044922095117e-01 - 1.202800000000e-09 5.198180562761e-01 - 1.212800000000e-09 5.821632166084e-01 - 1.222800000000e-09 5.332184734218e-01 - 1.232800000000e-09 3.779624918474e-01 - 1.242800000000e-09 1.922988577092e-01 - 1.252800000000e-09 1.486703325848e-02 - 1.262800000000e-09 -1.399496932386e-01 - 1.272800000000e-09 -2.707197504860e-01 - 1.282800000000e-09 -3.916660474216e-01 - 1.292800000000e-09 -5.087606367752e-01 - 1.302800000000e-09 -5.803016232270e-01 - 1.312800000000e-09 -5.444413186477e-01 - 1.322800000000e-09 -3.977418947932e-01 - 1.332800000000e-09 -2.123689566689e-01 - 1.342800000000e-09 -3.326433605185e-02 - 1.352800000000e-09 1.245198660865e-01 - 1.362800000000e-09 2.572914801001e-01 - 1.372800000000e-09 3.786884397038e-01 - 1.382800000000e-09 4.970287842619e-01 - 1.392800000000e-09 5.770140673465e-01 - 1.402800000000e-09 5.543068732670e-01 - 1.412800000000e-09 4.172944393038e-01 - 1.422800000000e-09 2.326135914048e-01 - 1.432800000000e-09 5.200031629165e-02 - 1.442800000000e-09 -1.087117173734e-01 - 1.452800000000e-09 -2.436934942172e-01 - 1.462800000000e-09 -3.656702152799e-01 - 1.472800000000e-09 -4.848025482630e-01 - 1.482800000000e-09 -5.723385369588e-01 - 1.492800000000e-09 -5.626458033125e-01 - 1.502800000000e-09 -4.362543636943e-01 - 1.512800000000e-09 -2.528118155371e-01 - 1.522800000000e-09 -7.087265053387e-02 - 1.532800000000e-09 9.266186071927e-02 - 1.542800000000e-09 2.300274395412e-01 - 1.552800000000e-09 3.527140919248e-01 - 1.562800000000e-09 4.722911338649e-01 - 1.572800000000e-09 5.664223472519e-01 - 1.582800000000e-09 5.694169369289e-01 - 1.592800000000e-09 4.543351006071e-01 - 1.602800000000e-09 2.728185799251e-01 - 1.612800000000e-09 8.974653097500e-02 - 1.622800000000e-09 -7.645342918533e-02 - 1.632800000000e-09 -2.163412758022e-01 - 1.642800000000e-09 -3.398672125281e-01 - 1.652800000000e-09 -4.596702740436e-01 - 1.662800000000e-09 -5.594547917655e-01 - 1.672800000000e-09 -5.746885318592e-01 - 1.682800000000e-09 -4.713817902736e-01 - 1.692800000000e-09 -2.925998303757e-01 - 1.702800000000e-09 -1.085902848019e-01 - 1.712800000000e-09 6.009271011551e-02 - 1.722800000000e-09 2.026110402562e-01 - 1.732800000000e-09 3.271137583800e-01 - 1.742800000000e-09 4.470366757261e-01 - 1.752800000000e-09 5.516024260258e-01 - 1.762800000000e-09 5.785682691472e-01 - 1.772800000000e-09 4.872997263391e-01 - 1.782800000000e-09 3.121706971956e-01 - 1.792800000000e-09 1.275093354174e-01 - 1.802800000000e-09 -4.339966691138e-02 - 1.812800000000e-09 -1.885914489076e-01 - 1.822800000000e-09 -3.142192224600e-01 - 1.832800000000e-09 -4.343522534326e-01 - 1.842800000000e-09 -5.430041650422e-01 - 1.852800000000e-09 -5.811837349212e-01 - 1.862800000000e-09 -5.023856761573e-01 - 1.872800000000e-09 -3.319418855515e-01 - 1.882800000000e-09 -1.467398868003e-01 - 1.892800000000e-09 2.631801497144e-02 - 1.902800000000e-09 1.743391836774e-01 - 1.912800000000e-09 3.012879943958e-01 - 1.922800000000e-09 4.215592295324e-01 - 1.932800000000e-09 5.336096259357e-01 - 1.942800000000e-09 5.825911854269e-01 - 1.952800000000e-09 5.163685478590e-01 - 1.962800000000e-09 3.514506166310e-01 - 1.972800000000e-09 1.658449567189e-01 - 1.982800000000e-09 -9.123570295392e-03 - 1.992800000000e-09 -1.599641527363e-01 - 2.000000000000e-09 -2.536669268561e-01 diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_17-00-02/parameters/Frequency/run_0/diff_ring_oscillator.sym b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_17-00-02/parameters/Frequency/run_0/diff_ring_oscillator.sym deleted file mode 100644 index e632b156..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_17-00-02/parameters/Frequency/run_0/diff_ring_oscillator.sym +++ /dev/null @@ -1,27 +0,0 @@ -v {xschem version=3.4.6 file_version=1.2} -G {} -K {type=primitive -format="@name @pinlist @symname" -template="name=x1" -} -V {} -S {} -E {} -L 4 70 -20 90 -20 {} -L 4 70 20 90 20 {} -L 7 20 70 20 90 {} -L 7 -20 70 -20 90 {} -B 5 87.5 -22.5 92.5 -17.5 {name=Voplus dir=out} -B 5 17.5 87.5 22.5 92.5 {name=vdd dir=inout} -B 5 -22.5 87.5 -17.5 92.5 {name=gnd dir=inout} -B 5 87.5 17.5 92.5 22.5 {name=Vominus dir=out} -A 4 -1.666666666666714 1.666666666666714 71.68604389202189 287.5924245621816 360 {} -A 4 -30 27.5 40.69705149024927 42.51044707800085 94.97910584399833 {} -A 4 30 -27.5 40.69705149024927 222.5104470780009 94.97910584399833 {} -T {@symname} -40.5 -56 0 0 0.1 0.1 {} -T {@name} -40 -47 0 0 0.1 0.1 { -} -T {Voplus} 65 -24 0 1 0.2 0.2 {} -T {vdd} 5 64 2 1 0.2 0.2 {} -T {gnd} -35 64 2 1 0.2 0.2 {} -T {Vominus} 65 16 0 1 0.2 0.2 {} diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_17-00-02/parameters/Frequency/simulation_summary.csv b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_17-00-02/parameters/Frequency/simulation_summary.csv deleted file mode 100644 index 116f997d..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_17-00-02/parameters/Frequency/simulation_summary.csv +++ /dev/null @@ -1,2 +0,0 @@ -run,time_axis,vo_diff,frequency -run_0,"[0.000, 1.000e-13, 2.000e-13, …]","[6.338e-02, 5.977e-02, 5.737e-02, …]",5.474e+09 diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_17-00-02/parameters/Frequency/simulation_summary.md b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_17-00-02/parameters/Frequency/simulation_summary.md deleted file mode 100644 index 84d31e27..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_17-00-02/parameters/Frequency/simulation_summary.md +++ /dev/null @@ -1,5 +0,0 @@ -# Simulation Summary for Freq - -| run | time_axis | vo_diff | frequency | -| :-- | --------: | ------: | --------: | -| run_0 | [0.000, 1.000e-13, 2.000e-13, …] | [6.338e-02, 5.977e-02, 5.737e-02, …] | 5.474e+09 | diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_17-00-02/summary.md b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_17-00-02/summary.md deleted file mode 100644 index 8f601475..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-20_17-00-02/summary.md +++ /dev/null @@ -1,9 +0,0 @@ - -# CACE Summary for diff_ring_oscillator - -**netlist source**: schematic - -| Parameter | Tool | Result | Min Limit | Min Value | Typ Target | Typ Value | Max Limit | Max Value | Status | -| :------------------- | :------------------- | :-------------- | ---------: | -----------: | ---------: | -----------: | ---------: | -----------: | :------: | -| Freq | ngspice | frequency | 4.2 GHz | 5.474 GHz | 5.4 GHz | 5.474 GHz | 7.1 GHz | 5.474 GHz | Pass ✅ | - diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-28_13-03-04/parameters/Frequency/diff_oscillator_tb.sch b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-28_13-03-04/parameters/Frequency/diff_oscillator_tb.sch deleted file mode 100644 index 8b2e4f89..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-28_13-03-04/parameters/Frequency/diff_oscillator_tb.sch +++ /dev/null @@ -1,65 +0,0 @@ -v {xschem version=3.4.6 file_version=1.2} -G {} -K {} -V {} -S {} -E {} -N 760 -230 760 -210 {lab=vdd} -N 720 -230 720 -210 {lab=gnd} -N 830 -340 850 -340 {lab=Voplus} -N 830 -300 850 -300 {lab=Vominus} -N 390 -280 390 -250 {lab=GND} -N 390 -370 390 -340 {lab=vdd} -C {opin.sym} 850 -340 0 0 {name=p3 lab=Voplus} -C {opin.sym} 850 -300 2 1 {name=p4 lab=Vominus} -C {code_shown.sym} 10 -1170 0 0 {name=transient_tb only_toplevel=false -value=" -.param temp=27 -* Keep this if your manual run has it — parity matters - -.ic V(Voplus)=1.2 -.control -* Stability & parity options -set noaskquit -set numdgt=12 - -* Save vectors and run -save all -op -write diff_oscillator_tb.raw -set appendwrite -tran 10p 2n 160p - -* Define explicit vectors (avoid V(...) on calculated vectors) -let vo_p = v(Voplus) -let vo_m = v(Vominus) -let vo_diff = vo_p - vo_m - -* --- Main file that CACE reads: 2 columns (time, vo_diff) --- -set wr_singlescale -wrdata CACE\{simpath\}/CACE\{filename\}_CACE\{N\}.data vo_diff - -* --- Extra debug file (CACE ignores): 4 columns w/ names --- -set wr_vecnames -wrdata CACE\{simpath\}/debug_CACE\{N\}.dat time vo_p vo_m vo_diff -unset wr_vecnames - -write diff_oscillator_tb.raw -.endc -"} -C {iopin.sym} 760 -210 0 0 {name=p1 lab=vdd} -C {devices/code_shown.sym} 10 -510 0 0 {name=MODEL1 only_toplevel=true -format="tcleval( @value )" -value=" -.lib CACE\{PDK_ROOT\}/CACE\{PDK\}/libs.tech/ngspice/models/cornerMOSlv.lib mos_CACE\{corner\} - -.include CACE\{DUT_path\} - -.temp CACE\{temperature\} -" -} -C {diff_ring_oscillator.sym} 740 -320 0 0 {name=x1} -C {iopin.sym} 720 -210 2 0 {name=p2 lab=gnd} -C {vsource.sym} 390 -310 0 0 {name=V1 value=1.2 savecurrent=false} -C {gnd.sym} 390 -250 0 0 {name=l1 lab=GND} -C {lab_pin.sym} 390 -370 2 0 {name=p5 sig_type=std_logic lab=vdd} diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-28_13-03-04/parameters/Frequency/frequency.png b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-28_13-03-04/parameters/Frequency/frequency.png deleted file mode 100644 index c624000f..00000000 Binary files a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-28_13-03-04/parameters/Frequency/frequency.png and /dev/null differ diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-28_13-03-04/parameters/Frequency/run_0/.spiceinit b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-28_13-03-04/parameters/Frequency/run_0/.spiceinit deleted file mode 100644 index 02b902fb..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-28_13-03-04/parameters/Frequency/run_0/.spiceinit +++ /dev/null @@ -1,30 +0,0 @@ -* a custom spiceinit file for IHP-Open-PDK - -* export PDK_ROOT and PDK environmental variables first and add it to your .bashrc -* export PDK_ROOT= installation_specific_directory/IHP-Open-PDK -* export PDK=ihp-sg13g2 - -setcs sourcepath = ( $sourcepath $PDK_ROOT/$PDK/libs.tech/ngspice/models $PDK_ROOT/ihp-sg13g2/libs.ref/sg13g2_stdcell/spice ) -setcs sourcepath = ( $sourcepath $PDK_ROOT/$PDK/libs.tech/ngspice/models $PDK_ROOT/ihp-sg13g2/libs.ref/sg13g2_io/spice ) -*echo $sourcepath - -*option tnom=28 -*option list - -* KLU solver still do not work correctly for every simulation -*option klu - -*option node -*option opts -*option warn=1 -*option maxwarns=10 -*option savecurrents - -*set ngbehavior=hsa -*set noinit - -* add OSDI -osdi '$PDK_ROOT/$PDK/libs.tech/ngspice/osdi/psp103_nqs.osdi' -osdi '$PDK_ROOT/$PDK/libs.tech/ngspice/osdi/r3_cmc.osdi' -osdi '$PDK_ROOT/$PDK/libs.tech/ngspice/osdi/mosvar.osdi' - diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-28_13-03-04/parameters/Frequency/run_0/conditions.yaml b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-28_13-03-04/parameters/Frequency/run_0/conditions.yaml deleted file mode 100644 index 04ec32c2..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-28_13-03-04/parameters/Frequency/run_0/conditions.yaml +++ /dev/null @@ -1,8 +0,0 @@ -DUT_path: /home/pedersen/projects/IHP-AnalogAcademy/modules/module_4_type_2_PLL/diff_Roscillator/xschem/simulations/schematic/diff_ring_oscillator.spice -N: 0 -PDK: ihp-sg13g2 -PDK_ROOT: /home/pedersen/IHP-Open-PDK -corner: tt -filename: diff_oscillator_tb -simpath: /home/pedersen/projects/IHP-AnalogAcademy/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-28_13-03-04/parameters/Frequency/run_0 -temperature: '27' diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-28_13-03-04/parameters/Frequency/run_0/diff_oscillator_tb.sch b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-28_13-03-04/parameters/Frequency/run_0/diff_oscillator_tb.sch deleted file mode 100644 index 8f8f4675..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-28_13-03-04/parameters/Frequency/run_0/diff_oscillator_tb.sch +++ /dev/null @@ -1,65 +0,0 @@ -v {xschem version=3.4.6 file_version=1.2} -G {} -K {} -V {} -S {} -E {} -N 760 -230 760 -210 {lab=vdd} -N 720 -230 720 -210 {lab=gnd} -N 830 -340 850 -340 {lab=Voplus} -N 830 -300 850 -300 {lab=Vominus} -N 390 -280 390 -250 {lab=GND} -N 390 -370 390 -340 {lab=vdd} -C {opin.sym} 850 -340 0 0 {name=p3 lab=Voplus} -C {opin.sym} 850 -300 2 1 {name=p4 lab=Vominus} -C {code_shown.sym} 10 -1170 0 0 {name=transient_tb only_toplevel=false -value=" -.param temp=27 -* Keep this if your manual run has it — parity matters - -.ic V(Voplus)=1.2 -.control -* Stability & parity options -set noaskquit -set numdgt=12 - -* Save vectors and run -save all -op -write diff_oscillator_tb.raw -set appendwrite -tran 10p 2n 160p - -* Define explicit vectors (avoid V(...) on calculated vectors) -let vo_p = v(Voplus) -let vo_m = v(Vominus) -let vo_diff = vo_p - vo_m - -* --- Main file that CACE reads: 2 columns (time, vo_diff) --- -set wr_singlescale -wrdata /home/pedersen/projects/IHP-AnalogAcademy/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-28_13-03-04/parameters/Frequency/run_0/diff_oscillator_tb_0.data vo_diff - -* --- Extra debug file (CACE ignores): 4 columns w/ names --- -set wr_vecnames -wrdata /home/pedersen/projects/IHP-AnalogAcademy/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-28_13-03-04/parameters/Frequency/run_0/debug_0.dat time vo_p vo_m vo_diff -unset wr_vecnames - -write diff_oscillator_tb.raw -.endc -"} -C {iopin.sym} 760 -210 0 0 {name=p1 lab=vdd} -C {devices/code_shown.sym} 10 -510 0 0 {name=MODEL1 only_toplevel=true -format="tcleval( @value )" -value=" -.lib /home/pedersen/IHP-Open-PDK/ihp-sg13g2/libs.tech/ngspice/models/cornerMOSlv.lib mos_tt - -.include /home/pedersen/projects/IHP-AnalogAcademy/modules/module_4_type_2_PLL/diff_Roscillator/xschem/simulations/schematic/diff_ring_oscillator.spice - -.temp 27 -" -} -C {diff_ring_oscillator.sym} 740 -320 0 0 {name=x1} -C {iopin.sym} 720 -210 2 0 {name=p2 lab=gnd} -C {vsource.sym} 390 -310 0 0 {name=V1 value=1.2 savecurrent=false} -C {gnd.sym} 390 -250 0 0 {name=l1 lab=GND} -C {lab_pin.sym} 390 -370 2 0 {name=p5 sig_type=std_logic lab=vdd} diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-28_13-03-04/parameters/Frequency/run_0/diff_oscillator_tb_0.data b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-28_13-03-04/parameters/Frequency/run_0/diff_oscillator_tb_0.data deleted file mode 100644 index b960892f..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-28_13-03-04/parameters/Frequency/run_0/diff_oscillator_tb_0.data +++ /dev/null @@ -1,185 +0,0 @@ - 1.628000000000e-10 -2.292252894521e-02 - 1.728000000000e-10 -1.721878995476e-01 - 1.828000000000e-10 -3.003971530482e-01 - 1.928000000000e-10 -4.209827688535e-01 - 2.028000000000e-10 -5.322027853128e-01 - 2.128000000000e-10 -5.791583227387e-01 - 2.228000000000e-10 -5.110033194175e-01 - 2.328000000000e-10 -3.457576287601e-01 - 2.428000000000e-10 -1.607196798900e-01 - 2.528000000000e-10 1.365547887835e-02 - 2.628000000000e-10 1.638016925338e-01 - 2.728000000000e-10 2.919305498126e-01 - 2.828000000000e-10 4.124239288433e-01 - 2.928000000000e-10 5.263166298848e-01 - 3.028000000000e-10 5.824106149717e-01 - 3.128000000000e-10 5.252174273130e-01 - 3.228000000000e-10 3.651459872532e-01 - 3.328000000000e-10 1.795084214438e-01 - 3.428000000000e-10 3.226267600252e-03 - 3.528000000000e-10 -1.496702035742e-01 - 3.628000000000e-10 -2.792887178681e-01 - 3.728000000000e-10 -4.000019021719e-01 - 3.828000000000e-10 -5.160190704246e-01 - 3.928000000000e-10 -5.816500208715e-01 - 4.028000000000e-10 -5.372846837038e-01 - 4.128000000000e-10 -3.848834507397e-01 - 4.228000000000e-10 -1.993014483184e-01 - 4.328000000000e-10 -2.125168120944e-02 - 4.428000000000e-10 1.345897939599e-01 - 4.528000000000e-10 2.660516467047e-01 - 4.628000000000e-10 3.871267719337e-01 - 4.728000000000e-10 5.047282820024e-01 - 4.828000000000e-10 5.793062880329e-01 - 4.928000000000e-10 5.480670992790e-01 - 5.028000000000e-10 4.046247574272e-01 - 5.128000000000e-10 2.194567139019e-01 - 5.228000000000e-10 3.978854030163e-02 - 5.328000000000e-10 -1.190134240033e-01 - 5.428000000000e-10 -2.525512770557e-01 - 5.528000000000e-10 -3.741228468393e-01 - 5.628000000000e-10 -4.927999203803e-01 - 5.728000000000e-10 -5.755235861382e-01 - 5.828000000000e-10 -5.574109039140e-01 - 5.928000000000e-10 -4.240101965476e-01 - 6.028000000000e-10 -2.397070733991e-01 - 6.128000000000e-10 -5.859311656156e-02 - 6.228000000000e-10 1.031069489747e-01 - 6.328000000000e-10 2.389202178782e-01 - 6.428000000000e-10 3.611164053835e-01 - 6.528000000000e-10 4.804511503358e-01 - 6.628000000000e-10 5.703927182427e-01 - 6.728000000000e-10 5.651995411624e-01 - 6.828000000000e-10 4.426884649777e-01 - 6.928000000000e-10 2.598493744117e-01 - 7.028000000000e-10 7.747657769560e-02 - 7.128000000000e-10 -8.699618736653e-02 - 7.228000000000e-10 -2.252447884331e-01 - 7.328000000000e-10 -3.481970680463e-01 - 7.428000000000e-10 -4.678842164117e-01 - 7.528000000000e-10 -5.640875390474e-01 - 7.628000000000e-10 -5.714336476059e-01 - 7.728000000000e-10 -4.604185473907e-01 - 7.828000000000e-10 -2.797750138125e-01 - 7.928000000000e-10 -9.633858138806e-02 - 8.028000000000e-10 7.073777814255e-02 - 8.128000000000e-10 2.115493094061e-01 - 8.228000000000e-10 3.353876046363e-01 - 8.328000000000e-10 4.552524923411e-01 - 8.428000000000e-10 5.567938616314e-01 - 8.528000000000e-10 5.762058661922e-01 - 8.628000000000e-10 4.770908355033e-01 - 8.728000000000e-10 2.994880974607e-01 - 8.828000000000e-10 1.151828864331e-01 - 8.928000000000e-10 -5.431208395594e-02 - 9.028000000000e-10 -1.977861602727e-01 - 9.128000000000e-10 -3.226531529049e-01 - 9.228000000000e-10 -4.427347421602e-01 - 9.328000000000e-10 -5.488327643130e-01 - 9.428000000000e-10 -5.797041909504e-01 - 9.528000000000e-10 -4.927265308101e-01 - 9.628000000000e-10 -3.191097454976e-01 - 9.728000000000e-10 -1.342181141771e-01 - 9.828000000000e-10 3.744993884902e-02 - 9.928000000000e-10 1.836370942174e-01 - 1.002800000000e-09 3.096940812427e-01 - 1.012800000000e-09 4.298817640101e-01 - 1.022800000000e-09 5.397599749883e-01 - 1.032800000000e-09 5.817861936754e-01 - 1.042800000000e-09 5.074041226008e-01 - 1.052800000000e-09 3.388664774534e-01 - 1.062800000000e-09 1.535104608579e-01 - 1.072800000000e-09 -2.024845785028e-02 - 1.082800000000e-09 -1.692491421902e-01 - 1.092800000000e-09 -2.967013757932e-01 - 1.102800000000e-09 -4.171073443425e-01 - 1.112800000000e-09 -5.301213512093e-01 - 1.122800000000e-09 -5.826820342472e-01 - 1.132800000000e-09 -5.208927839223e-01 - 1.142800000000e-09 -3.582851623030e-01 - 1.152800000000e-09 -1.726179318326e-01 - 1.162800000000e-09 3.001935102304e-03 - 1.172800000000e-09 1.548738889534e-01 - 1.182800000000e-09 2.838707642593e-01 - 1.192800000000e-09 4.044922095117e-01 - 1.202800000000e-09 5.198180562761e-01 - 1.212800000000e-09 5.821632166084e-01 - 1.222800000000e-09 5.332184734218e-01 - 1.232800000000e-09 3.779624918474e-01 - 1.242800000000e-09 1.922988577092e-01 - 1.252800000000e-09 1.486703325848e-02 - 1.262800000000e-09 -1.399496932386e-01 - 1.272800000000e-09 -2.707197504860e-01 - 1.282800000000e-09 -3.916660474216e-01 - 1.292800000000e-09 -5.087606367752e-01 - 1.302800000000e-09 -5.803016232270e-01 - 1.312800000000e-09 -5.444413186477e-01 - 1.322800000000e-09 -3.977418947932e-01 - 1.332800000000e-09 -2.123689566689e-01 - 1.342800000000e-09 -3.326433605185e-02 - 1.352800000000e-09 1.245198660865e-01 - 1.362800000000e-09 2.572914801001e-01 - 1.372800000000e-09 3.786884397038e-01 - 1.382800000000e-09 4.970287842619e-01 - 1.392800000000e-09 5.770140673465e-01 - 1.402800000000e-09 5.543068732670e-01 - 1.412800000000e-09 4.172944393038e-01 - 1.422800000000e-09 2.326135914048e-01 - 1.432800000000e-09 5.200031629165e-02 - 1.442800000000e-09 -1.087117173734e-01 - 1.452800000000e-09 -2.436934942172e-01 - 1.462800000000e-09 -3.656702152799e-01 - 1.472800000000e-09 -4.848025482630e-01 - 1.482800000000e-09 -5.723385369588e-01 - 1.492800000000e-09 -5.626458033125e-01 - 1.502800000000e-09 -4.362543636943e-01 - 1.512800000000e-09 -2.528118155371e-01 - 1.522800000000e-09 -7.087265053387e-02 - 1.532800000000e-09 9.266186071927e-02 - 1.542800000000e-09 2.300274395412e-01 - 1.552800000000e-09 3.527140919248e-01 - 1.562800000000e-09 4.722911338649e-01 - 1.572800000000e-09 5.664223472519e-01 - 1.582800000000e-09 5.694169369289e-01 - 1.592800000000e-09 4.543351006071e-01 - 1.602800000000e-09 2.728185799251e-01 - 1.612800000000e-09 8.974653097500e-02 - 1.622800000000e-09 -7.645342918533e-02 - 1.632800000000e-09 -2.163412758022e-01 - 1.642800000000e-09 -3.398672125281e-01 - 1.652800000000e-09 -4.596702740436e-01 - 1.662800000000e-09 -5.594547917655e-01 - 1.672800000000e-09 -5.746885318592e-01 - 1.682800000000e-09 -4.713817902736e-01 - 1.692800000000e-09 -2.925998303757e-01 - 1.702800000000e-09 -1.085902848019e-01 - 1.712800000000e-09 6.009271011551e-02 - 1.722800000000e-09 2.026110402562e-01 - 1.732800000000e-09 3.271137583800e-01 - 1.742800000000e-09 4.470366757261e-01 - 1.752800000000e-09 5.516024260258e-01 - 1.762800000000e-09 5.785682691472e-01 - 1.772800000000e-09 4.872997263391e-01 - 1.782800000000e-09 3.121706971956e-01 - 1.792800000000e-09 1.275093354174e-01 - 1.802800000000e-09 -4.339966691138e-02 - 1.812800000000e-09 -1.885914489076e-01 - 1.822800000000e-09 -3.142192224600e-01 - 1.832800000000e-09 -4.343522534326e-01 - 1.842800000000e-09 -5.430041650422e-01 - 1.852800000000e-09 -5.811837349212e-01 - 1.862800000000e-09 -5.023856761573e-01 - 1.872800000000e-09 -3.319418855515e-01 - 1.882800000000e-09 -1.467398868003e-01 - 1.892800000000e-09 2.631801497144e-02 - 1.902800000000e-09 1.743391836774e-01 - 1.912800000000e-09 3.012879943958e-01 - 1.922800000000e-09 4.215592295324e-01 - 1.932800000000e-09 5.336096259357e-01 - 1.942800000000e-09 5.825911854269e-01 - 1.952800000000e-09 5.163685478590e-01 - 1.962800000000e-09 3.514506166310e-01 - 1.972800000000e-09 1.658449567189e-01 - 1.982800000000e-09 -9.123570295392e-03 - 1.992800000000e-09 -1.599641527363e-01 - 2.000000000000e-09 -2.536669268561e-01 diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-28_13-03-04/parameters/Frequency/run_0/diff_ring_oscillator.sym b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-28_13-03-04/parameters/Frequency/run_0/diff_ring_oscillator.sym deleted file mode 100644 index e632b156..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-28_13-03-04/parameters/Frequency/run_0/diff_ring_oscillator.sym +++ /dev/null @@ -1,27 +0,0 @@ -v {xschem version=3.4.6 file_version=1.2} -G {} -K {type=primitive -format="@name @pinlist @symname" -template="name=x1" -} -V {} -S {} -E {} -L 4 70 -20 90 -20 {} -L 4 70 20 90 20 {} -L 7 20 70 20 90 {} -L 7 -20 70 -20 90 {} -B 5 87.5 -22.5 92.5 -17.5 {name=Voplus dir=out} -B 5 17.5 87.5 22.5 92.5 {name=vdd dir=inout} -B 5 -22.5 87.5 -17.5 92.5 {name=gnd dir=inout} -B 5 87.5 17.5 92.5 22.5 {name=Vominus dir=out} -A 4 -1.666666666666714 1.666666666666714 71.68604389202189 287.5924245621816 360 {} -A 4 -30 27.5 40.69705149024927 42.51044707800085 94.97910584399833 {} -A 4 30 -27.5 40.69705149024927 222.5104470780009 94.97910584399833 {} -T {@symname} -40.5 -56 0 0 0.1 0.1 {} -T {@name} -40 -47 0 0 0.1 0.1 { -} -T {Voplus} 65 -24 0 1 0.2 0.2 {} -T {vdd} 5 64 2 1 0.2 0.2 {} -T {gnd} -35 64 2 1 0.2 0.2 {} -T {Vominus} 65 16 0 1 0.2 0.2 {} diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-28_13-03-04/parameters/Frequency/simulation_summary.csv b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-28_13-03-04/parameters/Frequency/simulation_summary.csv deleted file mode 100644 index 8f65c459..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-28_13-03-04/parameters/Frequency/simulation_summary.csv +++ /dev/null @@ -1,2 +0,0 @@ -run,time_axis,vo_diff,frequency -run_0,"[1.628e-10, 1.728e-10, 1.828e-10, …]","[-2.292e-02, -1.722e-01, -3.004e-01, …]",5.414e+09 diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-28_13-03-04/parameters/Frequency/simulation_summary.md b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-28_13-03-04/parameters/Frequency/simulation_summary.md deleted file mode 100644 index a45b7af4..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-28_13-03-04/parameters/Frequency/simulation_summary.md +++ /dev/null @@ -1,5 +0,0 @@ -# Simulation Summary for Freq - -| run | time_axis | vo_diff | frequency | -| :-- | --------: | ------: | --------: | -| run_0 | [1.628e-10, 1.728e-10, 1.828e-10, …] | [-2.292e-02, -1.722e-01, -3.004e-01, …] | 5.414e+09 | diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-28_13-03-04/summary.md b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-28_13-03-04/summary.md deleted file mode 100644 index a5320ec1..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-28_13-03-04/summary.md +++ /dev/null @@ -1,9 +0,0 @@ - -# CACE Summary for diff_ring_oscillator - -**netlist source**: schematic - -| Parameter | Tool | Result | Min Limit | Min Value | Typ Target | Typ Value | Max Limit | Max Value | Status | -| :------------------- | :------------------- | :-------------- | ---------: | -----------: | ---------: | -----------: | ---------: | -----------: | :------: | -| Freq | ngspice | frequency | 4.2 GHz | 5.414 GHz | 5.4 GHz | 5.414 GHz | 7.1 GHz | 5.414 GHz | Pass ✅ | - diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-28_13-08-46/parameters/Frequency/diff_oscillator_tb.sch b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-28_13-08-46/parameters/Frequency/diff_oscillator_tb.sch deleted file mode 100644 index 8b2e4f89..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-28_13-08-46/parameters/Frequency/diff_oscillator_tb.sch +++ /dev/null @@ -1,65 +0,0 @@ -v {xschem version=3.4.6 file_version=1.2} -G {} -K {} -V {} -S {} -E {} -N 760 -230 760 -210 {lab=vdd} -N 720 -230 720 -210 {lab=gnd} -N 830 -340 850 -340 {lab=Voplus} -N 830 -300 850 -300 {lab=Vominus} -N 390 -280 390 -250 {lab=GND} -N 390 -370 390 -340 {lab=vdd} -C {opin.sym} 850 -340 0 0 {name=p3 lab=Voplus} -C {opin.sym} 850 -300 2 1 {name=p4 lab=Vominus} -C {code_shown.sym} 10 -1170 0 0 {name=transient_tb only_toplevel=false -value=" -.param temp=27 -* Keep this if your manual run has it — parity matters - -.ic V(Voplus)=1.2 -.control -* Stability & parity options -set noaskquit -set numdgt=12 - -* Save vectors and run -save all -op -write diff_oscillator_tb.raw -set appendwrite -tran 10p 2n 160p - -* Define explicit vectors (avoid V(...) on calculated vectors) -let vo_p = v(Voplus) -let vo_m = v(Vominus) -let vo_diff = vo_p - vo_m - -* --- Main file that CACE reads: 2 columns (time, vo_diff) --- -set wr_singlescale -wrdata CACE\{simpath\}/CACE\{filename\}_CACE\{N\}.data vo_diff - -* --- Extra debug file (CACE ignores): 4 columns w/ names --- -set wr_vecnames -wrdata CACE\{simpath\}/debug_CACE\{N\}.dat time vo_p vo_m vo_diff -unset wr_vecnames - -write diff_oscillator_tb.raw -.endc -"} -C {iopin.sym} 760 -210 0 0 {name=p1 lab=vdd} -C {devices/code_shown.sym} 10 -510 0 0 {name=MODEL1 only_toplevel=true -format="tcleval( @value )" -value=" -.lib CACE\{PDK_ROOT\}/CACE\{PDK\}/libs.tech/ngspice/models/cornerMOSlv.lib mos_CACE\{corner\} - -.include CACE\{DUT_path\} - -.temp CACE\{temperature\} -" -} -C {diff_ring_oscillator.sym} 740 -320 0 0 {name=x1} -C {iopin.sym} 720 -210 2 0 {name=p2 lab=gnd} -C {vsource.sym} 390 -310 0 0 {name=V1 value=1.2 savecurrent=false} -C {gnd.sym} 390 -250 0 0 {name=l1 lab=GND} -C {lab_pin.sym} 390 -370 2 0 {name=p5 sig_type=std_logic lab=vdd} diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-28_13-08-46/parameters/Frequency/frequency.png b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-28_13-08-46/parameters/Frequency/frequency.png deleted file mode 100644 index c624000f..00000000 Binary files a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-28_13-08-46/parameters/Frequency/frequency.png and /dev/null differ diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-28_13-08-46/parameters/Frequency/run_0/.spiceinit b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-28_13-08-46/parameters/Frequency/run_0/.spiceinit deleted file mode 100644 index 02b902fb..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-28_13-08-46/parameters/Frequency/run_0/.spiceinit +++ /dev/null @@ -1,30 +0,0 @@ -* a custom spiceinit file for IHP-Open-PDK - -* export PDK_ROOT and PDK environmental variables first and add it to your .bashrc -* export PDK_ROOT= installation_specific_directory/IHP-Open-PDK -* export PDK=ihp-sg13g2 - -setcs sourcepath = ( $sourcepath $PDK_ROOT/$PDK/libs.tech/ngspice/models $PDK_ROOT/ihp-sg13g2/libs.ref/sg13g2_stdcell/spice ) -setcs sourcepath = ( $sourcepath $PDK_ROOT/$PDK/libs.tech/ngspice/models $PDK_ROOT/ihp-sg13g2/libs.ref/sg13g2_io/spice ) -*echo $sourcepath - -*option tnom=28 -*option list - -* KLU solver still do not work correctly for every simulation -*option klu - -*option node -*option opts -*option warn=1 -*option maxwarns=10 -*option savecurrents - -*set ngbehavior=hsa -*set noinit - -* add OSDI -osdi '$PDK_ROOT/$PDK/libs.tech/ngspice/osdi/psp103_nqs.osdi' -osdi '$PDK_ROOT/$PDK/libs.tech/ngspice/osdi/r3_cmc.osdi' -osdi '$PDK_ROOT/$PDK/libs.tech/ngspice/osdi/mosvar.osdi' - diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-28_13-08-46/parameters/Frequency/run_0/conditions.yaml b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-28_13-08-46/parameters/Frequency/run_0/conditions.yaml deleted file mode 100644 index 7a0b728f..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-28_13-08-46/parameters/Frequency/run_0/conditions.yaml +++ /dev/null @@ -1,8 +0,0 @@ -DUT_path: /home/pedersen/projects/IHP-AnalogAcademy/modules/module_4_type_2_PLL/diff_Roscillator/xschem/simulations/schematic/diff_ring_oscillator.spice -N: 0 -PDK: ihp-sg13g2 -PDK_ROOT: /home/pedersen/IHP-Open-PDK -corner: tt -filename: diff_oscillator_tb -simpath: /home/pedersen/projects/IHP-AnalogAcademy/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-28_13-08-46/parameters/Frequency/run_0 -temperature: '27' diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-28_13-08-46/parameters/Frequency/run_0/diff_oscillator_tb.sch b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-28_13-08-46/parameters/Frequency/run_0/diff_oscillator_tb.sch deleted file mode 100644 index e18d29c4..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-28_13-08-46/parameters/Frequency/run_0/diff_oscillator_tb.sch +++ /dev/null @@ -1,65 +0,0 @@ -v {xschem version=3.4.6 file_version=1.2} -G {} -K {} -V {} -S {} -E {} -N 760 -230 760 -210 {lab=vdd} -N 720 -230 720 -210 {lab=gnd} -N 830 -340 850 -340 {lab=Voplus} -N 830 -300 850 -300 {lab=Vominus} -N 390 -280 390 -250 {lab=GND} -N 390 -370 390 -340 {lab=vdd} -C {opin.sym} 850 -340 0 0 {name=p3 lab=Voplus} -C {opin.sym} 850 -300 2 1 {name=p4 lab=Vominus} -C {code_shown.sym} 10 -1170 0 0 {name=transient_tb only_toplevel=false -value=" -.param temp=27 -* Keep this if your manual run has it — parity matters - -.ic V(Voplus)=1.2 -.control -* Stability & parity options -set noaskquit -set numdgt=12 - -* Save vectors and run -save all -op -write diff_oscillator_tb.raw -set appendwrite -tran 10p 2n 160p - -* Define explicit vectors (avoid V(...) on calculated vectors) -let vo_p = v(Voplus) -let vo_m = v(Vominus) -let vo_diff = vo_p - vo_m - -* --- Main file that CACE reads: 2 columns (time, vo_diff) --- -set wr_singlescale -wrdata /home/pedersen/projects/IHP-AnalogAcademy/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-28_13-08-46/parameters/Frequency/run_0/diff_oscillator_tb_0.data vo_diff - -* --- Extra debug file (CACE ignores): 4 columns w/ names --- -set wr_vecnames -wrdata /home/pedersen/projects/IHP-AnalogAcademy/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-28_13-08-46/parameters/Frequency/run_0/debug_0.dat time vo_p vo_m vo_diff -unset wr_vecnames - -write diff_oscillator_tb.raw -.endc -"} -C {iopin.sym} 760 -210 0 0 {name=p1 lab=vdd} -C {devices/code_shown.sym} 10 -510 0 0 {name=MODEL1 only_toplevel=true -format="tcleval( @value )" -value=" -.lib /home/pedersen/IHP-Open-PDK/ihp-sg13g2/libs.tech/ngspice/models/cornerMOSlv.lib mos_tt - -.include /home/pedersen/projects/IHP-AnalogAcademy/modules/module_4_type_2_PLL/diff_Roscillator/xschem/simulations/schematic/diff_ring_oscillator.spice - -.temp 27 -" -} -C {diff_ring_oscillator.sym} 740 -320 0 0 {name=x1} -C {iopin.sym} 720 -210 2 0 {name=p2 lab=gnd} -C {vsource.sym} 390 -310 0 0 {name=V1 value=1.2 savecurrent=false} -C {gnd.sym} 390 -250 0 0 {name=l1 lab=GND} -C {lab_pin.sym} 390 -370 2 0 {name=p5 sig_type=std_logic lab=vdd} diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-28_13-08-46/parameters/Frequency/run_0/diff_oscillator_tb_0.data b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-28_13-08-46/parameters/Frequency/run_0/diff_oscillator_tb_0.data deleted file mode 100644 index b960892f..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-28_13-08-46/parameters/Frequency/run_0/diff_oscillator_tb_0.data +++ /dev/null @@ -1,185 +0,0 @@ - 1.628000000000e-10 -2.292252894521e-02 - 1.728000000000e-10 -1.721878995476e-01 - 1.828000000000e-10 -3.003971530482e-01 - 1.928000000000e-10 -4.209827688535e-01 - 2.028000000000e-10 -5.322027853128e-01 - 2.128000000000e-10 -5.791583227387e-01 - 2.228000000000e-10 -5.110033194175e-01 - 2.328000000000e-10 -3.457576287601e-01 - 2.428000000000e-10 -1.607196798900e-01 - 2.528000000000e-10 1.365547887835e-02 - 2.628000000000e-10 1.638016925338e-01 - 2.728000000000e-10 2.919305498126e-01 - 2.828000000000e-10 4.124239288433e-01 - 2.928000000000e-10 5.263166298848e-01 - 3.028000000000e-10 5.824106149717e-01 - 3.128000000000e-10 5.252174273130e-01 - 3.228000000000e-10 3.651459872532e-01 - 3.328000000000e-10 1.795084214438e-01 - 3.428000000000e-10 3.226267600252e-03 - 3.528000000000e-10 -1.496702035742e-01 - 3.628000000000e-10 -2.792887178681e-01 - 3.728000000000e-10 -4.000019021719e-01 - 3.828000000000e-10 -5.160190704246e-01 - 3.928000000000e-10 -5.816500208715e-01 - 4.028000000000e-10 -5.372846837038e-01 - 4.128000000000e-10 -3.848834507397e-01 - 4.228000000000e-10 -1.993014483184e-01 - 4.328000000000e-10 -2.125168120944e-02 - 4.428000000000e-10 1.345897939599e-01 - 4.528000000000e-10 2.660516467047e-01 - 4.628000000000e-10 3.871267719337e-01 - 4.728000000000e-10 5.047282820024e-01 - 4.828000000000e-10 5.793062880329e-01 - 4.928000000000e-10 5.480670992790e-01 - 5.028000000000e-10 4.046247574272e-01 - 5.128000000000e-10 2.194567139019e-01 - 5.228000000000e-10 3.978854030163e-02 - 5.328000000000e-10 -1.190134240033e-01 - 5.428000000000e-10 -2.525512770557e-01 - 5.528000000000e-10 -3.741228468393e-01 - 5.628000000000e-10 -4.927999203803e-01 - 5.728000000000e-10 -5.755235861382e-01 - 5.828000000000e-10 -5.574109039140e-01 - 5.928000000000e-10 -4.240101965476e-01 - 6.028000000000e-10 -2.397070733991e-01 - 6.128000000000e-10 -5.859311656156e-02 - 6.228000000000e-10 1.031069489747e-01 - 6.328000000000e-10 2.389202178782e-01 - 6.428000000000e-10 3.611164053835e-01 - 6.528000000000e-10 4.804511503358e-01 - 6.628000000000e-10 5.703927182427e-01 - 6.728000000000e-10 5.651995411624e-01 - 6.828000000000e-10 4.426884649777e-01 - 6.928000000000e-10 2.598493744117e-01 - 7.028000000000e-10 7.747657769560e-02 - 7.128000000000e-10 -8.699618736653e-02 - 7.228000000000e-10 -2.252447884331e-01 - 7.328000000000e-10 -3.481970680463e-01 - 7.428000000000e-10 -4.678842164117e-01 - 7.528000000000e-10 -5.640875390474e-01 - 7.628000000000e-10 -5.714336476059e-01 - 7.728000000000e-10 -4.604185473907e-01 - 7.828000000000e-10 -2.797750138125e-01 - 7.928000000000e-10 -9.633858138806e-02 - 8.028000000000e-10 7.073777814255e-02 - 8.128000000000e-10 2.115493094061e-01 - 8.228000000000e-10 3.353876046363e-01 - 8.328000000000e-10 4.552524923411e-01 - 8.428000000000e-10 5.567938616314e-01 - 8.528000000000e-10 5.762058661922e-01 - 8.628000000000e-10 4.770908355033e-01 - 8.728000000000e-10 2.994880974607e-01 - 8.828000000000e-10 1.151828864331e-01 - 8.928000000000e-10 -5.431208395594e-02 - 9.028000000000e-10 -1.977861602727e-01 - 9.128000000000e-10 -3.226531529049e-01 - 9.228000000000e-10 -4.427347421602e-01 - 9.328000000000e-10 -5.488327643130e-01 - 9.428000000000e-10 -5.797041909504e-01 - 9.528000000000e-10 -4.927265308101e-01 - 9.628000000000e-10 -3.191097454976e-01 - 9.728000000000e-10 -1.342181141771e-01 - 9.828000000000e-10 3.744993884902e-02 - 9.928000000000e-10 1.836370942174e-01 - 1.002800000000e-09 3.096940812427e-01 - 1.012800000000e-09 4.298817640101e-01 - 1.022800000000e-09 5.397599749883e-01 - 1.032800000000e-09 5.817861936754e-01 - 1.042800000000e-09 5.074041226008e-01 - 1.052800000000e-09 3.388664774534e-01 - 1.062800000000e-09 1.535104608579e-01 - 1.072800000000e-09 -2.024845785028e-02 - 1.082800000000e-09 -1.692491421902e-01 - 1.092800000000e-09 -2.967013757932e-01 - 1.102800000000e-09 -4.171073443425e-01 - 1.112800000000e-09 -5.301213512093e-01 - 1.122800000000e-09 -5.826820342472e-01 - 1.132800000000e-09 -5.208927839223e-01 - 1.142800000000e-09 -3.582851623030e-01 - 1.152800000000e-09 -1.726179318326e-01 - 1.162800000000e-09 3.001935102304e-03 - 1.172800000000e-09 1.548738889534e-01 - 1.182800000000e-09 2.838707642593e-01 - 1.192800000000e-09 4.044922095117e-01 - 1.202800000000e-09 5.198180562761e-01 - 1.212800000000e-09 5.821632166084e-01 - 1.222800000000e-09 5.332184734218e-01 - 1.232800000000e-09 3.779624918474e-01 - 1.242800000000e-09 1.922988577092e-01 - 1.252800000000e-09 1.486703325848e-02 - 1.262800000000e-09 -1.399496932386e-01 - 1.272800000000e-09 -2.707197504860e-01 - 1.282800000000e-09 -3.916660474216e-01 - 1.292800000000e-09 -5.087606367752e-01 - 1.302800000000e-09 -5.803016232270e-01 - 1.312800000000e-09 -5.444413186477e-01 - 1.322800000000e-09 -3.977418947932e-01 - 1.332800000000e-09 -2.123689566689e-01 - 1.342800000000e-09 -3.326433605185e-02 - 1.352800000000e-09 1.245198660865e-01 - 1.362800000000e-09 2.572914801001e-01 - 1.372800000000e-09 3.786884397038e-01 - 1.382800000000e-09 4.970287842619e-01 - 1.392800000000e-09 5.770140673465e-01 - 1.402800000000e-09 5.543068732670e-01 - 1.412800000000e-09 4.172944393038e-01 - 1.422800000000e-09 2.326135914048e-01 - 1.432800000000e-09 5.200031629165e-02 - 1.442800000000e-09 -1.087117173734e-01 - 1.452800000000e-09 -2.436934942172e-01 - 1.462800000000e-09 -3.656702152799e-01 - 1.472800000000e-09 -4.848025482630e-01 - 1.482800000000e-09 -5.723385369588e-01 - 1.492800000000e-09 -5.626458033125e-01 - 1.502800000000e-09 -4.362543636943e-01 - 1.512800000000e-09 -2.528118155371e-01 - 1.522800000000e-09 -7.087265053387e-02 - 1.532800000000e-09 9.266186071927e-02 - 1.542800000000e-09 2.300274395412e-01 - 1.552800000000e-09 3.527140919248e-01 - 1.562800000000e-09 4.722911338649e-01 - 1.572800000000e-09 5.664223472519e-01 - 1.582800000000e-09 5.694169369289e-01 - 1.592800000000e-09 4.543351006071e-01 - 1.602800000000e-09 2.728185799251e-01 - 1.612800000000e-09 8.974653097500e-02 - 1.622800000000e-09 -7.645342918533e-02 - 1.632800000000e-09 -2.163412758022e-01 - 1.642800000000e-09 -3.398672125281e-01 - 1.652800000000e-09 -4.596702740436e-01 - 1.662800000000e-09 -5.594547917655e-01 - 1.672800000000e-09 -5.746885318592e-01 - 1.682800000000e-09 -4.713817902736e-01 - 1.692800000000e-09 -2.925998303757e-01 - 1.702800000000e-09 -1.085902848019e-01 - 1.712800000000e-09 6.009271011551e-02 - 1.722800000000e-09 2.026110402562e-01 - 1.732800000000e-09 3.271137583800e-01 - 1.742800000000e-09 4.470366757261e-01 - 1.752800000000e-09 5.516024260258e-01 - 1.762800000000e-09 5.785682691472e-01 - 1.772800000000e-09 4.872997263391e-01 - 1.782800000000e-09 3.121706971956e-01 - 1.792800000000e-09 1.275093354174e-01 - 1.802800000000e-09 -4.339966691138e-02 - 1.812800000000e-09 -1.885914489076e-01 - 1.822800000000e-09 -3.142192224600e-01 - 1.832800000000e-09 -4.343522534326e-01 - 1.842800000000e-09 -5.430041650422e-01 - 1.852800000000e-09 -5.811837349212e-01 - 1.862800000000e-09 -5.023856761573e-01 - 1.872800000000e-09 -3.319418855515e-01 - 1.882800000000e-09 -1.467398868003e-01 - 1.892800000000e-09 2.631801497144e-02 - 1.902800000000e-09 1.743391836774e-01 - 1.912800000000e-09 3.012879943958e-01 - 1.922800000000e-09 4.215592295324e-01 - 1.932800000000e-09 5.336096259357e-01 - 1.942800000000e-09 5.825911854269e-01 - 1.952800000000e-09 5.163685478590e-01 - 1.962800000000e-09 3.514506166310e-01 - 1.972800000000e-09 1.658449567189e-01 - 1.982800000000e-09 -9.123570295392e-03 - 1.992800000000e-09 -1.599641527363e-01 - 2.000000000000e-09 -2.536669268561e-01 diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-28_13-08-46/parameters/Frequency/run_0/diff_ring_oscillator.sym b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-28_13-08-46/parameters/Frequency/run_0/diff_ring_oscillator.sym deleted file mode 100644 index e632b156..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-28_13-08-46/parameters/Frequency/run_0/diff_ring_oscillator.sym +++ /dev/null @@ -1,27 +0,0 @@ -v {xschem version=3.4.6 file_version=1.2} -G {} -K {type=primitive -format="@name @pinlist @symname" -template="name=x1" -} -V {} -S {} -E {} -L 4 70 -20 90 -20 {} -L 4 70 20 90 20 {} -L 7 20 70 20 90 {} -L 7 -20 70 -20 90 {} -B 5 87.5 -22.5 92.5 -17.5 {name=Voplus dir=out} -B 5 17.5 87.5 22.5 92.5 {name=vdd dir=inout} -B 5 -22.5 87.5 -17.5 92.5 {name=gnd dir=inout} -B 5 87.5 17.5 92.5 22.5 {name=Vominus dir=out} -A 4 -1.666666666666714 1.666666666666714 71.68604389202189 287.5924245621816 360 {} -A 4 -30 27.5 40.69705149024927 42.51044707800085 94.97910584399833 {} -A 4 30 -27.5 40.69705149024927 222.5104470780009 94.97910584399833 {} -T {@symname} -40.5 -56 0 0 0.1 0.1 {} -T {@name} -40 -47 0 0 0.1 0.1 { -} -T {Voplus} 65 -24 0 1 0.2 0.2 {} -T {vdd} 5 64 2 1 0.2 0.2 {} -T {gnd} -35 64 2 1 0.2 0.2 {} -T {Vominus} 65 16 0 1 0.2 0.2 {} diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-28_13-08-46/parameters/Frequency/simulation_summary.csv b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-28_13-08-46/parameters/Frequency/simulation_summary.csv deleted file mode 100644 index 8f65c459..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-28_13-08-46/parameters/Frequency/simulation_summary.csv +++ /dev/null @@ -1,2 +0,0 @@ -run,time_axis,vo_diff,frequency -run_0,"[1.628e-10, 1.728e-10, 1.828e-10, …]","[-2.292e-02, -1.722e-01, -3.004e-01, …]",5.414e+09 diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-28_13-08-46/parameters/Frequency/simulation_summary.md b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-28_13-08-46/parameters/Frequency/simulation_summary.md deleted file mode 100644 index a45b7af4..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-28_13-08-46/parameters/Frequency/simulation_summary.md +++ /dev/null @@ -1,5 +0,0 @@ -# Simulation Summary for Freq - -| run | time_axis | vo_diff | frequency | -| :-- | --------: | ------: | --------: | -| run_0 | [1.628e-10, 1.728e-10, 1.828e-10, …] | [-2.292e-02, -1.722e-01, -3.004e-01, …] | 5.414e+09 | diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-28_13-08-46/summary.md b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-28_13-08-46/summary.md deleted file mode 100644 index a5320ec1..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-08-28_13-08-46/summary.md +++ /dev/null @@ -1,9 +0,0 @@ - -# CACE Summary for diff_ring_oscillator - -**netlist source**: schematic - -| Parameter | Tool | Result | Min Limit | Min Value | Typ Target | Typ Value | Max Limit | Max Value | Status | -| :------------------- | :------------------- | :-------------- | ---------: | -----------: | ---------: | -----------: | ---------: | -----------: | :------: | -| Freq | ngspice | frequency | 4.2 GHz | 5.414 GHz | 5.4 GHz | 5.414 GHz | 7.1 GHz | 5.414 GHz | Pass ✅ | - diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-11-11_14-28-29/parameters/Frequency/diff_oscillator_tb.sch b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-11-11_14-28-29/parameters/Frequency/diff_oscillator_tb.sch deleted file mode 100644 index 8b2e4f89..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-11-11_14-28-29/parameters/Frequency/diff_oscillator_tb.sch +++ /dev/null @@ -1,65 +0,0 @@ -v {xschem version=3.4.6 file_version=1.2} -G {} -K {} -V {} -S {} -E {} -N 760 -230 760 -210 {lab=vdd} -N 720 -230 720 -210 {lab=gnd} -N 830 -340 850 -340 {lab=Voplus} -N 830 -300 850 -300 {lab=Vominus} -N 390 -280 390 -250 {lab=GND} -N 390 -370 390 -340 {lab=vdd} -C {opin.sym} 850 -340 0 0 {name=p3 lab=Voplus} -C {opin.sym} 850 -300 2 1 {name=p4 lab=Vominus} -C {code_shown.sym} 10 -1170 0 0 {name=transient_tb only_toplevel=false -value=" -.param temp=27 -* Keep this if your manual run has it — parity matters - -.ic V(Voplus)=1.2 -.control -* Stability & parity options -set noaskquit -set numdgt=12 - -* Save vectors and run -save all -op -write diff_oscillator_tb.raw -set appendwrite -tran 10p 2n 160p - -* Define explicit vectors (avoid V(...) on calculated vectors) -let vo_p = v(Voplus) -let vo_m = v(Vominus) -let vo_diff = vo_p - vo_m - -* --- Main file that CACE reads: 2 columns (time, vo_diff) --- -set wr_singlescale -wrdata CACE\{simpath\}/CACE\{filename\}_CACE\{N\}.data vo_diff - -* --- Extra debug file (CACE ignores): 4 columns w/ names --- -set wr_vecnames -wrdata CACE\{simpath\}/debug_CACE\{N\}.dat time vo_p vo_m vo_diff -unset wr_vecnames - -write diff_oscillator_tb.raw -.endc -"} -C {iopin.sym} 760 -210 0 0 {name=p1 lab=vdd} -C {devices/code_shown.sym} 10 -510 0 0 {name=MODEL1 only_toplevel=true -format="tcleval( @value )" -value=" -.lib CACE\{PDK_ROOT\}/CACE\{PDK\}/libs.tech/ngspice/models/cornerMOSlv.lib mos_CACE\{corner\} - -.include CACE\{DUT_path\} - -.temp CACE\{temperature\} -" -} -C {diff_ring_oscillator.sym} 740 -320 0 0 {name=x1} -C {iopin.sym} 720 -210 2 0 {name=p2 lab=gnd} -C {vsource.sym} 390 -310 0 0 {name=V1 value=1.2 savecurrent=false} -C {gnd.sym} 390 -250 0 0 {name=l1 lab=GND} -C {lab_pin.sym} 390 -370 2 0 {name=p5 sig_type=std_logic lab=vdd} diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-11-11_14-28-29/parameters/Frequency/frequency.png b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-11-11_14-28-29/parameters/Frequency/frequency.png deleted file mode 100644 index d2bd4121..00000000 Binary files a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-11-11_14-28-29/parameters/Frequency/frequency.png and /dev/null differ diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-11-11_14-28-29/parameters/Frequency/run_0/.spiceinit b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-11-11_14-28-29/parameters/Frequency/run_0/.spiceinit deleted file mode 100644 index 02b902fb..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-11-11_14-28-29/parameters/Frequency/run_0/.spiceinit +++ /dev/null @@ -1,30 +0,0 @@ -* a custom spiceinit file for IHP-Open-PDK - -* export PDK_ROOT and PDK environmental variables first and add it to your .bashrc -* export PDK_ROOT= installation_specific_directory/IHP-Open-PDK -* export PDK=ihp-sg13g2 - -setcs sourcepath = ( $sourcepath $PDK_ROOT/$PDK/libs.tech/ngspice/models $PDK_ROOT/ihp-sg13g2/libs.ref/sg13g2_stdcell/spice ) -setcs sourcepath = ( $sourcepath $PDK_ROOT/$PDK/libs.tech/ngspice/models $PDK_ROOT/ihp-sg13g2/libs.ref/sg13g2_io/spice ) -*echo $sourcepath - -*option tnom=28 -*option list - -* KLU solver still do not work correctly for every simulation -*option klu - -*option node -*option opts -*option warn=1 -*option maxwarns=10 -*option savecurrents - -*set ngbehavior=hsa -*set noinit - -* add OSDI -osdi '$PDK_ROOT/$PDK/libs.tech/ngspice/osdi/psp103_nqs.osdi' -osdi '$PDK_ROOT/$PDK/libs.tech/ngspice/osdi/r3_cmc.osdi' -osdi '$PDK_ROOT/$PDK/libs.tech/ngspice/osdi/mosvar.osdi' - diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-11-11_14-28-29/parameters/Frequency/run_0/conditions.yaml b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-11-11_14-28-29/parameters/Frequency/run_0/conditions.yaml deleted file mode 100644 index c9e97c56..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-11-11_14-28-29/parameters/Frequency/run_0/conditions.yaml +++ /dev/null @@ -1,8 +0,0 @@ -DUT_path: /home/pedersen/projects/IHP-AnalogAcademy/modules/module_4_type_2_PLL/diff_Roscillator/xschem/simulations/schematic/diff_ring_oscillator.spice -N: 0 -PDK: ihp-sg13g2 -PDK_ROOT: /home/pedersen/IHP-Open-PDK -corner: tt -filename: diff_oscillator_tb -simpath: /home/pedersen/projects/IHP-AnalogAcademy/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-11-11_14-28-29/parameters/Frequency/run_0 -temperature: '27' diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-11-11_14-28-29/parameters/Frequency/run_0/diff_oscillator_tb.sch b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-11-11_14-28-29/parameters/Frequency/run_0/diff_oscillator_tb.sch deleted file mode 100644 index e297ca60..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-11-11_14-28-29/parameters/Frequency/run_0/diff_oscillator_tb.sch +++ /dev/null @@ -1,65 +0,0 @@ -v {xschem version=3.4.6 file_version=1.2} -G {} -K {} -V {} -S {} -E {} -N 760 -230 760 -210 {lab=vdd} -N 720 -230 720 -210 {lab=gnd} -N 830 -340 850 -340 {lab=Voplus} -N 830 -300 850 -300 {lab=Vominus} -N 390 -280 390 -250 {lab=GND} -N 390 -370 390 -340 {lab=vdd} -C {opin.sym} 850 -340 0 0 {name=p3 lab=Voplus} -C {opin.sym} 850 -300 2 1 {name=p4 lab=Vominus} -C {code_shown.sym} 10 -1170 0 0 {name=transient_tb only_toplevel=false -value=" -.param temp=27 -* Keep this if your manual run has it — parity matters - -.ic V(Voplus)=1.2 -.control -* Stability & parity options -set noaskquit -set numdgt=12 - -* Save vectors and run -save all -op -write diff_oscillator_tb.raw -set appendwrite -tran 10p 2n 160p - -* Define explicit vectors (avoid V(...) on calculated vectors) -let vo_p = v(Voplus) -let vo_m = v(Vominus) -let vo_diff = vo_p - vo_m - -* --- Main file that CACE reads: 2 columns (time, vo_diff) --- -set wr_singlescale -wrdata /home/pedersen/projects/IHP-AnalogAcademy/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-11-11_14-28-29/parameters/Frequency/run_0/diff_oscillator_tb_0.data vo_diff - -* --- Extra debug file (CACE ignores): 4 columns w/ names --- -set wr_vecnames -wrdata /home/pedersen/projects/IHP-AnalogAcademy/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-11-11_14-28-29/parameters/Frequency/run_0/debug_0.dat time vo_p vo_m vo_diff -unset wr_vecnames - -write diff_oscillator_tb.raw -.endc -"} -C {iopin.sym} 760 -210 0 0 {name=p1 lab=vdd} -C {devices/code_shown.sym} 10 -510 0 0 {name=MODEL1 only_toplevel=true -format="tcleval( @value )" -value=" -.lib /home/pedersen/IHP-Open-PDK/ihp-sg13g2/libs.tech/ngspice/models/cornerMOSlv.lib mos_tt - -.include /home/pedersen/projects/IHP-AnalogAcademy/modules/module_4_type_2_PLL/diff_Roscillator/xschem/simulations/schematic/diff_ring_oscillator.spice - -.temp 27 -" -} -C {diff_ring_oscillator.sym} 740 -320 0 0 {name=x1} -C {iopin.sym} 720 -210 2 0 {name=p2 lab=gnd} -C {vsource.sym} 390 -310 0 0 {name=V1 value=1.2 savecurrent=false} -C {gnd.sym} 390 -250 0 0 {name=l1 lab=GND} -C {lab_pin.sym} 390 -370 2 0 {name=p5 sig_type=std_logic lab=vdd} diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-11-11_14-28-29/parameters/Frequency/run_0/diff_oscillator_tb_0.data b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-11-11_14-28-29/parameters/Frequency/run_0/diff_oscillator_tb_0.data deleted file mode 100644 index b960892f..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-11-11_14-28-29/parameters/Frequency/run_0/diff_oscillator_tb_0.data +++ /dev/null @@ -1,185 +0,0 @@ - 1.628000000000e-10 -2.292252894521e-02 - 1.728000000000e-10 -1.721878995476e-01 - 1.828000000000e-10 -3.003971530482e-01 - 1.928000000000e-10 -4.209827688535e-01 - 2.028000000000e-10 -5.322027853128e-01 - 2.128000000000e-10 -5.791583227387e-01 - 2.228000000000e-10 -5.110033194175e-01 - 2.328000000000e-10 -3.457576287601e-01 - 2.428000000000e-10 -1.607196798900e-01 - 2.528000000000e-10 1.365547887835e-02 - 2.628000000000e-10 1.638016925338e-01 - 2.728000000000e-10 2.919305498126e-01 - 2.828000000000e-10 4.124239288433e-01 - 2.928000000000e-10 5.263166298848e-01 - 3.028000000000e-10 5.824106149717e-01 - 3.128000000000e-10 5.252174273130e-01 - 3.228000000000e-10 3.651459872532e-01 - 3.328000000000e-10 1.795084214438e-01 - 3.428000000000e-10 3.226267600252e-03 - 3.528000000000e-10 -1.496702035742e-01 - 3.628000000000e-10 -2.792887178681e-01 - 3.728000000000e-10 -4.000019021719e-01 - 3.828000000000e-10 -5.160190704246e-01 - 3.928000000000e-10 -5.816500208715e-01 - 4.028000000000e-10 -5.372846837038e-01 - 4.128000000000e-10 -3.848834507397e-01 - 4.228000000000e-10 -1.993014483184e-01 - 4.328000000000e-10 -2.125168120944e-02 - 4.428000000000e-10 1.345897939599e-01 - 4.528000000000e-10 2.660516467047e-01 - 4.628000000000e-10 3.871267719337e-01 - 4.728000000000e-10 5.047282820024e-01 - 4.828000000000e-10 5.793062880329e-01 - 4.928000000000e-10 5.480670992790e-01 - 5.028000000000e-10 4.046247574272e-01 - 5.128000000000e-10 2.194567139019e-01 - 5.228000000000e-10 3.978854030163e-02 - 5.328000000000e-10 -1.190134240033e-01 - 5.428000000000e-10 -2.525512770557e-01 - 5.528000000000e-10 -3.741228468393e-01 - 5.628000000000e-10 -4.927999203803e-01 - 5.728000000000e-10 -5.755235861382e-01 - 5.828000000000e-10 -5.574109039140e-01 - 5.928000000000e-10 -4.240101965476e-01 - 6.028000000000e-10 -2.397070733991e-01 - 6.128000000000e-10 -5.859311656156e-02 - 6.228000000000e-10 1.031069489747e-01 - 6.328000000000e-10 2.389202178782e-01 - 6.428000000000e-10 3.611164053835e-01 - 6.528000000000e-10 4.804511503358e-01 - 6.628000000000e-10 5.703927182427e-01 - 6.728000000000e-10 5.651995411624e-01 - 6.828000000000e-10 4.426884649777e-01 - 6.928000000000e-10 2.598493744117e-01 - 7.028000000000e-10 7.747657769560e-02 - 7.128000000000e-10 -8.699618736653e-02 - 7.228000000000e-10 -2.252447884331e-01 - 7.328000000000e-10 -3.481970680463e-01 - 7.428000000000e-10 -4.678842164117e-01 - 7.528000000000e-10 -5.640875390474e-01 - 7.628000000000e-10 -5.714336476059e-01 - 7.728000000000e-10 -4.604185473907e-01 - 7.828000000000e-10 -2.797750138125e-01 - 7.928000000000e-10 -9.633858138806e-02 - 8.028000000000e-10 7.073777814255e-02 - 8.128000000000e-10 2.115493094061e-01 - 8.228000000000e-10 3.353876046363e-01 - 8.328000000000e-10 4.552524923411e-01 - 8.428000000000e-10 5.567938616314e-01 - 8.528000000000e-10 5.762058661922e-01 - 8.628000000000e-10 4.770908355033e-01 - 8.728000000000e-10 2.994880974607e-01 - 8.828000000000e-10 1.151828864331e-01 - 8.928000000000e-10 -5.431208395594e-02 - 9.028000000000e-10 -1.977861602727e-01 - 9.128000000000e-10 -3.226531529049e-01 - 9.228000000000e-10 -4.427347421602e-01 - 9.328000000000e-10 -5.488327643130e-01 - 9.428000000000e-10 -5.797041909504e-01 - 9.528000000000e-10 -4.927265308101e-01 - 9.628000000000e-10 -3.191097454976e-01 - 9.728000000000e-10 -1.342181141771e-01 - 9.828000000000e-10 3.744993884902e-02 - 9.928000000000e-10 1.836370942174e-01 - 1.002800000000e-09 3.096940812427e-01 - 1.012800000000e-09 4.298817640101e-01 - 1.022800000000e-09 5.397599749883e-01 - 1.032800000000e-09 5.817861936754e-01 - 1.042800000000e-09 5.074041226008e-01 - 1.052800000000e-09 3.388664774534e-01 - 1.062800000000e-09 1.535104608579e-01 - 1.072800000000e-09 -2.024845785028e-02 - 1.082800000000e-09 -1.692491421902e-01 - 1.092800000000e-09 -2.967013757932e-01 - 1.102800000000e-09 -4.171073443425e-01 - 1.112800000000e-09 -5.301213512093e-01 - 1.122800000000e-09 -5.826820342472e-01 - 1.132800000000e-09 -5.208927839223e-01 - 1.142800000000e-09 -3.582851623030e-01 - 1.152800000000e-09 -1.726179318326e-01 - 1.162800000000e-09 3.001935102304e-03 - 1.172800000000e-09 1.548738889534e-01 - 1.182800000000e-09 2.838707642593e-01 - 1.192800000000e-09 4.044922095117e-01 - 1.202800000000e-09 5.198180562761e-01 - 1.212800000000e-09 5.821632166084e-01 - 1.222800000000e-09 5.332184734218e-01 - 1.232800000000e-09 3.779624918474e-01 - 1.242800000000e-09 1.922988577092e-01 - 1.252800000000e-09 1.486703325848e-02 - 1.262800000000e-09 -1.399496932386e-01 - 1.272800000000e-09 -2.707197504860e-01 - 1.282800000000e-09 -3.916660474216e-01 - 1.292800000000e-09 -5.087606367752e-01 - 1.302800000000e-09 -5.803016232270e-01 - 1.312800000000e-09 -5.444413186477e-01 - 1.322800000000e-09 -3.977418947932e-01 - 1.332800000000e-09 -2.123689566689e-01 - 1.342800000000e-09 -3.326433605185e-02 - 1.352800000000e-09 1.245198660865e-01 - 1.362800000000e-09 2.572914801001e-01 - 1.372800000000e-09 3.786884397038e-01 - 1.382800000000e-09 4.970287842619e-01 - 1.392800000000e-09 5.770140673465e-01 - 1.402800000000e-09 5.543068732670e-01 - 1.412800000000e-09 4.172944393038e-01 - 1.422800000000e-09 2.326135914048e-01 - 1.432800000000e-09 5.200031629165e-02 - 1.442800000000e-09 -1.087117173734e-01 - 1.452800000000e-09 -2.436934942172e-01 - 1.462800000000e-09 -3.656702152799e-01 - 1.472800000000e-09 -4.848025482630e-01 - 1.482800000000e-09 -5.723385369588e-01 - 1.492800000000e-09 -5.626458033125e-01 - 1.502800000000e-09 -4.362543636943e-01 - 1.512800000000e-09 -2.528118155371e-01 - 1.522800000000e-09 -7.087265053387e-02 - 1.532800000000e-09 9.266186071927e-02 - 1.542800000000e-09 2.300274395412e-01 - 1.552800000000e-09 3.527140919248e-01 - 1.562800000000e-09 4.722911338649e-01 - 1.572800000000e-09 5.664223472519e-01 - 1.582800000000e-09 5.694169369289e-01 - 1.592800000000e-09 4.543351006071e-01 - 1.602800000000e-09 2.728185799251e-01 - 1.612800000000e-09 8.974653097500e-02 - 1.622800000000e-09 -7.645342918533e-02 - 1.632800000000e-09 -2.163412758022e-01 - 1.642800000000e-09 -3.398672125281e-01 - 1.652800000000e-09 -4.596702740436e-01 - 1.662800000000e-09 -5.594547917655e-01 - 1.672800000000e-09 -5.746885318592e-01 - 1.682800000000e-09 -4.713817902736e-01 - 1.692800000000e-09 -2.925998303757e-01 - 1.702800000000e-09 -1.085902848019e-01 - 1.712800000000e-09 6.009271011551e-02 - 1.722800000000e-09 2.026110402562e-01 - 1.732800000000e-09 3.271137583800e-01 - 1.742800000000e-09 4.470366757261e-01 - 1.752800000000e-09 5.516024260258e-01 - 1.762800000000e-09 5.785682691472e-01 - 1.772800000000e-09 4.872997263391e-01 - 1.782800000000e-09 3.121706971956e-01 - 1.792800000000e-09 1.275093354174e-01 - 1.802800000000e-09 -4.339966691138e-02 - 1.812800000000e-09 -1.885914489076e-01 - 1.822800000000e-09 -3.142192224600e-01 - 1.832800000000e-09 -4.343522534326e-01 - 1.842800000000e-09 -5.430041650422e-01 - 1.852800000000e-09 -5.811837349212e-01 - 1.862800000000e-09 -5.023856761573e-01 - 1.872800000000e-09 -3.319418855515e-01 - 1.882800000000e-09 -1.467398868003e-01 - 1.892800000000e-09 2.631801497144e-02 - 1.902800000000e-09 1.743391836774e-01 - 1.912800000000e-09 3.012879943958e-01 - 1.922800000000e-09 4.215592295324e-01 - 1.932800000000e-09 5.336096259357e-01 - 1.942800000000e-09 5.825911854269e-01 - 1.952800000000e-09 5.163685478590e-01 - 1.962800000000e-09 3.514506166310e-01 - 1.972800000000e-09 1.658449567189e-01 - 1.982800000000e-09 -9.123570295392e-03 - 1.992800000000e-09 -1.599641527363e-01 - 2.000000000000e-09 -2.536669268561e-01 diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-11-11_14-28-29/parameters/Frequency/run_0/diff_ring_oscillator.sym b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-11-11_14-28-29/parameters/Frequency/run_0/diff_ring_oscillator.sym deleted file mode 100644 index e632b156..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-11-11_14-28-29/parameters/Frequency/run_0/diff_ring_oscillator.sym +++ /dev/null @@ -1,27 +0,0 @@ -v {xschem version=3.4.6 file_version=1.2} -G {} -K {type=primitive -format="@name @pinlist @symname" -template="name=x1" -} -V {} -S {} -E {} -L 4 70 -20 90 -20 {} -L 4 70 20 90 20 {} -L 7 20 70 20 90 {} -L 7 -20 70 -20 90 {} -B 5 87.5 -22.5 92.5 -17.5 {name=Voplus dir=out} -B 5 17.5 87.5 22.5 92.5 {name=vdd dir=inout} -B 5 -22.5 87.5 -17.5 92.5 {name=gnd dir=inout} -B 5 87.5 17.5 92.5 22.5 {name=Vominus dir=out} -A 4 -1.666666666666714 1.666666666666714 71.68604389202189 287.5924245621816 360 {} -A 4 -30 27.5 40.69705149024927 42.51044707800085 94.97910584399833 {} -A 4 30 -27.5 40.69705149024927 222.5104470780009 94.97910584399833 {} -T {@symname} -40.5 -56 0 0 0.1 0.1 {} -T {@name} -40 -47 0 0 0.1 0.1 { -} -T {Voplus} 65 -24 0 1 0.2 0.2 {} -T {vdd} 5 64 2 1 0.2 0.2 {} -T {gnd} -35 64 2 1 0.2 0.2 {} -T {Vominus} 65 16 0 1 0.2 0.2 {} diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-11-11_14-28-29/parameters/Frequency/simulation_summary.csv b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-11-11_14-28-29/parameters/Frequency/simulation_summary.csv deleted file mode 100644 index 8f65c459..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-11-11_14-28-29/parameters/Frequency/simulation_summary.csv +++ /dev/null @@ -1,2 +0,0 @@ -run,time_axis,vo_diff,frequency -run_0,"[1.628e-10, 1.728e-10, 1.828e-10, …]","[-2.292e-02, -1.722e-01, -3.004e-01, …]",5.414e+09 diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-11-11_14-28-29/parameters/Frequency/simulation_summary.md b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-11-11_14-28-29/parameters/Frequency/simulation_summary.md deleted file mode 100644 index a45b7af4..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-11-11_14-28-29/parameters/Frequency/simulation_summary.md +++ /dev/null @@ -1,5 +0,0 @@ -# Simulation Summary for Freq - -| run | time_axis | vo_diff | frequency | -| :-- | --------: | ------: | --------: | -| run_0 | [1.628e-10, 1.728e-10, 1.828e-10, …] | [-2.292e-02, -1.722e-01, -3.004e-01, …] | 5.414e+09 | diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-11-11_14-28-29/summary.md b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-11-11_14-28-29/summary.md deleted file mode 100644 index a5320ec1..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-11-11_14-28-29/summary.md +++ /dev/null @@ -1,9 +0,0 @@ - -# CACE Summary for diff_ring_oscillator - -**netlist source**: schematic - -| Parameter | Tool | Result | Min Limit | Min Value | Typ Target | Typ Value | Max Limit | Max Value | Status | -| :------------------- | :------------------- | :-------------- | ---------: | -----------: | ---------: | -----------: | ---------: | -----------: | :------: | -| Freq | ngspice | frequency | 4.2 GHz | 5.414 GHz | 5.4 GHz | 5.414 GHz | 7.1 GHz | 5.414 GHz | Pass ✅ | - diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-11-11_17-40-06/parameters/Frequency/diff_oscillator_tb.sch b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-11-11_17-40-06/parameters/Frequency/diff_oscillator_tb.sch deleted file mode 100644 index 8b2e4f89..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-11-11_17-40-06/parameters/Frequency/diff_oscillator_tb.sch +++ /dev/null @@ -1,65 +0,0 @@ -v {xschem version=3.4.6 file_version=1.2} -G {} -K {} -V {} -S {} -E {} -N 760 -230 760 -210 {lab=vdd} -N 720 -230 720 -210 {lab=gnd} -N 830 -340 850 -340 {lab=Voplus} -N 830 -300 850 -300 {lab=Vominus} -N 390 -280 390 -250 {lab=GND} -N 390 -370 390 -340 {lab=vdd} -C {opin.sym} 850 -340 0 0 {name=p3 lab=Voplus} -C {opin.sym} 850 -300 2 1 {name=p4 lab=Vominus} -C {code_shown.sym} 10 -1170 0 0 {name=transient_tb only_toplevel=false -value=" -.param temp=27 -* Keep this if your manual run has it — parity matters - -.ic V(Voplus)=1.2 -.control -* Stability & parity options -set noaskquit -set numdgt=12 - -* Save vectors and run -save all -op -write diff_oscillator_tb.raw -set appendwrite -tran 10p 2n 160p - -* Define explicit vectors (avoid V(...) on calculated vectors) -let vo_p = v(Voplus) -let vo_m = v(Vominus) -let vo_diff = vo_p - vo_m - -* --- Main file that CACE reads: 2 columns (time, vo_diff) --- -set wr_singlescale -wrdata CACE\{simpath\}/CACE\{filename\}_CACE\{N\}.data vo_diff - -* --- Extra debug file (CACE ignores): 4 columns w/ names --- -set wr_vecnames -wrdata CACE\{simpath\}/debug_CACE\{N\}.dat time vo_p vo_m vo_diff -unset wr_vecnames - -write diff_oscillator_tb.raw -.endc -"} -C {iopin.sym} 760 -210 0 0 {name=p1 lab=vdd} -C {devices/code_shown.sym} 10 -510 0 0 {name=MODEL1 only_toplevel=true -format="tcleval( @value )" -value=" -.lib CACE\{PDK_ROOT\}/CACE\{PDK\}/libs.tech/ngspice/models/cornerMOSlv.lib mos_CACE\{corner\} - -.include CACE\{DUT_path\} - -.temp CACE\{temperature\} -" -} -C {diff_ring_oscillator.sym} 740 -320 0 0 {name=x1} -C {iopin.sym} 720 -210 2 0 {name=p2 lab=gnd} -C {vsource.sym} 390 -310 0 0 {name=V1 value=1.2 savecurrent=false} -C {gnd.sym} 390 -250 0 0 {name=l1 lab=GND} -C {lab_pin.sym} 390 -370 2 0 {name=p5 sig_type=std_logic lab=vdd} diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-11-11_17-40-06/parameters/Frequency/frequency.png b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-11-11_17-40-06/parameters/Frequency/frequency.png deleted file mode 100644 index d2bd4121..00000000 Binary files a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-11-11_17-40-06/parameters/Frequency/frequency.png and /dev/null differ diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-11-11_17-40-06/parameters/Frequency/run_0/.spiceinit b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-11-11_17-40-06/parameters/Frequency/run_0/.spiceinit deleted file mode 100644 index 02b902fb..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-11-11_17-40-06/parameters/Frequency/run_0/.spiceinit +++ /dev/null @@ -1,30 +0,0 @@ -* a custom spiceinit file for IHP-Open-PDK - -* export PDK_ROOT and PDK environmental variables first and add it to your .bashrc -* export PDK_ROOT= installation_specific_directory/IHP-Open-PDK -* export PDK=ihp-sg13g2 - -setcs sourcepath = ( $sourcepath $PDK_ROOT/$PDK/libs.tech/ngspice/models $PDK_ROOT/ihp-sg13g2/libs.ref/sg13g2_stdcell/spice ) -setcs sourcepath = ( $sourcepath $PDK_ROOT/$PDK/libs.tech/ngspice/models $PDK_ROOT/ihp-sg13g2/libs.ref/sg13g2_io/spice ) -*echo $sourcepath - -*option tnom=28 -*option list - -* KLU solver still do not work correctly for every simulation -*option klu - -*option node -*option opts -*option warn=1 -*option maxwarns=10 -*option savecurrents - -*set ngbehavior=hsa -*set noinit - -* add OSDI -osdi '$PDK_ROOT/$PDK/libs.tech/ngspice/osdi/psp103_nqs.osdi' -osdi '$PDK_ROOT/$PDK/libs.tech/ngspice/osdi/r3_cmc.osdi' -osdi '$PDK_ROOT/$PDK/libs.tech/ngspice/osdi/mosvar.osdi' - diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-11-11_17-40-06/parameters/Frequency/run_0/conditions.yaml b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-11-11_17-40-06/parameters/Frequency/run_0/conditions.yaml deleted file mode 100644 index 111ef545..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-11-11_17-40-06/parameters/Frequency/run_0/conditions.yaml +++ /dev/null @@ -1,8 +0,0 @@ -DUT_path: /home/pedersen/projects/IHP-AnalogAcademy/modules/module_4_type_2_PLL/diff_Roscillator/xschem/simulations/schematic/diff_ring_oscillator.spice -N: 0 -PDK: ihp-sg13g2 -PDK_ROOT: /home/pedersen/IHP-Open-PDK -corner: tt -filename: diff_oscillator_tb -simpath: /home/pedersen/projects/IHP-AnalogAcademy/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-11-11_17-40-06/parameters/Frequency/run_0 -temperature: '27' diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-11-11_17-40-06/parameters/Frequency/run_0/diff_oscillator_tb.sch b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-11-11_17-40-06/parameters/Frequency/run_0/diff_oscillator_tb.sch deleted file mode 100644 index 94d8601e..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-11-11_17-40-06/parameters/Frequency/run_0/diff_oscillator_tb.sch +++ /dev/null @@ -1,65 +0,0 @@ -v {xschem version=3.4.6 file_version=1.2} -G {} -K {} -V {} -S {} -E {} -N 760 -230 760 -210 {lab=vdd} -N 720 -230 720 -210 {lab=gnd} -N 830 -340 850 -340 {lab=Voplus} -N 830 -300 850 -300 {lab=Vominus} -N 390 -280 390 -250 {lab=GND} -N 390 -370 390 -340 {lab=vdd} -C {opin.sym} 850 -340 0 0 {name=p3 lab=Voplus} -C {opin.sym} 850 -300 2 1 {name=p4 lab=Vominus} -C {code_shown.sym} 10 -1170 0 0 {name=transient_tb only_toplevel=false -value=" -.param temp=27 -* Keep this if your manual run has it — parity matters - -.ic V(Voplus)=1.2 -.control -* Stability & parity options -set noaskquit -set numdgt=12 - -* Save vectors and run -save all -op -write diff_oscillator_tb.raw -set appendwrite -tran 10p 2n 160p - -* Define explicit vectors (avoid V(...) on calculated vectors) -let vo_p = v(Voplus) -let vo_m = v(Vominus) -let vo_diff = vo_p - vo_m - -* --- Main file that CACE reads: 2 columns (time, vo_diff) --- -set wr_singlescale -wrdata /home/pedersen/projects/IHP-AnalogAcademy/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-11-11_17-40-06/parameters/Frequency/run_0/diff_oscillator_tb_0.data vo_diff - -* --- Extra debug file (CACE ignores): 4 columns w/ names --- -set wr_vecnames -wrdata /home/pedersen/projects/IHP-AnalogAcademy/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-11-11_17-40-06/parameters/Frequency/run_0/debug_0.dat time vo_p vo_m vo_diff -unset wr_vecnames - -write diff_oscillator_tb.raw -.endc -"} -C {iopin.sym} 760 -210 0 0 {name=p1 lab=vdd} -C {devices/code_shown.sym} 10 -510 0 0 {name=MODEL1 only_toplevel=true -format="tcleval( @value )" -value=" -.lib /home/pedersen/IHP-Open-PDK/ihp-sg13g2/libs.tech/ngspice/models/cornerMOSlv.lib mos_tt - -.include /home/pedersen/projects/IHP-AnalogAcademy/modules/module_4_type_2_PLL/diff_Roscillator/xschem/simulations/schematic/diff_ring_oscillator.spice - -.temp 27 -" -} -C {diff_ring_oscillator.sym} 740 -320 0 0 {name=x1} -C {iopin.sym} 720 -210 2 0 {name=p2 lab=gnd} -C {vsource.sym} 390 -310 0 0 {name=V1 value=1.2 savecurrent=false} -C {gnd.sym} 390 -250 0 0 {name=l1 lab=GND} -C {lab_pin.sym} 390 -370 2 0 {name=p5 sig_type=std_logic lab=vdd} diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-11-11_17-40-06/parameters/Frequency/run_0/diff_oscillator_tb_0.data b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-11-11_17-40-06/parameters/Frequency/run_0/diff_oscillator_tb_0.data deleted file mode 100644 index b960892f..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-11-11_17-40-06/parameters/Frequency/run_0/diff_oscillator_tb_0.data +++ /dev/null @@ -1,185 +0,0 @@ - 1.628000000000e-10 -2.292252894521e-02 - 1.728000000000e-10 -1.721878995476e-01 - 1.828000000000e-10 -3.003971530482e-01 - 1.928000000000e-10 -4.209827688535e-01 - 2.028000000000e-10 -5.322027853128e-01 - 2.128000000000e-10 -5.791583227387e-01 - 2.228000000000e-10 -5.110033194175e-01 - 2.328000000000e-10 -3.457576287601e-01 - 2.428000000000e-10 -1.607196798900e-01 - 2.528000000000e-10 1.365547887835e-02 - 2.628000000000e-10 1.638016925338e-01 - 2.728000000000e-10 2.919305498126e-01 - 2.828000000000e-10 4.124239288433e-01 - 2.928000000000e-10 5.263166298848e-01 - 3.028000000000e-10 5.824106149717e-01 - 3.128000000000e-10 5.252174273130e-01 - 3.228000000000e-10 3.651459872532e-01 - 3.328000000000e-10 1.795084214438e-01 - 3.428000000000e-10 3.226267600252e-03 - 3.528000000000e-10 -1.496702035742e-01 - 3.628000000000e-10 -2.792887178681e-01 - 3.728000000000e-10 -4.000019021719e-01 - 3.828000000000e-10 -5.160190704246e-01 - 3.928000000000e-10 -5.816500208715e-01 - 4.028000000000e-10 -5.372846837038e-01 - 4.128000000000e-10 -3.848834507397e-01 - 4.228000000000e-10 -1.993014483184e-01 - 4.328000000000e-10 -2.125168120944e-02 - 4.428000000000e-10 1.345897939599e-01 - 4.528000000000e-10 2.660516467047e-01 - 4.628000000000e-10 3.871267719337e-01 - 4.728000000000e-10 5.047282820024e-01 - 4.828000000000e-10 5.793062880329e-01 - 4.928000000000e-10 5.480670992790e-01 - 5.028000000000e-10 4.046247574272e-01 - 5.128000000000e-10 2.194567139019e-01 - 5.228000000000e-10 3.978854030163e-02 - 5.328000000000e-10 -1.190134240033e-01 - 5.428000000000e-10 -2.525512770557e-01 - 5.528000000000e-10 -3.741228468393e-01 - 5.628000000000e-10 -4.927999203803e-01 - 5.728000000000e-10 -5.755235861382e-01 - 5.828000000000e-10 -5.574109039140e-01 - 5.928000000000e-10 -4.240101965476e-01 - 6.028000000000e-10 -2.397070733991e-01 - 6.128000000000e-10 -5.859311656156e-02 - 6.228000000000e-10 1.031069489747e-01 - 6.328000000000e-10 2.389202178782e-01 - 6.428000000000e-10 3.611164053835e-01 - 6.528000000000e-10 4.804511503358e-01 - 6.628000000000e-10 5.703927182427e-01 - 6.728000000000e-10 5.651995411624e-01 - 6.828000000000e-10 4.426884649777e-01 - 6.928000000000e-10 2.598493744117e-01 - 7.028000000000e-10 7.747657769560e-02 - 7.128000000000e-10 -8.699618736653e-02 - 7.228000000000e-10 -2.252447884331e-01 - 7.328000000000e-10 -3.481970680463e-01 - 7.428000000000e-10 -4.678842164117e-01 - 7.528000000000e-10 -5.640875390474e-01 - 7.628000000000e-10 -5.714336476059e-01 - 7.728000000000e-10 -4.604185473907e-01 - 7.828000000000e-10 -2.797750138125e-01 - 7.928000000000e-10 -9.633858138806e-02 - 8.028000000000e-10 7.073777814255e-02 - 8.128000000000e-10 2.115493094061e-01 - 8.228000000000e-10 3.353876046363e-01 - 8.328000000000e-10 4.552524923411e-01 - 8.428000000000e-10 5.567938616314e-01 - 8.528000000000e-10 5.762058661922e-01 - 8.628000000000e-10 4.770908355033e-01 - 8.728000000000e-10 2.994880974607e-01 - 8.828000000000e-10 1.151828864331e-01 - 8.928000000000e-10 -5.431208395594e-02 - 9.028000000000e-10 -1.977861602727e-01 - 9.128000000000e-10 -3.226531529049e-01 - 9.228000000000e-10 -4.427347421602e-01 - 9.328000000000e-10 -5.488327643130e-01 - 9.428000000000e-10 -5.797041909504e-01 - 9.528000000000e-10 -4.927265308101e-01 - 9.628000000000e-10 -3.191097454976e-01 - 9.728000000000e-10 -1.342181141771e-01 - 9.828000000000e-10 3.744993884902e-02 - 9.928000000000e-10 1.836370942174e-01 - 1.002800000000e-09 3.096940812427e-01 - 1.012800000000e-09 4.298817640101e-01 - 1.022800000000e-09 5.397599749883e-01 - 1.032800000000e-09 5.817861936754e-01 - 1.042800000000e-09 5.074041226008e-01 - 1.052800000000e-09 3.388664774534e-01 - 1.062800000000e-09 1.535104608579e-01 - 1.072800000000e-09 -2.024845785028e-02 - 1.082800000000e-09 -1.692491421902e-01 - 1.092800000000e-09 -2.967013757932e-01 - 1.102800000000e-09 -4.171073443425e-01 - 1.112800000000e-09 -5.301213512093e-01 - 1.122800000000e-09 -5.826820342472e-01 - 1.132800000000e-09 -5.208927839223e-01 - 1.142800000000e-09 -3.582851623030e-01 - 1.152800000000e-09 -1.726179318326e-01 - 1.162800000000e-09 3.001935102304e-03 - 1.172800000000e-09 1.548738889534e-01 - 1.182800000000e-09 2.838707642593e-01 - 1.192800000000e-09 4.044922095117e-01 - 1.202800000000e-09 5.198180562761e-01 - 1.212800000000e-09 5.821632166084e-01 - 1.222800000000e-09 5.332184734218e-01 - 1.232800000000e-09 3.779624918474e-01 - 1.242800000000e-09 1.922988577092e-01 - 1.252800000000e-09 1.486703325848e-02 - 1.262800000000e-09 -1.399496932386e-01 - 1.272800000000e-09 -2.707197504860e-01 - 1.282800000000e-09 -3.916660474216e-01 - 1.292800000000e-09 -5.087606367752e-01 - 1.302800000000e-09 -5.803016232270e-01 - 1.312800000000e-09 -5.444413186477e-01 - 1.322800000000e-09 -3.977418947932e-01 - 1.332800000000e-09 -2.123689566689e-01 - 1.342800000000e-09 -3.326433605185e-02 - 1.352800000000e-09 1.245198660865e-01 - 1.362800000000e-09 2.572914801001e-01 - 1.372800000000e-09 3.786884397038e-01 - 1.382800000000e-09 4.970287842619e-01 - 1.392800000000e-09 5.770140673465e-01 - 1.402800000000e-09 5.543068732670e-01 - 1.412800000000e-09 4.172944393038e-01 - 1.422800000000e-09 2.326135914048e-01 - 1.432800000000e-09 5.200031629165e-02 - 1.442800000000e-09 -1.087117173734e-01 - 1.452800000000e-09 -2.436934942172e-01 - 1.462800000000e-09 -3.656702152799e-01 - 1.472800000000e-09 -4.848025482630e-01 - 1.482800000000e-09 -5.723385369588e-01 - 1.492800000000e-09 -5.626458033125e-01 - 1.502800000000e-09 -4.362543636943e-01 - 1.512800000000e-09 -2.528118155371e-01 - 1.522800000000e-09 -7.087265053387e-02 - 1.532800000000e-09 9.266186071927e-02 - 1.542800000000e-09 2.300274395412e-01 - 1.552800000000e-09 3.527140919248e-01 - 1.562800000000e-09 4.722911338649e-01 - 1.572800000000e-09 5.664223472519e-01 - 1.582800000000e-09 5.694169369289e-01 - 1.592800000000e-09 4.543351006071e-01 - 1.602800000000e-09 2.728185799251e-01 - 1.612800000000e-09 8.974653097500e-02 - 1.622800000000e-09 -7.645342918533e-02 - 1.632800000000e-09 -2.163412758022e-01 - 1.642800000000e-09 -3.398672125281e-01 - 1.652800000000e-09 -4.596702740436e-01 - 1.662800000000e-09 -5.594547917655e-01 - 1.672800000000e-09 -5.746885318592e-01 - 1.682800000000e-09 -4.713817902736e-01 - 1.692800000000e-09 -2.925998303757e-01 - 1.702800000000e-09 -1.085902848019e-01 - 1.712800000000e-09 6.009271011551e-02 - 1.722800000000e-09 2.026110402562e-01 - 1.732800000000e-09 3.271137583800e-01 - 1.742800000000e-09 4.470366757261e-01 - 1.752800000000e-09 5.516024260258e-01 - 1.762800000000e-09 5.785682691472e-01 - 1.772800000000e-09 4.872997263391e-01 - 1.782800000000e-09 3.121706971956e-01 - 1.792800000000e-09 1.275093354174e-01 - 1.802800000000e-09 -4.339966691138e-02 - 1.812800000000e-09 -1.885914489076e-01 - 1.822800000000e-09 -3.142192224600e-01 - 1.832800000000e-09 -4.343522534326e-01 - 1.842800000000e-09 -5.430041650422e-01 - 1.852800000000e-09 -5.811837349212e-01 - 1.862800000000e-09 -5.023856761573e-01 - 1.872800000000e-09 -3.319418855515e-01 - 1.882800000000e-09 -1.467398868003e-01 - 1.892800000000e-09 2.631801497144e-02 - 1.902800000000e-09 1.743391836774e-01 - 1.912800000000e-09 3.012879943958e-01 - 1.922800000000e-09 4.215592295324e-01 - 1.932800000000e-09 5.336096259357e-01 - 1.942800000000e-09 5.825911854269e-01 - 1.952800000000e-09 5.163685478590e-01 - 1.962800000000e-09 3.514506166310e-01 - 1.972800000000e-09 1.658449567189e-01 - 1.982800000000e-09 -9.123570295392e-03 - 1.992800000000e-09 -1.599641527363e-01 - 2.000000000000e-09 -2.536669268561e-01 diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-11-11_17-40-06/parameters/Frequency/run_0/diff_ring_oscillator.sym b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-11-11_17-40-06/parameters/Frequency/run_0/diff_ring_oscillator.sym deleted file mode 100644 index e632b156..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-11-11_17-40-06/parameters/Frequency/run_0/diff_ring_oscillator.sym +++ /dev/null @@ -1,27 +0,0 @@ -v {xschem version=3.4.6 file_version=1.2} -G {} -K {type=primitive -format="@name @pinlist @symname" -template="name=x1" -} -V {} -S {} -E {} -L 4 70 -20 90 -20 {} -L 4 70 20 90 20 {} -L 7 20 70 20 90 {} -L 7 -20 70 -20 90 {} -B 5 87.5 -22.5 92.5 -17.5 {name=Voplus dir=out} -B 5 17.5 87.5 22.5 92.5 {name=vdd dir=inout} -B 5 -22.5 87.5 -17.5 92.5 {name=gnd dir=inout} -B 5 87.5 17.5 92.5 22.5 {name=Vominus dir=out} -A 4 -1.666666666666714 1.666666666666714 71.68604389202189 287.5924245621816 360 {} -A 4 -30 27.5 40.69705149024927 42.51044707800085 94.97910584399833 {} -A 4 30 -27.5 40.69705149024927 222.5104470780009 94.97910584399833 {} -T {@symname} -40.5 -56 0 0 0.1 0.1 {} -T {@name} -40 -47 0 0 0.1 0.1 { -} -T {Voplus} 65 -24 0 1 0.2 0.2 {} -T {vdd} 5 64 2 1 0.2 0.2 {} -T {gnd} -35 64 2 1 0.2 0.2 {} -T {Vominus} 65 16 0 1 0.2 0.2 {} diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-11-11_17-40-06/parameters/Frequency/simulation_summary.csv b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-11-11_17-40-06/parameters/Frequency/simulation_summary.csv deleted file mode 100644 index 8f65c459..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-11-11_17-40-06/parameters/Frequency/simulation_summary.csv +++ /dev/null @@ -1,2 +0,0 @@ -run,time_axis,vo_diff,frequency -run_0,"[1.628e-10, 1.728e-10, 1.828e-10, …]","[-2.292e-02, -1.722e-01, -3.004e-01, …]",5.414e+09 diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-11-11_17-40-06/parameters/Frequency/simulation_summary.md b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-11-11_17-40-06/parameters/Frequency/simulation_summary.md deleted file mode 100644 index a45b7af4..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-11-11_17-40-06/parameters/Frequency/simulation_summary.md +++ /dev/null @@ -1,5 +0,0 @@ -# Simulation Summary for Freq - -| run | time_axis | vo_diff | frequency | -| :-- | --------: | ------: | --------: | -| run_0 | [1.628e-10, 1.728e-10, 1.828e-10, …] | [-2.292e-02, -1.722e-01, -3.004e-01, …] | 5.414e+09 | diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-11-11_17-40-06/summary.md b/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-11-11_17-40-06/summary.md deleted file mode 100644 index a5320ec1..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/runs/RUN_2025-11-11_17-40-06/summary.md +++ /dev/null @@ -1,9 +0,0 @@ - -# CACE Summary for diff_ring_oscillator - -**netlist source**: schematic - -| Parameter | Tool | Result | Min Limit | Min Value | Typ Target | Typ Value | Max Limit | Max Value | Status | -| :------------------- | :------------------- | :-------------- | ---------: | -----------: | ---------: | -----------: | ---------: | -----------: | :------: | -| Freq | ngspice | frequency | 4.2 GHz | 5.414 GHz | 5.4 GHz | 5.414 GHz | 7.1 GHz | 5.414 GHz | Pass ✅ | - diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/testbench/diff_oscillator_tb.sch b/modules/module_4_type_2_PLL/diff_Roscillator/testbench/diff_oscillator_tb.sch deleted file mode 100644 index 40030ac1..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/testbench/diff_oscillator_tb.sch +++ /dev/null @@ -1,113 +0,0 @@ -v {xschem version=3.4.6 file_version=1.2} -G {} -K {} -V {} -S {} -E {} -B 2 1060 -700 1860 -300 {flags=graph -y1=-0.023 -y2=0.7 -ypos1=0 -ypos2=2 -divy=5 -subdivy=1 -unity=1 -x1=2.2231151e-07 -x2=2.2291988e-07 -divx=5 -subdivx=1 -xlabmag=1.0 -ylabmag=1.0 -dataset=-1 -unitx=1 -logx=0 -logy=0 -color="4 7 12" -node="voplus -vominus -vo_diff"} -N 350 -300 350 -270 {lab=vdd} -N 350 -210 350 -180 {lab=GND} -N 600 -290 600 -270 {lab=GND} -N 640 -290 640 -270 {lab=vdd} -N 710 -400 740 -400 {lab=Voplus} -N 710 -360 740 -360 {lab=Vominus} -C {opin.sym} 740 -400 0 0 {name=p3 lab=Voplus} -C {opin.sym} 740 -360 2 1 {name=p4 lab=Vominus} -C {code_shown.sym} 10 -1120 0 0 {name=transient_tb only_toplevel=false -value=" -.include diff_oscillator_tb.save -.param temp=27 -.ic V(Voplus)=1.2 -.control -set noaskquit -set numdgt=12 - -* Save & simulate -save all -op -write diff_oscillator_tb.raw -set appendwrite -tran 10p 1u 160p -save all - -* Explicit vectors -let vo_p = v(Voplus) -let vo_m = v(Vominus) -let vo_diff = vo_p - vo_m - -* --- Main output (mimic CACE naming, just to compare) --- -set wr_singlescale -wrdata differential_output.txt vo_diff - -* --- Extra debug (like we did for CACE) --- -set wr_vecnames -wrdata manual_debug.dat time vo_p vo_m vo_diff -unset wr_vecnames - -write diff_oscillator_tb.raw -.endc -"} -C {devices/code_shown.sym} 10 -460 0 0 {name=MODEL only_toplevel=true -format="tcleval( @value )" -value=".lib cornerMOSlv.lib mos_tt -" -} -C {launcher.sym} 1120 -240 0 0 {name=h3 -descr=SimulateNGSPICE -tclcommand=" -# Setup the default simulation commands if not already set up -# for example by already launched simulations. -set_sim_defaults -puts $sim(spice,1,cmd) - -# Change the Xyce command. In the spice category there are currently -# 5 commands (0, 1, 2, 3, 4). Command 3 is the Xyce batch -# you can get the number by querying $sim(spice,n) -set sim(spice,1,cmd) \{ngspice \\"$N\\" -a\} - -# change the simulator to be used (Xyce) -set sim(spice,default) 0 - -# Create FET and BIP .save file -mkdir -p $netlist_dir -write_data [save_params] $netlist_dir/[file rootname [file tail [xschem get current_name]]].save - -# run netlist and simulation -xschem netlist -simulate -"} -C {devices/launcher.sym} 1120 -280 0 0 {name=h1 -descr="OP annotate" -tclcommand="xschem annotate_op" -} -C {launcher.sym} 1120 -190 0 0 {name=h5 -descr="load waves" -tclcommand="xschem raw_read $netlist_dir/diff_oscillator_tb.raw tran" -} -C {vsource.sym} 350 -240 0 0 {name=V1 value=1.2 savecurrent=false} -C {gnd.sym} 350 -180 0 0 {name=l2 lab=GND} -C {lab_pin.sym} 350 -300 0 0 {name=p2 sig_type=std_logic lab=vdd} -C {diff_ring_oscillator.sym} 620 -380 0 0 {name=x1} -C {gnd.sym} 600 -270 0 0 {name=l1 lab=GND} -C {lab_pin.sym} 640 -270 0 1 {name=p1 sig_type=std_logic lab=vdd} diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/testbench/diff_oscillator_tb.sym b/modules/module_4_type_2_PLL/diff_Roscillator/testbench/diff_oscillator_tb.sym deleted file mode 100644 index 35d2073e..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/testbench/diff_oscillator_tb.sym +++ /dev/null @@ -1,14 +0,0 @@ -v {xschem version=3.4.6 file_version=1.2} -K {type=subcircuit -format="@name @pinlist @symname" -template="name=x1" -} -T {@symname} -99 -6 0 0 0.3 0.3 {} -T {@name} 135 -32 0 0 0.2 0.2 {} -P 4 5 130 -20 -130 -20 -130 20 130 20 130 -20 {} -B 5 147.5 -12.5 152.5 -7.5 {name=Voplus dir=out} -L 4 130 -10 150 -10 {} -T {Voplus} 125 -14 0 1 0.2 0.2 {} -B 5 147.5 7.5 152.5 12.5 {name=Vominus dir=out} -L 4 130 10 150 10 {} -T {Vominus} 125 6 0 1 0.2 0.2 {} diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/testbench/python/freq.py b/modules/module_4_type_2_PLL/diff_Roscillator/testbench/python/freq.py deleted file mode 100644 index 5fe904f3..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/testbench/python/freq.py +++ /dev/null @@ -1,54 +0,0 @@ -#!/usr/bin/env python3 -import sys -import numpy as np -import matplotlib -matplotlib.use("Agg") # Use non-GUI backend for batch plotting -import matplotlib.pyplot as plt - -def main(): - if len(sys.argv) < 2: - print("Usage: python plot_diffout.py data.txt") - sys.exit(1) - - filename = sys.argv[1] - - # Load data (two columns: time, differential output) - data = np.loadtxt(filename) - t = data[:, 0] - y = data[:, 1] - - # Plot - plt.figure(figsize=(8,5)) - plt.plot(t, y, label="Differential Output") - plt.xlabel("Time (s)") - plt.ylabel("Differential Output (V)") - plt.title("Differential Output vs Time") - plt.legend() - plt.grid(True) - - # Save plot as PNG - outname = filename.replace(".txt", ".png") - plt.savefig(outname, dpi=300) - plt.close() - print(f"Saved plot as {outname}") - - # Estimate frequency using FFT - # Compute sampling interval - dt = np.mean(np.diff(t)) - fs = 1/dt # sampling frequency - - # FFT - Y = np.fft.fft(y - np.mean(y)) # remove DC component - freqs = np.fft.fftfreq(len(Y), d=dt) - - # Only positive frequencies - mask = freqs > 0 - freqs = freqs[mask] - Y = np.abs(Y[mask]) - - # Find frequency with maximum magnitude - freq_peak = freqs[np.argmax(Y)] - print(f"Estimated frequency: {freq_peak:.3e} Hz") - -if __name__ == "__main__": - main() diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/testbench/python/pn_spectrum.py b/modules/module_4_type_2_PLL/diff_Roscillator/testbench/python/pn_spectrum.py deleted file mode 100644 index 203f4622..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/testbench/python/pn_spectrum.py +++ /dev/null @@ -1,186 +0,0 @@ -#!/usr/bin/env python3 -""" -pn_batch.py - -Usage: - python pn_batch.py data1.txt data2.txt ... - -Input format: - - Two columns: time[s] v[t] - - Three columns: time[s] vp[t] vn[t] (script will use vp - vn) - -Outputs: - - ./spectrum/_phase_noise.png - - printed summary: carrier freq estimate, fs (after resample), record length, samples -""" - -import sys -from pathlib import Path -import numpy as np -import matplotlib.pyplot as plt -from scipy.signal import welch, butter, filtfilt -from scipy.interpolate import interp1d - -# --------- Parameters you can tweak ---------- -RESAMPLE = True # resample to uniform grid if input isn't uniform -TARGET_SAMPLES = 200000 # target samples when resampling (tradeoff mem / res) -LPF_BW = None # if None, autopick based on carrier (see code). Bandwidth for baseband LPF (Hz) -NPERSEG = None # if None, will choose based on record length (see code) -OVERLAP = 0.5 # fraction for Welch overlap -# ------------------------------------------------ - -def load_data(fname): - data = np.loadtxt(fname) - if data.ndim == 1 or data.shape[1] == 1: - raise ValueError("File must have 2 or 3 columns (time, v) or (time, vp, vn)") - t = data[:,0] - if data.shape[1] == 2: - v = data[:,1] - else: - v = data[:,1] - data[:,2] - return t, v - -def uniform_resample(t, v, target_samples=200000): - # build uniform grid from min->max with target_samples (bounded) - t0, t1 = float(t[0]), float(t[-1]) - dt_median = np.median(np.diff(t)) - if dt_median == 0: - raise ValueError("Median dt is zero: check the input file for repeated timestamps.") - N = min(target_samples, max(1024, int((t1 - t0) / dt_median))) - tu = np.linspace(t0, t1, N) - interp = interp1d(t, v, kind='cubic', bounds_error=False, fill_value="extrapolate") - vu = interp(tu) - return tu, vu - -def estimate_carrier_freq(t, v, fs_est=None): - # Quick FFT-based estimate (uses zero-padding for better resolution) - N = len(t) - i0, i1 = N//4, 3*N//4 - x = v[i0:i1] * np.hanning(i1-i0) - nfft = 1 << (int(np.ceil(np.log2(len(x)))) + 3) - X = np.fft.rfft(x, n=nfft) - freqs = np.fft.rfftfreq(nfft, d=(t[1]-t[0])) - mag = np.abs(X) - idx = np.argmax(mag) - # parabolic refine around peak - if 1 <= idx < len(mag)-1: - alpha = mag[idx-1] - beta = mag[idx] - gamma = mag[idx+1] - p = 0.5*(alpha - gamma)/(alpha - 2*beta + gamma) - peak_freq = (freqs[idx] + p*(freqs[1]-freqs[0])) - else: - peak_freq = freqs[idx] - return peak_freq - -def lowpass_iq(t, v, fc, fs_bb): - # Mix down to baseband using the estimated fc, then lowpass to fs_bb/2 - t = np.asarray(t) - carrier = 2*np.pi*fc*t - I = v * np.cos(carrier) - Q = -v * np.sin(carrier) - - nyq = 0.5 * (1.0/(t[1]-t[0])) - cutoff = min(0.5*fs_bb, nyq*0.9) - b, a = butter(4, cutoff/nyq) - I_f = filtfilt(b, a, I) - Q_f = filtfilt(b, a, Q) - - t_start, t_end = t[0], t[-1] - num = int(np.floor((t_end - t_start) * fs_bb)) - if num < 16: - raise ValueError("fs_bb too high or record too short for downsampling. Decrease fs_bb.") - tb = np.linspace(t_start, t_end, num) - I_interp = interp1d(t, I_f, kind='cubic')(tb) - Q_interp = interp1d(t, Q_f, kind='cubic')(tb) - return tb, I_interp, Q_interp - -def compute_phase_from_iq(I, Q): - phase = np.unwrap(np.arctan2(Q, I)) - return phase - -def phase_to_LdBcHz(phase, fs_bb, nperseg=None, overlap=0.5): - if nperseg is None: - nperseg = min(len(phase), 2**14) - noverlap = int(nperseg * overlap) - f, Pphi = welch(phase, fs=fs_bb, nperseg=nperseg, noverlap=noverlap, scaling='density', window='hann') - L = 10*np.log10(0.5 * Pphi) - return f, L - -def process_file(fname): - fname = Path(fname) - t, v = load_data(fname) - sort_idx = np.argsort(t) - t = t[sort_idx] - v = v[sort_idx] - - if RESAMPLE: - t_u, v_u = uniform_resample(t, v, target_samples=TARGET_SAMPLES) - else: - dt = np.diff(t) - if np.max(dt) - np.min(dt) > 1e-12: - t_u, v_u = uniform_resample(t, v, target_samples=TARGET_SAMPLES) - else: - t_u, v_u = t, v - - dt = t_u[1] - t_u[0] - fs = 1.0 / dt - T = t_u[-1] - t_u[0] - - fc = estimate_carrier_freq(t_u, v_u, fs_est=fs) - - if LPF_BW is None: - fs_bb = min(1e6, max(200000.0, fs/20)) - else: - fs_bb = max(1000.0, LPF_BW*4) - - nyq_orig = 0.5*fs - if fs_bb > nyq_orig*0.9: - fs_bb = nyq_orig*0.9 - - try: - tb, Ibb, Qbb = lowpass_iq(t_u, v_u, fc, fs_bb) - except Exception as e: - raise RuntimeError("IQ demod failed: " + str(e)) - - phase = compute_phase_from_iq(Ibb, Qbb) - p = np.polyfit(tb, phase, 1) - phase_dev = phase - np.polyval(p, tb) - - if NPERSEG is None: - nperseg = int(max(256, min(len(phase_dev), int(fs_bb * (T/8.0))))) - nperseg = 1 << int(np.floor(np.log2(nperseg))) - else: - nperseg = NPERSEG - - f, L = phase_to_LdBcHz(phase_dev, fs_bb, nperseg=nperseg, overlap=OVERLAP) - - outdir = Path("spectrum") - outdir.mkdir(parents=True, exist_ok=True) - out_png = outdir / (fname.stem + "_phase_noise.png") - - plt.figure(figsize=(6.5,4)) - plt.semilogx(f, L) - plt.xlim(max(1.0, f[1]), f[-1]) - plt.xlabel("Offset frequency [Hz]") - plt.ylabel("Phase noise [dBc/Hz]") - plt.title(f"{fname.name} fc~{fc/1e6:.6f} MHz fs_bb={fs_bb/1e3:.1f} kHz T={T*1e6:.3f} µs") - plt.grid(True, which='both', ls=':', alpha=0.6) - plt.tight_layout() - plt.savefig(out_png, dpi=150) - plt.close() - - print(f"{fname.name}: fc={fc:.3f} Hz, fs={fs:.1f} Hz, T={T:.6f} s, samples={len(t_u)}") - -def main(): - if len(sys.argv) < 2: - print("Usage: python pn_batch.py data1.txt data2.txt ...") - sys.exit(1) - for f in sys.argv[1:]: - try: - process_file(f) - except Exception as e: - print(f"Error processing {f}: {e}") - -if __name__ == "__main__": - main() diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/testbench/simulations/diff_oscillator_tb.save b/modules/module_4_type_2_PLL/diff_Roscillator/testbench/simulations/diff_oscillator_tb.save deleted file mode 100644 index 235abce2..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/testbench/simulations/diff_oscillator_tb.save +++ /dev/null @@ -1,62 +0,0 @@ -* Place this .save file with a .include line in your testbench - -.save @n.x1.x1.xm1.nsg13_lv_nmos[ids] -.save @n.x1.x1.xm1.nsg13_lv_nmos[gm] -.save @n.x1.x1.xm1.nsg13_lv_nmos[gds] -.save @n.x1.x1.xm1.nsg13_lv_nmos[vth] -.save @n.x1.x1.xm1.nsg13_lv_nmos[vgs] -.save @n.x1.x1.xm1.nsg13_lv_nmos[vdss] -.save @n.x1.x1.xm1.nsg13_lv_nmos[vds] -.save @n.x1.x1.xm1.nsg13_lv_nmos[cgg] -.save @n.x1.x1.xm1.nsg13_lv_nmos[cgsol] -.save @n.x1.x1.xm1.nsg13_lv_nmos[cgdol] -.save @n.x1.x1.xm2.nsg13_lv_nmos[ids] -.save @n.x1.x1.xm2.nsg13_lv_nmos[gm] -.save @n.x1.x1.xm2.nsg13_lv_nmos[gds] -.save @n.x1.x1.xm2.nsg13_lv_nmos[vth] -.save @n.x1.x1.xm2.nsg13_lv_nmos[vgs] -.save @n.x1.x1.xm2.nsg13_lv_nmos[vdss] -.save @n.x1.x1.xm2.nsg13_lv_nmos[vds] -.save @n.x1.x1.xm2.nsg13_lv_nmos[cgg] -.save @n.x1.x1.xm2.nsg13_lv_nmos[cgsol] -.save @n.x1.x1.xm2.nsg13_lv_nmos[cgdol] -.save @n.x1.x2.xm1.nsg13_lv_nmos[ids] -.save @n.x1.x2.xm1.nsg13_lv_nmos[gm] -.save @n.x1.x2.xm1.nsg13_lv_nmos[gds] -.save @n.x1.x2.xm1.nsg13_lv_nmos[vth] -.save @n.x1.x2.xm1.nsg13_lv_nmos[vgs] -.save @n.x1.x2.xm1.nsg13_lv_nmos[vdss] -.save @n.x1.x2.xm1.nsg13_lv_nmos[vds] -.save @n.x1.x2.xm1.nsg13_lv_nmos[cgg] -.save @n.x1.x2.xm1.nsg13_lv_nmos[cgsol] -.save @n.x1.x2.xm1.nsg13_lv_nmos[cgdol] -.save @n.x1.x2.xm2.nsg13_lv_nmos[ids] -.save @n.x1.x2.xm2.nsg13_lv_nmos[gm] -.save @n.x1.x2.xm2.nsg13_lv_nmos[gds] -.save @n.x1.x2.xm2.nsg13_lv_nmos[vth] -.save @n.x1.x2.xm2.nsg13_lv_nmos[vgs] -.save @n.x1.x2.xm2.nsg13_lv_nmos[vdss] -.save @n.x1.x2.xm2.nsg13_lv_nmos[vds] -.save @n.x1.x2.xm2.nsg13_lv_nmos[cgg] -.save @n.x1.x2.xm2.nsg13_lv_nmos[cgsol] -.save @n.x1.x2.xm2.nsg13_lv_nmos[cgdol] -.save @n.x1.x3.xm1.nsg13_lv_nmos[ids] -.save @n.x1.x3.xm1.nsg13_lv_nmos[gm] -.save @n.x1.x3.xm1.nsg13_lv_nmos[gds] -.save @n.x1.x3.xm1.nsg13_lv_nmos[vth] -.save @n.x1.x3.xm1.nsg13_lv_nmos[vgs] -.save @n.x1.x3.xm1.nsg13_lv_nmos[vdss] -.save @n.x1.x3.xm1.nsg13_lv_nmos[vds] -.save @n.x1.x3.xm1.nsg13_lv_nmos[cgg] -.save @n.x1.x3.xm1.nsg13_lv_nmos[cgsol] -.save @n.x1.x3.xm1.nsg13_lv_nmos[cgdol] -.save @n.x1.x3.xm2.nsg13_lv_nmos[ids] -.save @n.x1.x3.xm2.nsg13_lv_nmos[gm] -.save @n.x1.x3.xm2.nsg13_lv_nmos[gds] -.save @n.x1.x3.xm2.nsg13_lv_nmos[vth] -.save @n.x1.x3.xm2.nsg13_lv_nmos[vgs] -.save @n.x1.x3.xm2.nsg13_lv_nmos[vdss] -.save @n.x1.x3.xm2.nsg13_lv_nmos[vds] -.save @n.x1.x3.xm2.nsg13_lv_nmos[cgg] -.save @n.x1.x3.xm2.nsg13_lv_nmos[cgsol] -.save @n.x1.x3.xm2.nsg13_lv_nmos[cgdol] diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/testbench/spectrum/differential_output_phase_noise.png b/modules/module_4_type_2_PLL/diff_Roscillator/testbench/spectrum/differential_output_phase_noise.png deleted file mode 100644 index e6a42d1b..00000000 Binary files a/modules/module_4_type_2_PLL/diff_Roscillator/testbench/spectrum/differential_output_phase_noise.png and /dev/null differ diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/testbench/xschemrc b/modules/module_4_type_2_PLL/diff_Roscillator/testbench/xschemrc deleted file mode 100644 index 34b6db6d..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/testbench/xschemrc +++ /dev/null @@ -1,18 +0,0 @@ -# xschemrc - Custom configuration file for xschem -# This file sources another xschemrc file from a known location - -# Source the base configuration from a known location -source $::env(PDK_ROOT)/$::env(PDK)/libs.tech/xschem/xschemrc - -# (Optional) Add any custom overrides or extensions below -# set xschem_library_path /home/user/my_libs -# set xschem_gui_font "Monospace 10" - -#### include skywater libraries. Here I use [pwd]. This works if I start xschem from here. -###only if you dont have this setup already ### -###append XSCHEM_LIBRARY_PATH :[file dirname [info script]] - - -#### Add custom libraries (directories with .lib files) -append XSCHEM_LIBRARY_PATH :../xschem/ - diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/xschem/diff_ring_oscillator.sch b/modules/module_4_type_2_PLL/diff_Roscillator/xschem/diff_ring_oscillator.sch deleted file mode 100644 index f52c0e30..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/xschem/diff_ring_oscillator.sch +++ /dev/null @@ -1,37 +0,0 @@ -v {xschem version=3.4.6 file_version=1.2} -G {} -K {} -V {} -S {} -E {} -N 560 -430 610 -430 {lab=#net1} -N 560 -350 610 -350 {lab=#net2} -N 760 -430 810 -430 {lab=#net3} -N 760 -350 810 -350 {lab=#net4} -N 460 -480 460 -460 {lab=vdd} -N 660 -480 860 -480 {lab=vdd} -N 860 -480 860 -460 {lab=vdd} -N 660 -480 660 -460 {lab=vdd} -N 460 -480 660 -480 {lab=vdd} -N 460 -320 460 -300 {lab=gnd} -N 460 -300 660 -300 {lab=gnd} -N 660 -320 660 -300 {lab=gnd} -N 660 -300 860 -300 {lab=gnd} -N 860 -320 860 -300 {lab=gnd} -N 390 -430 410 -430 {lab=#net5} -N 390 -520 980 -520 {lab=#net5} -N 960 -430 980 -430 {lab=#net5} -N 390 -520 390 -430 {lab=#net5} -N 980 -520 980 -430 {lab=#net5} -N 980 -350 980 -260 {lab=Voplus} -N 960 -350 980 -350 {lab=Voplus} -N 390 -350 410 -350 {lab=Voplus} -N 390 -350 390 -260 {lab=Voplus} -N 390 -260 980 -260 {lab=Voplus} -C {differential_core.sym} 560 -390 0 0 {name=x1} -C {differential_core.sym} 760 -390 0 0 {name=x2} -C {differential_core.sym} 960 -390 0 0 {name=x3} -C {opin.sym} 980 -260 0 0 {name=p3 lab=Voplus} -C {opin.sym} 980 -510 2 1 {name=p4 lab=Vominus} -C {iopin.sym} 860 -480 0 0 {name=p1 lab=vdd} -C {iopin.sym} 860 -300 0 0 {name=p2 lab=gnd} diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/xschem/diff_ring_oscillator.sym b/modules/module_4_type_2_PLL/diff_Roscillator/xschem/diff_ring_oscillator.sym deleted file mode 100644 index b9399769..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/xschem/diff_ring_oscillator.sym +++ /dev/null @@ -1,27 +0,0 @@ -v {xschem version=3.4.6 file_version=1.2} -G {} -K {type=subcircuit -format="@name @pinlist @symname" -template="name=x1" -} -V {} -S {} -E {} -L 4 70 -20 90 -20 {} -L 4 70 20 90 20 {} -L 7 20 70 20 90 {} -L 7 -20 70 -20 90 {} -B 5 87.5 -22.5 92.5 -17.5 {name=Voplus dir=out} -B 5 17.5 87.5 22.5 92.5 {name=vdd dir=inout} -B 5 -22.5 87.5 -17.5 92.5 {name=gnd dir=inout} -B 5 87.5 17.5 92.5 22.5 {name=Vominus dir=out} -A 4 -1.666666666666714 1.666666666666714 71.68604389202189 287.5924245621816 360 {} -A 4 -30 27.5 40.69705149024927 42.51044707800085 94.97910584399833 {} -A 4 30 -27.5 40.69705149024927 222.5104470780009 94.97910584399833 {} -T {@symname} -40.5 -56 0 0 0.1 0.1 {} -T {@name} -40 -47 0 0 0.1 0.1 { -} -T {Voplus} 65 -24 0 1 0.2 0.2 {} -T {vdd} 5 64 2 1 0.2 0.2 {} -T {gnd} -35 64 2 1 0.2 0.2 {} -T {Vominus} 65 16 0 1 0.2 0.2 {} diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/xschem/differential_core.sch b/modules/module_4_type_2_PLL/diff_Roscillator/xschem/differential_core.sch deleted file mode 100644 index 0dcc4282..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/xschem/differential_core.sch +++ /dev/null @@ -1,82 +0,0 @@ -v {xschem version=3.4.6 file_version=1.2} -G {} -K {} -V {} -S {} -E {} -N 150 -100 150 -50 {lab=#net1} -N 280 -50 410 -50 {lab=#net1} -N 410 -100 410 -50 {lab=#net1} -N 280 -50 280 -20 {lab=#net1} -N 150 -50 280 -50 {lab=#net1} -N 150 -220 150 -160 {lab=Out-} -N 410 -220 410 -160 {lab=Out+} -N 150 -330 150 -290 {lab=vdd} -N 410 -330 410 -290 {lab=vdd} -N 280 -330 410 -330 {lab=vdd} -N 80 -130 110 -130 {lab=In+} -N 450 -130 480 -130 {lab=In-} -N 150 -330 280 -330 {lab=vdd} -N 280 -370 280 -330 {lab=vdd} -N 150 -130 200 -130 {lab=gnd} -N 360 -130 410 -130 {lab=gnd} -N 0 -220 150 -220 {lab=Out-} -N 150 -230 150 -220 {lab=Out-} -N -0 -220 -0 -200 {lab=Out-} -N -30 -220 0 -220 {lab=Out-} -N -0 -140 -0 -120 {lab=gnd} -N 410 -220 560 -220 {lab=Out+} -N 560 -220 560 -200 {lab=Out+} -N 560 -220 590 -220 {lab=Out+} -N 560 -140 560 -120 {lab=gnd} -N 410 -240 410 -220 {lab=Out+} -N 280 40 280 60 {lab=gnd} -C {sg13g2_pr/sg13_lv_nmos.sym} 430 -130 0 1 {name=M1 -l=0.26u -w=2.6u -ng=1 -m=1 -model=sg13_lv_nmos -spiceprefix=X -} -C {sg13g2_pr/sg13_lv_nmos.sym} 130 -130 0 0 {name=M2 -l=0.26u -w=2.6u -ng=1 -m=1 -model=sg13_lv_nmos -spiceprefix=X -} -C {res.sym} 150 -260 0 0 {name=R1 -value=5k -footprint=1206 -device=resistor -m=1} -C {res.sym} 410 -260 0 0 {name=R2 -value=5k -footprint=1206 -device=resistor -m=1} -C {ipin.sym} 80 -130 0 0 {name=p3 lab=In+} -C {iopin.sym} 280 -370 2 0 {name=p5 lab=vdd} -C {iopin.sym} 280 60 2 0 {name=p1 lab=gnd} -C {lab_pin.sym} 360 -130 0 0 {name=p2 sig_type=std_logic lab=gnd} -C {lab_pin.sym} 200 -130 2 0 {name=p6 sig_type=std_logic lab=gnd} -C {capa.sym} 0 -170 0 0 {name=C1 -m=1 -value=0.5f -footprint=1206 -device="ceramic capacitor"} -C {lab_pin.sym} 0 -120 0 0 {name=p7 sig_type=std_logic lab=gnd} -C {ipin.sym} 480 -130 0 1 {name=p8 lab=In-} -C {capa.sym} 560 -170 0 1 {name=C2 -m=1 -value=0.5f -footprint=1206 -device="ceramic capacitor"} -C {lab_pin.sym} 560 -120 0 1 {name=p9 sig_type=std_logic lab=gnd} -C {opin.sym} 590 -220 0 0 {name=p10 lab=Out+} -C {opin.sym} -30 -220 0 1 {name=p11 lab=Out-} -C {isource.sym} 280 10 0 0 {name=I0 value=200u} -C {sg13g2_pr/annotate_fet_params.sym} 700 -230 0 0 {name=annot1 ref=M1} -C {sg13g2_pr/annotate_fet_params.sym} 810 -230 0 0 {name=annot2 ref=M2} diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/xschem/differential_core.sym b/modules/module_4_type_2_PLL/diff_Roscillator/xschem/differential_core.sym deleted file mode 100644 index 0fcc760d..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/xschem/differential_core.sym +++ /dev/null @@ -1,30 +0,0 @@ -v {xschem version=3.4.6 file_version=1.2} -G {} -K {type=subcircuit -format="@name @pinlist @symname" -template="name=x1" -} -V {} -S {} -E {} -L 4 -20 40 0 40 {} -L 4 -20 -40 0 -40 {} -L 4 -150 -40 -130 -40 {} -L 4 -150 40 -130 40 {} -L 7 -100 -70 -100 -50 {} -L 7 -100 50 -100 70 {} -B 5 -102.5 -72.5 -97.5 -67.5 {name=vdd dir=inout} -B 5 -2.5 37.5 2.5 42.5 {name=Out+ dir=out} -B 5 -2.5 -42.5 2.5 -37.5 {name=Out- dir=out} -B 5 -152.5 -42.5 -147.5 -37.5 {name=In+ dir=in} -B 5 -152.5 37.5 -147.5 42.5 {name=In- dir=in} -B 5 -102.5 67.5 -97.5 72.5 {name=gnd dir=inout} -P 4 5 0 0 -130 -60 -130 60 0 0 0 0 {} -T {@symname} -124.5 4 0 0 0.1 0.1 {} -T {@name} -68.75 4.25 0 0 0.1 0.1 {} -T {vdd} -105 -26 2 1 0.2 0.2 {} -T {Out+} -25 36 0 1 0.2 0.2 {} -T {Out-} -25 -44 0 1 0.2 0.2 {} -T {In+} -125 -44 0 0 0.2 0.2 {} -T {In-} -125 36 0 0 0.2 0.2 {} -T {gnd} -105 44 2 1 0.2 0.2 {} diff --git a/modules/module_4_type_2_PLL/diff_Roscillator/xschem/xschemrc b/modules/module_4_type_2_PLL/diff_Roscillator/xschem/xschemrc deleted file mode 100644 index 34b6db6d..00000000 --- a/modules/module_4_type_2_PLL/diff_Roscillator/xschem/xschemrc +++ /dev/null @@ -1,18 +0,0 @@ -# xschemrc - Custom configuration file for xschem -# This file sources another xschemrc file from a known location - -# Source the base configuration from a known location -source $::env(PDK_ROOT)/$::env(PDK)/libs.tech/xschem/xschemrc - -# (Optional) Add any custom overrides or extensions below -# set xschem_library_path /home/user/my_libs -# set xschem_gui_font "Monospace 10" - -#### include skywater libraries. Here I use [pwd]. This works if I start xschem from here. -###only if you dont have this setup already ### -###append XSCHEM_LIBRARY_PATH :[file dirname [info script]] - - -#### Add custom libraries (directories with .lib files) -append XSCHEM_LIBRARY_PATH :../xschem/ -