Практика САПР

Материал из wiki.nntc.nnov.ru
Перейти к навигации Перейти к поиску

3. Порядок выполнения задания и дополнительные сведения о системе Quartus II


3.1. Начало работы над проектом
  1. Создать папку для хранения файлов проекта (индивидуальную для каждого рабочего места в аудитории и имеющую только латинские буквы в своем названии).

Запустить программу Quartus II

При помощи команды File-New Project Wizard… открывается окно мастера создания проекта.

  1. В появившемся окне следует нажать Next. В результате открывается страница 1 мастера, имеющая название New Project Wizard: Directory, Name and Top-Level Entity [page 1 of 6]. В верхнем поле открывшейся страницы следует ввести имя и путь к папке проекта (можно воспользоваться кнопкой с изображением многоточия справа от поля и выбрать папку с помощью специального диалогового окна), имя проекта и имя устройства, занимающего верхнюю позицию в иерархии проекта
  2. После этого можно завершить создание проекта нажатием кнопки Finish.

Замечание: Если процесс проектирования окажется вынужденно прерванным (с сохранением полученных результатов), то для возобновления работы над проектом его необходимо открыть при помощи команды File - Open Project…, после чего потребуется выбрать папку с файлами проекта и указать его имя.

2. Работа с графическим редактором
  1. Запустить графический редактор Quartus II.

Для создания файла, который будет содержать принципиальную схему устройства надо выполнить FileNew. В появившемся диалоговом окне на вкладке Device Design File следует выбрать тип файла Block Diagram / Schematic File и нажать OK.

Эти действия приведут к открытию окна графического редактора с загруженным в него файлом с расширением .bdf.


  1. Необходимо включить файл в проект File – Save As… В появившемся диалоговом окне сохранения файла следует задать его имя и установить флажок Add file to current project.

Замечание: В графическом редакторе схема создается из отдельных компонентов, ко­торыми являются примитивы, макрофункции и мегафункции фирмы Altera.

  1. Ввести компоненты.

Замечание 1: Они вводятся следующим образом: на свободном участке рабочего поля нажать правую кнопку мыши и в появившемся контекстном меню выбрать пункт Insert – Symbol…, или выполнить двойное нажатие левой кнопки мыши на том участке рабочего поля, куда необходимо ввести компонент. Далее в диалоговом окне нужно выбрать требуемый каталог (каталог primitives для примитивов; каталог megafunctions для мегафункций;), а затем в каталоге выбирается нужный компонент. Примитивы: NOR2 –логический элемент 2ИЛИ-НЕ; [[Image:]] – логический элемент 3НЕ–И; [[Image:]] – логический элемент ИЛИ; [[Image:]] – логический элемент НЕ; [[Image:]] – входной контакт; [[Image:]] – выходной контакт; [[Image:]] уровень логического нуля; [[Image:]] уровень логической единицы.


Замечание 2. Перемещать компонент по рабочему полю: щелчок левой кнопкой мыши на выбранном компоненте (выделение компонента) с последующим перемещением компонен­та и курсора мыши при нажатой ее левой кнопке.

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


  1. Соединить компоненты.

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

Замечание 2. Для получения соединительной линии с несколь­кими изломами потребуется несколько подобных манипуляций с мышью.

Замечание 3. Есть еще способ соединения точек схемы: несколько линий схемы (в том числе "оборванных"), которым присвоено одно и то же имя, счи­таются соединенными между собой. Присвоение имени какой-либо линии осу­ществляется следующим образом:

1. выделить линию щелчком мыши,

2. набрать название линии с клавиатуры (только латинскими буквами). Для последующего редактирования названия потребуется выделить его без выделения линии. Ана­логичны способы соединений шинами.

  1. Обеспечить постоянный уровень логической единицы в тех точках схемы, где он необходим. Это обеспечивается соединением этих точек с примитивом [[Image:]]. Аналогично, использование примитива GND обеспечивает уровень логическо­го нуля.

Отметить входы и выходы проектируемого устройства соответственнопримитивами INPUT и OUTPUT, вызвав их из библиотеки примитивов.

  1. Отредактировать названия соответствующих входов и выходов.

