User Tools

Site Tools


soft:cadence:simulations:usefull_calc_formulas

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
soft:cadence:simulations:usefull_calc_formulas [2013/12/19 12:38]
dominik.przyborowski [DAC simulations]
soft:cadence:simulations:usefull_calc_formulas [2019/03/08 14:08] (current)
Line 5: Line 5:
 <​code>​ <​code>​
 (((abs(value(SIGNAL T_SAMPLE ?period T_PERIOD ?xName "​cycle"​)) - (((ymax(abs(value(SIGNAL T_SAMPLE ?period T_PERIOD ?xName "​cycle"​))) - ymin(abs(value(SIGNAL T_SAMPLE ?period T_PERIOD ?xName "​cycle"​)))) * (xval(abs(value(SIGNAL T_SAMPLE ?period T_PERIOD ?xName "​cycle"​))) - 1)) / No_of_STATES)) + ymin(abs(value(SIGNAL T_SAMPLE ?period T_PERIOD ?xName "​cycle"​)))) / ((ymax(abs(value(SIGNAL T_SAMPLE ?period T_PERIOD ?xName "​cycle"​))) - ymin(abs(value(SIGNAL T_SAMPLE ?period T_PERIOD ?xName "​cycle"​)))) / No_of_STATES)) (((abs(value(SIGNAL T_SAMPLE ?period T_PERIOD ?xName "​cycle"​)) - (((ymax(abs(value(SIGNAL T_SAMPLE ?period T_PERIOD ?xName "​cycle"​))) - ymin(abs(value(SIGNAL T_SAMPLE ?period T_PERIOD ?xName "​cycle"​)))) * (xval(abs(value(SIGNAL T_SAMPLE ?period T_PERIOD ?xName "​cycle"​))) - 1)) / No_of_STATES)) + ymin(abs(value(SIGNAL T_SAMPLE ?period T_PERIOD ?xName "​cycle"​)))) / ((ymax(abs(value(SIGNAL T_SAMPLE ?period T_PERIOD ?xName "​cycle"​))) - ymin(abs(value(SIGNAL T_SAMPLE ?period T_PERIOD ?xName "​cycle"​)))) / No_of_STATES))
 +</​code>​
 +  * DNL calculation from transient ramp
 +<​code>​
 +((deriv(value(abs(SIGNAL) T_SAMPLE ?period T_PERIOD ?xName "​cycle"​)) / ((ymax(value(abs(SIGNAL) T_SAMPLE ?period T_PERIOD ?xName "​cycle"​)) - ymin(value(abs(SIGNAL) T_SAMPLE ?period T_PERIOD ?xName "​cycle"​))) / No_of_STATES)) - 1)
 </​code>​ </​code>​
 Where: \\ Where: \\
Line 11: Line 15:
 T_PERIOD - sampling period ​ \\ T_PERIOD - sampling period ​ \\
 No_of_STATES = 2^N-1 - number of DAC states (for 8 bit DAC it is 255) \\ No_of_STATES = 2^N-1 - number of DAC states (for 8 bit DAC it is 255) \\
-  ​DNL calculation from transient ramp+ 
 +===== CSA ===== 
 +  ​ENC in electrons
 <​code>​ <​code>​
-((deriv(value(abs(IT("/R1/PLUS"​)) ​7e-07 ?period 1e-06 ?​xName ​"cycle")) / ((ymax(value(abs(IT("/R1/PLUS")) 7e-07 ?period 1e-06 ?​xName ​"cycle"​)) - ymin(value(abs(IT("/​R1/​PLUS"​)) 7e-07 ?period 1e-06 ?xName "cycle"))) / 127)) 1)+(rmsNoise(F_MIN F_MAX) / ((ymax(VT("OUTPUT_NODE")) - value(VT("OUTPUT_NODE") 0)) / pv("/INPUT_CHARGE" "​value"​ ?result ​"variables")) / 1.602e-19)
 </​code>​ </​code>​
 +  * Charge gain
 +<​code>​1e-15 * (ymax(VT("​OUTPUT_NODE"​)) - VDC("​OUTPUT_NODE"​)) / pv("/​INPUT_CHARGE"​ "​value"​ ?result "​variables"​)</​code>​
 +  * Signal FWHM
 +<​code>​(cross(((100 * ((- VT("​OUTPUT_NODE"​)) + value(VT("​OUTPUT_NODE"​) 0))) / ((- ymin(VT("​OUTPUT_NODE"​))) + value(VT("​OUTPUT_NODE"​) 0))) 50 1 "​falling"​ nil nil) - cross(((100 * ((- VT("​OUTPUT_NODE"​)) + value(VT("​OUTPUT_NODE"​) 0))) / ((- ymin(VT("​OUTPUT_NODE"​))) + value(VT("​OUTPUT_NODE"​) 0))) 50 1 "​rising"​ nil nil))</​code>​
 +Where: \\
 +F_MIN, F_MAX - frequency range for noise simulation \\
 +OUTPUT_NODE - output node of CSA \\
 +INPUT_CHARGE - variable containing input charge value \\
 +
 +===== AC amplifiers =====
 +  * Gain--Bandwidth Product
 +<​code>​bandwidth(VF("/​out_ac"​) dB20(abs(value(VF("/​out_ac"​) 0))) "​low"​)</​code>​
 +<​code>​cross(dB20(VF("/​out_ac"​)) 0 1 "​either"​ nil nil)</​code>​
/services/www/http/wiki/data/attic/soft/cadence/simulations/usefull_calc_formulas.1387453134.txt.gz · Last modified: 2019/03/08 14:06 (external edit)