Порядок выполнения работы




ЛАБОРАТОРНАЯ РАБОТА # 12 (4 часа)

 

ИССЛЕДОВАНИЕ РАЗНЫХ ЛОГИЧЕСКИХ ВЕНТИЛЕЙ (CML gates)

Цель работы

Исследование характеристик и параметров логических элементов CML И-НЕ и ИЛИ-НЕ с помощью программного средства схемотехнического моделирования HSpice и оценка значений последних вычислительными способами.

 

Лабораторные задания

 

2.1. (NAND02 gate) схема и входные файлы логических элементов CML И-НЕ.

 

2.1.1. Составить схему логического элемента И-НЕ с тремя входами, используя данные из таблицы 2 в размерах, приведенных в таблице 1 (Рис.1):

 

 

 

 

Рис. 7.1. Условный знак, электрическая схема и виды входного и выходного сигналов логического элемента

 

Таблица 7.1. Размеры транзисторов

Транзистор W L
мкм мкм
MP1   0.40
MP2   0.40
MN1   0.38
MNA1 1.9 0.38
MNA2   0.38
MNB1 1.2 0.38
MNB2 1.2 0.38

 

 

2.1.2. Получить описание схемы (nand02_cml.netl файл) и расположить его по следующему адресу:

 

/student_lab/digital_ic/variant_val/...

 

2.1.3. Необходимые входные файлы для моделирования.

 

Для входных файлов принять:

· Продолжительность входного фронта: 50 псек

· Значение выходной емкостной нагрузки: Cload=5 фФ

 

2.1.3.1. Необходимый входной файл для логического элемента CML И-НЕ, используемый для измерения задержек и времени переключения при статическом режиме с применением программного средства схемотехнического моделирования HSpice, следующий:

 

*CML NAND02 Gate

*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/nand02_cml.netl'

vvss vss gnd dc=0

vvdd vdd gnd dc='vdd'

***Input Signals

va ina 0 pulse (vdd 0 'tst+1.0*per' tr tr '0.5*per-tr' '2.0*per')

va2 inan 0 pulse (0 vdd 'tst+1.0*per' tr tr '0.5*per-tr' '2.0*per')

vb inb 0 pulse (vdd 0 'tst+2.0*per' tr tr '0.5*per-tr' '2.0*per')

