Учебное пособие Москва Издательство Московского государственного университета леса 2011 (075) Е92 - umotnas.ru o_O
Главная
Поиск по ключевым словам:
страница 1страница 2 ... страница 8страница 9
Похожие работы
Название работы Кол-во страниц Размер
Учебное пособие для студентов заочного обучения специальности 2301... 3 632.78kb.
М. В. Ломоносова Научно-исследовательский вычислительный центр А. 46 7250.37kb.
Программа конференции Agenda (24-30 мая 2009 года) (May 24-30, 2009) 1 295.59kb.
Учебное пособие Ось-89 2 удк ббк 159. 9 88. 8 В229 6 3002.21kb.
А. Р. Лурия психология восприятия издательство московского университета... 9 2851.69kb.
Учебное пособие (075) Печатается 10 5242.42kb.
Учебно-методическое пособие Под редакцией к ю. н профессора И. 6 1426kb.
Программа-минимум кандидатского экзамена по специальности 1 89.35kb.
Н. Р. Шишкина Экономическая теория 15 6241.68kb.
Учебное пособие для самостоятельного изучения студентами Челябинск... 4 492.25kb.
Модернизация кустарных промыслов нижегородской губернии во второй... 2 424.28kb.
""xqsLiЄ«s»RЅ=LS¬sntp inrp xmsLSщёR¶VLi \ылбхбмбv«sV xmspLjiтgS їRБµj¶­s... 1 30.61kb.
Викторина для любознательных: «Занимательная биология» 1 9.92kb.

Учебное пособие Москва Издательство Московского государственного университета леса - страница №1/9



Государственное образовательное учреждение

высшего профессионального образования

«МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ЛЕСА»

Н.В. Ефремов

Введение в систему автоматизированного проектирования Quartus II

Рекомендовано к изданию Редакционно-издательским советом университета в качестве учебного пособия для студентов специальности 230100 факультета электроники и системотехники

Учебное пособие

Москва

Издательство Московского государственного университета леса

2011

УДК 004.896(075)

Е92

Разработано в соответствии с Федеральным государственным образовательным стандартом ВПО 2009 г. по направлению подготовки 230100 «Информатика и вычислительная техника» на основе программы дисциплины «Организация ЭВМ и систем»



Рецензент: доцент кафедры управляющих интеллектуальных систем МИФИ

Е.Ф. Березкин

Работа подготовлена на кафедре вычислительной техники

Ефремов Н.В.

Е92 Введение в систему автоматизированного проектирования Quartus II: учебное пособие. – М.: ГОУ ВПО МГУЛ, 2011. -147 с.

Изложены основные сведения по системе автоматизированного проектирования Quartus II, достаточные для выполнения лабораторных работ и курсовых проектов по дисциплинам «Теория автоматов», «Схемотехника ЭВМ», «Организация ЭВМ и систем». Предназначено для студентов, обучающихся по специальности «Вычислительные машины, комплексы, системы и сети» и студентов смежных специальностей.

УДК 004.896(075)

©Н.В. Ефремов, 2011

©ГОУ ВПО МГУЛ, 2011

Цель пособия – изложить основные сведения по системе автоматизированного проектирования Quartus II, достаточные для выполнения лабораторных работ и курсовых проектов по дисциплинам «Теория автоматов», «Схемотехника ЭВМ», «Организация ЭВМ и систем». Элементной базой лабораторного практикума являются стенды, содержащие программируемые логические интегральные схемы (ПЛИС) компании Altera.

В пособии раскрыты основные возможности модулей Quartus II, обеспечивающие полный цикл проектирования устройств на программируемых кристаллах компании Altera. Представленное описание ориентировано на использование версии 9.1 пакета Quartus II.

Последовательно рассмотрено выполнение всех этапов проектирования от ввода проекта до программирования кристалла. Изложение материала сопровождается большим количеством примеров, включая примеры с использованием языка VHDL. Настоящее пособие позволит студентам быстро освоить пакет Quartus II и получить навыки практической работы в современной проектной среде.

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

Оглавление


Часть 2 Ввод описания проекта в Quartus II 24

