Среда разработки Quartus II (Altera)
Схемы разработки программного обеспечения. Понятие проекта - пакет Quartus II. Ввод описания проекта в среде Quartus II. Создание файла верхнего уровня проекта. Описание на языке AHDL. Компилятор, описание с использованием мастера мегафункций MegaWizard.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 03.04.2011 |
Размер файла | 897,8 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
· после перемещения в правое подокно всех необходимых при моделировании узлов необходимо нажать кнопку «ОК». Появляется окно «Вставить узел или шину» (Insert Node or Bas) в котором тоже необходимо нажать кнопку «ОК». После этого в файле временных диаграмм проекта появляются оси для всех вышеуказанных сигналов.
· оси файла временных диаграмм, предназначенные для введения входных сигналов остаются пустыми (не заполненными). Оси, предназначенные для отображения выходных сигналов, соответствуют неопределенным значениям;
· на временных диаграммах присутствует вертикальная линия временного маркера, который изображен в виде сплошной цветной линии. Положение этого маркера можно изменять, используя курсор. Значение сигналов, соответствующее текущему положению курсора, отображается в столбце с именем « Значение в ХХ момент времени» (Value at XX), где XX - время, соответствующее текущему положению маркерной линии. Если на временных диаграммах необходимо отметить некоторые базовые моменты времени, это можно сделать, используя команду «Ввести временную метку» (Insert Time Bar) меню «Редактировать» (Edit). Открывается окно «Ввести временную метку» (Insert Time Bar) (Рис.58). в данном окне необходимо выбрать время, соответствующее базовому моменту времени и единицу его измерения. После нажатия кнопки «ОК» пунктирная линия, соответствующая введенному времени, появится на временных диаграммах. Теперь при перемещении маркерной линией над ней будет отображаться текущее время моделирования, а над линиями базовых моментов времени, их расстояние (длительность временного интервала) от маркерной линии;
· при необходимости, любую из введенных линий базовых моментов времени, можно преобразовать в маркерную линию. Для этого на расположенный в верхней части линии необходимо навести курсор и нажать правую кнопку мыши. Появляется окно, позволяющее:
> удалить линию времени (Delete);
> использовать данную линию как маркерную (Make Master Time Bar);
> ввести линию времени (Insert Time Bar);
> вызвать окно органайзера временных линий (Time Bar Organizer), позволяющее переназначить основные параметры линий времени.
> Выполнить масштабирование временных диаграмм (Zoom).
Рассмотренная методика позволяет ввести в файл временных диаграмм любое количество используемых при моделировании проекта входных и выходных сигналов.
Используя окно «Вставить узел или шину» (Insert Node or Bas) можно произвольно ввести в файл временных диаграмм нужные сигналы. Для этого достаточно в графе «Имя» (Name) ввести название требуемого сигнала , а в последующих строках определить его основные параметры.
5.5 Определение параметров моделирования
Система Quartus II позволяет выполнить моделирование, как всего проекта, так и его любой составной части. Типовые параметры по умолчанию задаются системой моделирования автоматически при создании нового проекта. При необходимости, эти параметры можно отредактировать. Этой цели служить окно «Свойства системы моделирования» (Simulator Tool), вызываемое из раздела «Свойства» (Tools) главной командной строки системы.
Данное окно позволяет определить следующие параметры моделирования проекта:
· выбрать тип моделирования проекта (Simulation mode) - функциональное (Functional) или учитывающее временные параметры выбранного типа ПЛИС (Timing)$
· выбрать имя файла, содержащего вектор входного воздействия для моделирования (Simulation Input). По умолчанию, это имя файла верхнего уровня проекта. При необходимости, имя требуемого файла можно найти, используя кнопку в правой части окна имени;
· раздел «Область моделирования» (Simulation Period) позволяет задать моделирование либо на всем заданном интервале (Run simulation until all vector stimuli are used), либо задать время окончания моделирования не совпадающее с временем, определенном в файле временных диаграмм (End simulation at…). В последнем случае задаются значение времени окончания моделирования и единица его измерения;
· раздел «Варианты выбора условий моделирования» (Simulation options) позволяет определить:
> функцию (режим) автоматического добавления к временным диаграммам выходных выводов проекта (Automatically add pins to simulation output waveform);
> режим проверки выходов (Check outputs);
> режим перезаписи исходного файла моделирования с учетом результатов его выполнения (Overwrite simulations input file with simulations results) Если этот режим не задан, то файл входных воздействий сохраняется неизменным, то есть одновременно существует и исходный файл и файл с результатами моделирования;
> режим генерации файла активных сигналов (Generate signal activity file). В этом случае создается файл - «Имя проекта. saf» Signal Activity Files. Это текстовый файл в формате ASСII, содержащий информацию о частоте переключения и данные о статической вероятности для проекта. Этот файл используется при анализе энергетических характеристик проекты модулем PowerPlay Power Analysis системы.
5.6 Моделирование проекта
Запустить процесс моделирования проекта можно двумя различными способами:
· в меню «Обработка» (Processing) вызвать команду «Запуск моделирования» (Start Simulation);
· в меню «Свойства» (Tools) вызвать команду «Свойства системы моделирования» (Simulation Tolls) и в открывшемся окне нажать кнопку «Пуск» (Start).
В обоих случаях начинается процесс моделирования, который, в случае успешного выполнения, заканчивается появлением окна, показанного на.
При первом способе запуска процесс моделирования заканчивается отображением в главном окне системы файла с отчетом о моделировании (Simulation Report) в левой части которого приведены временные диаграммы, поясняющие работу проекта при заданных входных воздействиях.
При втором методе запуска для получения требуемых временных диаграмм необходимо нажать кнопку «Открыть» (Open).
Примечание: Следует помнить, что последовательность действий, выполняемая при запуске процесса моделирования, зависит от ее исходных установок. Если выполняется функциональное моделирования, то перед запуском системы моделирования необходимо создать список соединений проекта. Для этого в окне «Свойства системы моделирования» (Simulation Tools) необходимо нажать кнопку «Создать файл со списком соединений для функционального моделирования» (Generate Functional Simulations Netlist). После его создания запускается система моделирования. Если выполняется моделирование с учетом временных параметров выбранной ПЛИС, создание файла со списком соединений не требуется и сразу запускается система моделирования.
Моделирование проекта выполняется в фоновом режиме. Поэтому во время моделирования возможна работа с другими окнами системы или с другими программами, работающими под операционной системой.
Во время моделирования, так же как и на интервале компиляции, работает процессор сообщений, формируя информационные сообщения, предупреждения и сообщения об ошибках.
Арии анализе полученных результатов, измеряя длительности различных процессов, удобно использовать линии времени, а так другую информацию, содержащуюся в файле отчета о моделировании (Simulation Report)/
Если в поле временных диаграмм или названий сигналов нажать правую кнопку мыши, появится окно, позволяющее редактировать временные диаграммы.
Доступны операции копирования, удаления создания групп сигналов и т.д.
6. Задание исходных условий для проектирования
6.1 Задание исходных условий для проектирования
После того, как созданы проект и схема устройства, для задания ее начальных параметров, таких как назначение контактов, опции устройства, логики и временных параметров, можно использовать реализованные в Quartus II окна «Установок» (Settings) (меню Assignments), «Редактора назначений» (Assignment Editor) и «Редактора общей топологии структуры» (Floorplan Editor). При необходимости Вы можете импортировать необходимые параметры с помощью команды Import Assignment (меню Assignment) или экспортировать их командой Export (пункт меню File). Также можно импортировать параметры из EDA synthesis tool, используя Tcl команды или сценарии. ПО Quartus II снабжен встроенным помощником - Timing Wizard (меню Assignment), указывающим начальные временные параметры схемы. Многие параметры доступные через команду Assign в быстром меню MAX+PLUS II могут быть также выполнены с помощью Assignment Editor и окна Settings.
6.2 Использование редактора назначений
Редактор назначений (Assignment Editor) - это интерфейс, предназначенный для задания требований к разрабатываемому устройству на уровне проекта в целом. Он позволяет предварительно оговорить такие требования к устройству, как требования к его размещению на кристалле ПЛИС, стандарту используемого ввода-вывода информации, временным параметрам, логическим опциям (logic option), параметрам моделирования (симуляции), а так же выполнить предварительное назначение контактов ПЛИС. В общем случае окно редактора состоит из пяти закладок. Первая (Category) позволяет выбрать параметр, изменение или задание которого Вы хотите произвести. Вторая - «Мастер назначения узлов» (Node Fitter) позволяет задать новые узлы в схеме, предназначенные, как правило, для проверки ее параметров или работоспособности. Третья часть окна (Information) предназначена для выдачи справочной информации по выбранной категории параметров устройства. Четвертая часть предназначена для редактирования параметров (Edit). В пятой части отображены сами выбранные параметры устройства.
При желании любая из перечисленных закладок схемы может быть закрыта или вновь открыта с использованием управляющих кнопок, расположенных в левой части окна проекта.
Общая методика работы с окном редактора назначений заключаеится в следующем:
1. Открыть Assignment Editor.
2. Выбрать необходимую категорию в закладке Category.
3. Указать соответствующий узел или блок в закладке Node Filter или использовать Node Finder для поиска необходимого узла или объекта.
4. В таблице, которая отображает текущие назначения для схемы добавить новую или изменить существующую информацию о назначениях.
Проиллюстрируем данную методику на примере назначения выводов ПЛИС.
Если перед выполнением компиляции выводы ПЛИС на которые необходимо вывести входные и выходные сигналы небыли заданы, компилятор автоматически выполняет соответствующие назначения. Эти назначения можно посмотреть в отчете компилятора. Доступ к этим данным возможен по цепочке Tools > Compiler Tool > кнопка Fitter Report в закладке Fitter и далее по тексту отчета до разделов входные(Input Pins) пи выходные (Output Pins) выводы. К этим же данным приводит цепочка: Tools > Compiler Tool > Report > Fitter > Resource Section и далее разделы Input Pins, Output Pins или All Package Pins.
7. Программирование ПЛИС
7.1 Общие сведения о программировании ПЛИС
В процессе проектирования ПЛИС САПР формирует файлы конфигурации. В течение длительного времени единственным форматом таких файлов являлся международный стандарт JEDEC, обеспечивающий совместимость с устройствами прошивки ПЛИС - программаторами. Однако для некоторых новых микросхем используются либо специфические (как для ПЛИС семейств MAX7000/9000), либо стандартные (например, шестнадцатеричные HEX для ПЛИС семейств FLEX 8000/10K) форматы.
Завершающим этапом изготовления специализированной БИС на основе ПЛИС является загрузка конфигурации в микросхему. В зависимости от технологии ПЛИС различают два варианта реализации этого процесса:
§ технологическое программирование;
§ инициализация.
Технологическое программирование производится для ПЛИС, изготовленных по технологии ТТЛШ или КМОП с ультрафиолетовым (EPROM), или электрическим (EEPROM) стиранием и обладающих способностью сохранять конфигурацию (прошивку) при отсутствии напряжения питания. Как правило, технологическое программирование требует наличия программатора, что увеличивает стоимость применения ПЛИС и снижает возможности перехода на новые типы микросхем. Для решения этой проблемы ведущие производители ПЛИС начали выпуск микросхем по технологии EEPROM или FLASH, программируемых непосредственно на печатной плате (ISP - in system programmable) благодаря встроенному порту в стандарте JTAG (IEEE Std. 1149.1 Joint Test Action Group). Программирование и стирание таких ПЛИС осуществляется через четырёхразрядный интерфейс, обычно подключаемый к последовательному или параллельному портам компьютера (табл. 1).
Разряд |
Описание |
Функция |
|
TDI |
Вход данных |
Последовательный вход данных; данные сдвигаются по переднему фронту TCK. |
|
TDO |
Выход данных |
Последовательный выход данных; данные сдвигаются по заднему фронту TCK. |
|
TMS |
Выбор режима |
Вход контроля конечного автомата, реализующего стандарт IEEE 1149.1 JTAG.Данные обновляются по переднему фронту TCK. |
|
TCK |
Тактовый сигнал |
Обеспечивает синхронизацию JTAG-интерфейса; максимальная тактовая частота 10 MHz. Вход находится в состоянии логической единицы в процессе нормального функционирования микросхемы. |
Функцией ISP обладают ПЛИС семейств MAX9000, MAX7000S, FLASHlogic. Следует отметить, что ПЛИС с энергонезависимой прошивкой выдерживают в среднем 100 циклов стирания/записи.
Инициализация характерна для ПЛИС, изготовленных по технологии статического ОЗУ (SRAM): они сохраняют конфигурацию только при наличии напряжения питания и выдерживают неограниченное число циклов перепрограммирования (более 105 раз). Поэтому при применении таких устройств необходимо предусмотреть возможность загрузки конфигурации в ПЛИС после включения устройства.
Как правило, существуют два протокола этой процедуры: активный и пассивный. В активном режиме данные хранятся в последовательном или параллельном ПЗУ или флэш-памяти, а процессом инициализации управляет сама ПЛИС. В пассивном режиме функции загрузки обеспечивает внешнее интеллектуальное устройство (процессор или микроконтроллер), частным случаем которого может быть и сам компьютер. Инициализация свойственна, например, ПЛИС семейств FLEX8000 и FLEX10K. Микросхемы фирмы Altera поддерживают шесть различных схем конфигурации памяти (табл. 2).
Режим конфигурации |
Источник данных |
|
Активная последовательная |
Последовательное ПЗУ |
|
Активная параллельная с ростом адресов |
Параллельное ПЗУ(EPROM, EEPROM, FLASH) |
|
Активная параллельная с уменьшением адресов |
||
Пассивная последовательная |
Последовательное ПЗУ; специализированные аппаратные средства*; контроллер системы, в которую интегрирована ПЛИС. |
|
Пассивная параллельная синхронная |
Контроллер системы, в которую интегрирована ПЛИС. |
|
Пассивная параллельная асинхронная |
к специализированным аппаратным средствам относятся загрузочные кабели фирмы Altera: BitBlaster, ByteBlasterMV, а также FLEX DownLoad Cable, подключаемый к фирменному программатору ASAP.
7.2 Программирование в среде Quartus II
Во время компиляции модуль Assembler системы Quartus II генерирует файлы, которые модуль программирования (Programmer) Quartus II может использовать для программирования или конфигурирования устройства при помощи аппаратных средств программирования компании Altera. Для этой цели также можно использовать автономную версию ПО Quartus II Programmer. На Рис. 1. показана общая структура процесса проекта программирования.
Рис. 1. Структура процесса программирования
Ассемблер автоматически преобразовывает результаты компоновки логических ячеек и назначения контактов в программный образ устройства в виде одного или нескольких объектных файлов Programmer Object (.pof) или объектных SRAM файлов (.sof). При этом модуль Assembler системы Quartus II можно запускать либо в рамках полной компиляцию проекта, либо запускать его отдельно через командную строку или используя скрипт (исполняемый файл) quartus_asm.
Quartus II Fitter должен быть запущен до начала запуска ассемблера.
Исполняемый файл quartus_asm создает отдельный текстовый файл отчёта, который может быть просмотрен в любом текстовом редакторе.
Можно заставить модули Assembler или Programmer создать программные файлы в других форматах используя один из следующих методов:
§ Диалоговое окно Device & Pin Options, которое доступно через страницу Device диалогового окна Settings (меню Assignments), позволяет указывать дополнительные форматы программного файла. Например, такие как шестнадцатеричные (формат Intel) выходные файлы (.hexout), табличные текстовые файлы (.ttf), необработанные двоичные файлы (.rbf), файлы Jam™ (.jam), файлы Jam Byte-Code (.jbc), файлы Serial Vector Format (.svf) файлы системной конфигурации (.isc).
§ Команда Create/Update > Create JAM, SVF или ISC File (меню File) генерирует файлы Jam, Jam Byte-Code, Serial Vector Format или системные файлы конфигурации.
§ Команда Create/Update > Create/Update IPS File (меню File) показывает диалоговое окно ISP CLAMP State Editor, который позволяет создавать или обновлять файлы состояния контактов ввода-вывода (I/o Pin State) (.ips), которые содержат информацию о состоянии контактов для определенных устройств, используемых для конфигурирования состояний контактов в течение программирования.
§ Команда Convert Programming Files (меню File) объединяет и преобразует SOF и POF одного или нескольких проектов в другие вторичные форматы программных файлов. Например, такие как файлы Raw Programming Data (.rpd), файлы HEXOUT для EPC16 или SRAM, POFs, POFs для локального или удалённого обновления, файлы Raw Binary, табличные текстовые файлы, файлы JTAG Indirect Configuration (.jic) и файлы Flash Loader Hexadecimal (.flhex).
Эти вторичные программные файлы могут использоваться в средах программирования со встроенными типами процессоров и для некоторых типов ПЛИС Altera, с использованием других аппаратные средства программирования.
Модуль Programmer использует POF и SOF файлы, сгенерированные ассемблером для программирования или конфигурирования всех устройств Altera, поддерживаемых ПО Quartus II. Модуль Programmer используется с программируемыми аппаратными средствами Altera такими как MasterBlaster™, ByteBlasterMV™, ByteBlaster™ II, USB-Blaster™, дата-кабелем EthernetBlaster или программируемым модулем (Programming Unit) Altera (APU).
Если необходимо использовать только Quartus II Programmer, то можно установить его автономную версию quartus_pgmw вместо полной установки ПО Quartus II.
Модуль Programmer позволяет создавать файл описания цепи (.cdf), который содержит названия и опции устройств, используемых в проекте. Также он может открывать JTAG файлы цепей MAX+PLUS II (.jcf) или файлы цепи FLEX (.fcf) и сохранять их в Quartus II Programmer как файлы типа CDF.
Для некоторых режимов программирования, которые допускают мульти программирование или конфигурирование, CDF также определяет нисходящую сортировку для SOF, POF, файлов Jam, Jam-Byte и устройств, используемых в проекте, а так же порядок устройств в цепи.
Подсистема программирования (Programmer) позволяет выполнить так же следующие операции с конфигурационными ПЗУ ЕРС2 типа EEPROM:
§ IBlanc-check - проверка отсутствия в микросхеме записанной конфигурационной информации;
§ IExamine - считывание конфигурационной информации из микросхемы;
§ IVerify - сравнение конфигурационной информации, считанной из микросхемы ПЗУ, с информацией из файла программирования.
Программатор может использоваться для конфигурирования одной или нескольких ПЛИС. При этом для конфигурирования ПЛИС типа APEX20K могут использоваться последовательный пассивный режим (Passive Serial configuration mode) или режим JTAG (JTAG mode)
В режиме JTAG может быть выполнено конфигурирование одной или нескольких ПЛИС. Порядок конфигурирования в этом случае задается в окне подсистемы программирования.
Как было указано ранее, используемый лабораторный стенд поддерживает PS-режим конфигурирования с использованием устройства ByteBlasterMV, собранного непосредственно на плате ПЛИС.
Практическое программирование выполняется в следующей последовательности.
7.2.1 Запуск подсистемы программирования
Для подготовки к программированию или конфигурированию ИС первоначально необходимо открыть окно программатора и создать файл описания схемы или цепочки конфигурирования (Chain Description File - ***.cdf). В этом файле хранится информация о семействе и типе ИС, а так же об используемых настройках устройства конфигурирования. Файлы ***.cdf используются для программирования или конфигурирования одной или нескольких ПЛИС в цепочке JTAG (JTAG chain) или в последовательной пассивной цепочке (Passive Serial chain).
Создание файла ***.cdf выполняется в следующей последовательности%
§ В меню “Файл” (File) выбирается команда “Новый” (New);
§ В диалоговом окне “Новый” (New) выбирается вкладка “Другие файлы” (Other Files);
§ Из списка “Другие файлы” (Other Files) выбирается строка “Описание схемы конфигурирования” (Chain Description File) и нажимается кнопка “OK”. Появляется окно с именем Chain1.cdf, показанное на рис. 2.
Рис. 2. Окно файла ***.cdf
§ Созданный файл сохраняется с использованием команды “Записать как” (Save As) меню “Файл” (File). При этом в поле имени файла задается имя, соответствующее текущему проекту. Обратите внимание, чтобы в списке сохраняемых файлов был выбран тип файла Chain Description File (.cdf) , а рядом с окошком “Добавить файл к текущему проекту ” (Add file to current project) присутствовала галочка;
7.2.2 Назначение средств программирования
Ранее было отмечено, что система Quartus II может поддерживать как несколько режимов программирования, так и ряд технические средства, разработанных фирмой Altera для конфигурирования ПЛИС различных типов. Ниже остановимся только на тех их них, которые могут быть реализованы с использованием описанного выше лабораторного стенда.
Назначение средств программирования выполняется в следующей последовательности:
§ Открывается созданный ранее файл с именем ***.cdf (см. рис.8.9.);
§ В строке «Режим» (Mode) - на рис.8.9. в этой строке ранее был записан режим JTAG - выбирается последовательный пассивный режим программирования (Passive Serial);
§ Для выбора аппаратных средств программирования необходимо щелкнуть по клавише «Установка аппаратных средства программирования» (Hardware setup), после чего появляется окно, показанное на рис.8.10. В этом окне необходимо последовательно нажать кнопки «Задание аппаратных средств» (Hardware Setting) и «Добавление аппаратных средств программирования» (Add Hardware). После нажатия клавиши «Добавление аппаратных средств программирования» (Add Hardware) появляется дополнительное окно с перечнем доступных аппаратных средств программирования. (рис. 3).
Рис. 3. Окно выбора аппаратных средств программирования.
Рис. 4.Окно добавления аппаратных средств программирования
§ В открывшемся окне раскрыть закладку «Тип аппаратного средства программирования» (Hardware type) и выбрать в открывшемся списке строку «ByteBlasterMV or ByteBlaster II»;
§ Раскрыть закладку «Порт» (Port) этого же окна и в ней указать название порта, к которому подключено устройство программирования. В нашем случае это порт LPT1. В этом окне, при необходимости, можно выбрать и другие параметры программирования, например скорость обмена информацией в бодах, имя используемого сервера и т.д.;
§ Для завершения задания параметров аппаратной части программирования необходимо нажать клавишу «ОК». При этом в окне Hardware setup появятся все заданные ранее параметры программирования (рис. 5.). Данное окно закрывается после нажатия клавиши «Закрыть» (Close).
Рис. 6. Окно выбора аппаратных средств программирования после задания параметров.
§ Для продолжения назначения параметров программирования в Окне файла
Рис. 7. Окно выбора файла программирования
***.cdf (см. рис.8.9.) необходимо выбрать строку «Добавить файл» (Add File) и в открывшемся окне «Выбор файла программирования (Select Programming File) (рис.8.13.) выделить для текущего проекта соответствующий файл ***.cdf , после чего нажать кнопку «Открыть» (Open);
§ Созданный файл ***.cdf необходимо записать используя команду «Запись» (Save) меню «Файл» (File);
§ При необходимости программирования нескольких ПЛИС для каждой из низ необходимо создать свой конфигурационный файл и добавить их в окно файлов ***.cdf (см.рис.8.9.)
Результирующий вид файла ***.cdf , предназначенного для программирования на стенде одной ПЛИС, приведен на рис.8.14. Кроме информации о типе используемых аппаратных средств в нем указан тип конфигурируемой ПЛИС и контрольная сумма файла.
Рис.8. Вид окна файла ***.cdf после задания параметров программирования.
7.2.3 Конфигурирование ПЛИС
Перед конфигурированием ПЛИС необходимо убедиться, что аппаратные средства конфигурирования подключены к соответствующему порту Вашего компьютера.
Для начала процесса программирования необходимо нажать кнопку «Старт» (Start) меню программирования файла***.cdf ,показанного на рис.8.14. О ходе выполнения конфигурирования можно судить по процентам выполнения, появляющимся в окне «Выполнение конфигурирования» (Progress). После успешного окончания конфигурирования система Quartus II выдаст соответствующее сообщение.
8. Использование мегафункций
8.1 Общие сведения
Программное обеспечение QUARTUS II, и язык AHDL поддерживают различные типы параметризированных модулей LPM функций (library of parameterized modules), а так же другие типы типовых стандартных функций (мегафункций) которые позволяют на ИС фирмы Альтера реализовать блоки контекстно-адресуемых (ассоциативной) (САМ), оперативных (RAM) и постоянных запоминающих устройств. Характерная для данного класса устройств, способная к наращиванию структура каждой из этих функций гарантирует, что Вы сможете использовать их для реализации любых типов контекстно-адресуемой памяти (CAM), оперативной (RAM) или постоянной (ROM) памяти.
Альтера рекомендует при реализации блоков CAM, RAM или ROM использовать либо описания разработанных ею специализированных мегафункций, либо редактировать их структуру с использованием МЕНЕДЖЕРА МЕГАФУНКЦИЙ (меню свойств - Tools menu). Для реализации блоков памяти Вы не должны создать собственную мегафункцию, или редактировать текстовый файл ее описания представленный фирмой Altera.
Список мегафункций, которые Вы можете использовать в программном обеспечении QUARTUS II для реализации блоков CAM, RAM или ROM перечислен в таблице 4.
Название мегафункции |
Описание мегафункции |
|
lpm_ram_dq |
Модуль синхронного или асинхронного оперативного запоминающего устройства (RAM) с отдельными портами входа и выхода. |
|
lpm_ram_io |
Модуль синхронного или асинхронного оперативного запоминающего устройства (RAM) с объединенным портом входа и выхода. |
|
lpm_rom |
Модуль синхронная или асинхронная постоянного запоминающего устройства (ROM). |
|
altsyncram |
Модуль реального (истинного, булевого) оперативного запоминающего устройства (RAM) с двумя портами. |
|
lpm_ram_dp |
Модуль оперативного запоминающего устройства (RAM) с двумя портами. |
|
altdpram |
Модуль оперативного запоминающего устройства (RAM) с двумя портами. |
|
altqpram |
Модуль оперативного запоминающего устройства (RAM) с четырьмя портами. |
|
lpm_fifo_dc |
Буфер FIFO памяти с двумя входами синхронизации (буфер обратного магазинного типа - первым вошел - первым вышел) |
|
lpm_fifo+ |
Буфер FIFO памяти с одним входом синхронизации |
|
altcam |
Модуль контекстно-адресуемой (ассоциативной) памяти (САМ) |
В перечисленных функциях, внутренние параметры используются для задания основных характеристик устройства к которым, например, относится информация о разрядности входных и выходных данных; объеме памяти, информация о том зарегистрированы или нет выводы входных данных, адреса, управления и выходных данных, должен ли исходный файл содержания памяти быть включен для блока оперативной памяти; и так далее. Вы должны объявить названия параметров и их значения для реализуемых типов памяти в соответствии с рекомендациями производителя (Using Altera-Provided Parameterized Functions.).
Среда Quartus II включает большую библиотеку, содержащую 72 стандартные макрофункции, описывающие наиболее часто встречающиеся алгоритмы преобразования логических сигналов. Ниже рассмотрены основные мегафункции, предназначенные для реализации различных математических операций. К ним относятся:
- Мегафункция lpm_add_sub (сумматор/вычитатель);
- Мегафункция parallel_add (параллельный сумматор);
- Мегафункция lpm_mult (умножитель);
- Мегафункция lpm_divide (делитель).
8.2 Основные мегафункции
Параметризованная функция сложения/вычитания. Altera® рекомендует использовать функцию lpm_add_sub для замены остальных функций сложения/вычитания.
Позволяет генерировать модель clear box*, которая может быть синтезирована с помощью инструментов синтеза сторонней САПР-электроники.
Прототип функции на языке AHDL (те же имена портов и их последовательность используются в Verilog HDL):
FUNCTION lpm_add_sub (cin, dataa[LPM_WIDTH-1..0], datab[LPM_WIDTH-1..0], add_sub, clock, aclr, clken )
WITH (LPM_WIDTH, LPM_REPRESENTATION, LPM_DIRECTION, ONE_INPUT_IS_CONSTANT, LPM_PIPELINE, MAXIMIZE_SPEED,
USE_WYS )
RETURNS (result[LPM_WIDTH-1..0], cout, overflow );
Объявление компонент на языке VHDL:
COMPONENT lpm_add_sub
GENERIC
(LPM_WIDTH : NATURAL; -- MUST BE GREATER THAN 0
LPM_DIRECTION : STRING := "UNUSED";
LPM_REPRESENTATION : STRING := "SIGNED";
LPM_PIPELINE : NATURAL := 0;
LPM_TYPE : STRING := "LPM_ADD_SUB";
LPM_HINT : STRING := "UNUSED" );
PORT (dataa, datab : IN STD_LOGIC_VECTOR(LPM_WIDTH-1 DOWNTO 0);
aclr, clock, : IN STD_LOGIC := '0';
clken, add_sub : IN STD_LOGIC := '1';
cin : IN STD_LOGIC := 'Z';
result : OUT STD_LOGIC_VECTOR(LPM_WIDTH-1 DOWNTO 0);
cout, overflow : OUT STD_LOGIC );
END COMPONENT;
Объявление использования библиотеки на VHDL:
LIBRARY lpm;
USE lpm.lpm_components.all;
Описание портов:
Входные порты:
Имя порта |
Обяза-тельность |
Описание |
Примечание |
|
Cin |
Нет |
Входной сигнал переноса для младшего бита. |
Для операций сложения, значение по умолчанию 0, для операций вычитания - 1. |
|
dataa[] |
Да |
Первое слагаемое/уменьшаемое |
Входной порт размерности LPM_WIDTH. |
|
datab[] |
Да |
Второе слагаемое/вычитаемое |
Входной порт размерности LPM_WIDTH. |
|
add_sub |
Нет |
Если сигнал высокого логического уровня, операция = dataa[]+datab[]+cin. Если низкого, - dataa[]-datab[]+cin-1. |
Если используется параметр LPM_DIRECTION, add_sub не может быть применен. Если не указан, по умолчанию "ADD". Altera рекомендует использовать параметр LPM_DIRECTION для точного определения операции функции lpm_add_sub вместо присваивания константы порту add_sub. |
|
clock |
Нет |
Тактовая частота для конвейерного использования. |
Порт тактовой частоты обеспечивает конвейерные операции для функции lpm_add_sub. Для отличных от 0 значений LPM_PIPELINE (значение по умолчанию), порт тактовой частоты должен быть подключен. |
|
clken |
Нет |
Разрешение подачи тактовых импульсов для конвейерного использования. |
Если не указан, значение по умолчанию 1. |
|
Aclr |
Нет |
Асинхронный сброс для конвейерного использования. |
Конвейер инициализируется в неопределенный (X) логический уровень. Порт aclr может быть использован в любое время для полного сброса конвейера в 0, асинхронно с сигналом тактовой частоты. |
Выходные порты:
Имя порта |
Обяза-тельность |
Описание |
Примечание |
|
result[] |
Да |
dataa[]+datab[]+cin или dataa[]-datab[]+cin-1. |
Выходной порт размерности LPM_WIDTH. |
|
Cout |
Нет |
Выходной сигнал переноса (заем) из старшего двоичного разряд |
Порт cout физически интерпретируется как сигнал переноса (заем) из старшего двоичного разряда. Данный порт самый существенный для обнаружения переполнения в беззнаковых ("UNSIGNED") операциях. Порт одинаково функционирует со знаковыми ("SIGNED") операциями и операциями без знака. |
|
overflow |
Нет |
Результат превышает доступную точность2. |
Порт overflow (переполнение) физически интерпретируется как результат операции исключающего ИЛИ входного и выходного сигналов переноса для старшего двоичного разряда. Переполнение существенно, только когда параметр LPM_REPRESENTATION имеет значение "SIGNED". |
Выводы
Программное обеспечение Altera Quartus II предоставляет полную мультиплатформенную среду проектирования, которая может быть легко перенастроена под конкретные требования. Это идеальная среда для проектирования на основе ПЛИС законченных систем на кристалле (SOPS). Программное обеспечение Quartus II включает в себя средства для всех фаз проектирования с применением ПЛИС как FPGA, так и CPLD структур.
Литература:
1. Антонов А.П. Язык описания цифровых устройств AlteraHDL. Практический курс.- М.: РадиоСофт, 2001. - 224с.
2. Стешенко В.Б. ПЛИС фирмы ALTERA: проектирование устройств обработки сигналов. - М.:ДОДЕКА, 2000. - 128с.
3. Стешенко В.Б. EDA. Практика автоматизированного проектирования радиоэлектронных устройств. - М.: Издатель Молгачева С.В., Издательство «Нолидж», 2002. - 768с.
4. Описания к лабораторным работам по курсу «СХЕМОТЕХНИЧЕСКОЕ ПРОЕКТИРОВАНИЕ ЭВС»
5. Методические описания по курсу «СХЕМОТЕХНИЧЕСКОЕ ПРОЕКТИРОВАНИЕ ЭВС».
Размещено на Allbest.ru
Подобные документы
Графический ввод схемы и симуляция в Quartus II. Основные логические элементы. Описание логических схем при помощи языка AHDL, его элементы. Зарезервированные ключевые слова. Моделирование цифровых схем с использованием параметрических элементов.
курсовая работа [1,7 M], добавлен 07.06.2015Разработка управляющего автомата процессора с жесткой логикой в САПР Quartus II. Построение схемы функциональной микропрограммы команды "Исключающее ИЛИ" в размеченном виде. Унитарное кодирование состояний автомата. Запись функций переходов и выходов.
курсовая работа [671,3 K], добавлен 04.11.2014Изучение среды разработки программного обеспечения "Pelles C". Создание проекта в рабочем каталоге. Исследование методов компиляции и запуска программ. Особенности их отладки посредством встроенного в среду отладчика. Отображение отладочной информации.
лабораторная работа [358,7 K], добавлен 03.10.2014Описание ключевых характеристик проекта создания хлебопекарни, фазы, задачи и необходимых для их выполнения ресурсы. Анализ и оптимизация плана проекта с использованием Microsoft Project, ввод данных в программу. Автоматическое выравнивание ресурсов.
контрольная работа [960,9 K], добавлен 02.06.2010Реализация задачи использования методики SDLC (управление жизненным циклом разработки программного обеспечения) при внедрении реальной системы информационных технологий. Описание проекта внедрения системы автоматической регистрации участников выставок.
реферат [585,1 K], добавлен 10.09.2010Описание комбинационных и последовательностных логических устройств, групповых операций, цифровых таблиц истинности с учетом архитектурных особенностей. Особенности языка AHDL. Зарезервированные ключевые слова. Реализация иерархического проекта.
реферат [2,2 M], добавлен 23.01.2014Оценка финансовой, стратегической ценности и уровня рисков проекта. Классификация проектов: "свой" заказчик, продукт под заказ, тиражируемый продукт, аутсорсинг. Организация процесса разработки программного обеспечения, методологии его проектирования.
презентация [82,8 K], добавлен 07.12.2013Суть и описание проекта (резюме бизнес-плана). Классификация программного обеспечения для управления проектами. Функции программного обеспечения для календарного планирования. Календарное планирование. Управление затратами.
курсовая работа [192,2 K], добавлен 18.06.2007Модель этапа пост-архитектуры. Предварительная оценка программного проекта на основе LOC-метрик. Расчет затрат на разработку ПО. Стоимость, длительность разработки проекта на основе модели этапа пост-архитектуры конструктивной модели стоимости СОСОМО II.
курсовая работа [89,9 K], добавлен 29.09.2009Pascal - высокоуровневый язык программирования общего назначения и интегрированная среда разработки программного обеспечения для платформ DOS и Windows. Входная информация, требуемая для решения задачи и принятые обозначения; описание алгоритма.
курсовая работа [259,6 K], добавлен 18.01.2011