Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Основы вычислительной техники. Методические рекомендации по курсовой работе. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
12.08.2026
Размер:
1 Мб
Скачать

Рис. 1.2. Третий шаг создания нового проекта – выбор ПЛИС

Рис. 1.3. Сводка информации при создании нового проекта

11

6.Следующий этап, где добавляются логические файлы к проекту, пропустите, нажав кнопку Next в окне Add Files.

7.В окне Family, Device & Board Settings (рис. 1.2) укажите се-

мейство ПЛИС Cyclone IV E для реализации проекта. Выберите настройку Auto device selected by the Fitter. Нажмите кнопку Next.

8.Пропустите следующий этап, нажав кнопку Next в окне EDA

Tool Settings.

9. В окне Summary (рис. 1.3) указаны заданные для создаваемогопроектаустановки.Проверьтеих.Есливсеправильно,нажмите кнопку Finish. В противном случае вернитесь назад, нажав (возможно, несколько раз) кнопку Back.

1.2. Создание проектного логического файла на основе предварительно разработанной схемы

1.Выполнитекоманду:менюFileNew….Впоявившемсяокне

вразделе Design Files выберите Block Diagram/Schematic File – тип файладлясхемноговвода.НажмитекнопкуОК.Появитсярабочее поле графического редактора для ввода схемы.

2.Сохраните созданный файл, выполнив команду меню File

Save As…, задав имя bit_add и нажав кнопку Сохранить. По умолчанию файл сохраняется в папку проекта.

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

3.Выполните графический ввод разработанной схемы. Для добавления элементов на схему воспользуйтесь интерфейсом ввода символов, который можно вызвать, дважды щелкнув левой кнопкой мыши в рабочем поле графического редактора, чтобы появилось окно ввода символов Symbol (рис. 1.4). В поле Name введите названия искомых элементов (input, output, nand2). Переименуйте добавленные элементы ввода/вывода таким образом, чтобы они соответствовали переменным логических функций и именам этих логических функций. Дополните схему всеми требуемыми соединениями.

12

Рис. 1.4. Окно выбора элементов схемы Symbol

Рис. 1.5. Вид вкладки Иерархии

вНавигаторе проекта

4.Сохраните введенную схему, выбрав команду File Saveили нажав кнопку Save на горизонтальной панели инструментов окна главного менеджера пакета.

5.Установите созданный файл файлом верхнего уровня проекта. Для этого выполните команду Project Set as Top Level Entity. Измененияиерархиипроектаотразятсявсоответствующемразделе навигатора проекта (рис. 1.5).

6.Для проверки правильности введенной схемы (корректности использования символов и выполненных соединений) запустите процедуру анализа и синтеза, выполнив команду Processing

Start Start Analysis & Synthesis.

7.При успешном завершении процедуры анализа и синтеза проекта в строке состояния главного окна отобразится прогресс компиляции: 100 %. В противном случае, если компилятор

13

обнаружит ошибки в схеме, следует исправить их и повторить анализ и синтез. Информация об ошибках расположена в поле Mes- sages в нижней части окна главного менеджера пакета.

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

Внесите снимок экрана с разработанной схемой в пояснительную записку.

1.3.Задание тестовых воздействий

1.Создайтефайлстестовымивоздействиямидляанализафункциональности реализованного устройства. Для этого в меню File выберите команду New. В окне New выберите закладку Verification/ DebuggingFiles.УкажитеUniversityProgramVWF(рис.1.6)инажми-

те кнопку . Появится окно редактора временных диаграмм.

Рис. 1.6. Создание файла временных диаграмм

14

Рис. 1.7. Добавление цепей и шин на временную диаграмму

Рис. 1.8. Пример входных воздействий для моделирования работы устройства

2. В меню Edit выберите Insert Insert Node or Bus… или дваж-

ды щелкните левой кнопкой в свободном поле Name окна редактора. В появившемся окне (рис. 1.7) нажмите кнопку Node Finder.

15

3.В окне Node Finder в поле Filter установите Pins: all. Нажмите кнопку List. В поле Nodes Found появятся все найденные в проекте

сигналы типа ввод/вывод. Нажмите кнопку , чтобы скопировать все сигналы в раздел Selected Nodes.

4.Нажмите кнопку OK. В следующем окне также нажмите кнопку OK.

5.Введите входные тестовые воздействия (временную диаграмму), которые позволят проверить работу логических функций на всех возможных входных наборах (рис. 1.8). Выделяйте сигналы натребуемыхвременныхинтервалах и редактируйтеих,используя вертикальную панель инструментов или меню окна Edit редактора временных диаграмм.

6.Сохраните файл с введенным тестом под именем bit_add.vwf (команда File Save As…). В появившемся окне введите имя фай-

ла bit_add.vwf.

1.4.Запуск моделирования работы устройства

1.Обновите настройки моделирования. Зайдите в окно настро-

ек через меню Simulation Simulation Settings и нажмите кнопку Restore Defaults, затем Save.

2.Выполните команду Run Functional Simulation из меню Simu-

lation.

3.Проанализируйте результаты моделирования, показанные

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

4.Завершите моделирование, закрыв окна с временными диаграммами.

Впояснительную записку включите снимок экрана с полученной временной диаграммой и таблицу с результатами выполненного сравнения.

16

2.ИССЛЕДОВАНИЕ СУММАТОРА ЧИСЕЛ БЕЗ ЗНАКА

ВФОРМАТЕ С ФИКСИРОВАННОЙ ЗАПЯТОЙ

