Verilog Инструкцию

  • 15 Comments!

Пошаговая инструкция для Quartus II: сделаем сумматор. Подробности. Категория: Разное. Создано 1. 1 Июль 2. Автор: Николай Ковач. Просмотров: 5. 38. Сделаем простой проект для платы Марсоход.

В предыдущей статье "Введение в Verilog, урок первый" я писал о простых "программах" на языке Verilog. Мы изучили простое понятие . Пошаговая инструкция Quartus II - шаг 1. Это может быть Verilog или VHDL или другой какой нибудь файл.

Проект будет состоять всего из пары модулей, да и делать он будет не очень много - он будет складывать два двухбитных числа. На самом деле, на плате у нас есть 4 кнопочки.

  1. Можно ли добавить в микропроцессор инструкции (команды)?
  2. Verilog, Verilog HDL (англ. Verilog Hardware Description Language) — это язык описания. Существует подмножество инструкций языка Verilog, называемое синтезируемым. Модули, которые написаны на этом подмножестве, .

Две кнопки - одно двухбитное число, еще две кнопки - второе двухбитное число. Отображать результат сложения будем на светодиодах платы Марсоход.

Конечно, не бог весть что. Зато мы научимся рисовать схемы пользуясь средой программирования Quartus II. Этой работой мы проверим все, что было написано в предыдущей статье.

Verilog  Инструкцию

Я знаю, многие профессиональные разработчики критикуют использование схем в проектах. Для этого конечно есть причины. Возможно самые главные причины - это плохая переносимость проектов и трудности симуляции. Тем не менее, мне кажется визуальное представление в виде схем весьма полезно, особенно начинающим разработчикам. Итак начнем. Шаг 1.

Давайте возьмем с нашего сайта . Это будет основа нашего нового проекта. Создаем новую папку max. Книга Попенченко И Вечный Бой тут. Теперь запускаем Quartus II. Заходим в меню и выбираем пункт Open Project (открыть проект).

Шаг 2. Появляется диалоговое окно выбора файла. В нем переходим в нашу новую папку max. Шаг 3. Проект открыт, хотя визуально вроде бы ничего и не случилось. Заголовок окна теперь имеет название нашего открытого проекта. Подводим курсор мыши к кнопочке панели инструментов, напоминающей . Появляется подсказка . Нажимаем эту кнопку.

Шаг 4. Слева появилось окошко навигатора проекта. На трех его закладочках можно видеть иерархию проектов (какой модуль главный и его составляющие), а так же файлы проекта. Двойной клик мышью на имени главного модуля max. Шаг 5. В нашем случае мы видим открылся графический файл max. Block Diagram File.

Конечно главный файл проекта не обязательно должен быть именно графическим. Это может быть Verilog или VHDL или другой какой нибудь файл. Шаг 6. Сейчас мы из этого . Кликая на элементы нашей схемы мы можем их выделять - они становятся .

Нажимаем на клавиатуре клавишу Del и выделенный объект или группа объектов удаляются. Я хочу оставить в нашем новом проекте только четыре входа key.

Зачем я это все делаю? Наверное легче было бы начать делать новый проект? Не совсем так. Дело в том, что в этом готовом проекте уже сделаны очень важные настройки для платы Марсоход. Эти настройки касаются типа микросхемы и назначения контактов микросхемы. Это можно легко проверить. Шаг 8. Заходим в меню Assignments\Assignment Editor - это действие запустит редактор назначений.

Шаг 9. Здесь, например, видно, что входы, соответствующие кнопочкам платы Марсоход, будут подключены к контактам микросхемы PIN. Только так и никак иначе.

Плата уже готова, спаяна, и эти контакты идут к кнопкам. Конечно, если вы сами будете проектировать свое устройство на FPGA или CPLD вы можете сами назначить ваши входы и выходы как вам захочется. Ну а сейчас, раз мы экспериментируем с платой Марсоход, мы должны принять ее как есть. Закрываем этот редактор назначений. Шаг 1. 0. Теперь создадим новый файл.