Часть 3 Моделирование проекта 91

Часть 4 Компиляция проекта 133

Часть 5 Программирование кристалла ПЛИС 142



Часть 1 Обзор САПР Quartus II

1.1. Назначение и возможности Quartus II

Пакет Quartus II представляет собой автоматизированную систему сквозного проектирования цифровых устройств на кристаллах ПЛИС фирмы Altera [1]. Он предоставляет пользователю широкие возможности по вводу описаний проекта, логическому синтезу, компиляции проекта, программированию ПЛИС, функциональному и временному моделированию, временному анализу и анализу потребляемой мощности проекта, реализации внутрисистемной отладки.

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

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

В одном иерархическом проекте можно сочетать использование различных типов описания исходных файлов модулей проекта, подбирая наиболее подходящий тип, для каждого модуля.

В состав стандартной библиотеки Quartus II входит большое количество базовых элементов, включая мегафункции и макрофункции. Составной частью мегафункций являются операционные устройства, созданные по стандарту библиотеки параметризируемых модулей ( LPM – library of parameterized modules).

Значительная часть мегафункций разработана фирмой Altera. Они описаны на языке низкого уровня и оптимизированы для применения в ПЛИС компании Altera. Остальная часть разработана компаниями партнерами. Применение мегафункций в проектах пользователя значительно расширит возможности проектирования и ускорит выполнение проекта.

Пакет Quartus II содержит средство SOPC (System on programmable chip) Builder, предназначенное для проектирования реализуемых на кристалле процессорных систем [4]. С помощью этого средства можно легко создавать конфигурируемые процессорные ядра, реализовывать на кристалле различные контроллеры, а также значительную часть периферийного оборудования.



1.2. Понятие проекта в Quartus II

Под термином «проект» в Quartus II понимается набор файлов, связанных с проектируемым устройством, и набор соответствующих библиотек [4].

Файлы могут быть двух типов – логические и вспомогательные. Логические файлы описывают поведение или структуру отдельных модулей проектируемого устройства. К ним относятся файлы с текстовым описанием на языках описания аппаратуры (HDL, Hardware Description Language), файлы с графическим представлением схем, файлы с представлением отдельных модулей в виде конечных автоматов. Вспомогательные файлы содержат дополнительную информацию о проектируемом устройстве. Большинство вспомогательных файлов не содержит описания логики проекта. Некоторые из них автоматически создаются приложением Quartus II, некоторые вводятся пользователем. Примерами вспомогательных файлов являются файлы установок и назначений (.qsf), символьные файлы (.bsf), файлы отчетов (.rpt).

Как правило, проект содержит несколько логических файлов, образующих иерархическое описание создаваемого устройства. Один из файлов представляет описание устройства на верхнем уровне иерархии. Он является модулем верхнего уровня.

Если описание устройства содержит единственный логический файл, то по умолчанию он является модулем верхнего уровня описания.

Каждый проект размещается в отдельной папке и имеет своё собственное имя, которое назначается пользователем при создании нового проекта. Автоматически при создании нового проекта создаются файлы с расширением .qpf (quartus project file) и .qsf (quartus settings file). Первый из этих файлов содержит номер версии Quartus II, используемой для создания проекта, дату создания и название активной версии проекта. Пример файла с расширением .qpf приведен на рис.1.2.1.



Рис. 1.2.1. Содержимое файла new_project.qpf


Второй файл содержит установки и назначения. Пример файла с расширением .qsf приведен на рис.1.2.2.

Рис. 1.2.2. Содержимое файла new_project.qsf


Он представляет собой текстовый файл, использующий синтаксис языка tcl. Поэтому файл .qsf можно редактировать в любом текстовом редакторе. При создании проекта пользователь может воспользоваться существующими в пакете Quartus II установками и назначениями, либо использовать их из ранее созданного проекта, либо выполнить свои собственные.

В процессе работы над проектом, пользователь может изменить установки и назначения. В этом случае Quartus II позволяет создавать разные версии проекта. Каждой версии назначается собственное имя. Пользователь может выполнить компиляцию проекта для разных его версий и на основе сравнительного анализа результатов компиляции разных версий проекта, выбрать ту версию, которая ему более подходит.

