MAX+PLUS II предлагает большое разнообразие мегафункций, включая LPM функции а также параметризуемые функции. Ниже приводится список мегафункций.
| Вентили
| |||
| lpm_and | lpm_inv | ||
| lpm_bustri | lpm_mux | ||
| lpm_clshift | lpm_or | ||
| lpm_constant | lpm_xor | ||
| lpm_decode | mux | ||
| busmux |
| Арифметические компоненты
| |||
| lpm_abs | lpm_counter | ||
| lpm_add_sub | lpm_mult | ||
| lpm_compare |
| Запоминающие компоненты
| |||
| csfifo | lpm_ram_dq | ||
| csdpram | lpm_ram_io | ||
| lpm_ff | lpm_rom | ||
| lpm_latch | lpm_dff | ||
| lpm_shiftreg | lpm_tff |
| Другие функции
| |||
| clklock | pll | ||
| ntsc |
| Функции Мегаядра
| |||
| a16450 | a8255 | ||
| a6402 | fft | ||
| a6850 | rgb2ycrcb | ||
| a8237 | ycrcb2rgb | ||
| a8251 |
Мегафункция - сложный или высокоуровневый строительный блок, который можно использовать совместно с примитивами вентилей и триггеров и/или с макрофункциями старого типа в файлах проекта.
Altera поставляет библиотеку мегафункций, включая функции из библиотеки параметризуемых модулей (LPM) версии 2.1.0, в директории \maxplus2\max2lib\mega_lpm, созданной во время инсталляции.
Для просмотра файла, содержащего логику мегафункции, укажите символ мегафункции в графическом редакторе или ее имя в текстовом редакторе и выберите Hierarchy Down (меню File).
Библиотека параметризуемых функций (LPM) - технологически-независимая библиотека логических функций, параметризуемая для достижения масштабируемости и адаптируемости. Altera реализовала параметризуемые модули (называемые также параметризуемые функции) из LPM в версии 2.1.0, которые предлагают архитектурно-независимый ввод проекта для всех, поддерживаемых MAX+PLUS II устройств. Компилятор включает встроенную поддержку компиляции LPM для функций, используемых во входных файлах (схемном, AHDL, VHDL, и EDIF).
Параметризуемая функция - логическая функция, использующая параметры для достижения масштабируемости, адаптируемости и эффективной реализации в кремнии.
Имя порта |
Необходим |
Описание |
Комментарии |
data[][] |
Да |
Вход данных в вентиль И |
Размер порта LPM_SIZE x LPM_WIDTH |
Имя порта |
Необходим |
Описание |
Комментарии |
result[] |
Да |
Побитовое И. |
Размер порта LPM_WIDTH. |
Параметр |
Тип |
Необходим |
Описание |
LPM_WIDTH |
Целый |
Да |
Ширина портов data[][] и result[]. Количество AND вентилей. |
LPM_SIZE |
Целый |
Да |
Количество входов в каждый AND вентиль. Количество входных шин. |
Входы |
Выходы |
data[LPM_SIZE-1]_[LPM_WIDTH-1] |
result[LPM_WIDTH-1] |
0XXX... |
0 |
X0XX... |
0 |
XX0X... |
0 |
... |
... |
1111... |
1 |