2.2.3. Необходимые входные файлы для моделирования.
Для входных файлов принять:
Продолжительность входного фронта: 50 псек
Значение выходной емкостной нагрузки: Cload=5 фФ
2.2.3.1. Необходимый входной файл для CML мультиплексора 2-1, используемый для измерения задержек и времени переключения при статическом режиме с применением программного средства схемотехнического моделирования HSpice, следующий:
*CML MUX 21 *Propagation Delay, Transition Time * HSPICE Netlist .options POST=1 parhier=local * Models section * Include models .include '/student_lab/digital_ic/all_models/model_val'
* Design variables section * Define parameters .param vdd = VDD_val .param tr=TR_val .param freq=FREQ_val .param per=’1/freq’ .param tst=’0.5*per’ .temp Temp_val
* Structural netlist section .include '/student_lab/digital_ic/variant_val/dshrg4.netl'
vvss vss gnd dc=0 vvdd vdd gnd dc='vdd'
***Input Signals vd0 d0 0 pulse (0 vdd 'tst+0.0*per' tr tr '0.5*per-tr' '3.0*per') vd0n d0n 0 pulse (vdd 0 'tst+0.0*per' tr tr '0.5*per-tr' '3.0*per') vd1 d1 0 pulse (vdd 0 'tst+1.5*per' tr tr '0.5*per-tr' '3.0*per') vd1n d1n 0 pulse (0 vdd 'tst+1.5*per' tr tr '0.5*per-tr' '3.0*per') vs s 0 pulse (0 vdd 'tst+1.0*per' tr tr '1.5*per-tr' '3.0*per') vsn sn 0 pulse (vdd 0 'tst+1.0*per' tr tr '1.5*per-tr' '3.0*per') vrfp rfp 0 rfp vrfn rfn 0 rfn
cloadcml_out1 cml_out1 0 LOAD_val cloadcml_out2 cml_out2 0 LOAD_val
* Analysis section * Transient Analyses .tran ‘0.01*tr’ ‘5*per’ .probe v(*)
*Options .option post probe .option autostop
***Measures ***Propagation Delay .meas tran tplh_d0_cml_out1 trig v(d0) val='0.5*vdd' rise=1 targ v(cml_out1) val='0.5*vdd' rise=1 .meas tran tphl_d0_cml_out1 trig v(d0) val='0.5*vdd' fall=1 targ v(cml_out1) val='0.5*vdd' fall=1 .meas tran tplh_d1_cml_out1 trig v(d1) val='0.5*vdd' rise=1 targ v(cml_out1) val='0.5*vdd' rise=3 .meas tran tphl_d1_cml_out1 trig v(d1) val='0.5*vdd' fall=1 targ v(cml_out1) val='0.5*vdd' fall=2 .meas tran tplh_s_cml_out1 trig v(s) val='0.5*vdd' rise=1 targ v(cml_out1) val='0.5*vdd' rise=2 .meas tran tphl_s_cml_out1 trig v(s) val='0.5*vdd' fall=1 targ v(cml_out1) val='0.5*vdd' fall=3 .meas tran tphl_d0_cml_out2 trig v(d0) val='0.5*vdd' rise=1 targ v(cml_out2) val='0.5*vdd' fall=1 .meas tran tplh_d0_cml_out2 trig v(d0) val='0.5*vdd' fall=1 targ v(cml_out2) val='0.5*vdd' rise=1 .meas tran tphl_d1_cml_out2 trig v(d1) val='0.5*vdd' rise=1 targ v(cml_out2) val='0.5*vdd' fall=3 .meas tran tplh_d1_cml_out2 trig v(d1) val='0.5*vdd' fall=1 targ v(cml_out2) val='0.5*vdd' rise=2 .meas tran tphl_s_cml_out2 trig v(s) val='0.5*vdd' rise=1 targ v(cml_out2) val='0.5*vdd' fall=2 .meas tran tplh_s_cml_out2 trig v(s) val='0.5*vdd' fall=1 targ v(cml_out2) val='0.5*vdd' rise=3 ***Transition Time .meas tran ttrlh_d0_cml_out1 trig v(cml_out1) val='0.3*vdd' rise=1 targ v(cml_out1) val='0.7*vdd' rise=1 .meas tran ttrhl_d0_cml_out1 trig v(cml_out1) val='0.7*vdd' fall=1 targ v(cml_out1) val='0.3*vdd' fall=1 .meas tran ttrlh_d1_cml_out1 trig v(cml_out1) val='0.3*vdd' rise=3 targ v(cml_out1) val='0.7*vdd' rise=3 .meas tran ttrhl_d1_cml_out1 trig v(cml_out1) val='0.7*vdd' fall=2 targ v(cml_out1) val='0.3*vdd' fall=2 .meas tran ttrlh_s_cml_out1 trig v(cml_out1) val='0.3*vdd' rise=2 targ v(cml_out1) val='0.7*vdd' rise=2 .meas tran ttrhl_s_cml_out1 trig v(cml_out1) val='0.7*vdd' fall=3 targ v(cml_out1) val='0.3*vdd' fall=3 .meas tran ttrhl_d0_cml_out2 trig v(cml_out2) val='0.7*vdd' fall=1 targ v(cml_out2) val='0.3*vdd' fall=1 .meas tran ttrlh_d0_cml_out2 trig v(cml_out2) val='0.3*vdd' rise=1 targ v(cml_out2) val='0.7*vdd' rise=1 .meas tran ttrhl_d1_cml_out2 trig v(cml_out2) val='0.7*vdd' fall=3 targ v(cml_out2) val='0.3*vdd' fall=3 .meas tran ttrlh_d1_cml_out2 trig v(cml_out2) val='0.3*vdd' rise=2 targ v(cml_out2) val='0.7*vdd' rise=2 .meas tran ttrhl_s_cml_out2 trig v(cml_out2) val='0.7*vdd' fall=2 targ v(cml_out2) val='0.3*vdd' fall=2 .meas tran ttrlh_s_cml_out2 trig v(cml_out2) val='0.3*vdd' rise=3 targ v(cml_out2) val='0.7*vdd' rise=3
.end
|
