Программа работы

1. Выполните структурный синтез генератора кода:

· Составьте по индивидуальному заданию таблицу переходов и выходов.

· Осуществите кодирование внутренних состояний автомата и составьте таблицу возбуждения памяти автомата для JK триггеров.

· Осуществите совместную минимизацию логических функций возбуждения триггеров с помощью карт Карно, выберите один из минимальных вариантов и запишите полученные логические функции в базисе Шеффера с ограничениями (элементы 2И-НЕ; 3И-НЕ; 4И-НЕ).

· Осуществите минимизацию логических функций выхода и также запишите их в базисе Шеффера.

· Составьте принципиальную схему генератора кода.

2. Выполните исследование синтезированного автомата при реализации на СБИС ПЛ EP2C8F256C-8.

· В пакете Quartus II введите схему генератора кода.

· Определите системное окружение из состава стенда DiLab, необходимое для исследования генератора кода на физической модели. Выполните назначение выводов СБИС ПЛ.

· Выполните компиляцию. Определите аппаратурные затраты и быстродействие. Откройте RTL Viewer и сравните синтезированную и введенную схемы.

· Составьте полный тест. Используя симулятор Quartus II, проверьте таблицу переходов и выходов для всех переходов, указанных в задании, и переходов, дополненных при синтезе. При выявлении ошибок в работе, осуществите его настройку. По результатам эксперимента заполните экспериментальные таблицы переходов и выходов.

· Выполните программирование СБИС ПЛ и проверьте работоспособность на макете. По результатам эксперимента заполните экспериментальные таблицы переходов и выходов.

3. Выполните исследование заданного генератора кода при его синтезе как конечного автомата средствами пакета Quartus II.

· Создайте новый проект. Введите КА средствами State Machine Editor. Выполните генерацию VHDL файла для автомата и ознакомьтесь с полученным файлом. Выполните синтез на целевой СБИС ПЛ. Выполните анализ аппаратурных затрат и быстродействия.

· Откройте State Machine Viewer и ознакомьтесь с реализацией синтезированного автомата в State Machine Viewer. Определите используемый способ кодирования состояний автомата.

· Откройте RTL Viewer и сравните синтезированную схему и схему реализации по п.3.

· Проведите моделирование работы генератора кода по тесту, составленному для п.2. При выборе с помощью Node Finder переменных для моделирования, кроме входных и выходных сигналов, выберите КА, установив Filter в положение Design Entry (All Names). На временной диаграмме КА будет отображаться его состояниями. Кроме того, выведите на временную диаграмму состояния триггеров памяти конечного автомата.

· Сравните результаты моделирования с результатами, полученными в п.2, используя возможности редактора временных диаграмм.

4. По заданию преподавателя измените способ кодирования состояний автомата. Выполните компиляцию. Определите аппаратурные затраты и быстродействие. Сравните результаты моделирования с временными диаграммами п.2 и п.3.

5. Реализуйте генератор кода с синхронными выходами.

6. Оформите отчет по проделанной работе.

Контрольные вопросы

1. Как определить требуемое число триггеров в генераторе кодов?

2. Каким требованиям должна удовлетворять последовательность кодов для эффективной реализации рассмотренными генераторами?

3. Появляются ли ложные коды на выходе Вашего распределителя при переключениях триггеров?

4. Как организовать управляемый генератор последовательности кодов (управляющий сигнал изменяет порядок следования кодов)?

5. Как целесообразно синтезировать генератор, у которого длина формируемой кодовой последовательности меньше или равна 2n-1, где n - число выходов генератора?

6. Объясните по таблице переходов, как изменится функционирование Вашего КА, если при его синтезе использовать триггеры, синхронизируемые уровнем.

7. Как задать начальное состояние работы генератора чисел после установки сигнала nCLR?

8. Как задать начальное состояние работы генератора чисел после включения питания?


Варианты заданий по синтезу генераторов кодов

Номер задания Последовательность формируемых чисел Числа, на которых Y=1
Пример 4-1-2-6-7-5-0-3 5,6,7
  3-2-7-6-1-4-5 1,3,7
  1-3-5-2-7-6-0-4 0,1,2
  7-2-5-3-4-1-6-0 2,3,4
  1-6-5-2-4-3-0 5,6
  5-3-0-7-6-4-1-2 1,2,7
  1-4-2-0-5-7-6-3 0,5,7
  0-6-7-3-5-4-2-1 3,4,5
  5-4-6-7-3-0-2 2,6,7
  2-7-4-6-1-3-5-0 1,3,5
  7-6-2-3-0-1-5-4 6,7
  6-5-2-4-3-0-1 2,5,6
  6-0-5-3-1-2-7-4 2,5,7
  0-5-1-6-2-7-3-4 0,1,6
  3-0-2-5-4-7-1 2,4,5
  2-5-6-1-0-7-4-3 3,6,7
  1-5-2-7-3-6-4-0 2,4,7
  4-6-5-3-0-1-7 0,1,4
  6-3-1-5-4-0-2-7 1,2,7
  3-5-2-7-0-6-4-1 2,3,6
  1-7-3-6-5-2-4-0 3,6,7
  5-4-0-7-2-6-3 4,5,7
  7-3-0-2-5-4-1-6 0,3,6
  4-2-1-5-6-0-7-3 1,2,5
  0-1-6-5-3-4-7-2 0,1,7
  3-4-0-1-7-6-2-5 3,4,5

Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: