OrCAD PSpice. Анализ электрических цепей - [134]
Рис. 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:\SPICE\HALF.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, и V>out в различные моменты времени. Как следует из рисунка, при t=0,8 мс получаем А=1, В=1, С=0, D=0 и V>out=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:\SPICE\MIX.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 для создания сигналов