А.3. Выбор микросхемы и компиляция проекта  

А.3. Выбор микросхемы и компиляция проекта

8. Выбрать в главном меню команду "Assignments\Device…" ("Назначения\Микросхема…"). В открывшемся окне "Device" в списке "Family:" ("Семейство:") выбрать семейство микросхем (в нашем случае это - Cyclone IV E). В расположенном слева списке "Pin count:" ("Количенство выводов") выбрать число выводов в используемой микросхеме (в нашем случае это – 780) и ниже в списке "Available devices:" ("Доступные микросхемы:") выбрать номер микросхемы EP4CE115F29C7 (такая микросхема установлена на отладочной плате DE2-115).

9. Выбрать в главном меню "Processing\Start\Start Analysis & Elaboration" ("Процессы\Пуск\Пуск Анализа и Построения Иерархии проекта"). Активизация этой команды вызовет проверку проекта на наличие синтаксических и семантических ошибок и корректность установки экземпляров модулей нижнего уровня.

10. Перед компиляцией проекта необходимо произвести явное назначение портам устройства требуемых номеров выводов микросхемы, с тем, чтобы на отладочной плате порты подключились к требуемым элементам схемы, например к переключателю, кнопке и 7-сементному индикатору. Для этого в главном меню выбрать команду "Assignments\Pin Planer" ("Назначения/Планировщик Выводов") и произвести назначение номеров выводов в соответствии с документацией на плату DE2-115 и указаниями преподавателя. Для этого в поле "Location" ("Расположение") в строке каждого порта выбрать из списка выводов необходимый номер. Выпадающий список для выбора номеров (имен) всех выводов появляется в поле "Location" после двойного щелчка мышью.

11. Выполнить команду меню "Processing\Start Compilation" ("Процессы\Пуск Компиляции").

После успешного или аварийного завершения компиляции необходимо рассмотреть содержимое следующих окон:

· информационное окно ("Quartus II") – появляется по окончании процесса компиляции; сообщает о его успешном или неудачном завершении, для продолжения работы необходимо щелкнуть по кнопке "OK" на его поле;

· окно сообщений ("Message") – выводит информационные сообщения на различных этапах обработки данных проекта, а также предупреждения (warnings) и сообщения об ошибках (error messages), если они имеются; щелчок по строке с сообщением об ошибке вызывает выделение строки конструкторского файла, в которой она обнаружена.

А.4. Загрузка конфигурационных данных проекта в микросхему

12. Подключить загрузочное устройство, например USB-blaster, с одной стороны к компьютеру, на котором установлен и запущен пакет Quartus II с выполняемым проектом, с другой стороны к JTAG-порту печатной платы, на которой установлена конфигурируемая микросхема ПЛИС. В случае использования для отладки платы DE2-115 соединить стандартным кабелем ее разъем USB с надписью "BLASTER" с одним из USB-портов компьютера.

13. Подать питающее напряжение на плату с конфигурируемой микросхемой.



14. Выбрать в меню пакета "Quartus II" команду "Tools\Programmer" ("Утилиты\Программатор"). На экране появится окно "Programmer – путь к файлу project.cdf" ("Программатор - путь к файлу project.cdf" ).

15. Если в этом окне справа от кнопки "Hardware Setup …" ("Установка загрузочного устройства") не появилось имя загрузочного устройства (в нашем случае "USB-Blaster [USB-X]"), то необходимо щелкнуть по кнопке "Hardware Setup …". В появившемся окне "Hardware Setup" на закладке "Hardware Settings" в списке ввода "Available Hardware Items" ("Доступные загрузочные устройства") дважды щелкнуть мышью по строке "USB-Blaster…Local…USB-X" – в списке "Currently Selected Hardware" ("Выбранное загрузочное устройство") появится надпись "USB-Blaster [USB-X]". Такая же надпись появится в окне программатора, и кнопка "Start" ("Пуск конфигурирования") этого окна станет активной.

16. Убедиться в том, что в колонке "File" центрального поля ввода программатора находится имя файла вашего проекта с расширением *.sof, в колонке "Program/Configure" ("Программирование/Конфигурирование") стоит "галочка", а на плате DE2-115 переключатель "RUN-PROG" стоит в положении "RUN". Щелкнуть по кнопке "Start".

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

Приложение Б. Краткий справочник по языку Verilog

Б.1. Параллельность

Следующие конструкции языка Verilog являются независимыми и в процессе моделирования выполняются параллельно (одновременно):

- экземпляры (instances) модулей;

- экземпляры примитивов;

- операторы непрерывного присваивания (assign);

- процедурные операторы (initial и always).

Б.2. Лексические правила

Прописные и строчные буквы являются различными символами.

Комментарии в стиле языка С:

- //это однострочный комментарий;

