====== Simulation references ====== [ __[[vlsi:home|Home]]__ ] [ __[[vlsi:workbook|Design WorkBook]]__ ] [ __[[vlsi:workbook:analog#contents|Back to index]]__ ] == Contents == * [[vlsi:workbook:analog:simref#introduction|Introduction]] * [[vlsi:workbook:analog:simref#reference_documentation|Reference documentation]] * [[vlsi:workbook:analog:simref#dc_operating_points|DC operating points]] * [[vlsi:workbook:analog:simref#power_consumption_evaluation|Power consumption evaluation]] * [[vlsi:workbook:analog:simref#ADE_simulation_options|ADE simulation options]] * [[vlsi:workbook:analog:simref#node_impedance_simulation|Node impedance simulation]] * [[vlsi:workbook:analog:simref#pwl_voltage_and_current_sources|PWL voltage and current sources]] * [[vlsi:workbook:analog:simref#noise_analyses|Noise analyses]] * Typical OCEAN variables used in Front-End designing **Keywords:** To be inserted: **closed loop gain simulation** and **loop stability analysis** e.g. (completo, fatto molto bene) [[http://lumerink.com/courses/ECE614/Handouts/]] \\ [[http://lumerink.com/courses/ECE614/Handouts/Loop%Analysis.pdf]] \\ [[http://lumerink.com/courses/ECE614/Handouts/Loop%Stability%Analysis.pdf]] ===== Introduction ===== In this page we give a detailed description of a few **common simulation tasks** (e.g. //power consumption evaluation// in Cadence) which can be encountered during the analog design activity. ===== Reference documentation ===== Spectre ssimulator official documentation! Si impara praticamente tutto! Attenzione pero' che e' sotto **MMSIM** (Multi-Mode Simulation) package! //Spectre User Guide// and //Spectre Reference Guide// ''/usr/cadence/MMSIM_10.11/doc/spectreuser/spectreuser.pdf'' ''/usr/cadence/MMSIM_10.11/doc/spectreref/spectreref.pdf'' ===== DC operating points ===== MOS transistor parameters evaluated from the transistor model, typically some version of the **BSIM4** model. **ADE L => Results => Print => DC Operating Points** Quali DOP vengono elencati dipende poi dal modello! I DC op. poiints piu' importanti sono: ^ Parameter ^ Description ^ |''betaeff ''| | |''gds ''| | |''gm ''| | |''id ''| | |''ids ''| | |''region ''| | |''ron ''| | |''vds ''| | |''vdsat ''| | |''vgs ''| | |''vth ''| | \\ ''betaeff''\\ \\ ''gmoverid''\\ etc. ===== Analyses overview ===== breve rassegna di cosa vuol dire simualre DC, TRAN, AC etc. ^ **Calculator** ^ **Description** ^ **OCEAN syntax example ** ^ | '' vt ''| wire transient voltage | ''VT("/out") ''| | '' it ''| node transient current | ''IT("/M1/D") ''| | '' vf ''| wire AC sweep voltage | ''VF("/Vin") ''| | '' if ''| node AC sweep current | ''IF("/C0/MINUS") ''| | '' vdc ''| wire DC voltage | ''VDC("/vdd_disc") ''| | '' idc ''| node DC current | ''IDC("/V0/PLUS") ''| | '' vs ''| wire DC sweep voltage | ''VS("/net012") ''| | '' is ''| node DC sweep current | ''IS("/R1/PLUS") ''| | '' op ''| instance DC operating point | ''OP("M0","gm") ''| | '' opt ''| instance transient DC operating point | ''OPT("M0","vth") ''| | '' var ''| design variable | ''VAR("Ibias") ''| | '' mp ''| instance model parameter | ''MP("M0","vtho") ''| ===== Power consumption evaluation ===== How to evaluate the power consumption. A detailed Wiki page about this topic has been created, see __[[vlsi:workbook:analog:simref:power|here]]__. ===== ADE simulation options ===== Importante! soprtattutto a livello di **numerical evaluation**, serve sapere che esistono dei **checks** su gmin, etc. **ADE L => Simulation => Options => Analog...** {{:vlsi:spectre_simulator_options_main.png}} {{:vlsi:spectre_simulator_options_check.png}} ===== Node impedance simulation ===== How to evaluate the **total impedance** at a node. A detailed Wiki page about this topic has been created, see __[[vlsi:analog_impedance_sim|here]]__. ===== PWL voltage and current sources ===== piecewise linear (PWL) Vpwl (piece-wise linear) to be used in **transient simulations**. Values can be also specified into a plain text file and then using a **Vpwlf** voltage source, which takes file values and convert them to a standard **Vpwl** source. **analogLib => Sources => Independent => Vpwlf** The syntax is a column of time values and a column of voltage or current values, t0 vo t1 v1 t2 v2 ... ... Specify the **full path to the file** or copy it in the same directory of the netlist cd ~/scratch//data mkdir vpwlf Notare che posso anche passare il nome del file ad ADE come variabile, usare pPar("filename") nel CDF parameter dell'istanza. [[http://www.cadence.com/Community/forums/t/23078.aspx]] ===== Noise analyses ===== Both standard AC noise analysis and transient noise analysis. Click [[vlsi:workbook:analog:simref:noise|here]]. ====== Typical OCEAN variables used in Front-End designing ====== \\ __**Delta-like input current spike**__ Use an **ipulse** current source with a trapezoidal shape Let ''w'' be rise time, pulse width and fall time of the current pulse (e.g. 1ns), then set i2 to Qin*1.6e-19/(2*w) with ''Qin'' expressed as the **number of electrons**. \\ __**Equivalent Noise Charge (ENC)**__ \\ __**Time over threshold (ToT)**__ Define a ''ToT'' output variable in ADE L with the usage of the ''cross()'' OCEAN function, (cross(VT("/Vout_comp") 0.3 1 "falling" nil nil) - cross(VT("/Vout_comp") 0.3 1 "rising" nil nil)) ====== ====== \\ ---- Last update: [[pacher@NOSPAMto.infn.it|Luca Pacher]] - Sep 25, 2013 ~~NOTOC~~