Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Отчёт1.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.71 Mб
Скачать

Проектирование цифровых устройств в системе QuartusIi №5

Цель: самостоятельно пройти процесс проектирования от постановки задачи, до реализации работающего устройства.

Задача: спроектировать цифровое устройство выполняющее, формирование псевдослучайных последовательностей (генератор случайных чисел).

Описание:

Разрабатываемое устройство позволяет переходить в один момент времени в состояние (формировать уникальный двоичный код).

Алгоритм работы:

- установлено некое начальное число (обратная связь);

-при нажатии кнопк «PB_A»cтактового генератора поступает серия синхроимпульсов на вход сдвиговых регистров.

- случайным образом выбранные выходы с регистров объединены логическими элементами «mod2», выход с элементов заведен на последовательный вход сдвигового регистра.

На рисунке 5.1 представлена схема, реализующая формирование псевдослучайных последовательностей.

Р исунок 5.1– Схема формирования псевдослучайных последовательностей.

Алгоритм работы

В САПР QuartusII создать новый проект .

В таблице 5.1 приведены параметры мастера

Таблица 5.1–Параметры мастера

Параметр мастера

Наименование

What is the working directory for this project?

Рабочая папка ( с помощью браузера найти рабочую папку проекта)

…\ crypto

What is the name of this project?

Имя проекта

crypto

What is the name of the top-level design entity for this project?

Имя модуля верхнего уровня в иерархии проекта.

crypto

ВокнеFamily & Device Setting выбрать:

-в разделе FamilyзадатьCycloneIII;

- тип корпусав графе Packageзадать – TQFP;

-в графе Pincountзадать - 144,

- в разделе Availabledevicesвыбрать СБИС EP3C5E144C8

По окончанию создания проекта, создать новый файл BlockDiagram/SchematicFile. Сохранить файл под тем же именем что и проект.

Вызвать мастер MegaWizard Plug-inManager, через меню Tools – MegaWizardPlug-inManager.

Вокне 1 выбрать «Create a new custom megafunction variatrion»

В окне 2 перейти в раздел Arithmetic, выбрать пункт LPM_COUNTER, задать имя выходного файла, count, в качестве языка описания выбрать VHDL, нажать кнопку Next

Параметры, которые необходимо задать:

- ширина шины q = 20бит;

- счетчик суммирующий «uponly»

По окончании нажать Next

В появившемся окне «OptionalInputs» осуществляется назначение синхронных/ асинхронных входов загрузки, сброса, установки в максимальное значение. Все эти опции оставить пустыми. Нажать Nextдважды.

Нажать Finish. В рабочей библиотеке появился компонент count.

На рисунке 5.2 представлен синтезированный компонент.

Рисунок 5.2– Синтезированный компонент

Далее необходимо создать 8 –разрядный последовательно – параллельный сдвиговый регистр, с входом синхронизации и разрешением работы .

Библиотечный элемент расположен в StorageInstalledPlug-In. В таблице 5.2 приведены значения параметров регистра, которые необходимо выставить. Данный элемент следует создать по аналогии с предыдущим.

Таблица 5.2 – Значения параметров регистра

Параметр мастера

Наименование

Which direction do you want the register to shift?

Определить направление сдвига

Right (сдвиг вправо)

How wide should the ‘q’output bus be

Ширина шины данных выхода, бит

8

Which outputs do you want?

Какой тип шины выхода данных.

Dataoutput (параллельный выход)

Do you want any optional inputs?

Какие дополнительные входы выбрать?

ClockEnableinput (вход управления - синхронизация)

Serialshiftdatainput

Последовательный вход данных

На рисунке 5.3 представлен компонент сдвигового регистра.

Рисунок 5.3– Синтезированный компонент

Далее не обходимо синтезировать схему и осуществить проверку синтаксиса схемы. Для этого в меню Processing выполнить командуStart=>Start Analysis & Elaboration.

Перейти в инструмент Assignments- PinPlanner и выполнить назначение выводов на СБИС (ПЛИС) выводам схемы, как показано на рисунке 5.4.

Рисунок 5.4– Назначение выводов на СБИС

С помощью команды Processing =>StartCompilationосуществить полную компиляцию проекта.

Конфигурирование платы:

На плате miniDiLaB-CIII установить джамперы следующим образом:

a. Соединить выводы разъема “TYPE”

b. Соединить выводы 1-2 разъема “MODE”

Выполнить команду Tools=>Programmer или кликнуть по значку главного меню.

Откроется окно управления конфигурированием СБИС.

Для установки интегрированного на плату miniDiLaB-CIII средства конфигурирования СБИС нажать кнопку HardwareSetup, откроется окно настроек в нем выбрать USB- Blaster.

Светодиоды led[4..1], будут загораться в некотором порядке при нажатии на кнопку PBA.При опускании кнопки РВА светодиоды будут гореть, что соответствует некоторому псевдослучайному числу. При повторном нажатии на кнопку PBA, состояние светодиодов изменится.

Вывод

В результате выполнения задания спроектировано цифровое устройство, выполняющее формирование псевдослучайных последовательностей.

Проведен синтез элемента на языке VHDL, синтезированы компоненты, как представлено на рисунках 6.4, 6.5 на плате DiLaB – III (CycloneIII); проведена отладка и проверка работоспособности схемы. Получены сведения о законах формирования случайных чисел и их использовании.

Генератор случайных чисел встречается в нашей жизни повсеместно. По принципу генерирования случайных чисел работают игровые автоматы. При скачивании файлов с Интернета также сталкиваемся с этим принципом, вводя случайный код для проверки. В социальных сетях, электронной почте также генерируются случайные пароли. Область применений случайных чисел огромна, их используют при создании видео игр, при написании программ и тд.

Закон формирования псевдослучайной последовательности для данной схемы:

Y=((R1[Q4] XOR R1[Q8]) XOR R2[Q2]) XOR R1[Q5]

Заключение

Было обработано множество источников справочных данных, пополнились знания о реальных микросхемах и их использовании. Улучшены знания языка VHDL, были самостоятельно синтезированы несколько схем, в последствии реализованы в системе QuartusII и отлажены на платах Di- LabIICycloneIII.

Список используемой литературы

1. Шило В.Л. «Справочник - Популярные цифровые микросхемы.».

2. Поляков А.К. «Языки VHDL и VERILOG в проектировании аппаратуры».