Выбираем пункт меню File/New. Шаг 1. 1. В этом диалоге у нас есть возможность выбрать тип файла, который мы хотим создать. Сейчас мы выбираем Block Diagram/Schematic File - будем рисовать схему. Шаг 1. 2. Новый графический файл создан и его нужно сохранить - я даю ему имя adder.

Шаг 1. 3. Теперь в нашей схеме нужно собственно ее . Видите на панели инструментов кнопочку с изображением логического элемента (под ней подсказка ?

Нажимаем эту кнопку и должен появиться диалог, позволяющий выбрать нужные нам библиотечные логические элементы. Шаг 1. 4. Вот этот диалог Symbol. Наша схема будет содержать входы и выходы, а так же несколько логических элементов. Среди папок библиотек (libraries) находим primitives/pin/input. Нажимаем OK и выбранный нами элемент появляется в схеме.

Шаг 1. 5. Нам нужно установить на схему три входа. Этот графический редактор довольно удобный. Вы можете двигать установленные элементы, копировать в буфер обмена, вставлять. Все довольно понятно интуитивно. Задать имена входам (да и другим элементам) можно нажав правую кнопку мыши на выбраном элементе и выбрав пункт меню - Properties (Свойства). На картинке вы как раз видите изменение имени входа (pin) в диалоге Pin Properties.

Шаг 1. 6. Аналогичным образом мы вставим на схему выходы и логические элементы И и ИСКЛЮЧАЮЩЕЕ ИЛИ. Ищите их в папке libraries/primitives/logic. Для соединения проводами выберите на панели инструментов кнопочку Orthogonal Node Tool. Потом просто рисуйте провода. Если будет нужно нарисовать шину, то используйте Orthogonal Bus Tool. Шаг 1. 8. У меня получилась вот такая схема - это однобитный сумматор с переносом. Скачать Шаблон Презентации По Экологии. Я рассказывал о нем вот здесь.

Теперь из этого модуля в виде схемы мы можем сделать компонент, который будем устанавливать в другие модули. Шаг 1. 9. Выберите пункт меню File/Create- Update/Create Symbol File for Current File.

Это действие создаст новый компонент, который можно будет устанавливать в другие ваши схемы. Можно создавать компоненты из файлов Verilog, VHDL, AHDL, из схем. Шаг 2. 0. Обратите внимание - нам нужно задать имя будущему компоненту. По умолчанию оно соответствует имени файла схемы. Пусть так и будет. Тип файла - Symbol File(*. Шаг 2. 1. Теперь мы возвращаемся к редактированию нашего первого файла - max.

Сейчас уже сюда мы сможем вставить наш новый, только что созданный, компонент adder. Нажимаем на панели инструментов кнопочку Symbol Tool и видим уже знакомый нам диалог Symbol. Только теперь мы ищем компонент не из библиотеки Альтеры, а в папке нашего проекта, где должен находиться только что созданный нами компонент. Шаг 2. 2. Мы установим в нашу схему два компонента adder.

НЕ, пару элементов GND (чтобы подключить неиспользуемые входы к земле). Соедините все элементы как нарисовано здесь. Соединения сделаны так, чтобы, во- первых, при нажатии кнопочки загорался соответствующий ей светодиодик (четыре левых светодиода если держать платку кнопочками к себе), во- вторых, результат сложения двух двухбитных чисел отображается на трех самых правых светодиодах. Может возникнуть вопрос: . Это сделано прямо внутри чипа - посмотрите в Assignment Editor настройки для кнопочек key. Вы увидите опцию weak pull- up resistor включенной (On).

Таким образом, не нажатая кнопка дает на входе логическую единицу, а нажатая (замыкается к земле) - логический ноль. Ну вот пожалуй проект готов. Компилируем и зашиваем его в плату Марсоход. Об том как зашивать, можно почитать здесь. Перед тем как пробовать нашу схему в работе, позвольте мне показать примеры сложения в двоичном виде: 0.

Это то, что мы должны увидеть, нажимая на кнопочки нашей платы Марсоход. Чуть позже, я положу сюда демонстрационное видео, как работает мой сумматор. А вот и весь проект к уроку.