При создании версии проекта, автоматически создается файл _assignment_defaults.qdf и размещается в рабочей папке проекта, где revision_name – имя версии. Он содержит установки и назначения, которые будут использоваться по умолчанию.

Для работы с проектом в менеджере проекта Quartus II используется команда Project, выпадающее меню которой приведено на рис. 1.2.3.


Рис. 1.2.3. Меню команды Project менеджера проекта


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

1.3. Процедура проектирования в Quartus II

Процедура проектирования устройств на ПЛИС включает в себя следующие этапы [1].



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

Графическое представление проекта в пакете Quartus II может создаваться, как в базисе библиотечных элементов, так и в базисе графических символов проектировщика. В качестве компонентов проекта Quartus II позволяет использовать IP (Intellectual Properties) ядра, представляющие собой единицы интеллектуальной собственности. Эти блоки являются полностью синтезируемыми, перемещаемыми и могут по желанию проектировщика располагаться в разных частях кристалла. Примерами IP ядер являются процессорные ядра NIOS II и большой набор различных контроллеров периферийных устройств.

Главным достоинством графического способа ввода проекта является его традиционность и наглядность, связанная с привычностью разработчиков к восприятию изображений схем [1].

В настоящее время все большую популярность приобретают языки описания аппаратуры (HDL) [2,3]. Они допускают описание проектируемого устройства с точки зрения, как его поведения, так и структуры. Такие возможности позволяют представлять проект в форме текстового описания алгоритмов функционирования его модулей в сочетании с текстовым описанием межмодульных соединений для сложных проектов. Для создания и последующего редактирования текстовых описаний частей проекта в Quartus II используется текстовый редактор. Допустимыми являются языки VHDL, Verilog, AHDL (Altera HDL), System Verilog [5-7]. Соответствующие текстовые файлы имеют расширения .vhd, .v, .tdf, .sv.

Достоинствами текстового описания проекта являются его компактность и относительная простота автоматизации любых преобразований, включая процесс создания описания, однозначность понимания и возможность переноса проектов в другие САПР.

Quartus II допускает использование в проектах отдельных компонентов, созданных в системах автоматизации проектирования сторонних производителей. Такими компонентами могут быть и IP ядра. В этом случае, файл описания, как правило, представляет собой таблицу соединений конфигурируемых логических блоков и таблиц соответствия, выполненную до этапа размещения и разводки элементов. Соответствующие файлы имеют расширение .edf.



2. Компиляция проекта. Компиляция представляет собой процесс преобразования описания проекта в его структурную реализацию на выбранном кристалле ПЛИС. Компиляции может подвергаться как весь проект, так и отдельные его фрагменты. В Quartus II компиляция всегда выполняется для модуля верхнего уровня (top level). Поэтому для компиляции отдельного компонента схемы необходимо предварительно объявить его модулем верхнего уровня. Компиляция включает выполнение нескольких этапов.

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

Модуль анализа и синтеза Quartus II выявляет синтаксические ошибки в проекте. Он проверяет логическую завершенность проекта, то есть возможность объединения файлов описания проекта в единое целое, и возможность реализации проекта на выбранном кристалле ПЛИС. Он также преобразует конструкции используемого языка HDL в их аппаратную реализацию на ресурсах кристалла таких, как функциональные преобразователи (lut), триггеры, защелки, логические элементы, блоки встроенной памяти, встроенные умножители. Рис. 1.3.1. демонстрирует реализацию этапа анализа и синтеза. Исходными файлами для выполнения этапа являются файлы с описанием модулей проекта на языках HDL (.vhd, .v, .tdf) и файлы со схемным представлением .bdf. На выходе получаются файлы отчета (.rpt, .htm) и созданная база данных (.rdb) [4].



Рис. 1.3.1. Этап анализа и синтеза проекта в Quartus II


