Графический редактор MAX+Plus. Рисуем схему счетчика. Часть 1. Радио. Кот > Обучалка > Микроконтроллеры и ПЛИС > Программируемая логика Altera - первые шаги. Графический редактор MAX+Plus. Рисуем схему счетчика. Часть 1. Ну все, надеюсь, что трафика хватило, свет не вырубился, злобный вирус не пожрал все содержимое винчестера. Значит - продолжим.
Открываем MAX+PLUS II - для этого надо запустить файлик max. Сегодня мы начнем рисовать очень простую схему - схему 4- разрядного двоичного счетчика.
Мы нарисуем один элемент счетчика - счетный триггер, и проверим его работу на симуляторе. Делаем так: File> Newвываливается окошко.
Соответственно, нам предлагают на выбор создать графический. Выбираем первое - графический (Graphic Editor file). Вываливается белоснежное оконце графического редактора. Вот именно в нем мы и будем рисовать. Два раза кликаем внутри этого окна.
Эти файлы содержат блок-схемы или непосредственно принципиальные схемы устройств, созданных в графическом схемном редакторе Quartus II § VHDL File (расширение — vhd). Cодержит текстовое описание модуля проекта на языке VHDL. §.
Появляется окошко "Enter Symbol". В верхней строчке пишем "dff". Жмем OK. Теперь окно перестало быть белоснежно- чистым. На нем появился элемент DFF. DFF - это синхронный D- триггер (D- Flip. Flop). Он выглядит примерно так.
Что такое триггер - надо объяснять? Совершенно верно. Триггер - это элемент, который может сохранять поданный на него логический уровень после снятия входного сигнала.
D- триггер имеет следующие выводы: D - синхронный вход данных, состояние на котором "захлапывается" по фронту тактового сигнала,Clk (обозначен треугольником) - вход тактового сигнала, PRN - асинхронная установка триггера (в лог. CLRN - асинхронный сброс (в лог. Q - выход. PRN и CLRN - инвертированные, то есть активное состояние на них - лог. По умолчанию они неактивны (на них поданы единицы). Вот таблица истинности триггера DFF, выдранная из хелпа по Макс Плюсу. H - это "1"L - это "0"X - это "пофиг что" - фронт тактового сигнала. Q0 - состояние не изменяется.
Первая статья этого цикла посвещена САПРу Quartus II. Создание файла проекта айл проекта можно создавать на аппаратных языках, графическом редакторе
Но, зачастую, применяется смешанное проектирование с языковым описанием блоков и схемотехническим описанием. 3 Описание стенда. Все лабораторные работы выполняются на стенде, основой которого является ПЛИС семейства Cyclon EP1C3T144C8. Этапы создания проекта в системе Quartus II. Работа с графическим редактором Quartus II.. Для создания и последующего редактирования таких описаний в пакете Quartus II используется графический редактор. Объектом его работы являются файлы с расширением.bdf..
Пакет Quartus II включает в себя все утилиты, необходимые для работы с микросхемами FPGA и CPLD.
Кроме того, можно создать блок-схему проекта в графическом редакторе (Block Editor) используя
4. Выберите язык описания интерфейса мегафункции (VHDL или Verilog HDL) и.
Illegal - неразрешенное состояние входов. Переходим к счетчикам. Что такое счетчик? Это такой хитрый элемент, у которого один тактовый вход и несколько выходов.
На выходах присутствует некая комбинация единиц и нулей - то есть, двоичное число. Это число равно количеству импульсов, поступивших на тактовый вход счетчика C. Счетчик состоит из пачки счетных триггеров. Счетный триггер - это синхронный D- триггер, инверсный выход которого замкнут на вход данных.
Таким образом, по каждому тактовому импульсу, состояние счетного триггера изменяется на противоположное. Почему? Ну смотрим.
Допустим, сначала состояние триггера = 0. То есть, на прямом выходе - 0, на инверсном - 1. Значит, на вход данных D поступает 1. При следующем импульсе на тактовом входе, состояние D захлопнется в триггер. На прямом выходе появится 1, на инверсном - 0, и этот ноль поступит на вход D. При следующем такте ноль на D захлопнется в триггер и так далее….
Если составить их последовательно, то можно получить счетчик. Чем сейчас и займемся…. Итак, щелкнем еще раз по пустому месту и наберем "not". Вывалится треугольник с кружочком на носу - элемент NOT, или, по- русски - инвертор. Зачем он нам нужен? А затем, чтоб создать инверсный выход триггера. Как видите, у DFF только один выход - прямой.
Нас это не совсем устраивает. Так что, собираем все мужество в кулак, расставляем элементы как нам удобно - и рисуем схему.
Для рисования схемы, на панели инструментов (слева) надо нажать на кнопочку. Ну, теперь вводим еще два новых элемента: input и output.
Ввели? Здорово! Дорисовываем схему. Дважды тыкнувшись мышой в слова PIN_NAME. Названия не могут начинаться с цифры и могут содержать только буквы латиницы и некоторые.
Мы обзовем вход CLK, а выход - Q1. Итак, у нас образовалась схема счетного триггера со входом и выходом. Ее уже можно компилировать и прошивать в чип. Однако даже если вы уже спаяли макет и полны решимости. Так что, давайте ка лучше, сначала проверим это дело на симуляторе.
Но для начала неплохо сохранить файл. File> Save, вводим имя - counter.
Файл будет называться: counter. Теперь делаем так: File> Project> Set Project to Current File - сделаем этот файл основным файлом проекта. Затем нам надо скомпилировать схему.
Выбираем: MAX+plus II > Compiler. Вываливается окошко.
Жмем Start. Оно компилится. Если все правильно - компилятор говорит что все круто. Жмем ОК. Все. Теперь можно составить график для симулятора. Для этого запускаем редактор графиков: MAX+plus II > Waveform Editor. Два раза тыкаемся по пустому месту в графе Name или Value.
Вываливается окно. Нажимаем List - в окошке Nodes& Groups from SNF. Вываливается список всех выводов нашей схемы. Поставим сначала вход, то есть - CLK. Выделяем его, жмем OK - и он оказывается на графике. Точно так же вытащим теперь выход Q1. Теперь выделяем вход CLK и нажимаем слева на кнопочку.
Вывалится окно. В нем нас спрашивают о начальном значении (Starting Value). Сетка на графике обозначается серыми вертикальными пунктирными линиями. Ничего не трогаем и жмем OK.
Вот что получилось. Теперь самое время сохранить файл. Сохраняем под тем же именем, что и графический файл - counter. Иначе ничего не получится.
MAX+plus II > Simulator. Жмем Start - симулятор быренько симулирует и говорит что все очень хорошо. Смотрим в окошко редактора графиков (Waveform Editor). Что получилось. Этот график наглядно демонстрирует работу счетного триггера. Как видите, момент изменения выхода отстает от фронта по входу примерно на 2,5 нс.
Это - нормально. Это - задержка на распространение сигнала. Дело в том, что симулятор очень умный, и поэтому просчитывает даже такие "мелочи" как задержка. Ну все! Радуемся. Идем на перекур. В следующий раз мы составим схему ажно на четырех счетных триггерах и проверим ее работу на симуляторе.< < -- Вспомним пройденное- -- -Поехали дальше- -> > ID: 7. Заработало ли это устройство у вас?
Victor_CCCPdronwow. Подробно Заработало сразу: Victor_CCCPdronwow.