Разработка цифрового автомата, имеющего два режима работы, страница 3

 Q1 Q0

   M Q2

00

01

11

10

00

0

1

*

*

J1

01

0

0

*

*

11

0

0

*

*

10

0

1

*

*

J1=|Q2*Q0

 Q1 Q0

   M Q2

00

01

11

10

00

*

*

0

0

K1

01

*

*

1

0

11

*

*

1

1

10

*

*

1

1

K1= M+Q2*Q0

 Q1 Q0

   M Q2

00

01

11

10

00

0

*

*

0

J0

01

1

*

*

1

11

1

*

*

1

10

1

*

*

0

   J0= Q2+M*|Q1

 Q1 Q0

   M Q2

00

01

11

10

00

*

1

0

*

K0

01

*

0

1

*

11

*

0

0

*

10

*

1

0

*

 K0= |Q2*|Q1+Q2*|M*Q1

Полученные выражения

J2=|M*Q1+|M*|Q0+|Q0*Q1

K2= M+Q1*|Q0+Q0*|Q1

J1=|Q2*Q0

K1= M+Q2*Q0

J0= Q2+M*|Q1

K0= |Q2*|Q1+Q2*|M*Q1


4. Реализация спроектированного автомата в пакете OrCAD 9.1

4.1. Реализация в режиме SPICE-проектов на зарубежных библиотечных элементах

 

 
 

Рис. 4 – Иерархический блок, схема замещения которого реализует спроектированный автомат

 

 

 

Рис. 5 – Результаты моделирования спроектированного автомата (рис. 4).

Параметры входных сигналов: для сигнала R: ширина активного (низкого) уровня – 80 ns; для сигнала C: частота сигнала – 8МГц, скважность – 50%, ширина высокого и низкого уровня сигнала – 62.5 ns

 

 
 

Рис. 6 – Задержка распространения сигнала от входа сброса R до выходов Q0, Q1, Q2 при переключении выходов из состояния X (или 1) в 0.

 
   
 

 
 

Рис. 9,а – Задержка распространения сигнала от входа C до переключения выхода Q0 из состояния 0  в 1

 
 

Замечание. Задержки распространения сигнала от входа С до всех выходов Q совпадают.

 

4.2. Реализация на абстрактных символах с VHDL-описанием

Таблица 4. Таблица используемых абстрактных символов

Название

элемента

Изображение

символа

Поведенческая модель (VHDL-описание)

2И-НЕ

LIBRARY ieee;

USE ieee.std_logic_1164.all;

ENTITY and2ne IS

GENERIC (TPLH : time := 11 ns ;   

              TPHL : time := 7 ns );

PORT(

I1 : IN  std_logic;

I2 : IN  std_logic;

O1 : OUT  std_logic);

END and2ne;

ARCHITECTURE model OF and2ne IS

BEGIN

      O1<='0' after TPLH when

      I1='1' and

      I2='1' else '1' after TPHL;                       

END model;       

3И-НЕ

LIBRARY ieee;

USE ieee.std_logic_1164.all;

ENTITY and3ne IS

GENERIC (TPLH : time := 11 ns ;   

              TPHL : time := 7 ns );

PORT(

I1 : IN  std_logic;

I2 : IN  std_logic;

I3 : IN  std_logic;

O1 : OUT  std_logic);

END and3ne;

ARCHITECTURE model OF and3ne IS

BEGIN

      O1<='0' after TPLH when

      I1='1' and

      I2='1' and

      I3='1' else '1' after TPHL;                       

END model;

НЕ

LIBRARY ieee;

USE ieee.std_logic_1164.all;

ENTITY inv IS

GENERIC (TPLH : time := 12 ns ;   

              TPHL : time := 8 ns );

PORT(

I1 : IN  std_logic;

O1 : OUT  std_logic);

END inv;

ARCHITECTURE model OF inv IS

BEGIN

O1<='0' after TPHL when I1='1' else '1' after TPLH;                       

END model;