Замечание 1. Для этого нуж­но нажать левую кнопку мыши дважды на названии входа или выхода, а затем изменить его (последующее изменение названия тоже возможно).

3.3. Компиляция проекта

После того как схема (или иное описание) устройства будет введена сред­ствами графического (или иного) редактора, необходимо осуществить компи­ляцию проекта.

До осуществления компиляции необходимо также выбрать семейство ПЛИС для реализации спроектированного устройства: Assignments – Device…, выбор требуемого семейства (рекомендуется FLEX10K) в поле Family.

Замечание: Если перед запуском компилятора не оказался открытым нужный проект, то его необходимо открыть. Для этого требуется либо открыть какой-нибудь файл данного проекта и двигаться по меню File - Project - Set Project to Current File..

  1. Запускается компилятор: Processing – Start Compilation..

Замечание: Компилироваться будет не один упо­мянутый открытый файл, а вся совокупность файлов данного проекта. В ре­зультате компиляции создается ряд вспомогательных фай­лов, которые не относят к файлам проекта. В данной лабораторной работе про­цесс компиляции необходим лишь для того, чтобы впоследствии можно было осуществлять верификацию проекта (поскольку она невозможна без виртуаль­ного размещения устройства на кристалле ПЛИС).

В процессе компиляции сведения об ошибках в проекте выводятся на эк­ ран монитора. После двойного щелчка мышью на строке сообщения об ошибке открывается файл, содержащий ошибку и в нем выделяется то место, которое компилятор зафиксировал как ошибочное. Аналогично выдаются сведения об ошибках при верификации проекта с помощью сигнальногоредактора. В частности, одной из ошибок могло бы быть отсутствие файла с расширением .bdf в папке с файлами проекта.

3.4. Верификация проекта

Следующим этапом после компиляции является верификация проекта, то есть моделирование и проверка правильности функционирования спроектированного устройства. С этой целью создается файл временных диаграмм. Для его создания необходимо двигаться по меню File – New – Other Files – Vector Waveform File. При этом запустится сигнальный редактор с загруженным файлом с расширением .vwf. Созданный файл необходимо включить в проект File – Save As… Add file to current project.


Порядок работы в сигнальном редакторе
  1. Запускаем File – New – Other Files – Vector Waveform File..

В поле Name рабочего окна сигнального редактора нужно нажать правую кнопку мыши и в контекстном меню выбрать пункт Insert Node or Bus… В появившемся диалоговом окне нажимается кнопка Node Finder…

  1. В следующем диалоговом окне нажимаются последовательно 3 кнопки: List, >>, OK (если после нажатия кнопки List в поле Nodes Found отсутствуют строки с именами контактов устройства, то следует в поле Filter установить значение Pins: all и нажать кнопку List повторно). В результате информация о входах и выходах устройства, полученная в процессе компиляции, переносится в файл с расширением .vwf и отображается в рабочем окне сигнального редактора. В частности, в поле Name появляются названия всех входов и выходов устройства.

Чтобы задать временную диаграмму сигнала на некотором входе, необходимо выделить этот вход (нажатием левой кнопки мыши на поле Value). Затем с помощью панели инструментов, расположенной в левой части окна редактора, задается требуемая (в соответствии с контрольным примером) форма сигнала.

Замечание 1: Панель инструментов

Панель инструментов предоставляет, в частности, следующие возможности:

    1. Щелчок мышью на пиктограмме с изображением 0 позволяет задать уровень логического нуля на предварительно выделенном участке временной оси.

