Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lab12_DIC.doc
Скачиваний:
2
Добавлен:
01.05.2025
Размер:
4 Мб
Скачать
☆

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]