vb2 inbn 0 pulse (0 vdd 'tst+2.0*per' tr tr '0.5*per-tr' '2.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_ina_cml_out1 trig v(ina) val='0.5*vdd' fall=1 targ v(cml_out1) val='0.5*vdd' rise=1

.meas tran tphl_ina_cml_out1 trig v(ina) val='0.5*vdd' rise=1 targ v(cml_out1) val='0.5*vdd' fall=1

.meas tran tplh_inb_cml_out1 trig v(inb) val='0.5*vdd' fall=1 targ v(cml_out1) val='0.5*vdd' rise=2

.meas tran tphl_inb_cml_out1 trig v(inb) val='0.5*vdd' rise=1 targ v(cml_out1) val='0.5*vdd' fall=2

.meas tran tplh_ina_cml_out2 trig v(ina) val='0.5*vdd' rise=1 targ v(cml_out2) val='0.5*vdd' rise=1

.meas tran tphl_ina_cml_out2 trig v(ina) val='0.5*vdd' fall=1 targ v(cml_out2) val='0.5*vdd' fall=1

.meas tran tplh_inb_cml_out2 trig v(inb) val='0.5*vdd' rise=1 targ v(cml_out2) val='0.5*vdd' rise=2

.meas tran tphl_inb_cml_out2 trig v(inb) val='0.5*vdd' fall=1 targ v(cml_out2) val='0.5*vdd' fall=2

***Transition Time

.meas tran ttlh_ina_cml_out1 trig v(cml_out1) val='0.3*vdd' rise=1 targ v(cml_out1) val='0.7*vdd' rise=1

.meas tran tthl_ina_cml_out1 trig v(cml_out1) val='0.7*vdd' fall=1 targ v(cml_out1) val='0.3*vdd' fall=1

.meas tran ttlh_inb_cml_out1 trig v(cml_out1) val='0.3*vdd' rise=2 targ v(cml_out1) val='0.7*vdd' rise=2

.meas tran tthl_inb_cml_out1 trig v(cml_out1) val='0.7*vdd' fall=2 targ v(cml_out1) val='0.3*vdd' fall=2

.meas tran ttlh_ina_cml_out2 trig v(cml_out2) val='0.3*vdd' rise=1 targ v(cml_out2) val='0.7*vdd' rise=1

.meas tran tthl_ina_cml_out2 trig v(cml_out2) val='0.7*vdd' fall=1 targ v(cml_out2) val='0.3*vdd' fall=1

.meas tran ttlh_inb_cml_out2 trig v(cml_out2) val='0.3*vdd' rise=2 targ v(cml_out2) val='0.7*vdd' rise=2

.meas tran tthl_inb_cml_out2 trig v(cml_out2) val='0.7*vdd' fall=2 targ v(cml_out2) val='0.3*vdd' fall=2

.end

 

 

2.2. (CML MUX21) схема и входные файлы мультиплексора 2-1.

 

2.2.1. Составить схему CML мультиплексора 2-1 с тремя входами, используя данные из таблицы 3 в размерах, приведенных в таблице 2. (Рис.2):

 

 

 

Рис. 7.2. Условный знак, электрическая схема и виды входного и выходного сигналов CML мультиплексора 2-1

 

Таблица 7.2. Размеры транзисторов

Транзистор W L
мкм мкм
MP1   0.40
MP2   0.40
MN1   0.38
MND0 1.5 0.38
MND0N 1.5 0.38
MND1 1.5 0.38
MND1N 1.5 0.38
MNS 2.0 0.38
MNSN 2.0 0.38

 

 

2.2.2. Получить описание схемы (nor02_cml.netl файл) и расположить его по следующему адресу:

 

/student_lab/digital_ic/variant_val/...

 

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  

 

 

Порядок выполнения работы

3.1. Исследование параметров и характеристик логического элемента CML И-НЕ с двумя входами с помощью моделирования.

 

3.1.1. При переходном режиме -

а) Получить виды входного и выходного сигналов, при:

1. LOAD_val = 0

2. LOAD_val = CLoad

б) Измерить задержки tPHL и tPLH и определить их среднее значение (tP=tPHL+tPLH/2) (Таблица 9, пункт 3,4), при:

1. LOAD_val = 0

2. LOAD_val = CLoad

 

в) Измерить времена передачи tTHL, tTLH, и определить их средние значения (tT=tTHL+ tTLH /2) (Таблица 9, пункт 1,2), при:

1. LOAD_val = 0

2. LOAD_val = CLoad

 

 

3.2. Исследование параметров и характеристик CML мультиплексора 2-1 с помощью моделирования.

 

3.2.1. При переходном режиме -

а) Получить виды входного и выходного сигналов, при:

1. LOAD_val = 0

2. LOAD_val = CLoad

б) Измерить задержки tPHL и tPLH и определить их среднее значение (tP=tPHL+tPLH/2) (Таблица 9, пункт 3,4), при:

1. LOAD_val = 0

2. LOAD_val = CLoad

в) Измерить времена передачи tTHL, tTLH, и определить их средние значения (tT=tTHL+ tTLH /2) (Таблица 9, пункт 1,2), при:

1. LOAD_val = 0

2. LOAD_val = CLoad

 

 

3.2.2. При переходном режиме –

а) Получить виды входного и выходного сигналов.

б) Измерить задержки tpHL, tpLH и их среднее значение (tP=tPHL+ tPLH /2) (Таблица 9, пункт 3,4).

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-04-27 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: