Как провести симуляцию сигнала в Simulation Waveform Editor
Допустим, у нас есть проект для ПЛИС Altera в среде разработки Quartus II. Давайте проведём программную симуляцию: подадим на входы ПЛИС определённый сигнал и посмотрим, что будет на её выходах. Для этого воспользуемся встроенным инструментом Simulation Waveform Editor.
Инструкция по работе с инструментом Simulation Waveform Editor
1Создаём файл симуляцииUniversity Program VWF
Первым делом запустим IDE Quartus II и откроем нужный проект. Теперь создадим новый файл. Нажмём комбинацию клавиш Ctrl+N или через меню File New… В открывшемся окне выберем тип файла – University Program VWF.
2Добавление узлов и шин в Simulation Waveform Editor
Запустится инструмент Simulation Waveform Editor. Сразу сохраним этот файл, пока ещё пустой, под произвольным именем в папке проекта: Ctrl+S (или File Save). Я назову файл "data_test.vwf", т.к. буду подавать данные на вывод ПЛИС под названием DATA.
Теперь нужно добавить в проект наши шины. Идём в меню Edit Insert Insert Node or Bus… Откроется окно Insert Node or Bus, где мы нажмём кнопку Node Finder… для поиска доступных шин ПЛИС в проекте.
В окне поиска узлов Node Finder нажимаем кнопку List (список). В левой части окна появится список найденных узлов и шин проекта. Для выбора добавьте их в правое поле, нажимая соответствующие кнопки. Или добавьте сразу все, нажав кнопку . Подтвердите выбор нажатием на кнопку OK. В окне Insert Node or Bus также нажмите ОК.
В окне формы импульсов появились диаграммы уровней сигналов выбранных выводов. Причём уровень входных сигналов CLK и DATA пока равен логическому нулю, а уровень выходных не определён. Чтобы запустить симуляцию, нужно задать форму входного и тактового сигналов.
3Настройка временных параметров в Simulation Waveform Editor
Но сначала нужно задать параметры времени, которые будут использоваться Simulation Waveform Editor при симулировании. В меню Edit Grid Size… зададим шаг временной сетки. А в меню Edit Set End Time… укажем желаемую длительность симулирования.
4Настройка параметров тактового импульса
Зададим параметры тактового импульса. Выбираем в левом поле нужный сигнал по имени Name, нажав по нему левой кнопкой мыши. Теперь идём в меню: Edit Value Overwrite Clock… В открывшемся окне Clock задаём период (Period), фазу (Offset) и скважность (Duty cycle) тактового импульса.
5Настройка параметров входного сигнала в Simulation Waveform Editor
Зададим форму сигнала Data. Выделим его и в меню Edit Value выберем подходящий тип. Я выберу произвольно изменяющийся сигнал Random Values… и настрою его параметры в открывшемся окне.
После этого сохраним настройки сигналов (Ctrl+S).
6Функциональное симулированиев Simulation Waveform Editor
Теперь можно запускать функциональное симулирование: Simulation Run Functional Simulation или нажав соответствующую кнопку на панели меню. Quartus проведёт симуляцию и выведет результат в новом окне Simulation Waveform Editor.
В открывшемся окне можно видеть рассчитанные выходные сигналы на выводах ПЛИС, которые получились в результате проведённой симуляции утилитой Simulation Waveform Editor.
Для того чтобы провести временную симуляцию (Timing Simulation), необходимо прежде задать временные параметры с помощью инструмента TimeQuest Timing Analyzer.
Кроме того,
с помощью инструмента Master Time Bar удобно определять временные границы импульсов. Выделите левой кнопкой мыши в списке интересующий сигнал по имени, а затем стрелками и в верхней панели перемещайтесь от фронта к фронту.