Пакет Quartus II допускает использование средств синтеза сторонних производителей САПР. В этом случае, созданные проектировщиком файлы описания проекта на языке VHDL или Verilog, должны быть преобразованы средствами синтеза в файл соединений в формате EDIF (.edf) или файл Verilog Quartus Mapping File (.vqm), которые затем могут быть использованы в пакете Quartus II (см. рис. 1.3.1.).

3. Функциональное моделирование проекта. После завершения этапа синтеза проекта может быть выполнена верификация описания проекта. В основе верификации описания проекта лежит моделирование его работы при имитации различных внешних воздействий. Если при моделировании не учитываются задержки распространения сигналов, то такое моделирование называется функциональным. Существует два подхода к генерации внешних, относительно проекта, воздействий. Первый подход заключается в формировании воздействий путем задания последовательности входных сигналов в редакторе временных диаграмм. Второй подход состоит в написании специальной тестирующей программы с помощью одного из языков HDL. При использовании второго подхода тестируемый объект представляется как структурный компонент, соединенный с одной стороны с генератором тестовых воздействий, с другой стороны с анализатором реакций. Пакет Quartus II поддерживает реализацию обоих подходов. Верификация может быть выполнена как для отдельных частей проекта, так и для проекта в целом. Для выполнения этапа верификации также могут привлекаться средства моделирования, разработанные сторонними производителями САПР.

2.2. Размещение и трассировка. Модуль компилятора Quartus II , реализующий этот этап проектирования, называется Fitter. Он использует базу данных, созданную на предыдущем этапе модулем анализа и синтеза компилятора. Модуль Fitter осуществляет монтаж проекта в структуру выбранного кристалла программируемой логики. То есть, полученная на этапе синтеза модель полного представления проекта в техническом базисе кристалла отображается на внутренние ресурсы ПЛИС, которыми являются конфигурируемые логические блоки, блоки встроенной памяти, встроенные умножители и устанавливаются соответствующие соединения с помощью ресурсов трассировки кристалла. Модуль размещения и трассировки подбирает для каждой логической функции подходящее место на кристалле, с точки зрения уменьшения времени распространения сигнала, выполняет соответствующие соединения и назначения контактов ввода-вывода. Рис. 1.3.2. демонстрирует реализацию этапа размещения и трассировки. Исходными файлами для выполнения этапа являются файлы с расширением .cdb, созданные после выполнения синтеза компилятором и файлы с установками, имеющие расширение .qsf. На выходе получаются файлы отчета о компиляции (.rpt, .htm) и обновленная база данных [4].

Рис. 1.3.2. Этап размещения и трассировки проекта в Quartus II
При выполнении этапа размещения и трассировки пользователь может задать свои собственные назначения. Модуль размещения и трассировки реализует их, а затем выполняет оптимизацию оставшейся части проекта. После выполнения монтажа, пользователь может просмотреть результаты размещения и трассировки с помощью специального средства Chip Planner и, в случае необходимости, изменить некоторые назначения.

Результатом компиляции проекта в пакете Quartus II является загрузочный файл, т.е. конфигурационная информация для выбранной микросхемы ПЛИС или для загрузочного ПЗУ этой интегральной схемы. Также создается файл отчета, содержащий информацию, как о процессе компиляции, так и о его результатах.

В пакете Quartus II имеется специальное средство Resource Property Editor, называемое редактором топологии, с помощью которого можно вручную вмешаться в процесс компиляции и изменить структуру проекта на кристалле, например, с целью повышения производительности проектируемого устройства.

2.3. Временной анализ. Проверка соответствия реализованного проекта требованиям быстродействия.

2.4. Анализ потребляемой мощности. Проверка соответствия реализованного проекта требованиям по потребляемой мощности.

4. Временное моделирование на вентильном уровне. Осуществляется проверка правильности функционирования проекта после выполнения этапов синтеза, размещения и трассировки.

5. Программирование ПЛИС. Выполняется загрузка конфигурационной информации в программируемый кристалл, посредством чего реализуется пользовательский проект.

6. Тестирование и отладка проекта в составе системы. Проводятся комплексные испытания реализованного проекта, в результате чего принимается решение о соответствии проекта техническому заданию и завершении проектирования. В противном случае принимается решение о доработке проекта.

следующая страница >>