Проектирование счетчика с двумя режимами работы: М=0 – счетчик по модулю 12, M=1 – счетчик по модулю 9, страница 2

Рис. 2


3.Синтез цифрового автомата  с комбинационной частью на логических элементах.

Для построения автомата составим список переходов (состояний) и, затем, осуществим синтез схемы на синхронных D-триггерах. Очевидно, что если в последующем такте состояние триггера i-го разряда Qi = 1, то функция возбуждения его D-входа в текущем такте равна 1, и равна 0, если Qi = 0. На основе таблицы 2 составим карты Карно для определения сигналов возбуждения, подаваемых на входы триггеров.

  • На вход D0:

Q2Q1Q0

000

001

011

010

110

111

101

100

MQ3

00

1

1

1

1

01

1

1

11

10

1

1

1

1

  • На вход D1:

Q2Q1Q0

000

001

011

010

110

111

101

100

MQ3

00

1

1

01

1

1

11

10

 1

1

1

 1

  • На вход D2:

Q2Q1Q0

000

001

011

010

110

111

101

100

MQ3

00

 1

1

1

01

11

10

 1

1

 1

1

  • На вход D3:

Q2Q1Q0

000

001

011

010

110

111

101

100

MQ3

00

 1 

01

 1

 1

1

11

10

 1

4. Реализация спроектированного автомата в виде иерархического символа со схемой замещения на зарубежных библиотечных компонентах. Верификация схемы.

Построим по полученным функциям возбуждения схему цифрового автомата со схемой замещения на зарубежных библиотечных компонентах.

Иерархический символ представлен на рисунке 3.

Схема замещения представлена на рисунке 4.

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


Рис.3

Рис.4

Рис.5

5. Проектирование поведенческой DSL-модели цифрового автомата.

При разработке поведенческой DSL-модели был использован оператор TRUTH_TABLE.

Ниже приведен текст модели на языке DSL.

PROCEDURE COUNTDSL (

            INPUT M, C, R ;

            OUTPUT Q3, Q2, Q1, Q0 ;

);

NODE Y[4] CLOCKED_BY C RESET_BY /R;

IF M = 0 THEN

           TRUTH_TABLE

  Y[3],Y[2],Y[1],Y[0]  :: Y[3],Y[2],Y[1],Y[0];

  "--------------------------------

    0,0,0,0 :: 0,0,0,1;

    0,0,0,1 :: 0,0,1,0;

    0,0,1,0 :: 0,0,1,1;

    0,0,1,1 :: 0,1,0,0;

    0,1,0,0 :: 0,1,0,1;