Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебники / Язык AHDL.DOC
Скачиваний:
56
Добавлен:
13.06.2014
Размер:
995.84 Кб
Скачать
      1. Реализация lcell & soft примитивов

Вы можете ограничить размер (масштаб) логического синтеза путем изменения переменных NODEнаSOFTиLCELLпримитивы.NODEпеременные иLCELLпримитивы обеспечивают наибольшее управление всем логическим синтезом.SOFTпримитивы не предусмотрены для управления всем логическим синтезом.

NODEпеременные, объявленные с помощью объявленияNodeв разделе Variable налагают несколько ограничений на логический синтез. Во время синтеза логический синтезатор заменяет каждый экземпляр переменнойNODEлогикой, которая представляет переменную. Затем он минимизирует логику для подгонки в одну логическую ячейку. Обычно этот метод дает самую большую скорость, но может приводить к слишком сложной логике.

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

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

MAX+PLUS II обеспечивает несколько логических опций, которые автоматически вставляют или удаляют SOFTиLCELLбуферы в соответствующих местах проекта.

Следующая иллюстрация демонстрирует два варианта TDF файла: один реализуется с помощью NODEпеременных, а другой сSOFTпримитивами. В nodevar переменная odd_parity объявлена какNODEи затем ей присвоено значение булева выражения d0 $ d1 $ ... $ d8. В softbuf компилятор замещает некоторыеSOFTпримитивы наLCELLпримитивы во время обработки для улучшения использования устройства.

TDF с NODE переменными: TDF с SOFT примитивами:

SUBDESIGN nodevar SUBDESIGN softbuf

( (

) )

VARIABLE VARIABLE

odd_parity : NODE; odd_parity : NODE;

BEGIN BEGIN

odd_parity = odd_parity =

d0 $ d1 $ d2$ SOFT(d0 $ d1 $ d2) $

d3 $ d4 $ d5$ SOFT(d3 $ d4 $ d5) $

d6 $ d7 $ d8; SOFT(d6 $ d7 $ d8);

END; END;

      1. Реализация ram & rom

MAX+PLUS II (и AHDL) снабжены несколькими LPM и мегафункциями, которые позволяют Вам реализовать RAM и ROM в устройствах MAX+PLUS II. Универсальная, масштабируемая природа каждой из этих функций гарантирует, что Вы можете использовать их для реализации любых поддерживаемых типов RAM или ROM в MAX+PLUS II.

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

Можно использовать следующие мегафункции для реализации RAM и ROM в MAX+PLUS II:

Имя

Описание

lpm_ram_dq

Синхронная или асинхронная память с раздельными портами ввода вывода

lpm_ram_io

Синхронная или асинхронная память с единственным портов I/O

lpm_rom

Синхронная или асинхронная память только для считывания

csdpram

Двухпортовая память

csfifo

Буфер FIFO

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