71 lines
1.4 KiB
Markdown
71 lines
1.4 KiB
Markdown
# Lab 3 Notes
|
|
|
|
|
|
## Calculating Rise Time, Fall Time, and Delay
|
|
|
|
### Using the Calculator
|
|
|
|
`rise20 = cross(VT("/out") 0.2 1 "rising" nil nil nil )`
|
|
|
|
`rise80 = cross(VT("/out") 0.8 1 "rising" nil nil nil )`
|
|
|
|
`t_rise = rise80-rise20`
|
|
|
|
$t_r = 12.33$[ps]
|
|
|
|
`fall80 = cross(VT("/out") 0.8 1 "falling" nil nil nil )`
|
|
|
|
`fall20 = cross(VT("/out") 0.2 1 "falling" nil nil nil )`
|
|
|
|
`t_fall = fall20-fall80`
|
|
|
|
$t_f = 11.98$[ps]
|
|
|
|
`pdf = delayMeasure(VT("/in") VT("/out") ?edge1 "rising" ?value1 0.5 ?edge2 "falling" ?value2 0.5 )`
|
|
|
|
$t_{pdf} = 21.45$[ps]
|
|
|
|
`pdr = delayMeasure(VT("/in") VT("/out") ?edge1 "falling" ?value1 0.5 ?edge2 "rising" ?value2 0.5 )`
|
|
|
|
$t_{pdr} = 22.69$[ps]
|
|
|
|
`tpd = (pdf+pdr)/2`
|
|
|
|
$t_{pd} = 22.07$[ps]
|
|
|
|
### Using the Graph
|
|
$t_{pdr} = 1.172692$[ns] $- 1.15$[ns]
|
|
|
|
$t_{pdf} = 71.44874$[ps] $- 50.0$[ps]
|
|
|
|
$t_r = 1.178133$[ns] $- 1.165857$[ns]
|
|
|
|
$t_f = 76.5474$[ps] $- 64.7758$[ps]
|
|
|
|
## Ring Oscillator
|
|
|
|
### Calculating Frequency
|
|
`rise1 = cross(VT("/v1") 0.5 1 "rising" nil nil nil )`
|
|
|
|
`rise2 = cross(VT("/v1") 0.5 2 "rising" nil nil nil )`
|
|
|
|
`T0 = rise2 - rise1`
|
|
|
|
`f0 = 1/T0`
|
|
|
|
$T_0 = 212.7$[ps]
|
|
$f_0 = 4.702$[GHz]
|
|
|
|
$$f = \frac{1}{2tn}$$
|
|
Where $t$ is the delay of a single inverter, and $n$ is the number of inverters.
|
|
|
|
`fall2 = cross(VT("/v2") 0.5 1 "falling" nil nil nil )`
|
|
|
|
`t = fall2 - rise1`
|
|
|
|
$t = 14.14$[ps]
|
|
|
|
$n = 11$
|
|
|
|
$f_0 = \frac{1}{2(14.14\times10^{-12})(11)} = 4.878$[GHz]
|