Программы исследования сумматора включают в себя следующие этапы:

созданиемоделиисследуемогосумматора,приэтомсредствами Quartus создается схема, которая при отсутствии ошибок ввода после выполненной компиляции будет определять функциональность сумматора;

создание теста для проверки функциональности сумматора, эта задача решается разработкой и последующей реализацией соответствующего плана тестирования (эксперимента); совпадение результатов тестирования с ожидаемыми результатами будет свидетельствовать о корректности работы исследуемого устройства

иправильности теоретических представлений о нем;

реализация и тестирование на базе сумматора устройств для сравнения чисел.

2.1. Создание модели многоразрядного комбинационного двоичного сумматора

1.Продолжайте работу в ранее созданном проекте adder_mod. Откройте файл bit_add со схемой полного одноразрядного комбинационного сумматора, выбрав соответствующую вкладку в основной части окна главного менеджера пакета, через навигатор проекта или через меню File Open.

2.Создайте символ для реализованного Вами полного одноразрядного комбинационного сумматора. Выполните команду File

Create/Update Create Symbol Files for Current File. Оставьте предложенное по умолчанию имя. Нажмите ОК.

3.Создайте новый файл для схемного ввода с именем comb_ad- der. Установите его файлом верхнего уровня проекта.

17

Рис. 2.1. Схема восьмиразрядного двоичного сумматора

4.Добавьте на схему ранее созданный символ полного одноразрядного сумматора. Дважды щелкните в поле ввода схемы, чтобы вызвать окно выбора элементов схемы Symbol, и введите bit_add в поле Name. Соответствующий библиотечный элемент будет найден в библиотеке элементов проекта Project.

5.Создайте схему каскадного включения одноразрядных сумматоров для получения восьмиразрядного сумматора, как показано на рис. 2.1.

6.Запустите процедуру анализа и синтеза. Добейтесь компиляции проекта без ошибок.

2.2. Моделирование работы многоразрядного комбинационного сумматора

Далеерассмотренпримертестированиясумматорамодулейчисел. Ознакомьтесь с методикой тестирования на этом примере по описанной далее программе, затем завершите исследование, реализовав собственный план тестирования.

Для простого устройства, которым является многоразрядный сумматор, самый полный тест может включать все возможные комбинации входных воздействий: суммирование всех пар двоичных значений a[] и b[] при отсутствии и при наличии входного

18

переноса cin. Всего таких комбинаций 22n+1, где n – разрядность операндов. Однако вследствие регулярности структуры сумматора подобныйполныйтестизбыточен,поэтомуцелесообразновыполнить выборочное тестирование. В такой выборочный тест должны быть включены комбинации входных воздействий, способные проверить работу всех функций устройства и выявить возможные ошибки в его схеме. Несмотря на выборочность, такой тест тоже может обеспечить полноту тестирования. Для реализованного сумматоракритериемполнотытестовогопокрытияможетслужить число задействованных в тесте входов и выходов одноразрядных сумматоров: всего таких сигналов в схеме 32 (см. рис. 2.1). Для 100 %-ного покрытия каждый вход и выход в ходе тестирования должен хотя бы раз поменять свое значение.

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

Данные плана тестирования вносятся в таблицу, как показано в табл. 2.2. Данные размещены в строках, соответствующих типу теста по признакам наличия входного переноса cin и наличия выходногопереносаcout.Последниестолбцызаполняютсяпослеполучения результатов тестирования.

Для моделирования работы сумматора выполните следующие действия.

1.Выполнитемоделированиеработысумматорасогласноприведенному плану тестирования (табл. 2.1). Следуйте шагам, описаннымвгл.1,длясозданиятестовогофайлаизапускамоделирования. Для задания значений сигналов a[] и b[] используйте командуArbi- trary Value , доступную на панели инструментов или через меню Edit Value (рис. 2.2). Основание системы счисления вводимых значений(Radix)можнозадаватьравнымUnsignedDecimalдлядесятичной системы счисления или Binary для двоичной.

Вид полученной временной диаграммы показан на рис. 2.3, а и б. Для переключения отображения сигналов между системами

19

20

 

 

 

 

 

 

 

 

 

Таблица 2.1

 

Пример подготовленного плана тестирования для сумматора модулей чисел

 

 

 

 

 

 

 

 

 

 

 

Тест

 

Входные воздействия

 

 

Результат

 

a[7..0]

b[7..0]

cin

s[7..0]

cout

Соответствует

 

 

 

 

 

 

 

ожидаемому

 

двоичное

десятичное

двоичное

десятичное

двоичное

десятичное

 

 

 

 

 

 

 

 

 

 

Суммирова-

00000101

5

00101000

40

0

 

 

 

 

00101101

45

00001001

9

0

 

 

 

 

ние без пере-

 

 

 

 

00000101

5

00101000

40

1

 

 

 

 

полнения

 

 

 

 

00101101

45

00001001

9

1

 

 

 

 

 

 

 

 

 

Суммирова-

11111100

252

00101000

40

0

 

 

 

 

11111111

255

00000001

1

0

 

 

 

 

ние с пере-

 

 

 

 

10000000

128

10000000

128

1

 

 

 

 

полнением

 

 

 

 

10100000

160

10011010

154

1

 

 

 

 

 

 

 

 

 

Крайние

00000000

0

00000000

0

0

 

 

 

 

случаи

 

 

 

 

 

 

 

 

 

11111111

255

11111111

255

1

 

 

 

 

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]