Аналогично задается уровень логической единицы (пиктограмма 1), неопреде­ленное состояние (X) и третье состояние (Z). Под неопределенным состояни­ем понимается либо любое значение входного или (при использовании сиг­нального редактора не для моделирования устройства, а для логического синте­за по заданным временным диаграммам) выходного сигнала, либо неизвестное значение (то, которое невозможно определить при моделировании) выходного сигнала.

    1. Щелчок мышью на пиктограмме INV приводит к инверсии сигнала на выделенном временном интервале.
    2. Для формирования меандра используется пиктограмма с изображением часов. Пиктограмме С соответствует возможность формирования на входах или выходах последовательности чисел, образующих арифметическую прогрессию с заданной разностью (с заданным параметром Increment By). Причем абсолютная величина этого параметра мо­жет превышать единицу только в том случае, когда упомянутая последователь­ность формируется на шине, образованной несколькими линиями-проводами.
    3. Пиктограмма S позволяет задавать состояния автоматов с памятью.

С исполь­зованием пиктограммы [[Image:]] можно задавать для выделенного временного интер­вала значения сигналов на какой-либо шине. При этом совокупность их значений задается числом, записанным в той системе счисления, которая указывается в поле Radix окна установки значения.

Замечание 2: Группировка линий

При работе с сигнальным редактором группировка линий (входов или вы­ходов устройства) в шину осуществляется следующим образом.

При работе с сигнальным редактором группировка линий (входов или выходов устройства) в шину осуществляется следующим образом. Прежде всего в поле Name выделяются линии (названия), подлежащие группировке. Затем нужно щелкнуть правой кнопкой мыши на выделенной области и в появившемся меню выбрать пункт Group... Далее указывается система счисления для представления данных на шине: двоичная (Binary), восьмеричная (Octal), десятичная при числах со знаком (Signed Decimal) и при числах без знака (Unsigned Decimal) или шестнадцатеричная (Hexadecimal).

Обратная операция (разгруппировка шины) реализуется выделением требуемой шины в поле Name с последующим нажатием правой кнопки мыши и выбором в меню пункта Ungroup.

Замечание 3: Длительность одного периода импульсов (меандра) CLK не рекомендует­ся выбирать менее 40 nс (чрезмерно малое значение данного параметра не до­пускается в связи с ограниченным быстродействием реальной ПЛИС). Для того, чтобы сформировать сигнал нужного периода, необходимо выбрать пункт меню Options/grids установить период 20 nc.


3.5 Запуск моделирования (симуляции) и измерение задержек.

После того, как будут заданы все необходимые сигналы, можно запустить симуляцию (моделирование) функционирования устройства.

Для этого в меню Processing выбирается пункт Start Simulation. Временные диаграммы, полученные в результате симуляции, сохраняются в файл, имя которого имеет следующий вид имя_vwf_файла-sim.vwf, где имя_vwf_файла является именем файла временных диаграмм на входе устройства и, как правило, совпадает с именем проекта. Данный файл находится в подкаталоге db каталога проекта.

Сигнальный редактор дает возможность оценить быстродействие спроектированного устройства по задержкам его выходных сигналов относительно входных и по длительности переходных процессов, наблюдаемых на временных диаграммах. Для измерения длительности соответствующего временного интервала необходимо переместить мышью маркер – вертикальную синюю линию (после щелчка на верхней части маркера) к началу измеряемого интервала. После этого курсор мыши размещается в конце интервала, а в поле Interval верхней части экрана наблюдается значение длительности интервала.

При выполнении лабораторной работы требуется измерить задержку появления сигнала относительно соответствующего фронта импульсов CLK.

4. Работа с символьным редактором

После успешной верификации спроектированного устройства, для него можно (а при выполнении данной лабораторной работы – нужно) создать символ (условное графическое обозначение) устройства. Для этого следует открыть графический файл проекта, содержащий информацию о созданной ранее схеме устройства, и проделать путь по меню File – Create / Update – Create Symbol Files for Current File. В результате автоматически создается символ для устройства (файл с расширением .bsf, имеющий то же имя, что и соответствующий графический файл). Для редактирования символа нужно запустить символьный редактор открыть требуемый файл … .bsf нажав правую кнопку в свободном месте рабочего поля графического редактора и выбрав Open Symbol File из контекстного меню, либо воспользовавшись командой Open… меню File. Подчеркнем, что аналогично компилятору и симулятору символьный редактор обрабатывает всю совокупность файлов данного проекта в целом (создает символ для всего проекта).