- /*это многострочный

комментарий*/

Имена разработчика должны формироваться по следующим правилам:

- могут содержать символы a-z A-Z 0-9 _ $ ;

- должны начинаться с буквы или знака подчеркивания a-z A-Z _ ;

- могут содержать любые символы, если начинаются с обратной косой черты \ и заканчиваются пробелом;

- имена, обозначающие массивы экземпляров модулей и т. п. могут содержать квадратные скобки [ ].

Иерархические имена (hierarchical path names) позволяют обращаться к цепям, переменным, задачам и функциям в любом месте проекта:

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

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

Б.3. Литеральные константы

Литеральными константами называются константы, представленные собственным значением и не имеющие имени.

1. Логические константы (табл. Б.1) представляют собой значения, которые могут принимать одноразрядные объекты (линии, регистры, порты).

Таблица Б.1. Логические литеральные константы языка Verilog

Константа Описание
ноль, низкий уровень, ложь
единица, высокий уровень, истина
z или Z высокий импеданс, третье состояние
x или X неизвестно или не инициализировано

2. Целые константы (integer numbers) могут представлять наборы двоичных данных, которые могут принимать многоразрядные шины. Они также используются для служебных целей, например, в качестве счетчиков в циклах и т п. Если при обозначении константы не указана ее разрядность и система счисления, то константа воспринимается как десятичная константа со знаком (32 двоичных разряда). Для использования констант с явным указанием системы счисления применяются обозначения, приведенные в табл. Б.2.

Таблица Б.2. Обозначения целых литеральных констант языка Verilog

Система счисления Обозначение Допустимые значения разрядов
двоичная, без знака 'b или 'B 0, 1, x, X, z, Z, ?, _
восьмеричная, без знака 'o или 'O 0 - 7, x, X, z, Z, ?, _
десятичная, без знака 'd или 'D 0 - 9, _
шестнадцатеричная, без знака 'h или 'H 0 - 9, a-f, A-F, x, X, z, Z, ?, _
двоичная, со знаком 'sb или 'SB 0, 1, x, X, z, Z, ?, _
восьмеричная, со знаком 'so или 'SO 0 - 7, x, X, z, Z, ?, _
десятичная, со знаком 'sd или 'SD 0 - 9, _
шестнадцатеричная, со знаком 'sh или 'SH 0 - 9, a-f, A-F, x, X, z, Z, ?, _

Для явного указания разрядности (количества двоичных разрядов) ее значение приводят в виде десятичного числа перед обозначением константы: 8'h0f.

Символ ? является альтернативным вариантом представления логического значения Z.

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

В табл. Б.3. приведены примеры целых литеральных констант.

Таблица Б.3. Примеры целых литеральных констант

Константы Разрядность Знак Система счисления Двоичный эквивалент
не указана со знаком десятичная 0…01010 (32 бита)
'o7 не указана без знака восьмеричная 0…00111 (32 бита)
1'b1 1 бит без знака двоичная
8'sHc5 8 бит со знаком шестнадцатеричная
6'hF0 6 бит без знака шестнадцатеричная 110000 (два старших разряда отброшены)
6'hA 6 бит без знака шестнадцатеричная 001010 (расширено двумя нулями слева)
6'shA 6 бит со знаком шестнадцатеричная 001010 (расширено двумя нулями слева)
6'bZ 6 бит без знака двоичная ZZZZZZ (расширено пятью значениями Z слева)

Значение константы преобразовывается компилятором в следующих случаях:

- если указанная разрядность меньше, чем число двоичных разрядов в значении константы - старшие разряды отбрасываются;

- если указанная разрядность больше, чем число двоичных разрядов в значении константы, а старший ее значащий бит 0 или 1 - старшие (пустые) разряды заполняются нулями;

- если указанная разрядность больше, чем число двоичных разрядов в значении константы, а старший ее значащий бит x или z - старшие (пустые) разряды заполняются значениями x или z.

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

Явное объявление константы со знаком оказывает влияние на характер операций, например арифметических, выполняемых над константой, но не влияет на способ расширения разрядности до явно указанного размера.

3. Действительные константы представляются компилятором в виде данных с плавающей точкой двойной точности (double-precision). Действительные константы необходимы для служебных (нефункциональных) целей. Действительные константы могут быть представлены обычной форме (decimal notation) и в экспоненциальной (scientific notation). Примеры действительных литеральных констант приведены в табл. Б.4

Таблица Б.4. Примеры действительных литеральных констант

Константы Примечание
0.5 цифры должны быть справа и слева от десятичной точки
3e4 три, умноженное на десять в четвертой степени
5.2E-3 пять и две десятых, умноженные на десять в минус третьей степени




343554824.html
344554824.html
34554824.html
345554824.html
346554824.html
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
Учебная работа
    PR.RU™