Дж. Кеоун - OrCAD PSpice. Анализ электрических цепей
Рис. 17.36. Редактор Stimulus, показывает входные сигналы Clock1 и Clock2
Подготовьте моделирование на PSpice с именем Half1. Выполните анализ переходных процессов на интервале в 2 мс с максимальным размером шага в 2 мкс. Проведите анализ и получите в Probe графики сигналов А, В, Sum, Carry (рис. 17.37). Если использовать курсор, то уровни этих сигналов будут показаны как единицы или нули. Как показано на рисунке, при t=1,4 мс получаются значения: А=1, В=1, Sum=0 и Carry=1. Часть выходного файла показана на рис. 17.38. При таком формировании входных сигналов не возникает необходимости в создании интерфейсов перехода от аналоговых к цифровым сигналам и обратно, так как используются только цифровые сигналы. В перечне элементов через U обозначаются компоненты с цифровым выходом, а через X — подсхемы.
Рис. 17.37. Входные и выходные сигналы для полусумматора
**** 10/18/99 21:28:59 *********** Evaluation PSpice (Nov 1998) **************
** circuit file for profile: Half1
*Libraries:
* Local Libraries :
.STMLIB ".HALF.stl"
* From [PSPICE NETLIST] section of pspiceev.ini file:
.lib "nom.lib"
* Analysis directives:
.TRAN 0 2ms 0 2us
.PROBE
*Netlist File:
.INC "half-SCHEMATIC1.net"
*Alias File:
**** INCLUDING half-SCHEMATIC1.net ****
* source HALF
U_DSTM2 STIM(1,0) $G_DPWR $G_DGND В IO_STM STIMULUS=Clock2
U_DSTM1 STIM(1,0) $G_DPWR $G_DGND A IO_STM STIMULUS=Clock1
X_U2A А В SUM $G_DPWR $G_DGND 7486 PARAMS:
+ IO_LEVEL=0 MNTYMXDLY=0
X_U1A А В CARRY $G_DPWR $G_DGND 7408 PARAMS:
+ IO_LEVEL=0 MNTYMXDLY=0
**** RESUMING half-schematic1-half1.sim.cir ****
.INC "half-SCHEMATIC1.als"
**** INCLUDING half-SCHEMATIC1.als ****
**** RESUMING half-schematicl-half1.sim.cir ****
.END
* E:SPICEHALF.stl written on Mon Sep 06 17:58:50 1999
* by Stimulus Editor — Evaluation Version 9.0 ;!Stimulus Get
;! Clock1 Digital Clock2 Digital
;!Ok
;!Plot Axis_Settings
;!Xrange 0s 4ms
;!AutoUniverse
;!XminRes 1ns
;!YminRes 1n
;!Ok
.STIMULUS Clock1 STIM (1, 1) ;! CLOCK 1kHz 0.5 1 0
+ +0s 1
+ +500us 0
+ Repeat Forever
+ +500us 1
+ +500us 0
+ EndRepeat
.STIMULUS Clock2 STIM (1, 1) ;! CLOCK 2kHz 0.5 0 0
+ +0s 0
+ +250us 1
+ Repeat Forever
+ +250us 0
+ +250us 1
+ EndRepeat
.STIMULUS Clock2 STIM (1, 1) ;! CLOCK 2kHz 0.5 0 0
+ +0s 0
+ +250us 1
+ Repeat Forever
+ +250us 0
+ +250us 1
+ EndRepeat
Рис. 17.38. Выходной файл для полусумматора
Схема для упрощения с использованием булевых функций
Цифровая схема, показанная на рис. 17.39, состоит из двух источников сигнала, одного элемента И-НЕ, и двух элементов ИЛИ-НЕ. Начните новый проект с именем mix и разместите компоненты, как показано на рисунке. В качестве учебного упражнения найдите таблицу истинности для схемы, затем на бумаге составьте булевые функции для схемы и упростите ее.
Рис. 17.39. Схема для упрощения с использованием булевых функций
Источники сигналов для нашего проекта должны быть такими же, как в предыдущем примере, в котором использовались компоненты DigStiml из библиотеки sourcstm. Один из таймеров (DSTIM1) имеет частоту f=1 кГц, а другой (DSTM2) — f=2 кГц. Оба таймера в начале моделирования обнулены. Используйте Place, Net Alias, чтобы маркировать узлы А, В, С, D и Vout. Подготовьте моделирование с именем mix1. Вызовите анализ переходных процессов на интервале в 2 мс с максимальным шагом в 2 мкс.
Проведите моделирование и получите в Probe все сигналы, как показано на рис. 17.40. Воспользуйтесь курсором, чтобы найти сигналы на выходах С, D, и Vout в различные моменты времени. Как следует из рисунка, при t=0,8 мс получаем А=1, В=1, С=0, D=0 и Vout=1. Убедитесь в соответствии этих результатов вашим таблицам истинности для каждой логической схемы. На рис. 17.41 показана часть выходного файла.
Рис. 17.40. Входные и выходные сигналы в схеме для упрощения
**** 09/06/99 20:30:17 *********** Evaluation PSpice (Nov 1998) **************
** circuit file for profile: Mix1
*Libraries:
* Local Libraries :
.STMLIB ".MIX.stl"
* From [PSPICE NETLIST] section of pspiceev.ini file:
.lib nom.lib
*Analysis directives:
.TRAN 0 2ms 0 2us
.PROBE
*Netlist File:
.INC "mix-SCHEMATIC1.net"
*Alias File:
**** INCLUDING mix-SCHEMATIC1.net ****
* source MIX
U_DSTM2 STIM(1,0) $G_DPWR $G_DGND В IO_STM STIMULUS=Clock2
U_DSTM1 STIM(1,0) $G_DPWR $G_DGND A IO_STM STIMULUS=Clock1
X_U3A С D VOUT $G_DPWR$G_DGND 7402 PARAMS:
+ IO_LEVEL=0 MNTYMXDLY=0
X_U2A А В D $G DPWR $G_DGND 7400 PARAMS:
+ IO_LEVEL=0 MNTYMXDLY=0
X_U1A ABC $G_DPWR $G_DGND 7402 PARAMS:
+ IO_LEVEL=0 MNTYMXDLY=0
**** RESUMING mix-SCHEMATIC1-Mix1.sim.cir ****
.INC "mix-SСHEMATIC1.als"
**** INCLUDING mix-SCHEMATICl.als ****
.ALIASES
.END
* E:SPICEMIX.stl written on Mon Sep 06 20:26:10 1999
* by Stimulus Editor — Evaluation Version 9.0
;!Stimulus Get
;! Clock1 Digital Clock2 Digital
;!Ok
;!Plot Axis_Settings
;!Xrange 0s 4ms
;!AutoUniverse
;!XminRes 1ns
;!YminRes 1n
;!Ok
.STIMULUS Clock1 STIM (1, 1)
;! CLOCK 1kHz 0.5 0 0
+ +0s 0
+ +500us 1
+ Repeat Forever
+ +500us 0
+ +500us 1
+ EndRepeat
.STIMULUS Clock2 STIM (1, 1)
;! CLOCK 2kHz 0.5 0 0
+ +0s 0
+ +250us 1
+ Repeat Forever
+ +250us 0
+ +250us 1
+ EndRepeat
.STIMULUS Clock2 STIM(1, 1)
;! CLOCK 2kHz 0.5 0 0
+ +0s 0
+ +250us 1
+ Repeat Forever
+ +250us 0
+ +250us 1
+ EndRepeat
Рис. 17.41. Выходной файл схемы для упрощения
D-триггер
Чтобы показать работу D-триггера, начните новый проект с именем dflip. Введите схему, показанную на рис. 17.42, применив в качестве D-триггера компонент 7474 из библиотеки eval. Это — запускаемый положительным фронтом D-триггер с предварительной установкой и сбросом. Используйте компонент DigStim1 из библиотеки sourcstm для создания сигналов PS, D и CL и компонент DigClock из библиотеки исходных модулей для таймера. Установите для сигнала PS параметры: частота f=1 кГц, коэффициент заполнения 0,5, начальное значение 1 и запаздывание 0. Соответствующие значения для сигнала D будут: 1 кГц; 0,5, 1 и 0,75 мс, а для CL они равны 0,8 кГц; 0,5, 0 и 0 мс соответственно. Формы сигналов для цифровых таймеров показаны на рис. 17.43. Параметры настройки DigClock: задержка 0, время включенного состояния 0,4 мс, время выключенного состояния 0,6 мс, начальное значение 0.
Рис. 17.42. Схема для исследования D-триггера
Рис. 17.43. Временные диаграммы для различных источников сигналов в Stimulus Editor
Подготовьте анализ переходных процессов с именем Dflip1 на временном интервале в 2 мс с максимальным шагом в 2 мкс. Проведите моделирование и получите в Probe графики всех возможных сигналов. Сравните ваши результаты с показанными на рис. 17.44. Проверьте результаты, основываясь на ваших знаниях о работе триггера. Почему присутствуют временные периоды, когда сигналы Q и Qbar не являются дополнительными? На рис. 17.45 показана часть выходного файла, где вы можете видеть временные параметры для различных источников сигналов.
Рис. 17.44. Временные диаграммы сигналов в схеме на рис. 17.42
**** 09/06/99 21:05:11 *********** Evaluation PSpice (Nov 1998) **************
** circuit file for profile: Dflip1
*Libraries:
* Local Libraries :
.STMLIB ".DFLIP.stl"
* From [PSPICE NETLIST] section of pspiceev.ini file:
.lib nom.lib
*Analysis directives:
.TRAN 0 2ms 0 2us
.PROBE
*Netlist File:
.INC "dflip-SCHEMATIC1.net"
*Alias File:
**** INCLUDING dflip-SCHEMATIC1.net ****
* source DFLIP
U_DSTM3 STIM(1,0) $G_DPWR $G_DGND N00046 IO_STM STIMULUS_CL
U_DSTM2 STIM(1,0) $G_DPWR $G_DGND N00022 IO_STM STIMULUS=D
U_DSTM1 STIM(1,0) $G_DPWR $G_DGND N00015 IO_STM STIMULUS=PS
X_U1A N00046 N00022 N00034 N00015 M_UN0001 M_UN0002 $G_DPWR $G_DGND
+ 7474 PARAMS:
+ IO_LEVEL=0 MNTYMXDLY=0
U_DSTM4 STIM(1,1) $G_DPWR $G_DGND N00034 IO_STM IO_LEVEL=0
+ 0 0
+ +0 1
+ REPEAT FOREVER
+ +0.4ms 0
+ +0.6ms 1
+ ENDREPEAT