
Порядок работы в сигнальном редакторе.
Запускаем File -> New -> Other Files -> Vector Waveform File..
В поле Name рабочего окна сигнального редактора нужно нажать правую кнопку мыши и в контекстном меню выбрать пункт Insert -> Node or Bus… (Рис. 12).
Рис. 12 Выбор данных
В появившемся диалоговом окне нажимается кнопка Node Finder… Появляется диалоговое окно для поиска сигналов в проекте Node Finder (рис 13).
Рис. 13 Добавление сигналов на временную диаграмму
В поле Look указано имя нашего проекта – в нем будет поиск сигнала. В полеNamed можно задать часть имени сигнала или провода. Например, вы ищите в проекте выход модуля с именемdata, но в проекте несколько модулей с выходами/входами с таким именем. Тогда для поиска в этом полеNamed укажите*data*. Потом нажмете кнопкуList (произвести поиск) и в таблицеNodes Foundбудет показан список всех модулей содержащих такой сигнал. Если указать просто*, то это значит, что нас интересуют вообще все сигналы, не зависимо от имени. Еще одно важное поле –Filter. Здесь из списка можно выбрать тип сигналов для поиска. Значение по умолчаниюPins: All– физические входы и выходы микросхемы. При нажатии кнопкиList слева появляется список входов и выходов. Далее следует выбрать все нужные сигналы слева в таблице найденных сигналовNodes Foundи перенести их вправо в таблицу выбранных сигналовSelected Nodes. После нажатия кнопки OK информация о входах и выходах устройства, полученная в процессе компиляции, перенесется в файл с расширением .vwf и отобразится в рабочем окне сигнального редактора. В частности, в поле Name появляются названия всех входов и выходов устройства.
Прежде чем редактировать сигналы можно задать временную сетку. Для этого используется пункт меню Edit -> Grid Size. Для установки длительности симуляции служит пункт менюEdit -> End Time.
Чтобы задать временную диаграмму сигнала на некотором входе, необходимо выделить этот вход (нажатием левой кнопки мыши на поле Value). Затем с помощью панели инструментов, расположенной в левой части окна редактора, задать требуемую форму сигнала.
Панель инструментов предоставляет, в частности, следующие возможности:
1. Щелчок мышью на пиктограмме с изображением нуля позволяет задать уровень логического нуля на предварительно выделенном участке временной оси.
Аналогично задается уровень логической единицы, неопределенное состояние (X) и третье состояние (Z). Под неопределенным состоянием понимается либо любое значение входного или (при использовании сигнального редактора не для моделирования устройства, а для логического синтеза по заданным временным диаграммам) выходного сигнала, либо неизвестное значение (то, которое невозможно определить при моделировании) выходного сигнала.
2. Щелчок мышью на пиктограмме INV приводит к инверсии сигнала на выделенном временном интервале.
3. Для формирования меандра используется пиктограмма с изображением часов (рис. 14).
Рис. 14Установка меандра
Пиктограмме С соответствует возможность формирования на входах или выходах последовательности чисел, образующих арифметическую прогрессию с заданной разностью (с заданным параметром Increment By). Абсолютная величина этого параметра может превышать единицу только в том случае, когда упомянутая последовательность формируется на шине, образованной несколькими линиями-проводами.
Для того чтобы задать определенный отрезок сигнала, нужно выделить его мышью (рис. 15).
Рис. 15 Задание отдельных участков сигнала
При работе с сигнальным редактором группировка линий (входов или выходов устройства) в шину осуществляется следующим образом. Прежде всего, в поле Name выделяются линии (названия), подлежащие группировке. Затем нужно щелкнуть правой кнопкой мыши на выделенной области и в появившемся меню выбрать пункт Group... Далее указывается система счисления для представления данных на шине: двоичная (Binary), восьмеричная (Octal), десятичная при числах со знаком (Signed Decimal) и при числах без знака (Unsigned Decimal) или шестнадцатеричная (Hexadecimal).
Обратная операция (разгруппировка шины) реализуется выделением требуемой шины в поле Name с последующим нажатием правой кнопки мыши и выбором в меню пункта Ungroup.