Целочисленные арифметические IP-ядра FPGA
Руководство пользователя по целочисленным арифметическим IP-ядрам Intel FPGA
Обновлено для Intel® Quartus® Prime Design Suite: 20.3
Онлайн-версия Отправить отзыв
УГ-01063
ID: 683490 Версия: 2020.10.05
Содержание
Содержание
1. Целочисленные арифметические IP-ядра Intel FPGA……………………………………………………………….. 5
2. LPM_COUNTER (Счетчик) IP-ядро………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………….. 7 2.1. Особенности…………………………………………………………………………………………………7 2.2. Прототип Verilog HDL…………………………………………………………………………………………………….. 8 2.3. Декларация компонента VHDL………………………………………………………………………….8 2.4. VHDL Library_use Declaration ……………………………………………………………………… 9 2.5. Порты……………………………………………………………………………………………………..9 2.6. Параметры…………………………………………………………………………………………… 10
3. LPM_DIVIDE (делитель) Intel FPGA IP Core………………………………………………………….. 12 3.1. Функции………………………………………………………………………………………………. 12 3.2. Прототип Verilog HDL ………………………………………………………………………………… 12 3.3. Декларация компонента VHDL…………………………………………………………………….. 13 3.4. Объявление VHDL LIBRARY_USE…………………………………………………………………. 13 3.5. Порты…………………………………………………………………………………………………… 13 3.6. Параметры…………………………………………………………………………………………… 14
4. IP-ядро LPM_MULT (множитель)…………………………………………………………………………. 16 4.1. Функции………………………………………………………………………………………………. 16 4.2. Прототип Verilog HDL ……………………………………………………………………………… 17 4.3. Декларация компонента VHDL…………………………………………………………………….. 17 4.4. Объявление VHDL LIBRARY_USE…………………………………………………………………. 17 4.5. Сигналы……………………………………………………………………………………………… 18 4.6. Параметры устройств Stratix V, Arria V, Cyclone V и Intel Cyclone 10 LP…………… 18 4.6.1. Общая вкладка …………………………………………………………………………………… 18 4.6.2. Вкладка Общие 2……………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………….. 19 4.6.3. Вкладка трубопровода ………………………………………………………………………………… 19 4.7. Параметры для устройств Intel Stratix 10, Intel Arria 10 и Intel Cyclone 10 GX……….. 20 4.7.1. Вкладка «Общие»…………………………………………………………………………………20 4.7.2. Вкладка Общие 2……………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………… 20 4.7.3 21. Трубопровод ………………………………………………………………………………………… XNUMX
5. LPM_ADD_SUB (сумматор/вычитатель)…………………………………………………………………… 22 5.1. Функции………………………………………………………………………………………………. 22 5.2. Прототип Verilog HDL………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………… 23 5.3. Декларация компонента VHDL…………………………………………………………………….. 23 5.4. Объявление VHDL LIBRARY_USE…………………………………………………………………. 23 5.5. Порты…………………………………………………………………………………………………… 23 5.6. Параметры…………………………………………………………………………………………… 24
6. LPM_COMPARE (Компаратор)…………………………………………………………………………… 26 6.1. Функции………………………………………………………………………………………………. 26 6.2. Прототип Verilog HDL…………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………… 27 6.3. Декларация компонентов VHDL…………………………………………………………………….. 27 6.4. Объявление VHDL LIBRARY_USE…………………………………………………………………. 27 6.5. Порты………………………………………………………………………………………………… 27 6.6. Параметры…………………………………………………………………………………………… 28
Руководство пользователя FPGA для целочисленных арифметических IP-ядер 2
Отправить отзыв
Содержание
7. ALTECC (Код исправления ошибок: Encoder/Decoder) IP Core …………………………………… 30
7.1. Возможности энкодера ALTECC…………………………………………………………………………..31 7.2. Прототип Verilog HDL (ALTECC_ENCODER)……………………………………………………. 32 7.3. Прототип Verilog HDL (ALTECC_DECODER)……………………………………………………. 32 7.4. Декларация компонента VHDL (ALTECC_ENCODER)………………………………………………33 7.5. Декларация компонента VHDL (ALTECC_DECODER)……………………………………………33 7.6. Объявление VHDL LIBRARY_USE…………………………………………………………………. 33 7.7. Порты энкодера…………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………33 7.8. Порты декодера………………………………………………………………………………………34 7.9. Параметры энкодера…………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………… 34 7.10. Параметры декодера ……………………………………………………………………………… 35
8. IP-ядро Intel FPGA Multiply Adder……………………………………………………………………. 36
8.1. Функции………………………………………………………………………………………………. 37 8.1.1. Предварительный сумматор……………………………………………………………………………….. 38 8.1.2. Регистр систолической задержки………………………………………………………………….. 40 8.1.3. Постоянная предварительная нагрузка………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………… к 43 8.1.4. Двойной аккумулятор……………………………………………………………………… 43
8.2. Прототип Verilog HDL ………………………………………………………………………………… 44 8.3. Декларация компонентов VHDL…………………………………………………………………….. 44 8.4. Объявление VHDL LIBRARY_USE…………………………………………………………………. 44 8.5. Сигналы……………………………………………………………………………………………… 44 8.6. Параметры…………………………………………………………………………………………… 47
8.6.1. Общая вкладка …………………………………………………………………………………… 47 8.6.2. Вкладка «Дополнительные режимы»………………………………………………………………………….. 47 8.6.3. Вкладка «Множители»………………………………………………………………………….. 49 8.6.4. Вкладка «Предер»………………………………………………………………………………. 51 8.6.5. Вкладка «Аккумулятор»………………………………………………………………………….. 53 8.6.6. Вкладка «Систолическое/цепное»………………………………………………………………………. 55 8.6.7. Вкладка конвейерной обработки………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………… 56
9. ALTMEMMULT (умножитель постоянного коэффициента на основе памяти) IP Core…………………… 57
9.1. Функции………………………………………………………………………………………………. 57 9.2. Прототип Verilog HDL ………………………………………………………………………………… 58 9.3. Декларация компонента VHDL…………………………………………………………………….. 58 9.4. Порты………………………………………………………………………………………………… 59 9.5. Параметры…………………………………………………………………………………………… 59
10. ALTMULT_ACCUM (умножение-накопление) IP Core……………………………………………… 61
10.1. Особенности…………………………………………………………………………………………….. 62 10.2. Прототип Verilog HDL……………………………………………………………………………..62 10.3. Объявление компонента VHDL ……………………………………………………………………… 63 10.4. Декларация VHDL LIBRARY_USE……………………………………………………………………63 10.5. Порты……………………………………………………………………………………………………. 63 10.6. Параметры……………………………………………………………………………………………. 64
11. ALTMULT_ADD (умножитель) IP Core…………………………………………………..69
11.1. Особенности…………………………………………………………………………………………….. 71 11.2. Прототип Verilog HDL…………………………………………………………………………..72 11.3. Объявление компонента VHDL ……………………………………………………………………… 72 11.4. Декларация VHDL LIBRARY_USE…………………………………………………………………72
Отправить отзыв
Руководство пользователя FPGA для целочисленных арифметических IP-ядер 3
Содержание
11.5. Порты……………………………………………………………………………………………………. 72 11.6. Параметры……………………………………………………………………………………………. 73
12. altmult_complex (сложный множитель) IP Core ………………………………………………… 86 12.1. Комплексное умножение………………………………………………………………………………. 86 12.2. Каноническое представление………………………………………………………………………… 87 12.3. Традиционное представление……………………………………………………………………. 87 12.4. Особенности…………………………………………………………………………………………….. 88 12.5. Прототип Verilog HDL……………………………………………………………………………..88 12.6. Объявление компонента VHDL ……………………………………………………………………… 89 12.7. Декларация VHDL LIBRARY_USE…………………………………………………………………89 12.8. Сигналы…………………………………………………………………………………………………. 89 12.9. Параметры……………………………………………………………………………………………. 90
13. ALTSQRT (целочисленный квадратный корень) IP Core………………………………………………………………92 13.1. Особенности…………………………………………………………………………………………….. 92 13.2. Прототип Verilog HDL……………………………………………………………………………..92 13.3. Объявление компонента VHDL ……………………………………………………………………… 93 13.4. Декларация VHDL LIBRARY_USE…………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………93 13.5. Порты……………………………………………………………………………………………………. 93 13.6. Параметры……………………………………………………………………………………………. 94
14. PARALLEL_ADD (параллельный сумматор) IP Core………………………………………………………….. 95 14.1. Особенность……………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………….95 14.2. Прототип Verilog HDL……………………………………………………………………………..95 14.3. Объявление компонента VHDL ……………………………………………………………………… 96 14.4. Декларация VHDL LIBRARY_USE…………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………96 14.5. Порты……………………………………………………………………………………………………. 96 14.6. Параметры……………………………………………………………………………………………. 97
15. Целочисленные арифметические IP-ядра. Руководство пользователя. Архивы документов………………………………… 98
16. История изменений документа для Intel FPGA Integer Arithmetic IP Cores Guide User Guide…. 99
Руководство пользователя FPGA для целочисленных арифметических IP-ядер 4
Отправить отзыв
683490 | 2020.10.05 Отправить отзыв
1. Целочисленные арифметические IP-ядра Intel FPGA
Вы можете использовать целочисленные IP-ядра Intel® FPGA для выполнения математических операций в своем проекте.
Эти функции предлагают более эффективный логический синтез и реализацию устройства, чем кодирование собственных функций. Вы можете настроить IP-ядра в соответствии с вашими требованиями к дизайну.
Целочисленные арифметические IP-ядра Intel подразделяются на следующие две категории: · IP-ядра библиотеки параметризованных модулей (LPM) · IP-ядра, специфичные для Intel (ALT)
В следующей таблице перечислены ядра IP с целочисленной арифметикой.
Таблица 1.
Список IP-ядер
IP-ядра
IP-ядра LPM
ЛПМ_COUNTER
LPM_DIVIDE
ЛПМ_MULT
LPM_ADD_SUB
LPM_COMPARE
IP-ядра Intel (ALT) ALTECC
Функция завершенаview Множитель делителя счетчика
Сумматор или вычитатель Компаратор
Кодировщик/декодер ECC
Поддерживаемое устройство
Arria® II GX, Arria II GZ, Arria V, Intel Arria 10, Cyclone® IV E, Cyclone IV GX, Cyclone V, Intel Cyclone 10 LP,
Intel Cyclone 10 GX, MAX® II, MAX V, MAX 10, Stratix® IV, Stratix V
Аррия II GX, Аррия II ГЗ, Аррия V, Intel Аррия 10, Циклон IV Е, Циклон IV GX,
Cyclone V, Intel Cyclone 10 LP, Intel Cyclone 10 GX, MAX II, MAX V, MAX 10, Stratix IV, Stratix V, Intel Stratix 10
Аррия II GX, Аррия II ГЗ, Аррия V, Intel Аррия 10, Циклон IV Е, Циклон IV GX,
Cyclone V, Intel Cyclone 10 LP, Intel Cyclone 10 GX, MAX II, MAX V, MAX 10, Stratix IV, Stratix V, Intel Stratix 10
Arria II GX, Arria II GZ, Arria V, Cyclone IV E, Cyclone IV GX, Cyclone V, Intel Cyclone 10 LP, MAX 10, MAX
II, МАКС В, Стратикс IV, Стратикс В
Arria II GX, Arria II GZ, Arria V, Cyclone IV E, Cyclone IV GX, Cyclone V, Intel Cyclone 10 LP, MAX 10, MAX
II, МАКС В, Стратикс IV, Стратикс В
Аррия II GX, Аррия II ГЗ, Аррия V, Intel Аррия 10, Циклон IV Е, Циклон IV GX,
Cyclone V, Intel Cyclone 10 LP, Intel Cyclone 10 GX, MAX II, MAX V, MAX
10, Stratix IV, Stratix V, продолжение…
Корпорация Интел. Все права защищены. Intel, логотип Intel и другие товарные знаки Intel являются товарными знаками корпорации Intel или ее дочерних компаний. Корпорация Intel гарантирует производительность своих FPGA и полупроводниковых продуктов в соответствии с текущими спецификациями в соответствии со стандартной гарантией Intel, но оставляет за собой право вносить изменения в любые продукты и услуги в любое время без предварительного уведомления. Intel не принимает на себя никакой ответственности или обязательств, возникающих в связи с применением или использованием какой-либо информации, продуктов или услуг, описанных в настоящем документе, за исключением случаев, когда это прямо согласовано с корпорацией Intel в письменной форме. Клиентам Intel рекомендуется получить последнюю версию спецификаций устройств, прежде чем полагаться на какую-либо опубликованную информацию и размещать заказы на продукты или услуги. *Другие названия и торговые марки могут быть заявлены как собственность других лиц.
Сертификат ISO 9001: 2015
1. Целочисленные арифметические IP-ядра Intel FPGA 683490 | 2020.10.05
IP-ядра Intel FPGA Multiply Adder или ALTERA_MULT_ADD ALTMEMMULT
ALTMULT_ACCUM ALTMULT_ADD ALTMULT_COMPLEX
АЛЬТСКРТ
PARALLEL_ADD
Функция завершенаview Множитель-сумматор
Множитель постоянного коэффициента на основе памяти
Множитель-накопитель Множитель-сумматор
Комплексный множитель
Целочисленный квадратный корень
Параллельный сумматор
Поддерживаемое устройство
Аррия В, Стратикс В, Циклон В, Интел Стратикс 10, Интел Аррия 10, Интел Циклон
10 GX
Arria II GX, Arria II GZ, Arria V, Intel Arria 10 (Intel Quartus® Prime Standard Edition), Cyclone IV E, Cyclone IV GX, Cyclone V, Intel
Циклон 10 LP, MAX II, MAX V, MAX 10, Stratix IV, Stratix V
Arria II GX, Arria II GZ, Cyclone IV E, Cyclone IV GX, Intel Cyclone 10 LP, MAX 10, MAX II, MAX V, Stratix IV
Arria II GX, Arria II GZ, Cyclone IV E, Cyclone IV GX, Intel Cyclone 10 LP, MAX 10, MAX II, MAX V, Stratix IV
Аррия II GX, Аррия II GZ, Intel Аррия 10, Аррия V, Аррия V GZ, Циклон IV E, Циклон IV GX, Циклон V, Intel
Cyclone 10 GX, Intel Cyclone 10 LP, MAX 10, Stratix V, Intel Stratix 10
Аррия II GX, Аррия II ГЗ, Аррия V, Intel Аррия 10, Циклон IV Е, Циклон IV GX,
Cyclone V, Intel Cyclone 10 LP, Intel Cyclone 10 GX, MAX II, MAX V, MAX
10, Стратикс IV, Стратикс V
Аррия II GX, Аррия II ГЗ, Аррия V, Intel Аррия 10, Циклон IV Е, Циклон IV GX,
Cyclone V, Intel Cyclone 10 LP, Intel Cyclone 10 GX, MAX II, MAX V, MAX
10, Стратикс IV, Стратикс V
Сопутствующая информация
· Примечания к выпуску Intel FPGA и программируемых устройств
· Введение в IP-ядра Intel FPGA Содержит дополнительную информацию об IP-ядрах Intel FPGA.
· Руководство пользователя IP-ядер с плавающей запятой Содержит дополнительную информацию об IP-ядрах Intel FPGA с плавающей запятой.
· Введение в IP-ядра Intel FPGA Содержит общую информацию обо всех IP-ядрах Intel FPGA, включая параметризацию, создание, обновление и моделирование IP-ядер.
· Создание сценариев моделирования IP и Qsys, не зависящих от версии. Создавайте сценарии моделирования, которые не требуют ручного обновления программного обеспечения или обновлений версии IP.
· Руководство по передовой практике управления проектами для эффективного управления и переносимости вашего проекта и ИС files.
· Руководство пользователя IP-ядер Integer Arithmetic Архивы документов на стр. 98 Содержит список руководств пользователя для предыдущих версий IP-ядер Integer Arithmetic.
Руководство пользователя FPGA для целочисленных арифметических IP-ядер 6
Отправить отзыв
683490 | 2020.10.05 Отправить отзыв
2. LPM_COUNTER (счетчик) IP-ядро
Рисунок 1.
IP-ядро LPM_COUNTER представляет собой двоичный счетчик, который создает счетчики прямого и обратного счета, а также счетчики прямого или обратного счета с выходными данными шириной до 256 бит.
На следующем рисунке показаны порты для IP-ядра LPM_COUNTER.
LPM_COUNTER портов
ЛПМ_COUNTER
ssclr загрузить набор данных []
д[]
вверх вниз
cout
aclr загружает актив
clk_en cnt_en cin
инст
2.1. Особенности
IP-ядро LPM_COUNTER предлагает следующие функции: · Генерирует счетчики вверх, вниз и вверх/вниз · Генерирует следующие типы счетчиков:
— Обычный двоичный – счетчик увеличивается, начиная с нуля, или уменьшается, начиная с 255.
— Modulus – счетчик увеличивается или уменьшается от значения модуля, указанного пользователем, и повторяется.
· Поддерживает дополнительные синхронные входные порты очистки, загрузки и установки. · Поддерживает дополнительные асинхронные входные порты очистки, загрузки и установки. · Поддерживает дополнительные входные порты включения подсчета и синхронизации. · Поддерживает дополнительные порты ввода и вывода.
Корпорация Интел. Все права защищены. Intel, логотип Intel и другие товарные знаки Intel являются товарными знаками корпорации Intel или ее дочерних компаний. Корпорация Intel гарантирует производительность своих FPGA и полупроводниковых продуктов в соответствии с текущими спецификациями в соответствии со стандартной гарантией Intel, но оставляет за собой право вносить изменения в любые продукты и услуги в любое время без предварительного уведомления. Intel не принимает на себя никакой ответственности или обязательств, возникающих в связи с применением или использованием какой-либо информации, продуктов или услуг, описанных в настоящем документе, за исключением случаев, когда это прямо согласовано с корпорацией Intel в письменной форме. Клиентам Intel рекомендуется получить последнюю версию спецификаций устройств, прежде чем полагаться на какую-либо опубликованную информацию и размещать заказы на продукты или услуги. *Другие названия и торговые марки могут быть заявлены как собственность других лиц.
Сертификат ISO 9001: 2015
2. LPM_COUNTER (счетчик) IP-ядро
683490 | 2020.10.05
2.2. Прототип Verilog HDL
Следующий прототип Verilog HDL находится в Verilog Design. File (.v) лпм.в в каталог эдасинтеза.
модуль lpm_counter (q, data, clock, cin, cout, clk_en, cnt_en, updown, aset, aclr, aload, sset, sclr, sload, eq); параметр lpm_type = «lpm_counter»; параметр lpm_width = 1; параметр lpm_modulus = 0; параметр lpm_direction = «НЕ ИСПОЛЬЗУЕТСЯ»; параметр lpm_avalue = «НЕ ИСПОЛЬЗУЕТСЯ»; параметр lpm_svalue = «НЕ ИСПОЛЬЗУЕТСЯ»; параметр lpm_pvalue = «НЕ ИСПОЛЬЗУЕТСЯ»; параметр lpm_port_updown = «PORT_CONNECTIVITY»; параметр lpm_hint = «НЕ ИСПОЛЬЗУЕТСЯ»; вывод [lpm_width-1:0] q; выходной сигнал; выход [15:0] экв; ввод цин; ввод данных [lpm_width-1:0]; входные часы, clk_en, cnt_en, updown; входной актив, aclr, загрузка; ввод sset, sclr, sload; конечный модуль
2.3. Объявление компонента VHDL
Объявление компонента VHDL находится в файле VHDL Design. File (.vhd) LPM_PACK.vhd в каталог библиотекvhdllpm.
компонент LPM_COUNTER универсальный ( LPM_WIDTH : натуральный; LPM_MODULUS : натуральный := 0; LPM_DIRECTION : строка := «НЕИСПОЛЬЗУЕМЫЙ»; LPM_AVALUE : строка := «НЕИСПОЛЬЗУЕМЫЙ»; LPM_SVALUE : строка := «НЕИСПОЛЬЗУЕМЫЙ»; LPM_PORT_UPDOWN : строка := «PORT_CONNECTIVITY» ; LPM_PVALUE : строка := «НЕИСПОЛЬЗУЕТСЯ»; LPM_TYPE : строка := L_COUNTER; LPM_HINT : строка := «НЕИСПОЛЬЗОВАННО»); порт (ДАННЫЕ: в std_logic_vector (LPM_WIDTH-1 до 0): = (ДРУГИЕ =>
'0'); ЧАСЫ: в std_logic; CLK_EN : в std_logic := '1'; CNT_EN : в std_logic := '1'; UPDOWN : в std_logic := '1'; SLOAD : в std_logic := '0'; SSET: в std_logic: = '0'; SCLR: в std_logic: = '0'; ЗАГРУЗКА: в std_logic := '0'; ASET: в std_logic: = '0'; ACLR: в std_logic: = '0'; CIN : в std_logic := '1'; COUT : выход std_logic := '0'; Q : out std_logic_vector (LPM_WIDTH-1 до 0); Эквалайзер: out std_logic_vector (15 до 0));
концевой компонент;
Руководство пользователя FPGA для целочисленных арифметических IP-ядер 8
Отправить отзыв
2. LPM_COUNTER (счетчик) IP Core 683490 | 2020.10.05
2.4. Декларация VHDL LIBRARY_USE
Объявление VHDL LIBRARY-USE не требуется, если вы используете объявление компонента VHDL.
БИБЛИОТЕКА ИСПОЛЬЗОВАТЬ lpm.lpm_components.all;
2.5. Порты
В следующих таблицах перечислены входные и выходные порты для IP-ядра LPM_COUNTER.
Таблица 2.
Входные порты LPM_COUNTER
Имя порта
Необходимый
Описание
данные[]
Нет
Параллельный ввод данных в счетчик. Размер входного порта зависит от значения параметра LPM_WIDTH.
часы
Да
Тактовый вход, запускаемый положительным фронтом.
clk_ru
Нет
Часы разрешают ввод, чтобы включить все синхронные действия. Если опущено, значение по умолчанию равно 1.
cnt_ru
Нет
Ввод Count enable для отключения счетчика при низком уровне, не влияя на sload, sset или sclr. Если опущено, значение по умолчанию равно 1.
вверх вниз
Нет
Управляет направлением счета. Когда установлено высокое значение (1), направление счета вверх, а когда установлено низкое значение (0), направление счета вниз. Если используется параметр LPM_DIRECTION, порт updown не может быть подключен. Если LPM_DIRECTION не используется, порт updown не является обязательным. Если опущено, значение по умолчанию — вверх (1).
цин
Нет
Перенос в младший бит. Для счетчиков вверх поведение ввода cin таково:
идентично поведению ввода cnt_en. Если опущено, значение по умолчанию равно 1.
(ВКК).
аклр
Нет
Асинхронный чистый ввод. Если и aset, и aclr используются и утверждаются, aclr переопределяет aset. Если опущено, значение по умолчанию равно 0 (отключено).
асет
Нет
Асинхронный ввод набора. Определяет выходы q[] как все 1 или значение, заданное параметром LPM_AVALUE. Если порты aset и aclr используются и утверждаются, значение порта aclr переопределяет значение порта aset. Если опущено, значение по умолчанию равно 0, отключено.
нагрузка
Нет
Вход асинхронной загрузки, который асинхронно загружает счетчик со значением на входе данных. Когда используется порт загрузки, порт data[] должен быть подключен. Если опущено, значение по умолчанию равно 0, отключено.
склер
Нет
Вход синхронной очистки, который очищает счетчик при следующем активном фронте тактового сигнала. Если порты sset и sclr используются и утверждаются, значение порта sclr переопределяет значение порта sset. Если опущено, значение по умолчанию равно 0, отключено.
SSET
Нет
Вход синхронной установки, который устанавливает счетчик на следующем активном фронте тактового сигнала. Определяет значение выходов q как все единицы или значение, заданное параметром LPM_SVALUE. Если оба порта sset и sclr используются и утверждаются,
значение порта sclr переопределяет значение порта sset. Если опущено, значение по умолчанию равно 0 (отключено).
загрузка
Нет
Вход синхронной загрузки, который загружает счетчик данными [] на следующем активном фронте тактового сигнала. Когда используется порт sload, порт data[] должен быть подключен. Если опущено, значение по умолчанию равно 0 (отключено).
Отправить отзыв
Руководство пользователя FPGA для целочисленных арифметических IP-ядер 9
2. LPM_COUNTER (счетчик) IP Core 683490 | 2020.10.05
Таблица 3.
Порты вывода LPM_COUNTER
Имя порта
Необходимый
Описание
д[]
Нет
Вывод данных со счетчика. Размер выходного порта зависит от
Значение параметра LPM_WIDTH. Либо q[], либо хотя бы один из портов eq[15..0]
должен быть подключен.
уравнение[15..0]
Нет
Выход декодирования счетчика. Порт eq[15..0] недоступен в редакторе параметров, поскольку этот параметр поддерживает только AHDL.
Должен быть подключен либо порт q[], либо порт eq[]. Можно использовать до c eq портов (0 <= c <= 15). Декодируются только 16 самых низких значений счетчика. Когда значение счетчика равно c, на выходе eqc устанавливается высокий уровень (1). Для бывшегоample, когда count равен 0, eq0 = 1, когда count равен 1, eq1 = 1 и когда count равен 15, eq 15 = 1. Декодированный вывод для значений count 16 или больше требует внешнего декодирования. Выходы eq[15..0] асинхронны с выходом q[].
cout
Нет
Порт выполнения бита MSB счетчика. Его можно использовать для подключения к другому счетчику, чтобы создать счетчик большего размера.
2.6. параметры
В следующей таблице перечислены параметры ядра IP LPM_COUNTER.
Таблица 4.
Параметры LPM_COUNTER
Имя параметра
Тип
LPM_WIDTH
Целое число
LPM_DIRECTION
Нить
LPM_MODULUS LPM_AVALUE
Целое число
Целое/ Строка
LPM_SVALUE LPM_HINT
Целое/ Строка
Нить
ЛПМ_ТИП
Нить
Требуется Да Нет Нет Нет
Нет Нет
Нет
Описание
Определяет ширину портов data[] и q[], если они используются.
Значения UP, DOWN и UNUSED. Если используется параметр LPM_DIRECTION, порт updown не может быть подключен. Когда порт updown не подключен, значение параметра LPM_DIRECTION по умолчанию равно UP.
Максимальное количество плюс один. Количество уникальных состояний в цикле счетчика. Если значение загрузки больше параметра LPM_MODULUS, поведение счетчика не указывается.
Постоянное значение, которое загружается, когда для актива установлено высокое значение. Если указанное значение больше или равно , поведение счетчика представляет собой неопределенный (X) логический уровень, где равен LPM_MODULUS, если он присутствует, или 2 ^ LPM_WIDTH. Корпорация Intel рекомендует указывать это значение в виде десятичного числа для проектов AHDL.
Постоянное значение, которое загружается по переднему фронту порта синхронизации, когда на порту sset устанавливается высокий уровень. Корпорация Intel рекомендует указывать это значение в виде десятичного числа для проектов AHDL.
Когда вы создаете экземпляр функции библиотеки параметризованных модулей (LPM) в проекте VHDL File (.vhd), необходимо использовать параметр LPM_HINT, чтобы указать параметр Intel. Для бывшегоample: LPM_HINT = «CHAIN_SIZE = 8, ONE_INPUT_IS_CONSTANT = YES»
Значение по умолчанию НЕ ИСПОЛЬЗУЕТСЯ.
Идентифицирует имя объекта библиотеки параметризованных модулей (LPM) в проекте VHDL. files.
продолжение…
Руководство пользователя FPGA для целочисленных арифметических IP-ядер 10
Отправить отзыв
2. LPM_COUNTER (счетчик) IP Core 683490 | 2020.10.05
Имя параметра INTENDED_DEVICE_FAMILY CARRY_CNT_EN
LABWIDE_SCLR
LPM_PORT_UPDOWN
Тип Строка Строка
Нить
Нить
Требуется Нет Нет
Нет
Нет
Описание
Этот параметр используется для целей моделирования и имитации поведения. Этот параметр используется для целей моделирования и имитации поведения. Редактор параметров вычисляет значение этого параметра.
Индивидуальный параметр Intel. Вы должны использовать параметр LPM_HINT, чтобы указать параметр CARRY_CNT_EN в проекте VHDL. fileс. Значения: SMART, ON, OFF и UNUSED. Включает функцию LPM_COUNTER для распространения сигнала cnt_en через цепочку переноса. В некоторых случаях настройка параметра CARRY_CNT_EN может незначительно влиять на скорость, поэтому вы можете отключить ее. Значение по умолчанию — SMART, обеспечивающее наилучшее соотношение между размером и скоростью.
Индивидуальный параметр Intel. Вы должны использовать параметр LPM_HINT, чтобы указать параметр LABWIDE_SCLR в проекте VHDL. fileс. Значения ON, OFF или UNUSED. Значение по умолчанию — ВКЛ. Позволяет отключить использование функции LABwide sclr в устаревших семействах устройств. Отключение этого параметра увеличивает шансы на полное использование частично заполненных LAB и, таким образом, может обеспечить более высокую логическую плотность, когда SCLR не применяется к полному LAB. Этот параметр доступен для обратной совместимости, и Intel рекомендует не использовать этот параметр.
Определяет использование входного порта updown. Если опущено, значение по умолчанию — PORT_CONNECTIVITY. Когда значение порта установлено на PORT_USED, порт рассматривается как используемый. Когда для порта установлено значение PORT_UNUSED, порт считается неиспользуемым. Когда для порта установлено значение PORT_CONNECTIVITY, использование порта определяется путем проверки подключения к порту.
Отправить отзыв
Руководство пользователя FPGA для целочисленных арифметических IP-ядер 11
683490 | 2020.10.05 Отправить отзыв
3. LPM_DIVIDE (делитель) Intel FPGA IP Core
Рисунок 2.
LPM_DIVIDE IP-ядро Intel FPGA реализует делитель для деления входного значения числителя на входное значение знаменателя для получения частного и остатка.
На следующем рисунке показаны порты для IP-ядра LPM_DIVIDE.
Порты LPM_DIVIDE
LPM_DIVIDE
число[] номинал[] часы
частное[] остается[]
Клкен ACLR
инст
3.1. Особенности
IP-ядро LPM_DIVIDE предлагает следующие функции: · Генерирует делитель, который делит входное значение числителя на входное значение знаменателя.
значение для получения частного и остатка. · Поддерживает ширину данных 1 бит. · Поддерживает формат представления данных со знаком и без знака как для числителя
и значения знаменателя. · Поддерживает оптимизацию площади или скорости. · Предоставляет возможность задать вывод положительного остатка. · Поддерживает конвейерную настраиваемую задержку вывода. · Поддерживает дополнительные порты асинхронной очистки и синхронизации.
3.2. Прототип Verilog HDL
Следующий прототип Verilog HDL находится в Verilog Design. File (.v) лпм.в в каталог эдасинтеза.
модуль lpm_divide (частное, остаток, число, номинал, часы, clken, aclr); параметр lpm_type = «lpm_divide»; параметр lpm_widthn = 1; параметр lpm_widthd = 1; параметр lpm_nrepresentation = «UNSIGNED»; параметр lpm_drepresentation = «UNSIGNED»; параметр lpm_remainderpositive = «ИСТИНА»; параметр lpm_pipeline = 0;
Корпорация Интел. Все права защищены. Intel, логотип Intel и другие товарные знаки Intel являются товарными знаками корпорации Intel или ее дочерних компаний. Корпорация Intel гарантирует производительность своих FPGA и полупроводниковых продуктов в соответствии с текущими спецификациями в соответствии со стандартной гарантией Intel, но оставляет за собой право вносить изменения в любые продукты и услуги в любое время без предварительного уведомления. Intel не принимает на себя никакой ответственности или обязательств, возникающих в связи с применением или использованием какой-либо информации, продуктов или услуг, описанных в настоящем документе, за исключением случаев, когда это прямо согласовано с корпорацией Intel в письменной форме. Клиентам Intel рекомендуется получить последнюю версию спецификаций устройств, прежде чем полагаться на какую-либо опубликованную информацию и размещать заказы на продукты или услуги. *Другие названия и торговые марки могут быть заявлены как собственность других лиц.
Сертификат ISO 9001: 2015
3. LPM_DIVIDE (делитель) Intel FPGA IP Core 683490 | 2020.10.05
параметр lpm_hint = «НЕ ИСПОЛЬЗУЕТСЯ»; входные часы; входной сигнал; ввод аклр; введите число [lpm_widthn-1:0]; ввод [lpm_widthd-1:0] номинал; вывод [lpm_widthn-1:0] частное; вывод [lpm_widthd-1:0] остается; конечный модуль
3.3. Объявление компонента VHDL
Объявление компонента VHDL находится в файле VHDL Design. File (.vhd) LPM_PACK.vhd в каталог библиотекvhdllpm.
компонент LPM_DIVIDE общий (LPM_WIDTHN: естественный; LPM_WIDTHD: естественный;
LPM_NREPRESENTATION: строка: = «БЕЗ ПОДПИСА»; LPM_DREPRESENTATION: строка: = «БЕЗ ПОДПИСА»; LPM_PIPELINE: натуральный: = 0; LPM_TYPE: строка: = L_DIVIDE; LPM_HINT : строка := «НЕ ИСПОЛЬЗУЕТСЯ»); порт (ЧИСЛО: в std_logic_vector (LPM_WIDTHN-1 до 0); DENOM: в std_logic_vector (LPM_WIDTHD-1 до 0); ACLR: в std_logic: = '0'; CLOCK: в std_logic: = '0'; CLKEN: в std_logic := '1' ЧАСТНОЕ: выходной std_logic_vector (LPM_WIDTHN-1 до 0); ОСТАЛОСЬ: выходной std_logic_vector (LPM_WIDTHD-1 до 0)); концевой компонент;
3.4. Декларация VHDL LIBRARY_USE
Объявление VHDL LIBRARY-USE не требуется, если вы используете объявление компонента VHDL.
БИБЛИОТЕКА ИСПОЛЬЗОВАТЬ lpm.lpm_components.all;
3.5. Порты
В следующих таблицах перечислены входные и выходные порты для IP-ядра LPM_DIVIDE.
Таблица 5.
Входные порты LPM_DIVIDE
Имя порта
Необходимый
номер []
Да
номинал []
Да
Описание
Ввод данных числителя. Размер входного порта зависит от значения параметра LPM_WIDTHN.
Ввод данных знаменателя. Размер входного порта зависит от значения параметра LPM_WIDTHD.
продолжение…
Отправить отзыв
Руководство пользователя FPGA для целочисленных арифметических IP-ядер 13
3. LPM_DIVIDE (делитель) Intel FPGA IP Core 683490 | 2020.10.05
имя порта часы clken
аклр
Требуется Нет Нет
Нет
Описание
Тактовый вход для конвейерного использования. Для значений LPM_PIPELINE, отличных от 0 (по умолчанию), порт часов должен быть включен.
Часы включают конвейерное использование. Когда на порту clken установлен высокий уровень, выполняется операция деления. Когда сигнал низкий, операции не происходит. Если опущено, значение по умолчанию равно 1.
Асинхронный чистый порт, используемый в любое время для сброса конвейера на все «0» асинхронно с входом часов.
Таблица 6.
Выходные порты LPM_DIVIDE
Имя порта
Необходимый
Описание
частное[]
Да
Вывод данных. Размер выходного порта зависит от LPM_WIDTHN.
значение параметра.
оставаться[]
Да
Вывод данных. Размер выходного порта зависит от LPM_WIDTHD.
значение параметра.
3.6. параметры
В следующей таблице перечислены параметры IP-ядра LPM_DIVIDE Intel FPGA.
Имя параметра
Тип
Необходимый
Описание
LPM_WIDTHN
Целое число
Да
Определяет ширину numer[] и
частные [] порты. Значения от 1 до 64.
LPM_WIDTHD
Целое число
Да
Определяет ширину denom[] и
остаются [] порты. Значения от 1 до 64.
LPM_NREPRESENTATION LPM_DREPRESENTATION
Строка Строка
Нет
Знаковое представление входа числителя.
Значения SIGNED и UNSIGNED. Когда это
параметр установлен в SIGNED, разделитель
интерпретирует ввод numer[] как двойку со знаком
дополнение.
Нет
Знаковое представление входа знаменателя.
Значения SIGNED и UNSIGNED. Когда это
параметр установлен в SIGNED, разделитель
интерпретирует ввод denom[] как двойку со знаком
дополнение.
ЛПМ_ТИП
Нить
Нет
Идентифицирует библиотеку параметризованных
модули (LPM) имя объекта в дизайне VHDL
fileс (.vhd).
LPM_HINT
Нить
Нет
При создании экземпляра библиотеки
параметризованные модули (LPM) функционируют в
VHDL-дизайн File (.vhd), вы должны использовать
Параметр LPM_HINT для указания
конкретный параметр. Для бывшегоampфайл: LPM_HINT
= "CHAIN_SIZE = 8,
ONE_INPUT_IS_CONSTANT = YES».
значение по умолчанию НЕ ИСПОЛЬЗУЕТСЯ.
LPM_REMAINDERPOSITIVE
Нить
Нет
Индивидуальный параметр Intel. Вы должны использовать
Параметр LPM_HINT для указания
Параметр LPM_REMAINDERPOSITIVE в
VHDL-дизайн fileс. Значения ИСТИНА или ЛОЖЬ.
Если этот параметр установлен в TRUE, то
значение порта rest[] должно быть больше
продолжение…
Руководство пользователя FPGA для целочисленных арифметических IP-ядер 14
Отправить отзыв
3. LPM_DIVIDE (делитель) Intel FPGA IP Core 683490 | 2020.10.05
Имя параметра
Тип
MAXIMIZE_SPEED
Целое число
LPM_PIPELINE
Целое число
INTENDED_DEVICE_FAMILY SKIP_BITS
Строковое целое
Требуется Нет
Нет Нет Нет
Описание
больше или равно нулю. Если для этого параметра установлено значение TRUE, то значение порта stay[] либо равно нулю, либо имеет тот же знак, положительный или отрицательный, что и значение порта numer. Чтобы уменьшить площадь и повысить скорость, Intel рекомендует устанавливать для этого параметра значение TRUE в операциях, где остаток должен быть положительным или где остаток не имеет значения.
Индивидуальный параметр Intel. Вы должны использовать параметр LPM_HINT, чтобы указать параметр MAXIMIZE_SPEED в проекте VHDL. fileс. Значения [0..9]. При использовании программное обеспечение Intel Quartus Prime пытается оптимизировать определенный экземпляр функции LPM_DIVIDE по скорости, а не по маршрутизации, и переопределяет настройку логической опции Optimization Technique. Если MAXIMIZE_SPEED не используется, вместо него используется значение параметра Optimization Technique. Если значение MAXIMIZE_SPEED равно 6 или выше, компилятор оптимизирует IP-ядро LPM_DIVIDE для более высокой скорости с помощью цепочек переноса; если значение равно 5 или меньше, компилятор реализует схему без цепочек переноса.
Определяет количество тактовых циклов задержки, связанной с выходами quotient[] и stay[]. Нулевое значение (0) указывает на отсутствие задержки и на то, что реализуется чисто комбинационная функция. Если опущено, значение по умолчанию равно 0 (без конвейерной обработки). Нельзя указать для параметра LPM_PIPELINE значение, превышающее LPM_WIDTHN.
Этот параметр используется для целей моделирования и имитации поведения. Редактор параметров вычисляет значение этого параметра.
Обеспечивает более эффективное дробное деление битов для оптимизации логики начальных битов, предоставляя число начальных GND IP-ядру LPM_DIVIDE. Укажите количество опережающих GND на частном выходе для этого параметра.
Отправить отзыв
Руководство пользователя FPGA для целочисленных арифметических IP-ядер 15
683490 | 2020.10.05 Отправить отзыв
4. IP-ядро LPM_MULT (множитель)
Рисунок 3.
IP-ядро LPM_MULT реализует множитель для умножения двух значений входных данных для получения продукта в качестве вывода.
На следующем рисунке показаны порты для IP-ядра LPM_MULT.
LPM_Mult Порты
LPM_MULT часы dataa[] результат[] datab[] aclr/sclr clken
инст
Сопутствующая информация Функции на стр. 71
4.1. Особенности
IP-ядро LPM_MULT предлагает следующие функции: Генерирует множитель, который умножает два значения входных данных. Поддерживает разрядность данных 1 бит. Поддерживает формат представления данных со знаком и без знака. Поддерживает оптимизацию площади или скорости. Поддерживает конвейерную обработку с настраиваемой задержкой вывода. возможность реализации в специализированной цифровой обработке сигналов (DSP)
блочная схема или логические элементы (LE) Примечание.
будет влиять на производительность в результате каскадирования блоков DSP. · Поддерживает дополнительную асинхронную очистку и входные порты с синхронизацией. · Поддерживает дополнительную синхронную очистку для устройств Intel Stratix 10, Intel Arria 10 и Intel Cyclone 10 GX.
Корпорация Интел. Все права защищены. Intel, логотип Intel и другие товарные знаки Intel являются товарными знаками корпорации Intel или ее дочерних компаний. Корпорация Intel гарантирует производительность своих FPGA и полупроводниковых продуктов в соответствии с текущими спецификациями в соответствии со стандартной гарантией Intel, но оставляет за собой право вносить изменения в любые продукты и услуги в любое время без предварительного уведомления. Intel не принимает на себя никакой ответственности или обязательств, возникающих в связи с применением или использованием какой-либо информации, продуктов или услуг, описанных в настоящем документе, за исключением случаев, когда это прямо согласовано с корпорацией Intel в письменной форме. Клиентам Intel рекомендуется получить последнюю версию спецификаций устройств, прежде чем полагаться на какую-либо опубликованную информацию и размещать заказы на продукты или услуги. *Другие названия и торговые марки могут быть заявлены как собственность других лиц.
Сертификат ISO 9001: 2015
4. LPM_MULT (множитель) IP Core 683490 | 2020.10.05
4.2. Прототип Verilog HDL
Следующий прототип Verilog HDL находится в Verilog Design. File (.v) лпм.в в каталог эдасинтеза.
модуль lpm_mult (result, dataa, datab, sum, clock, clken, aclr) параметр lpm_type = «lpm_mult»; параметр lpm_widtha = 1; параметр lpm_widthb = 1; параметр lpm_widths = 1; параметр lpm_widthp = 1; параметр lpm_representation = «UNSIGNED»; параметр lpm_pipeline = 0; параметр lpm_hint = «НЕ ИСПОЛЬЗУЕТСЯ»; входные часы; входной сигнал; ввод аклр; ввод данных [lpm_widtha-1:0]a; ввод данных [lpm_widthb-1:0]; введите сумму [lpm_widths-1:0]; вывод результата [lpm_widthp-1:0]; конечный модуль
4.3. Объявление компонента VHDL
Объявление компонента VHDL находится в файле VHDL Design. File (.vhd) LPM_PACK.vhd в каталог библиотекvhdllpm.
компонент LPM_MULT универсальный ( LPM_WIDTHA : естественный; LPM_WIDTHB : естественный; LPM_WIDTHS : естественный := 1; LPM_WIDTHP : естественный;
LPM_REPRESENTATION: строка: = «БЕЗ ПОДПИСА»; LPM_PIPELINE: натуральный: = 0; LPM_TYPE: строка := L_MULT; LPM_HINT : строка := «НЕ ИСПОЛЬЗУЕТСЯ»); порт ( DATAA : в std_logic_vector (LPM_WIDTHA-1 до 0); DATAB : в std_logic_vector (LPM_WIDTHB-1 до 0); ACLR : в std_logic := '0'; CLOCK : в std_logic := '0'; CLKEN : в std_logic := '1'; СУММ: in std_logic_vector (LPM_WIDTHS-1 до 0) := (OTHERS => '0'); РЕЗУЛЬТАТ: out std_logic_vector (LPM_WIDTHP-1 до 0)); концевой компонент;
4.4. Декларация VHDL LIBRARY_USE
Объявление VHDL LIBRARY-USE не требуется, если вы используете объявление компонента VHDL.
БИБЛИОТЕКА ИСПОЛЬЗОВАТЬ lpm.lpm_components.all;
Отправить отзыв
Руководство пользователя FPGA для целочисленных арифметических IP-ядер 17
4. LPM_MULT (множитель) IP Core 683490 | 2020.10.05
4.5. Сигналы
Таблица 7.
Входные сигналы LPM_MULT
Имя сигнала
Необходимый
Описание
данные[]
Да
Ввод данных.
Для устройств Intel Stratix 10, Intel Arria 10 и Intel Cyclone 10 GX размер входного сигнала зависит от значения параметра ширины Dataa.
Для более старых устройств и устройств Intel Cyclone 10 LP размер входного сигнала зависит от значения параметра LPM_WIDTHA.
база данных[]
Да
Ввод данных.
Для устройств Intel Stratix 10, Intel Arria 10 и Intel Cyclone 10 GX размер входного сигнала зависит от значения параметра ширины Datab.
Для более старых устройств и устройств Intel Cyclone 10 LP размер входного сигнала зависит
на значение параметра LPM_WIDTHB.
часы
Нет
Тактовый вход для конвейерного использования.
Для более старых устройств и устройств Intel Cyclone 10 LP тактовый сигнал должен быть включен для значений LPM_PIPELINE, отличных от 0 (по умолчанию).
Для устройств Intel Stratix 10, Intel Arria 10 и Intel Cyclone 10 GX тактовый сигнал должен быть включен, если значение задержки отличается от 1 (по умолчанию).
клкен
Нет
Включение часов для конвейерного использования. Когда сигнал clken установлен на высоком уровне,
происходит операция сложения/вычитания. Когда сигнал низкий, не работает
происходит. Если опущено, значение по умолчанию равно 1.
аклр склер
Нет
Асинхронный сигнал очистки, используемый в любое время для сброса конвейера на все 0,
асинхронно с тактовым сигналом. Конвейер инициализируется неопределенным (X)
логический уровень. Выходные данные являются согласованным, но ненулевым значением.
Нет
Синхронный сигнал очистки, используемый в любое время для сброса конвейера на все 0,
синхронно с тактовым сигналом. Конвейер инициализируется неопределенным (X)
логический уровень. Выходные данные являются согласованным, но ненулевым значением.
Таблица 8.
LPM_MULT Выходные сигналы
Имя сигнала
Необходимый
Описание
результат[]
Да
Вывод данных.
Для более старых устройств и устройств Intel Cyclone 10 LP размер выходного сигнала зависит от значения параметра LPM_WIDTHP. Если LPM_WIDTHP < max (LPM_WIDTHA + LPM_WIDTHB, LPM_WIDTHS) или (LPM_WIDTHA + LPM_WIDTHS), присутствуют только LPM_WIDTHP MSB.
Для Intel Stratix 10, Intel Arria 10 и Intel Cyclone 10 GX размер выходных сигналов зависит от параметра Ширина результата.
4.6. Параметры устройств Stratix V, Arria V, Cyclone V и Intel Cyclone 10 LP
4.6.1. Вкладка «Общие»
Таблица 9.
Вкладка «Общие»
Параметр
Ценить
Конфигурация множителя
Умножить ввод «dataa» на ввод «datab»
Значение по умолчанию
Описание
Умножить ввод «dataa» на ввод «datab»
Выберите желаемую конфигурацию множителя.
продолжение…
Руководство пользователя FPGA для целочисленных арифметических IP-ядер 18
Отправить отзыв
4. LPM_MULT (множитель) IP Core 683490 | 2020.10.05
Параметр
Насколько широким должен быть ввод «dataa»? Насколько широким должен быть ввод «datab»? Как должна быть определена ширина вывода «результат»? Ограничить ширину
Ценить
Умножить ввод dataa сам на себя (операция возведения в квадрат)
1 – 256 бита
Значение по умолчанию
Описание
8 бит
Укажите ширину порта dataa[].
1 – 256 бита
8 бит
Укажите ширину порта datab[].
Автоматически рассчитывать ширину Ограничивать ширину
1 – 512 бита
Автоматически рассчитать ширину
Выберите нужный метод для определения ширины порта результата [].
16 бит
Укажите ширину порта результата[].
Это значение будет эффективным, только если вы выберете Ограничить ширину в параметре Тип.
4.6.2. Вкладка «Общие 2»
Табл. 10. Вкладка «Общие 2»
Параметр
Ценить
Ввод данных
Имеет ли входная шина «datab» постоянное значение?
Нет Да
Тип умножения
Какой тип
Неподписанный
умножение вы хотите? Подписано
Выполнение
Какую реализацию множителя следует использовать?
Используйте реализацию по умолчанию
Используйте специальную схему умножителя (доступно не для всех семейств)
Используйте логические элементы
Значение по умолчанию
Описание
Нет
Выберите Да, чтобы указать постоянное значение
входная шина `datab', если есть.
Неподписанный
Задайте формат представления для входных данных dataa[] и datab[].
Используйте реализацию по умолчанию
Выберите нужный метод для определения ширины порта результата [].
4.6.3. Вкладка конвейерной обработки
Таблица 11. Вкладка конвейерной обработки
Параметр
Вы хотите передать нет
функция?
Да
Ценить
Создайте «aclr»
—
асинхронный чистый порт
Значение по умолчанию
Описание
Нет
Выберите «Да», чтобы включить конвейерную регистрацию для
выход множителя и указать желаемое
выходная задержка в тактовом цикле. Включение
регистр конвейера добавляет дополнительную задержку к
выход.
Непроверено
Выберите этот параметр, чтобы разрешить порту aclr использовать асинхронную очистку регистра конвейера.
продолжение…
Отправить отзыв
Руководство пользователя FPGA для целочисленных арифметических IP-ядер 19
4. LPM_MULT (множитель) IP Core 683490 | 2020.10.05
Параметр
Создайте часы «clken», чтобы включить часы
Оптимизация
Какой тип оптимизации вы хотите?
Ценить -
Область скорости по умолчанию
Значение по умолчанию
Описание
Непроверено
Указывает активное включение высоких часов для порта часов конвейерного регистра.
По умолчанию
Укажите желаемую оптимизацию для IP-ядра.
Выберите «По умолчанию», чтобы позволить программному обеспечению Intel Quartus Prime определить наилучшую оптимизацию для IP-ядра.
4.7. Параметры для устройств Intel Stratix 10, Intel Arria 10 и Intel Cyclone 10 GX
4.7.1. Вкладка «Общие»
Таблица 12. Вкладка «Общие»
Параметр
Ценить
Значение по умолчанию
Описание
Тип конфигурации множителя
Ширина порта данных
Умножить ввод «dataa» на ввод «datab»
Умножить ввод dataa сам на себя (операция возведения в квадрат)
Умножить ввод «dataa» на ввод «datab»
Выберите желаемую конфигурацию множителя.
Ширина данных
1 – 256 бита
8 бит
Укажите ширину порта dataa[].
Ширина базы данных
1 – 256 бита
8 бит
Укажите ширину порта datab[].
Как должна быть определена ширина вывода «результат»?
Тип
Автоматически рассчитать ширину
Ограничить ширину
Автоматически рассчитать ширину
Выберите нужный метод для определения ширины порта результата [].
Ценить
1 – 512 бита
16 бит
Укажите ширину порта результата[].
Это значение будет эффективным, только если вы выберете Ограничить ширину в параметре Тип.
Ширина результата
1 – 512 бита
—
Отображает эффективную ширину порта результата[].
4.7.2. Вкладка «Общие 2»
Табл. 13. Вкладка «Общие 2»
Параметр
Ввод данных
Имеет ли входная шина «datab» постоянное значение?
Нет Да
Ценить
Значение по умолчанию
Описание
Нет
Выберите Да, чтобы указать постоянное значение
входная шина `datab', если есть.
продолжение…
Руководство пользователя FPGA для целочисленных арифметических IP-ядер 20
Отправить отзыв
4. LPM_MULT (множитель) IP Core 683490 | 2020.10.05
Параметр
Ценить
Ценить
Любое значение больше 0
Тип умножения
Какой тип
Неподписанный
умножение вы хотите? Подписано
Стиль реализации
Какую реализацию множителя следует использовать?
Используйте реализацию по умолчанию
Используйте специальную схему умножителя
Используйте логические элементы
Значение по умолчанию
Описание
0
Укажите постоянное значение порта datab[].
Неподписанный
Задайте формат представления для входных данных dataa[] и datab[].
Используйте реализацию по умолчанию
Выберите нужный метод для определения ширины порта результата [].
4.7.3. Конвейерная обработка
Таблица 14. Вкладка конвейерной обработки
Параметр
Ценить
Вы хотите конвейеризировать функцию?
Трубопровод
Нет Да
Тип сигнала очистки с задержкой
Любое значение больше 0.
НЕТ ACLR SCLR
Создайте часы «clken»
—
включить часы
Какой тип оптимизации вы хотите?
Тип
Область скорости по умолчанию
Значение по умолчанию
Описание
№ 1 НЕТ
—
Выберите «Да», чтобы включить конвейерную регистрацию на выходе умножителя. Включение регистра конвейера увеличивает задержку вывода.
Укажите желаемую задержку вывода в тактовом цикле.
Укажите тип сброса для регистра конвейера. Выберите NONE, если вы не используете какой-либо конвейерный регистр. Выберите ACLR, чтобы использовать асинхронную очистку регистра конвейера. Это сгенерирует порт ACLR. Выберите SCLR, чтобы использовать синхронную очистку регистра конвейера. Это создаст порт SCLR.
Указывает активное включение высоких часов для порта часов конвейерного регистра.
По умолчанию
Укажите желаемую оптимизацию для IP-ядра.
Выберите «По умолчанию», чтобы позволить программному обеспечению Intel Quartus Prime определить наилучшую оптимизацию для IP-ядра.
Отправить отзыв
Руководство пользователя FPGA для целочисленных арифметических IP-ядер 21
683490 | 2020.10.05 Отправить отзыв
5. LPM_ADD_SUB (сумматор/вычитатель)
Рисунок 4.
IP-ядро LPM_ADD_SUB позволяет вам реализовать сумматор или вычитатель для добавления или вычитания наборов данных для получения выходных данных, содержащих сумму или разность входных значений.
На следующем рисунке показаны порты для IP-ядра LPM_ADD_SUB.
Порты LPM_ADD_SUB
LPM_ADD_SUB add_sub cin
данные[]
часы clken datab[] aclr
результат[] переполнение cout
инст
5.1. Особенности
IP-ядро LPM_ADD_SUB предлагает следующие функции: · Генерирует сумматор, вычитатель и динамически настраиваемый сумматор/вычитатель.
функции. · Поддерживает ширину данных 1 бит. · Поддерживает формат представления данных, такой как подписанный и неподписанный. · Поддерживает дополнительный перенос (заимствование), асинхронную очистку и включение часов
входные порты. · Поддерживает дополнительные порты вывода (заимствования) и переполнения. · Назначает константе одну из шин входных данных. · Поддерживает конвейерную обработку с настраиваемой задержкой вывода.
Корпорация Интел. Все права защищены. Intel, логотип Intel и другие товарные знаки Intel являются товарными знаками корпорации Intel или ее дочерних компаний. Корпорация Intel гарантирует производительность своих FPGA и полупроводниковых продуктов в соответствии с текущими спецификациями в соответствии со стандартной гарантией Intel, но оставляет за собой право вносить изменения в любые продукты и услуги в любое время без предварительного уведомления. Intel не принимает на себя никакой ответственности или обязательств, возникающих в связи с применением или использованием какой-либо информации, продуктов или услуг, описанных в настоящем документе, за исключением случаев, когда это прямо согласовано с корпорацией Intel в письменной форме. Клиентам Intel рекомендуется получить последнюю версию спецификаций устройств, прежде чем полагаться на какую-либо опубликованную информацию и размещать заказы на продукты или услуги. *Другие названия и торговые марки могут быть заявлены как собственность других лиц.
Сертификат ISO 9001: 2015
5. LPM_ADD_SUB (сумматор/вычитатель) 683490 | 2020.10.05
5.2. Прототип Verilog HDL
Следующий прототип Verilog HDL находится в Verilog Design. File (.v) лпм.в в каталог эдасинтеза.
модуль lpm_add_sub ( результат, cout, переполнение, add_sub, cin, dataa, datab, часы, clken, aclr ); параметр lpm_type = «lpm_add_sub»; параметр lpm_width = 1; параметр lpm_direction = «НЕ ИСПОЛЬЗУЕТСЯ»; параметр lpm_representation = «ПОДПИСАН»; параметр lpm_pipeline = 0; параметр lpm_hint = «НЕ ИСПОЛЬЗУЕТСЯ»; ввод [lpm_width-1:0] данныеa, данныеb; введите add_sub, cin; входные часы; входной сигнал; ввод аклр; вывод результата [lpm_width-1:0]; вывод cout, переполнение; конечный модуль
5.3. Объявление компонента VHDL
Объявление компонента VHDL находится в файле VHDL Design. File (.vhd) LPM_PACK.vhd в каталог библиотекvhdllpm.
компонент LPM_ADD_SUB универсальный (LPM_WIDTH: натуральный;
LPM_DIRECTION: строка: = «НЕ ИСПОЛЬЗУЕТСЯ»; LPM_REPRESENTATION: строка := «ПОДПИСАН»; LPM_PIPELINE: натуральный: = 0; LPM_TYPE: строка: = L_ADD_SUB; LPM_HINT : строка := «НЕ ИСПОЛЬЗУЕТСЯ»); порт (DATAA: в std_logic_vector (LPM_WIDTH-1 до 0); DATAB: в std_logic_vector (LPM_WIDTH-1 до 0); ACLR: в std_logic: = '0'; CLOCK: в std_logic: = '0'; CLKEN: в std_logic := '1'; CIN: в std_logic := 'Z'; ADD_SUB: в std_logic := '1'; РЕЗУЛЬТАТ: выход std_logic_vector (LPM_WIDTH-1 до 0); COUT: выход std_logic; ПЕРЕПОЛНЕНИЕ: выход std_logic); концевой компонент;
5.4. Декларация VHDL LIBRARY_USE
Объявление VHDL LIBRARY-USE не требуется, если вы используете объявление компонента VHDL.
БИБЛИОТЕКА ИСПОЛЬЗОВАТЬ lpm.lpm_components.all;
5.5. Порты
В следующих таблицах перечислены входные и выходные порты для IP-ядра LPM_ADD_SUB.
Отправить отзыв
Руководство пользователя FPGA для целочисленных арифметических IP-ядер 23
5. LPM_ADD_SUB (сумматор/вычитатель) 683490 | 2020.10.05
Таблица 15. Входные порты ядра IP LPM_ADD_SUB
Имя порта
Необходимый
Описание
цин
Нет
Перенос в младший бит. Для операций сложения значение по умолчанию равно 0. Для
операции вычитания, значение по умолчанию равно 1.
данные[]
Да
Ввод данных. Размер входного порта зависит от значения параметра LPM_WIDTH.
база данных[]
Да
Ввод данных. Размер входного порта зависит от значения параметра LPM_WIDTH.
add_sub
Нет
Дополнительный входной порт для динамического переключения между сумматором и вычитателем
функции. Если используется параметр LPM_DIRECTION, add_sub использовать нельзя. Если
опущен, значение по умолчанию — ДОБАВИТЬ. Intel рекомендует использовать
Параметр LPM_DIRECTION для указания работы функции LPM_ADD_SUB,
вместо того, чтобы назначать константу порту add_sub.
часы
Нет
Вход для конвейерного использования. Порт часов обеспечивает ввод часов для конвейерного
операция. Для значений LPM_PIPELINE, отличных от 0 (по умолчанию), порт часов должен быть
включено.
клкен
Нет
Включение часов для конвейерного использования. Когда на порту clken установлен высокий уровень, сумматор/
происходит операция вычитания. Когда сигнал низкий, операции не происходит. Если
опущен, значение по умолчанию равно 1.
аклр
Нет
Асинхронная очистка для конвейерного использования. Конвейер инициализируется неопределенным (X)
логический уровень. Порт aclr можно использовать в любое время для сброса конвейера на все 0,
асинхронно с тактовым сигналом.
Таблица 16. Порты вывода ядра LPM_ADD_SUB IP
Имя порта
Необходимый
Описание
результат[]
Да
Вывод данных. Размер выходного порта зависит от параметра LPM_WIDTH.
ценить.
cout
Нет
Вынос (заимствование) старшего бита (MSB). Порт cout имеет физический
интерпретация как вынос (заимствование) MSB. Порт cout обнаруживает
переполнение в операциях UNSIGNED. Порт cout работает таким же образом для
SIGNED и UNSIGNED операции.
переполнение
Нет
Необязательный вывод исключения переполнения. Порт переполнения имеет физическую интерпретацию как
XOR переноса в MSB с переносом MSB. Порт переполнения
утверждает, когда результаты превышают доступную точность, и используется только тогда, когда
Значение параметра LPM_REPRESENTATION SIGNED.
5.6. параметры
В следующей таблице перечислены основные параметры IP LPM_ADD_SUB.
Таблица 17. Параметры ядра IP LPM_ADD_SUB
Имя параметра LPM_WIDTH
Тип Целое
Обязательно Да
Описание
Определяет ширину портов dataa[], datab[] и result[].
LPM_DIRECTION
Нить
Нет
Значения: ADD, SUB и UNUSED. Если этот параметр опущен, по умолчанию используется значение DEFAULT, которое указывает, что параметр берет свое значение из порта add_sub. Порт add_sub нельзя использовать, если используется LPM_DIRECTION. Intel рекомендует использовать параметр LPM_DIRECTION для указания операции функции LPM_ADD_SUB, а не назначать константу порту add_sub.
продолжение…
Руководство пользователя FPGA для целочисленных арифметических IP-ядер 24
Отправить отзыв
5. LPM_ADD_SUB (сумматор/вычитатель) 683490 | 2020.10.05
Имя параметра LPM_REPRESENTATION LPM_PIPELINE LPM_HINT LPM_TYPE ONE_INPUT_IS_CONSTANT MAXIMIZE_SPEED
INTENDED_DEVICE_FAMILY
Тип String Integer String String String Integer
Нить
Требуется Нет Нет Нет Нет Нет Нет
Нет
Описание
Указывает тип выполняемого добавления. Значения SIGNED и UNSIGNED. Если опущено, значение по умолчанию — SIGNED. Когда для этого параметра установлено значение SIGNED, сумматор/вычитатель интерпретирует ввод данных как дополнение до двух со знаком.
Определяет количество тактовых циклов задержки, связанных с выводом результата[]. Нулевое значение (0) указывает на отсутствие задержки и на то, что будет реализована чисто комбинационная функция. Если опущено, значение по умолчанию равно 0 (без конвейерной обработки).
Позволяет указать специфичные для Intel параметры в дизайне VHDL. fileс (.vhd). Значение по умолчанию НЕ ИСПОЛЬЗУЕТСЯ.
Идентифицирует имя объекта библиотеки параметризованных модулей (LPM) в проекте VHDL. files.
Индивидуальный параметр Intel. Вы должны использовать параметр LPM_HINT, чтобы указать параметр ONE_INPUT_IS_CONSTANT в проекте VHDL. fileс. Возможные значения: YES, NO и UNUSED. Обеспечивает большую оптимизацию, если один вход является постоянным. Если опущено, значение по умолчанию — НЕТ.
Индивидуальный параметр Intel. Вы должны использовать параметр LPM_HINT, чтобы указать параметр MAXIMIZE_SPEED в проекте VHDL. fileс. Вы можете указать значение от 0 до 10. Если используется, программное обеспечение Intel Quartus Prime пытается оптимизировать конкретный экземпляр функции LPM_ADD_SUB для скорости, а не маршрутизации, и переопределяет настройку параметра логики Optimization Technique. Если MAXIMIZE_SPEED не используется, вместо него используется значение параметра Optimization Technique. Если параметр MAXIMIZE_SPEED равен 6 или выше, компилятор оптимизирует IP-ядро LPM_ADD_SUB для более высокой скорости с использованием цепочек переноса; если параметр равен 5 или меньше, компилятор реализует проект без цепочек переноса. Этот параметр необходимо указывать для устройств Cyclone, Stratix и Stratix GX, только если порт add_sub не используется.
Этот параметр используется для целей моделирования и имитации поведения. Редактор параметров вычисляет значение этого параметра.
Отправить отзыв
Руководство пользователя FPGA для целочисленных арифметических IP-ядер 25
683490 | 2020.10.05 Отправить отзыв
6. LPM_COMPARE (компаратор)
Рисунок 5.
IP-ядро LPM_COMPARE сравнивает значения двух наборов данных, чтобы определить взаимосвязь между ними. В простейшей форме вы можете использовать вентиль исключающее ИЛИ, чтобы определить, равны ли два бита данных.
На следующем рисунке показаны порты для IP-ядра LPM_COMPARE.
Порты LPM_COMPARE
LPM_COMPARE
клкен
альб
аэб
данные[]
агб
база данных[]
возраст
часы
или же
аклр
алеб
инст
6.1. Особенности
IP-ядро LPM_COMPARE предлагает следующие функции: · Генерирует функцию сравнения для сравнения двух наборов данных · Поддерживает разрядность данных 1 бит · Поддерживает формат представления данных, такой как знаковый и беззнаковый · Производит следующие типы вывода:
— alb (вход A меньше, чем вход B) — aeb (вход A равен входу B) — agb (вход A больше, чем вход B) — ageb (вход A больше или равен входу B) — aneb ( вход A не равен входу B) — алеб (вход A меньше или равен входу B) · Поддерживает необязательные асинхронные входные порты очистки и синхронизации · Назначает вход datab[] константе · Поддерживает конвейерную обработку с настраиваемой задержкой вывода
Корпорация Интел. Все права защищены. Intel, логотип Intel и другие товарные знаки Intel являются товарными знаками корпорации Intel или ее дочерних компаний. Корпорация Intel гарантирует производительность своих FPGA и полупроводниковых продуктов в соответствии с текущими спецификациями в соответствии со стандартной гарантией Intel, но оставляет за собой право вносить изменения в любые продукты и услуги в любое время без предварительного уведомления. Intel не принимает на себя никакой ответственности или обязательств, возникающих в связи с применением или использованием какой-либо информации, продуктов или услуг, описанных в настоящем документе, за исключением случаев, когда это прямо согласовано с корпорацией Intel в письменной форме. Клиентам Intel рекомендуется получить последнюю версию спецификаций устройств, прежде чем полагаться на какую-либо опубликованную информацию и размещать заказы на продукты или услуги. *Другие названия и торговые марки могут быть заявлены как собственность других лиц.
Сертификат ISO 9001: 2015
6. LPM_COMPARE (компаратор) 683490 | 2020.10.05
6.2. Прототип Verilog HDL
Следующий прототип Verilog HDL находится в Verilog Design. File (.v) лпм.в в каталог эдасинтеза.
модуль lpm_compare (alb, aeb, agb, aleb, aneb, ageb, dataa, datab, clock, clken, aclr); параметр lpm_type = «lpm_compare»; параметр lpm_width = 1; параметр lpm_representation = «UNSIGNED»; параметр lpm_pipeline = 0; параметр lpm_hint = «НЕ ИСПОЛЬЗУЕТСЯ»; ввод [lpm_width-1:0] данныеa, данныеb; входные часы; входной сигнал; ввод аклр; вывод alb, aeb, agb, aleb, aneb, ageb; конечный модуль
6.3. Объявление компонента VHDL
Объявление компонента VHDL находится в файле VHDL Design. File (.vhd) LPM_PACK.vhd в каталог библиотекvhdllpm.
компонент LPM_COMPARE универсальный (LPM_WIDTH: натуральный;
LPM_REPRESENTATION: строка: = «БЕЗ ПОДПИСА»; LPM_PIPELINE: натуральный: = 0; LPM_TYPE: строка := L_COMPARE; LPM_HINT : строка := «НЕ ИСПОЛЬЗУЕТСЯ»); порт (DATAA: в std_logic_vector (LPM_WIDTH-1 до 0); DATAB: в std_logic_vector (LPM_WIDTH-1 до 0); ACLR: в std_logic: = '0'; CLOCK: в std_logic: = '0'; CLKEN: в std_logic := '1'; AGB : выход из стандартной_логики; AGEB : выход из стандартной_логики; AEB : выход из стандартной_логики; ANEB : выход из стандартной_логики; ALB : выход из стандартной_логики; ALEB : выход из стандартной_логики); концевой компонент;
6.4. Декларация VHDL LIBRARY_USE
Объявление VHDL LIBRARY-USE не требуется, если вы используете объявление компонента VHDL.
БИБЛИОТЕКА ИСПОЛЬЗОВАТЬ lpm.lpm_components.all;
6.5. Порты
В следующих таблицах перечислены входные и выходные порты для IP-ядра LMP_COMPARE.
Отправить отзыв
Руководство пользователя FPGA для целочисленных арифметических IP-ядер 27
6. LPM_COMPARE (компаратор) 683490 | 2020.10.05
Таблица 18. Входные порты ядра IP LPM_COMPARE
Имя порта
Необходимый
Описание
данные[]
Да
Ввод данных. Размер входного порта зависит от значения параметра LPM_WIDTH.
база данных[]
Да
Ввод данных. Размер входного порта зависит от значения параметра LPM_WIDTH.
часы
Нет
Тактовый вход для конвейерного использования. Порт часов обеспечивает ввод часов для конвейерного
операция. Для значений LPM_PIPELINE, отличных от 0 (по умолчанию), порт часов должен быть
включено.
клкен
Нет
Включение часов для конвейерного использования. Когда порт clken установлен на высоком уровне,
происходит операция сравнения. Когда сигнал низкий, операции не происходит. Если
опущен, значение по умолчанию равно 1.
аклр
Нет
Асинхронная очистка для конвейерного использования. Конвейер инициализируется неопределенной (X) логикой.
уровень. Порт aclr можно использовать в любое время для сброса конвейера на все 0,
асинхронно с тактовым сигналом.
Таблица 19. Порты вывода IP-ядра LPM_COMPARE
Имя порта
Необходимый
Описание
альб
Нет
Выходной порт для компаратора. Утверждается, если вход A меньше, чем вход B.
аэб
Нет
Выходной порт для компаратора. Утверждается, если вход A равен входу B.
агб
Нет
Выходной порт для компаратора. Утверждается, если вход A больше, чем вход B.
возраст
Нет
Выходной порт для компаратора. Утверждается, если вход A больше или равен входу
B.
или же
Нет
Выходной порт для компаратора. Утверждается, если вход A не равен входу B.
алеб
Нет
Выходной порт для компаратора. Утверждается, если вход A меньше или равен входу B.
6.6. параметры
В следующей таблице перечислены параметры IP-ядра LPM_COMPARE.
Табл. 20. Параметры IP-ядра LPM_COMPARE
Имя параметра
Тип
Необходимый
LPM_WIDTH
Целое Да
LPM_REPRESENTATION
Нить
Нет
LPM_PIPELINE
Целое число Нет
LPM_HINT
Нить
Нет
Описание
Определяет ширину портов dataa[] и datab[].
Указывает тип выполняемого сравнения. Значения SIGNED и UNSIGNED. Если опущено, значение по умолчанию — UNSIGNED. Когда значение этого параметра установлено в SIGNED, компаратор интерпретирует входные данные как дополнение до двух со знаком.
Задает количество тактов задержки, связанное с выводом alb, aeb, agb, ageb, aleb или aneb. Нулевое значение (0) указывает на отсутствие задержки и на то, что будет реализована чисто комбинационная функция. Если опущено, значение по умолчанию равно 0 (без конвейерной обработки).
Позволяет указать специфичные для Intel параметры в дизайне VHDL. fileс (.vhd). Значение по умолчанию НЕ ИСПОЛЬЗУЕТСЯ.
продолжение…
Руководство пользователя FPGA для целочисленных арифметических IP-ядер 28
Отправить отзыв
6. LPM_COMPARE (компаратор) 683490 | 2020.10.05
Имя параметра LPM_TYPE INTENDED_DEVICE_FAMILY
ONE_INPUT_IS_CONSTANT
Тип Строка Строка
Нить
Требуется Нет Нет
Нет
Описание
Идентифицирует имя объекта библиотеки параметризованных модулей (LPM) в проекте VHDL. files.
Этот параметр используется для целей моделирования и имитации поведения. Редактор параметров вычисляет значение этого параметра.
Индивидуальный параметр Intel. Вы должны использовать параметр LPM_HINT, чтобы указать параметр ONE_INPUT_IS_CONSTANT в проекте VHDL. fileс. Возможные значения: YES, NO или UNUSED. Обеспечивает большую оптимизацию, если ввод является постоянным. Если опущено, значение по умолчанию — НЕТ.
Отправить отзыв
Руководство пользователя FPGA для целочисленных арифметических IP-ядер 29
683490 | 2020.10.05 Отправить отзыв
7. ALTECC (код коррекции ошибок: кодер/декодер) IP Core
Рисунок 6.
Intel предоставляет IP-ядро ALTECC для реализации функций ECC. ECC обнаруживает поврежденные данные, которые возникают на стороне получателя во время передачи данных. Этот метод исправления ошибок лучше всего подходит для ситуаций, когда ошибки возникают случайным образом, а не пачками.
ECC обнаруживает ошибки в процессе кодирования и декодирования данных. Для бывшегоampНапример, когда ECC применяется в приложении передачи, данные, считанные из источника, кодируются перед отправкой получателю. Выход (кодовое слово) кодера состоит из необработанных данных, к которым добавлено количество битов четности. Точное количество добавляемых битов четности зависит от количества битов во входных данных. Затем сгенерированное кодовое слово передается адресату.
Приемник получает кодовое слово и декодирует его. Информация, полученная декодером, определяет, обнаружена ли ошибка. Декодер обнаруживает однобитовые и двухбитовые ошибки, но может исправить только однобитовые ошибки в поврежденных данных. Этот тип ECC представляет собой обнаружение двойной ошибки с исправлением одиночной ошибки (SECDED).
Вы можете настроить функции кодировщика и декодера IP-ядра ALTECC. Данные, вводимые в кодер, кодируются для генерации кодового слова, которое представляет собой комбинацию введенных данных и сгенерированных битов четности. Сгенерированное кодовое слово передается в модуль декодера для декодирования непосредственно перед достижением его целевого блока. Декодер генерирует вектор синдрома, чтобы определить, есть ли ошибка в принятом кодовом слове. Декодер исправляет данные только в том случае, если однобитовая ошибка связана с битами данных. Сигнал не помечается, если однобитовая ошибка исходит из битов четности. Декодер также имеет флаговые сигналы для отображения состояния полученных данных и действий, предпринятых декодером, если таковые имеются.
На следующих рисунках показаны порты для IP-ядра ALTECC.
Порты энкодера ALTECC
ALTECC_ENCODER
данные[]
д[]
часы
часы
аклр
инст
Корпорация Интел. Все права защищены. Intel, логотип Intel и другие товарные знаки Intel являются товарными знаками корпорации Intel или ее дочерних компаний. Корпорация Intel гарантирует производительность своих FPGA и полупроводниковых продуктов в соответствии с текущими спецификациями в соответствии со стандартной гарантией Intel, но оставляет за собой право вносить изменения в любые продукты и услуги в любое время без предварительного уведомления. Intel не принимает на себя никакой ответственности или обязательств, возникающих в связи с применением или использованием какой-либо информации, продуктов или услуг, описанных в настоящем документе, за исключением случаев, когда это прямо согласовано с корпорацией Intel в письменной форме. Клиентам Intel рекомендуется получить последнюю версию спецификаций устройств, прежде чем полагаться на какую-либо опубликованную информацию и размещать заказы на продукты или услуги. *Другие названия и торговые марки могут быть заявлены как собственность других лиц.
Сертификат ISO 9001: 2015
7. ALTECC (код исправления ошибок: кодер/декодер) IP Core 683490 | 2020.10.05
Рисунок 7. Порты декодера ALTECC
ALTECC_DECODER
данные [] часы часы
q[] err_detected err_corrected
err_fatal
аклр
инст
7.1. Особенности энкодера ALTECC
IP-ядро кодировщика ALTECC предлагает следующие функции: · Выполняет кодирование данных с использованием схемы кодирования Хемминга · Поддерживает разрядность данных 2 бита · Поддерживает формат представления данных со знаком и без знака · Поддерживает конвейерную обработку с задержкой вывода в один или два такта · Опционально поддерживает асинхронная очистка и синхронизация разрешающих портов
IP-ядро кодировщика ALTECC принимает и кодирует данные, используя схему кодирования Хэмминга. Схема кодирования Хэмминга выводит биты четности и добавляет их к исходным данным для получения выходного кодового слова. Количество добавляемых битов четности зависит от ширины данных.
В следующей таблице указано количество битов четности, добавленных для различных диапазонов ширины данных. Столбец Total Bits представляет общее количество битов входных данных и добавленных битов четности.
Таблица 21.
Количество битов четности и кодового слова в зависимости от разрядности данных
Ширина данных
Количество битов четности
Всего битов (кодовое слово)
2-4
3+1
6-8
5-11
4+1
10-16
12-26
5+1
18-32
27-57
6+1
34-64
58-64
7+1
66-72
При выводе бита четности используется проверка на четность. Дополнительный 1 бит (обозначенный в таблице как +1) добавляется к битам четности как старший бит кодового слова. Это гарантирует, что кодовое слово имеет четное количество единиц. Для бывшегоample, если ширина данных составляет 4 бита, к данным добавляются 4 бита четности, чтобы стать кодовым словом с общей длиной 8 бит. Если 7 битов младшего бита 8-битового кодового слова имеют нечетное количество единиц, то восьмой бит (старший бит) кодового слова равен 1, что делает общее количество единиц в кодовом слове четным.
На следующем рисунке показано сгенерированное кодовое слово и расположение битов четности и битов данных в 8-битном вводе данных.
Отправить отзыв
Руководство пользователя FPGA для целочисленных арифметических IP-ядер 31
7. ALTECC (код исправления ошибок: кодер/декодер) IP Core 683490 | 2020.10.05
Рисунок 8.
Расположение битов четности и битов данных в 8-битном сгенерированном кодовом слове
MSB
МЗП
4 бита четности
4 бит данных
8
1
IP-ядро кодировщика ALTECC одновременно принимает входные данные шириной от 2 до 64 бит. Разрядность входных данных 12 бит, 29 бит и 64 бита, которые идеально подходят для устройств Intel, генерируют выходные данные 18 бит, 36 бит и 72 бита соответственно. Вы можете управлять ограничением выбора битов в редакторе параметров.
7.2. Прототип Verilog HDL (ALTECC_ENCODER)
Следующий прототип Verilog HDL находится в Verilog Design. File (.v) лпм.в в каталог эдасинтеза.
модуль altecc_encoder #( параметр предназначенное_устройство_семейства = «неиспользуемый», параметр lpm_pipeline = 0, параметр width_codeword = 8, параметр width_dataword = 8, параметр lpm_type = «altecc_encoder», параметр lpm_hint = «неиспользуемый») ( входной провод aclr, входной провод часы, вход проводные часы, входной провод [width_dataword-1:0] данные, выходной провод [width_codeword-1:0] q); конечный модуль
7.3. Прототип Verilog HDL (ALTECC_DECODER)
Следующий прототип Verilog HDL находится в Verilog Design. File (.v) лпм.в в каталог эдасинтеза.
модуль altecc_decoder #( параметр предназначенное_устройство_семейства = «неиспользуемый», параметр lpm_pipeline = 0, параметр width_codeword = 8, параметр width_dataword = 8, параметр lpm_type = «altecc_decoder», параметр lpm_hint = «неиспользуемый») ( входной провод aclr, входной провод часы, вход проводные часы, входной провод [width_codeword-1:0] данные, выходной провод err_corrected, выходной провод err_detected, выходной провод err_fatal, выходной провод [width_dataword-1:0] q); конечный модуль
Руководство пользователя FPGA для целочисленных арифметических IP-ядер 32
Отправить отзыв
7. ALTECC (код исправления ошибок: кодер/декодер) IP Core 683490 | 2020.10.05
7.4. Объявление компонента VHDL (ALTECC_ENCODER)
Объявление компонента VHDL находится в файле VHDL Design. File (.vhd) altera_mf_components.vhd в каталог libraryvhdlaltera_mf.
компонент altecc_encoder generic ( предназначенное_устройство_семейства:строка := «не используется»; lpm_pipeline:natural := 0; width_codeword:natural := 8; width_dataword:natural := 8; lpm_hint:string := «UNUSED»; lpm_type:string := «altecc_encoder ”); порт( aclr: в std_logic := '0'; часы: в std_logic := '0'; часы: в std_logic := '1'; данные: в std_logic_vector (width_dataword-1 до 0); q: out std_logic_vector (width_codeword -1 до 0)); концевой компонент;
7.5. Объявление компонента VHDL (ALTECC_DECODER)
Объявление компонента VHDL находится в файле VHDL Design. File (.vhd) altera_mf_components.vhd в каталог libraryvhdlaltera_mf.
компонент altecc_decoder generic ( предназначенное_устройство_семейства:строка := «не используется»; lpm_pipeline:natural := 0; width_codeword:natural := 8; width_dataword:natural := 8; lpm_hint:string := «UNUSED»; lpm_type:string := «altecc_decoder ”); port( aclr: в std_logic: = '0'; часы: в std_logic: = '0'; clocken: в std_logic: = '1'; данные: в std_logic_vector (width_codeword-1 до 0); err_corrected: out std_logic; err_detected : out std_logic; q: out std_logic_vector (width_dataword-1 вниз до 0); syn_e : out std_logic); концевой компонент;
7.6. Декларация VHDL LIBRARY_USE
Объявление VHDL LIBRARY-USE не требуется, если вы используете объявление компонента VHDL.
БИБЛИОТЕКА altera_mf; ИСПОЛЬЗОВАТЬ altera_mf.altera_mf_components.all;
7.7. Порты кодировщика
В следующих таблицах перечислены входные и выходные порты для IP-ядра кодировщика ALTECC.
Отправить отзыв
Руководство пользователя FPGA для целочисленных арифметических IP-ядер 33
7. ALTECC (код исправления ошибок: кодер/декодер) IP Core 683490 | 2020.10.05
Таблица 22. Входные порты энкодера ALTECC
Имя порта
Необходимый
Описание
данные[]
Да
Порт ввода данных. Размер входного порта зависит от WIDTH_DATAWORD
значение параметра. Порт data[] содержит необработанные данные для кодирования.
часы
Да
Входной порт тактового сигнала, который обеспечивает тактовый сигнал для синхронизации операции кодирования.
Порт часов требуется, когда значение LPM_PIPELINE больше 0.
часы
Нет
Часы включить. Если опущено, значение по умолчанию равно 1.
аклр
Нет
Асинхронный чистый ввод. Активный высокий сигнал aclr может быть использован в любое время для
асинхронно очистить регистры.
Таблица 23. Выходные порты энкодера ALTECC
Имя порта q[]
Обязательно Да
Описание
Порт вывода закодированных данных. Размер выходного порта зависит от значения параметра WIDTH_CODEWORD.
7.8. Порты декодера
В следующих таблицах перечислены входные и выходные порты для IP-ядра декодера ALTECC.
Таблица 24. Входные порты декодера ALTECC
Имя порта
Необходимый
Описание
данные[]
Да
Порт ввода данных. Размер входного порта зависит от значения параметра WIDTH_CODEWORD.
часы
Да
Входной порт тактового сигнала, который обеспечивает тактовый сигнал для синхронизации операции кодирования. Порт часов требуется, когда значение LPM_PIPELINE больше 0.
часы
Нет
Часы включить. Если опущено, значение по умолчанию равно 1.
аклр
Нет
Асинхронный чистый ввод. Активный высокий сигнал aclr может использоваться в любое время для асинхронной очистки регистров.
Таблица 25. Выходные порты декодера ALTECC
Имя порта q[]
Обязательно Да
Описание
Порт вывода декодированных данных. Размер выходного порта зависит от значения параметра WIDTH_DATAWORD.
err_detected Да
Сигнал флага, отражающий состояние полученных данных и определяющий обнаруженные ошибки.
err_correcte Да д
Сигнал флага, отражающий состояние полученных данных. Обозначает обнаруженную и исправленную однобитовую ошибку. Вы можете использовать данные, потому что они уже были исправлены.
err_fatal
Да
Сигнал флага, отражающий состояние полученных данных. Обозначает обнаруженную, но не исправленную двойную битовую ошибку. Вы не должны использовать данные, если этот сигнал установлен.
син_е
Нет
Выходной сигнал, который становится высоким при обнаружении однобитовой ошибки в четности.
биты.
7.9. Параметры кодировщика
В следующей таблице перечислены параметры IP-ядра кодировщика ALTECC.
Руководство пользователя FPGA для целочисленных арифметических IP-ядер 34
Отправить отзыв
7. ALTECC (код исправления ошибок: кодер/декодер) IP Core 683490 | 2020.10.05
Таблица 26. Параметры энкодера ALTECC
Имя параметра
Тип
Необходимый
Описание
WIDTH_DATAWORD
Целое Да
Определяет ширину необработанных данных. Значения от 2 до 64. Если опущено, значение по умолчанию равно 8.
WIDTH_CODEWORD
Целое Да
Определяет ширину соответствующего кодового слова. Допустимые значения: от 6 до 72, за исключением 9, 17, 33 и 65. Если опущено, значение по умолчанию равно 13.
LPM_PIPELINE
Целое число Нет
Указывает конвейер для цепи. Значения от 0 до 2. Если значение равно 0, порты не зарегистрированы. Если значение равно 1, выходные порты зарегистрированы. Если значение равно 2, входные и выходные порты зарегистрированы. Если опущено, значение по умолчанию равно 0.
7.10. Параметры декодера
В следующей таблице перечислены основные параметры IP-ядра декодера ALTECC.
Таблица 27. Параметры декодера ALTECC
Имя параметра WIDTH_DATAWORD
Тип Целое
Необходимый
Описание
Да
Определяет ширину необработанных данных. Значения от 2 до 64.
значение по умолчанию - 8.
WIDTH_CODEWORD
Целое число
Да
Определяет ширину соответствующего кодового слова. Значения 6
до 72, исключая 9, 17, 33 и 65. Если опущено, значение по умолчанию
это 13.
LPM_PIPELINE
Целое число
Нет
Определяет регистр схемы. Значения от 0 до 2. Если
значение равно 0, регистр не реализован. Если значение равно 1,
выход зарегистрирован. Если значение равно 2, и вход, и
выход зарегистрирован. Если значение больше 2, доп.
регистры реализованы на выходе для доп.
задержки. Если опущено, значение по умолчанию равно 0.
Создайте порт «syn_e»
Целое число
Нет
Включите этот параметр, чтобы создать порт syn_e.
Отправить отзыв
Руководство пользователя FPGA для целочисленных арифметических IP-ядер 35
683490 | 2020.10.05 Отправить отзыв
8. IP-ядро Intel FPGA Multiply Adder
Рисунок 9.
IP-ядро Intel FPGA Multiply Adder (устройства Intel Stratix 10, Intel Arria 10 и Intel Cyclone 10 GX) или ALTERA_MULT_ADD (устройства Arria V, Stratix V и Cyclone V) позволяет реализовать умножитель-сумматор.
На следующем рисунке показаны порты для Intel FPGA Multiply Adder или IP-ядра ALTERA_MULT_ADD.
Intel FPGA Multiply Adder или порты ALTERA_MULT_ADD
Intel FPGA Multiply Adder или ALTERA_MULT_ADD
dataa[] signa datab[] signb datac[] coefsel0[] coefsel1[] coefsel2[] coefsel3[] addnsub1 addnsub3 aclr/sclr[] scanina[] clock0 clock1 clock2 ena0 ena1 ena2 sload_accum
цепочка accum_sload[]
сканирование [] результат []
аклр0 аклр1
инст
Умножитель-сумматор принимает пары входных данных, умножает значения вместе, а затем добавляет или вычитает из произведений всех других пар.
Если ширина всех входных данных составляет 9 бит или меньше, функция использует конфигурацию входного множителя 9 x 9 бит в блоке DSP для устройств, поддерживающих конфигурацию 9 x 9. В противном случае блок DSP использует входные умножители 18 × 18 бит для обработки данных с разрядностью от 10 до 18 бит. Если в проекте встречается несколько ядер Intel FPGA Multiply Adder или IP-ядер ALTERA_MULT_ADD, функции распределяются между
Корпорация Интел. Все права защищены. Intel, логотип Intel и другие товарные знаки Intel являются товарными знаками корпорации Intel или ее дочерних компаний. Корпорация Intel гарантирует производительность своих FPGA и полупроводниковых продуктов в соответствии с текущими спецификациями в соответствии со стандартной гарантией Intel, но оставляет за собой право вносить изменения в любые продукты и услуги в любое время без предварительного уведомления. Intel не принимает на себя никакой ответственности или обязательств, возникающих в связи с применением или использованием какой-либо информации, продуктов или услуг, описанных в настоящем документе, за исключением случаев, когда это прямо согласовано с корпорацией Intel в письменной форме. Клиентам Intel рекомендуется получить последнюю версию спецификаций устройств, прежде чем полагаться на какую-либо опубликованную информацию и размещать заказы на продукты или услуги. *Другие названия и торговые марки могут быть заявлены как собственность других лиц.
Сертификат ISO 9001: 2015
8. Умножительный сумматор Intel FPGA IP Core 683490 | 2020.10.05
как можно больше различных блоков DSP, чтобы маршрутизация к этим блокам была более гибкой. Меньшее количество множителей на блок DSP обеспечивает больше вариантов маршрутизации в блок за счет минимизации путей к остальной части устройства.
Регистры и дополнительные конвейерные регистры для следующих сигналов также размещены внутри блока DSP: · Ввод данных · Выбор со знаком или без знака · Выбор сложения или вычитания · Произведения множителей
В случае вывода результата первый регистр помещается в блок DSP. Однако дополнительные регистры задержки размещены в логических элементах вне блока. Периферийные устройства по отношению к блоку DSP, включая входы данных для умножителя, входы управляющих сигналов и выходы сумматора, используют обычную маршрутизацию для связи с остальной частью устройства. Все соединения в функции используют выделенную маршрутизацию внутри блока DSP. Эта выделенная маршрутизация включает цепочки сдвиговых регистров, когда вы выбираете опцию смещения зарегистрированных входных данных множителя от одного множителя к соседнему множителю.
Для получения дополнительной информации о блоках DSP в устройствах серии Stratix V и Arria V см. главу «Блоки DSP» соответствующих руководств на странице «Литература и техническая документация».
Связанная информация AN 306: Реализация умножителей в устройствах FPGA
Предоставляет дополнительную информацию о реализации множителей с использованием DSP и блоков памяти в устройствах Intel FPGA.
8.1. Особенности
Intel FPGA Multiply Adder или IP-ядро ALTERA_MULT_ADD предлагает следующие функции: · Генерирует множитель для выполнения операций умножения двух сложных
числа Примечание. При построении множителей, превышающих изначально поддерживаемый размер, может/
будет влиять на производительность в результате каскадирования блоков DSP. · Поддерживает ширину данных 1 256 бит · Поддерживает формат представления данных со знаком и без знака · Поддерживает конвейерную обработку с настраиваемой задержкой ввода · Предоставляет возможность динамического переключения между поддержкой данных со знаком и без знака · Предоставляет возможность динамического переключения между операциями сложения и вычитания · Поддерживает опциональные асинхронные и синхронные входные порты сброса и синхронизации · Поддерживает режим регистра систолической задержки · Поддерживает предварительный сумматор с 8 коэффициентами предварительной загрузки на множитель · Поддерживает константу предварительной загрузки для дополнения обратной связи аккумулятора
Отправить отзыв
Руководство пользователя FPGA для целочисленных арифметических IP-ядер 37
8. Умножительный сумматор Intel FPGA IP Core 683490 | 2020.10.05
8.1.1. Предварительный сумматор
С помощью предварительного сумматора сложения или вычитания выполняются до подачи на множитель.
Существует пять режимов предварительного сумматора: · Простой режим · Коэффициентный режим · Режим ввода · Квадратный режим · Постоянный режим
Примечание:
При использовании предварительного сумматора (режим коэффициента предварительного сумматора/ввода/квадрата) все входные данные умножителя должны иметь одинаковую настройку часов.
8.1.1.1. Простой режим перед суммированием
В этом режиме оба операнда получаются из входных портов, а пре-сумматор не используется и не обходится. Это режим "по умолчанию".
Рис. 10. Простой режим предварительного сумматора
а0 б0
Мульт0
результат
8.1.1.2. Режим коэффициента предварительного сумматора
В этом режиме один операнд умножителя берется из предварительного сумматора, а другой операнд берется из внутреннего хранилища коэффициентов. Память коэффициентов позволяет хранить до 8 предустановленных констант. Сигналами выбора коэффициента являются coefsel[0..3].
Этот режим выражается в следующем уравнении.
Ниже показан режим коэффициента множителя перед сумматором.
Рис. 11. Режим коэффициента предварительного сумматора
Преддер
a0
Мульт0
+/-
результат
b0
коэфсел0 коэф
Руководство пользователя FPGA для целочисленных арифметических IP-ядер 38
Отправить отзыв
8. Умножительный сумматор Intel FPGA IP Core 683490 | 2020.10.05
8.1.1.3. Режим ввода предварительного сумматора В этом режиме один операнд умножителя получается из предварительного сумматора, а другой операнд получается из порта ввода datac[]. Этот режим выражается в следующем уравнении.
Ниже показан режим ввода множителя перед сумматором.
Рис. 12. Режим ввода предварительного сумматора
а0 б0
Мульт0
+/-
результат
c0
8.1.1.4. Квадратный режим предварительного сумматора Этот режим выражается в следующем уравнении.
Ниже показан режим квадрата перед суммированием двух множителей.
Рис. 13. Квадратный режим предварительного сумматора
а0 б0
Мульт0
+/-
результат
8.1.1.5. Постоянный режим предварительного сумматора
В этом режиме один операнд умножителя берется из входного порта, а другой операнд берется из внутреннего хранилища коэффициентов. Память коэффициентов позволяет хранить до 8 предустановленных констант. Сигналами выбора коэффициента являются coefsel[0..3].
Этот режим выражается в следующем уравнении.
Отправить отзыв
Руководство пользователя FPGA для целочисленных арифметических IP-ядер 39
8. Умножительный сумматор Intel FPGA IP Core 683490 | 2020.10.05
На следующем рисунке показан постоянный режим умножителя перед сумматором.
Рис. 14. Постоянный режим предварительного сумматора
a0
Мульт0
результат
коэфсел0
коэф.
8.1.2. Регистр систолической задержки
В систолической архитектуре входные данные подаются в каскад регистров, действующих как буфер данных. Каждый регистр обеспечивает ввод sample к множителю, где он умножается на соответствующий коэффициент. Сумматор цепочки сохраняет постепенно объединенные результаты умножителя и ранее зарегистрированный результат из входного порта chainin[] для формирования окончательного результата. Каждый элемент с умножением должен быть задержан на один цикл, чтобы результаты синхронизировались надлежащим образом при сложении. Каждая последующая задержка используется для адресации как памяти коэффициентов, так и буфера данных соответствующих им элементов с умножением. Для бывшегоample, одна задержка для второго элемента сложения, две задержки для третьего элемента сложения и так далее.
Рисунок 15. Систолические регистры
Систолические регистры
х(т) с(0)
С-1
С-1
с(1)
С-1
С-1
с(2)
С-1
С-1
с(N-1)
С-1
С-1
С-1
S -1 лет(т)
x(t) представляет результаты непрерывного потока входных данных samples и y(t)
представляет собой суммирование набора входных samples, а со временем, помноженные на их
соответствующие коэффициенты. И входные, и выходные результаты идут слева направо. От c(0) до c(N-1) обозначаются коэффициенты. Регистры систолической задержки обозначаются S-1, тогда как 1 представляет задержку одиночных часов. Регистры систолической задержки добавляются в
входы и выходы для конвейерной обработки таким образом, чтобы гарантировать получение результатов от
операнд множителя и накопленные суммы остаются синхронизированными. Этот элемент обработки
реплицируется для формирования схемы, которая вычисляет функцию фильтрации. Эта функция
выражается в следующем уравнении.
Руководство пользователя FPGA для целочисленных арифметических IP-ядер 40
Отправить отзыв
8. Умножительный сумматор Intel FPGA IP Core 683490 | 2020.10.05
N представляет собой количество циклов данных, которые были введены в аккумулятор, y(t) представляет собой вывод в момент времени t, A(t) представляет собой ввод в момент времени t, а B(i) являются коэффициентами. t и i в уравнении соответствуют определенному моменту времени, поэтому для вычисления выходных данных sample y(t) в момент времени t группа входных данных samples в N разных моментах времени, или требуется A(n), A(n-1), A(n-2), … A(n-N+1). Группа из N входовamples умножаются на N коэффициентов и суммируются, чтобы получить окончательный результат y.
Архитектура систолического регистра доступна только для режимов суммы 2 и суммы 4. Для обоих режимов архитектуры систолического регистра первый сигнал цепочки должен быть привязан к 0.
На следующем рисунке показана реализация регистра систолической задержки с двумя множителями.
Рисунок 16. Реализация регистра систолической задержки с двумя множителями
цепочка
a0
Мульт0
+/-
b0
a1
Мульт1
+/-
b1
результат
Сумма двух множителей выражается в следующем уравнении.
На следующем рисунке показана реализация регистра систолической задержки с двумя множителями.
Отправить отзыв
Руководство пользователя FPGA для целочисленных арифметических IP-ядер 41
8. Умножительный сумматор Intel FPGA IP Core 683490 | 2020.10.05
Рисунок 17. Реализация регистра систолической задержки с двумя множителями
цепочка
a0
Мульт0
+/-
b0
a1
Мульт1
+/-
b1
a2
Мульт2
+/-
b2
a3
Мульт3
+/-
b3
результат
Сумма четырех множителей выражается в следующем уравнении. Рисунок 18. Сумма 4 множителей
Ниже перечислены преимуществаtagОсобенности реализации систолического регистра: · Уменьшает использование ресурсов DSP · Обеспечивает эффективное отображение в блоке DSP с использованием структуры цепного сумматора
Руководство пользователя FPGA для целочисленных арифметических IP-ядер 42
Отправить отзыв
8. Умножительный сумматор Intel FPGA IP Core 683490 | 2020.10.05
8.1.3. Константа предварительной загрузки
Константа предварительной загрузки управляет операндом аккумулятора и дополняет обратную связь аккумулятора. Допустимое значение LOADCONST_VALUE находится в диапазоне от 0. Постоянное значение равно 64N, где N = LOADCONST_VALUE. Когда LOADCONST_VALUE установлено на 2, постоянное значение равно 64. Эту функцию можно использовать для округления со смещением.
На следующем рисунке показана реализация константы предварительной загрузки.
Рис. 19. Константа предварительной нагрузки
Обратная связь аккумулятора
постоянный
a0
Мульт0
+/-
b0
a1
Мульт1
+/b1
результат
accum_sload sload_accum
Обратитесь к следующим IP-ядрам для других реализаций множителя: · ALTMULT_ACCUM · ALTMEMMULT · LPM_MULT
8.1.4. Двойной аккумулятор
Функция двойного аккумулятора добавляет дополнительный регистр в цепь обратной связи аккумулятора. Регистр двойного накопителя следует за регистром вывода, который включает в себя часы, разрешение часов и aclr. Дополнительный регистр-накопитель возвращает результат с задержкой в один такт. Эта функция позволяет вам иметь два канала накопителя с одинаковым количеством ресурсов.
На следующем рисунке показана реализация двойного аккумулятора.
Отправить отзыв
Руководство пользователя FPGA для целочисленных арифметических IP-ядер 43
8. Умножительный сумматор Intel FPGA IP Core 683490 | 2020.10.05
Рисунок 20. Двойной аккумулятор
Двойной накопительный регистр
Обратная связь аккумулятора
a0
Мульт0
+/-
b0
a1
Мульт1
+/b1
Выходной результат Выходной регистр
8.2. Прототип Verilog HDL
Вы можете найти прототип Intel FPGA Multiply Adder или ALTERA_MULT_ADD Verilog HDL. file (altera_mult_add_rtl.v) в каталог библиотек мегафункций.
8.3. Объявление компонента VHDL
Объявление компонента VHDL находится в файле altera_lnsim_components.vhd в каталог libraryvhdl altera_lnsim.
8.4. Декларация VHDL LIBRARY_USE
Объявление VHDL LIBRARY-USE не требуется, если вы используете объявление компонента VHDL.
БИБЛИОТЕКА altera_mf; ИСПОЛЬЗОВАТЬ altera_mf.altera_mf_components.all;
8.5. Сигналы
В следующих таблицах перечислены входные и выходные сигналы ядра Multiply Adder Intel FPGA IP или ALTERA_MULT_ADD IP.
Таблица 28. Входные сигналы Intel FPGA IP или ALTERA_MULT_ADD модуля умножения
Сигнал
Необходимый
Описание
данные_0[]/данные_1[]/
Да
данные_2[]/данные_3[]
Ввод данных в мультипликатор. Ширина входного порта [NUMBER_OF_MULTIPLIERS * WIDTH_A — 1 … 0]
продолжение…
Руководство пользователя FPGA для целочисленных арифметических IP-ядер 44
Отправить отзыв
8. Умножительный сумматор Intel FPGA IP Core 683490 | 2020.10.05
Сигнал datab_0[]/datab_1[]/ datab_2[]/datab_3[] datac_0[] /datac_1[]/ datac_2[]/datac_3[] clock[1:0] aclr[1:0] sclr[1:0] en [1:0] знак
знакb
сканирование[] accum_sload
Требуется Да Нет
Нет-нет-нет-нет-нет
Нет
Нет Нет
Описание
Имитационная модель для этого IP поддерживает неопределенное входное значение (X) для этих сигналов. Когда вы предоставляете значение X этим сигналам, значение X распространяется на выходные сигналы.
Ввод данных в мультипликатор. Входной сигнал [NUMBER_OF_MULTIPLIERS * WIDTH_B — 1 … 0] широкий Имитационная модель для этого IP поддерживает неопределенное входное значение (X) для этих сигналов. Когда вы предоставляете значение X этим сигналам, значение X распространяется на выходные сигналы.
Ввод данных в мультипликатор. Входной сигнал [NUMBER_OF_MULTIPLIERS * WIDTH_C – 1, … 0] широкий Выберите INPUT для параметра Select preadder mode, чтобы включить эти сигналы. Имитационная модель для этого IP поддерживает неопределенное входное значение (X) для этих сигналов. Когда вы предоставляете значение X этим сигналам, значение X распространяется на выходные сигналы.
Тактовый входной порт в соответствующий регистр. Этот сигнал может использоваться любым регистром в ядре IP. Имитационная модель для этого IP поддерживает неопределенное входное значение (X) для этих сигналов. Когда вы предоставляете значение X этим сигналам, значение X распространяется на выходные сигналы.
Асинхронный чистый ввод в соответствующий регистр. Имитационная модель для этого IP поддерживает неопределенное входное значение (X) для этих сигналов. Когда вы предоставляете значение X этим сигналам, значение X распространяется на выходные сигналы.
Синхронный сброс в соответствующий регистр. Имитационная модель для этого IP поддерживает неопределенное входное значение X для этих сигналов. Когда вы предоставляете значение X этим сигналам, значение X распространяется на выходные сигналы.
Разрешить ввод сигнала в соответствующий регистр. Имитационная модель для этого IP поддерживает неопределенное входное значение (X) для этих сигналов. Когда вы предоставляете значение X этим сигналам, значение X распространяется на выходные сигналы.
Определяет числовое представление входа A множителя. Если сигнал signa высокий, множитель обрабатывает входной сигнал A множителя как число со знаком. Если сигнал signa низкий, умножитель обрабатывает входной сигнал A умножителя как число без знака. Выберите VARIABLE для того, что является форматом представления для Multipliers Параметр ввода, чтобы включить этот сигнал. Имитационная модель для этого IP поддерживает неопределенное входное значение (X) для этого сигнала. Когда вы предоставляете значение X этому входу, значение X распространяется на выходные сигналы.
Определяет числовое представление входного сигнала B множителя. Если сигнал signb высокий, умножитель обрабатывает входной сигнал B умножителя как число в дополнении до двух со знаком. Если сигнал signb низкий, умножитель обрабатывает входной сигнал B умножителя как число без знака. Имитационная модель для этого IP поддерживает неопределенное входное значение (X) для этого сигнала. Когда вы предоставляете значение X этому входу, значение X распространяется на выходные сигналы.
Вход для цепочки сканирования A. Входной сигнал [WIDTH_A – 1, … 0] широкий. Когда параметр INPUT_SOURCE_A имеет значение SCANA, требуется сигнал scanina[].
Динамически указывает, является ли значение аккумулятора постоянным. Если сигнал accum_sload низкий, то выход умножителя загружается в аккумулятор. Не используйте accum_sload и sload_accum одновременно.
продолжение…
Отправить отзыв
Руководство пользователя FPGA для целочисленных арифметических IP-ядер 45
8. Умножительный сумматор Intel FPGA IP Core 683490 | 2020.10.05
Сигнал sload_accum
цепочка[] addnsub1
addnsub3
коэффициент0[] коэффициент1[] коэффициент2[] коэффициент3[]
Требуется Нет
Нет Нет
Нет
Нет нет Нет Нет
Описание
Имитационная модель для этого IP поддерживает неопределенное входное значение (X) для этого сигнала. Когда вы предоставляете значение X этому входу, значение X распространяется на выходные сигналы.
Динамически указывает, является ли значение аккумулятора постоянным. Если сигнал sload_accum высокий, то выход умножителя загружается в аккумулятор. Не используйте accum_sload и sload_accum одновременно. Имитационная модель для этого IP поддерживает неопределенное входное значение (X) для этого сигнала. Когда вы предоставляете значение X этому входу, значение X распространяется на выходные сигналы.
Шина ввода результата сумматора из предыдущего stagе. Входной сигнал [WIDTH_CHAININ — 1, … 0] широкий.
Выполните сложение или вычитание выходов из первой пары множителей. Введите 1 в сигнал addnsub1, чтобы добавить выходы из первой пары множителей. Введите 0 в сигнал addnsub1, чтобы вычесть выходы из первой пары множителей. Имитационная модель для этого IP поддерживает неопределенное входное значение (X) для этого сигнала. Когда вы предоставляете значение X этому входу, значение X распространяется на выходные сигналы.
Выполните сложение или вычитание выходов из первой пары множителей. Введите 1 в сигнал addnsub3, чтобы добавить выходы второй пары множителей. Введите 0 в сигнал addnsub3, чтобы вычесть выходы из первой пары множителей. Имитационная модель для этого IP поддерживает неопределенное входное значение (X) для этого сигнала. Когда вы предоставляете значение X этому входу, значение X распространяется на выходные сигналы.
Коэффициент входного сигнала[0:3] для первого множителя. Имитационная модель для этого IP поддерживает неопределенное входное значение (X) для этого сигнала. Когда вы предоставляете значение X этому входу, значение X распространяется на выходные сигналы.
Коэффициент входного сигнала [0:3] ко второму множителю. Имитационная модель для этого IP поддерживает неопределенное входное значение (X) для этого сигнала. Когда вы предоставляете значение X этому входу, значение X распространяется на выходные сигналы.
Коэффициент входного сигнала [0:3] к третьему множителю. Имитационная модель для этого IP поддерживает неопределенное входное значение (X) для этого сигнала. Когда вы предоставляете значение X этому входу, значение X распространяется на выходные сигналы.
Коэффициент входного сигнала [0:3] на четвертый множитель. Имитационная модель для этого IP поддерживает неопределенное входное значение (X) для этого сигнала. Когда вы предоставляете значение X этому входу, значение X распространяется на выходные сигналы.
Табл. 29. Выходные IP-сигналы модуля Multiply Adder Intel FPGA
Сигнал
Необходимый
Описание
результат []
Да
Выходной сигнал умножителя. Выходной сигнал [WIDTH_RESULT – 1 … 0] широкий
Имитационная модель для этого IP поддерживает неопределенное выходное значение (X). Когда вы предоставляете значение X в качестве входных данных, значение X распространяется на этот сигнал.
сканирование []
Нет
Выход цепочки сканирования A. Выходной сигнал [WIDTH_A – 1..0] широкий.
Выберите более 2 для количества множителей и выберите Вход цепочки сканирования для параметра Что такое вход A множителя, подключенного к параметру, чтобы включить этот сигнал.
Руководство пользователя FPGA для целочисленных арифметических IP-ядер 46
Отправить отзыв
8. Умножительный сумматор Intel FPGA IP Core 683490 | 2020.10.05
8.6. параметры
8.6.1. Вкладка «Общие»
Таблица 30. Вкладка «Общие»
Параметр
Сгенерированный IP-параметр
Ценить
Какое количество множителей?
number_of_m 1 – 4 множителя
Насколько широкими должны быть входные шины A width_a?
1 – 256
Насколько широкими должны быть входные шины B width_b?
1 – 256
Насколько широкой должна быть выходная шина «результата»?
ширина_результат
1 – 256
Создайте связанное разрешение часов для каждых часов
gui_associate Вкл. d_clock_enabl Выкл.
8.6.2. Вкладка «Дополнительные режимы»
Табл. 31. Вкладка «Дополнительные режимы»
Параметр
Сгенерированный IP-параметр
Ценить
Конфигурация выходов
Регистровый выход сумматора
gui_output_re Вкл.
регистрировать
Выключенный
Что является источником ввода часов?
gui_output_re gister_lock
Часы0 Часы1 Часы2
Каков источник асинхронного четкого ввода?
gui_output_re gister_aclr
НЕТ ACLR0 ACLR1
Что является источником для синхронного четкого ввода?
gui_output_re gister_sclr
НЕТ SCLR0 SCLR1
Сумматор Операция
Какую операцию нужно произвести над выходами первой пары множителей?
gui_multiplier 1_направление
ДОБАВИТЬ, SUB, ПЕРЕМЕННАЯ
Значение по умолчанию 1
16
Описание
Количество множителей, которые нужно сложить вместе. Значения от 1 до 4. Укажите ширину порта dataa[].
16
Укажите ширину порта datab[].
32
Укажите ширину порта результата[].
Выключенный
Выберите этот параметр, чтобы включить часы.
для каждых часов.
Значение по умолчанию
Описание
Выкл. Часы0
НЕТ НЕТ
Выберите эту опцию, чтобы включить выходной регистр модуля сумматора.
Выберите Clock0, Clock1 или Clock2, чтобы включить и указать источник синхронизации для выходных регистров. Вы должны выбрать Зарегистрировать выход сумматора, чтобы активировать этот параметр.
Определяет асинхронный источник очистки для выходного регистра сумматора. Вы должны выбрать Зарегистрировать выход сумматора, чтобы активировать этот параметр.
Определяет синхронный источник очистки для выходного регистра сумматора. Вы должны выбрать Зарегистрировать выход сумматора, чтобы активировать этот параметр.
ДОБАВЛЯТЬ
Выберите операцию сложения или вычитания, которую нужно выполнить для выходных значений между первым и вторым множителями.
· Выберите ДОБАВИТЬ, чтобы выполнить операцию добавления.
· Выберите SUB для выполнения операции вычитания.
· Выберите VARIABLE, чтобы использовать порт addnsub1 для динамического управления сложением/вычитанием.
продолжение…
Отправить отзыв
Руководство пользователя FPGA для целочисленных арифметических IP-ядер 47
8. Умножительный сумматор Intel FPGA IP Core 683490 | 2020.10.05
Параметр
Сгенерированный IP-параметр
Ценить
Зарегистрировать ввод «addnsub1»
gui_addnsub_ Вкл. multiplier_reg Выкл. ister1
Что является источником ввода часов?
gui_addnsub_ multiplier_reg ister1_lock
Часы0 Часы1 Часы2
Каков источник асинхронного четкого ввода?
gui_addnsub_ multiplier_aclr 1
НЕТ ACLR0 ACLR1
Что является источником для синхронного четкого ввода?
gui_addnsub_ multiplier_sclr 1
НЕТ SCLR0 SCLR1
Какую операцию нужно произвести на выходах второй пары умножителей?
gui_multiplier 3_направление
ДОБАВИТЬ, SUB, ПЕРЕМЕННАЯ
Зарегистрировать ввод «addnsub3»
gui_addnsub_ Вкл. multiplier_reg Выкл. ister3
Что является источником ввода часов?
gui_addnsub_ multiplier_reg ister3_lock
Часы0 Часы1 Часы2
Значение по умолчанию
Выкл. Часы0 НЕТ НЕТ ДОБАВИТЬ
Выкл. Часы0
Описание
Когда выбрано значение VARIABLE: · Приведите сигнал addnsub1 к высокому уровню для
операция сложения. · Установите низкий уровень сигнала addnsub1 для
операция вычитания. Чтобы включить этот параметр, необходимо выбрать более двух множителей.
Выберите этот параметр, чтобы включить входной регистр для порта addnsub1. Необходимо выбрать ПЕРЕМЕННАЯ для параметра Какая операция должна выполняться на выходах первой пары множителей, чтобы включить этот параметр.
Выберите Clock0, Clock1 или Clock2, чтобы задать входной тактовый сигнал для регистра addnsub1. Вы должны выбрать вход «Зарегистрировать addnsub1», чтобы включить этот параметр.
Задает асинхронный источник очистки для регистра addnsub1. Вы должны выбрать вход «Зарегистрировать addnsub1», чтобы включить этот параметр.
Указывает синхронный источник очистки для регистра addnsub1. Вы должны выбрать вход «Зарегистрировать addnsub1», чтобы включить этот параметр.
Выберите операцию сложения или вычитания для выполнения для выходов между третьим и четвертым множителями. · Выберите ДОБАВИТЬ, чтобы выполнить добавление
операция. · Выберите SUB для выполнения вычитания
операция. · Выберите VARIABLE, чтобы использовать addnsub1
порт для динамического управления сложением/вычитанием. Когда выбрано значение VARIABLE: · Установите высокий уровень сигнала addnsub1 для операции сложения. · Приведите сигнал addnsub1 к низкому уровню для операции вычитания. Вы должны выбрать значение 4 для Каково количество множителей? чтобы включить этот параметр.
Выберите эту опцию, чтобы включить входной регистр для сигнала addnsub3. Необходимо выбрать ПЕРЕМЕННАЯ для параметра Какая операция должна выполняться на выходах второй пары множителей, чтобы включить этот параметр.
Выберите Clock0, Clock1 или Clock2, чтобы задать входной тактовый сигнал для регистра addnsub3. Вы должны выбрать Зарегистрировать ввод «addnsub3», чтобы включить этот параметр.
продолжение…
Руководство пользователя FPGA для целочисленных арифметических IP-ядер 48
Отправить отзыв
8. Умножительный сумматор Intel FPGA IP Core 683490 | 2020.10.05
Параметр
Каков источник асинхронного четкого ввода?
Сгенерированный IP-параметр
Ценить
gui_addnsub_ multiplier_aclr 3
НЕТ ACLR0 ACLR1
Что является источником для синхронного четкого ввода?
gui_addnsub_ multiplier_sclr 3
НЕТ SCLR0 SCLR1
Полярность Включить `use_subadd'
gui_use_subn Включено
добавлять
Выключенный
8.6.3. Вкладка «Множители»
Таблица 32. Вкладка «Множители»
Параметр
Сгенерированный IP-параметр
Ценить
Что такое
gui_represent
формат представления ation_a
для входов множителей А?
ПОДПИСАННЫЙ, БЕЗЗНАКОВЫЙ, ПЕРЕМЕННЫЙ
Зарегистрировать ввод `signa'
gui_register_s включен
игна
Выключенный
Что является источником ввода часов?
gui_register_s igna_lock
Часы0 Часы1 Часы2
Каков источник асинхронного четкого ввода?
gui_register_s igna_aclr
НЕТ ACLR0 ACLR1
Что является источником для синхронного четкого ввода?
gui_register_s igna_sclr
НЕТ SCLR0 SCLR1
Что такое
gui_represent
формат представления ation_b
для входов множителей B?
ПОДПИСАННЫЙ, БЕЗЗНАКОВЫЙ, ПЕРЕМЕННЫЙ
Зарегистрировать ввод `signb'
gui_register_s включен
зажигание
Выключенный
Значение по умолчанию НЕТ
НИКТО
Описание
Задает асинхронный источник очистки для регистра addnsub3. Вы должны выбрать вход «Зарегистрировать addnsub3», чтобы включить этот параметр.
Указывает синхронный источник очистки для регистра addnsub3. Вы должны выбрать Зарегистрировать ввод «addnsub3», чтобы включить этот параметр.
Выключенный
Выберите этот параметр, чтобы изменить функцию
входного порта addnsub.
Приведите addnsub к высокому уровню для операции вычитания.
Установите addnsub на низкий уровень для операции сложения.
Значение по умолчанию
Описание
UNSIGNED Укажите формат представления для входа множителя A.
Выключенный
Выберите этот параметр, чтобы включить
зарегистрироваться.
Вы должны выбрать значение VARIABLE для Каков формат представления для входов Multipliers A? параметр, чтобы включить эту опцию.
Clock0
Выберите Clock0, Clock1 или Clock2, чтобы включить и указать входной тактовый сигнал для регистра signa.
Вы должны выбрать Зарегистрировать ввод `signa', чтобы включить этот параметр.
НИКТО
Определяет асинхронный источник очистки для регистра подписи.
Вы должны выбрать Зарегистрировать ввод `signa', чтобы включить этот параметр.
НИКТО
Определяет синхронный чистый источник для регистра подписи.
Вы должны выбрать Зарегистрировать ввод `signa', чтобы включить этот параметр.
UNSIGNED Укажите формат представления для входа множителя B.
Выключенный
Выберите этот параметр, чтобы включить знакb
зарегистрироваться.
продолжение…
Отправить отзыв
Руководство пользователя FPGA для целочисленных арифметических IP-ядер 49
8. Умножительный сумматор Intel FPGA IP Core 683490 | 2020.10.05
Параметр
Сгенерированный IP-параметр
Ценить
Значение по умолчанию
Что является источником ввода часов?
gui_register_s ignb_lock
Часы0 Часы1 Часы2
Clock0
Каков источник асинхронного четкого ввода?
gui_register_s ignb_aclr
НЕТ ACLR0 ACLR1
Что является источником для синхронного четкого ввода?
gui_register_s ignb_sclr
НЕТ SCLR0 SCLR1
Конфигурация ввода
Вход регистра A умножителя
Что является источником ввода часов?
gui_input_reg Вкл.
ister_a
Выключенный
gui_input_reg ister_a_lock
Часы0 Часы1 Часы2
НЕТ НЕТ
Выкл. Часы0
Каков источник асинхронного четкого ввода?
gui_input_reg ister_a_aclr
НЕТ ACLR0 ACLR1
Что является источником для синхронного четкого ввода?
gui_input_reg ister_a_sclr
НЕТ SCLR0 SCLR1
Вход регистра B умножителя
Что является источником ввода часов?
gui_input_reg Вкл.
ister_b
Выключенный
gui_input_reg ister_b_lock
Часы0 Часы1 Часы2
НЕТ НЕТ Выкл. Часы0
Каков источник асинхронного четкого ввода?
gui_input_register_b_aclr
НЕТ ACLR0 ACLR1
НИКТО
Что является источником для синхронного четкого ввода?
gui_input_reg ister_b_sclr
НЕТ SCLR0 SCLR1
НИКТО
К чему подключен вход А умножителя?
gui_multiplier Входной множитель Множитель
_a_input
Ввод входной цепочки сканирования
Описание
Вы должны выбрать значение VARIABLE для Каков формат представления для входов Multipliers B? параметр, чтобы включить эту опцию.
Выберите Clock0, Clock1 или Clock2, чтобы включить и указать входной тактовый сигнал для регистра signb. Вы должны выбрать Зарегистрировать ввод `signb', чтобы включить этот параметр.
Задает асинхронный источник очистки для регистра signb. Вы должны выбрать Зарегистрировать ввод `signb', чтобы включить этот параметр.
Задает синхронный источник очистки для регистра signb. Вы должны выбрать Зарегистрировать ввод `signb', чтобы включить этот параметр.
Выберите этот параметр, чтобы включить входной регистр для шины ввода данных.
Выберите Clock0, Clock1 или Clock2, чтобы включить и указать входной тактовый сигнал регистра для входной шины данных. Вы должны выбрать «Зарегистрировать вход A» умножителя, чтобы активировать этот параметр.
Задает источник асинхронной очистки регистра для входной шины данных. Вы должны выбрать «Зарегистрировать вход A» умножителя, чтобы активировать этот параметр.
Задает источник синхронной очистки регистров для входной шины данных. Вы должны выбрать «Зарегистрировать вход A» умножителя, чтобы активировать этот параметр.
Выберите этот параметр, чтобы включить входной регистр для входной шины данных.
Выберите Clock0, Clock1 или Clock2, чтобы включить и указать входной тактовый сигнал регистра для входной шины данных. Вы должны выбрать «Зарегистрировать вход B» умножителя, чтобы активировать этот параметр.
Задает источник асинхронной очистки регистра для входной шины данных. Вы должны выбрать «Зарегистрировать вход B» умножителя, чтобы активировать этот параметр.
Задает синхронный источник очистки регистров для входной шины данных. Вы должны выбрать «Зарегистрировать вход B» умножителя, чтобы активировать этот параметр.
Выберите источник входного сигнала для входа A множителя.
продолжение…
Руководство пользователя FPGA для целочисленных арифметических IP-ядер 50
Отправить отзыв
8. Умножительный сумматор Intel FPGA IP Core 683490 | 2020.10.05
Параметр
Сгенерированный IP-параметр
Ценить
Сканировать конфигурацию регистра
Зарегистрируйте вывод цепочки сканирования
gui_scanouta Вкл.
_регистрация
Выключенный
Что является источником ввода часов?
gui_scanouta _register_clock
Часы0 Часы1 Часы2
Каков источник асинхронного четкого ввода?
gui_scanouta _register_aclr
НЕТ ACLR0 ACLR1
Что является источником для синхронного четкого ввода?
gui_scanouta _register_sclr
НЕТ SCLR0 SCLR1
8.6.4. Вкладка «Предварительный просмотр»
Таблица 33. Вкладка Prereadder
Параметр
Сгенерированный IP-параметр
Ценить
Выберите режим преаддера
preadder_mo де
ПРОСТОЙ, КОЭФ, ВХОД, КВАДРАТ, КОНСТАНТ
Значение по умолчанию
Описание
Выберите Вход умножителя, чтобы использовать входную шину данных в качестве источника для умножителя. Выберите Вход цепочки сканирования, чтобы использовать входную шину сканирования в качестве источника для множителя и включить выходную шину сканирования. Этот параметр доступен, когда вы выбираете 2, 3 или 4 для Каково количество множителей? параметр.
Выкл. Часы0 НЕТ НЕТ
Выберите эту опцию, чтобы включить выходной регистр для выходной шины развертки.
Вы должны выбрать Сканировать вход цепи для К чему подключен вход А множителя? параметр, чтобы включить эту опцию.
Выберите Clock0, Clock1 или Clock2, чтобы включить и указать входной тактовый сигнал регистра для выходной шины развертки.
Чтобы активировать эту опцию, необходимо включить параметр «Регистрация вывода» параметра цепочки сканирования.
Указывает источник асинхронной очистки регистра для выходной шины сканирования.
Чтобы активировать эту опцию, необходимо включить параметр «Регистрация вывода» параметра цепочки сканирования.
Определяет источник синхронной очистки регистра для выходной шины сканирования.
Вы должны выбрать Зарегистрировать вывод параметра цепочки сканирования, чтобы включить эту опцию.
Значение по умолчанию
ПРОСТОЙ
Описание
Определяет режим работы модуля preadder. SIMPLE: этот режим обходит преаддер. Это режим "по умолчанию". COEF: в этом режиме выход предварительного сумматора и входной шины coefsel используются в качестве входных данных для умножителя. ВХОД: В этом режиме выход предварительного сумматора и входная шина данных используются в качестве входов для умножителя. КВАДРАТ: В этом режиме выход предварительного сумматора используется как вход для умножителя.
продолжение…
Отправить отзыв
Руководство пользователя FPGA для целочисленных арифметических IP-ядер 51
8. Умножительный сумматор Intel FPGA IP Core 683490 | 2020.10.05
Параметр
Сгенерированный IP-параметр
Ценить
Выберите направление преаддера
gui_preadder ДОБАВИТЬ,
_направление
СУБ
Насколько широкими должны быть входные шины C width_c?
1 – 256
Конфигурация входного регистра данных C
Зарегистрировать ввод данных
gui_datac_inp Вкл.
ut_register
Выключенный
Что является источником ввода часов?
gui_datac_inp ut_register_clock
Часы0 Часы1 Часы2
Каков источник асинхронного четкого ввода?
gui_datac_inp ut_register_a clr
НЕТ ACLR0 ACLR1
Что является источником для синхронного четкого ввода?
gui_datac_inp ut_register_sc лр
НЕТ SCLR0 SCLR1
Коэффициенты
Какой ширины должен быть коэф?
ширина_коэффициент
1 – 27
Конфигурация регистра коэф.
Зарегистрируйте ввод coefsel
gui_coef_regi Вкл.
стер
Выключенный
Что является источником ввода часов?
gui_coef_regi ster_lock
Часы0 Часы1 Часы2
Значение по умолчанию
ДОБАВЛЯТЬ
16
Описание
CONSTANT: этот режим использует входную шину данных с отключенным предварительным сумматором и входной шиной coefsel в качестве входных данных для умножителя.
Определяет работу преаддера. Чтобы включить этот параметр, выберите следующее для выбора режима предварительного суммирования: · COEF · INPUT · SQUARE или · CONSTANT.
Определяет количество битов для входной шины C. Вы должны выбрать INPUT для режима Select preadder, чтобы включить этот параметр.
По часам0 НЕТ НЕТ
Выберите этот параметр, чтобы включить входной регистр для входной шины данных. Вы должны установить INPUT в параметр Select preadder mode, чтобы включить эту опцию.
Выберите Clock0, Clock1 или Clock2, чтобы указать входной тактовый сигнал для входного регистра datac. Вы должны выбрать Зарегистрировать ввод данных, чтобы включить этот параметр.
Указывает источник асинхронной очистки для входного регистра datac. Вы должны выбрать Зарегистрировать ввод данных, чтобы включить этот параметр.
Указывает источник синхронной очистки для входного регистра datac. Вы должны выбрать Зарегистрировать ввод данных, чтобы включить этот параметр.
18
Указывает количество битов для
входная шина коэфселя.
Вы должны выбрать COEF или CONSTANT для режима предварительного суммирования, чтобы включить этот параметр.
На часах0
Выберите этот параметр, чтобы включить входной регистр для входной шины coefsel. Вы должны выбрать COEF или CONSTANT для режима предварительного суммирования, чтобы включить этот параметр.
Выберите Clock0 , Clock1 или Clock2, чтобы задать входной тактовый сигнал для входного регистра coefsel. Вы должны выбрать Зарегистрировать ввод coefsel, чтобы включить этот параметр.
продолжение…
Руководство пользователя FPGA для целочисленных арифметических IP-ядер 52
Отправить отзыв
8. Умножительный сумматор Intel FPGA IP Core 683490 | 2020.10.05
Параметр
Каков источник асинхронного четкого ввода?
Сгенерированный IP-параметр
Ценить
gui_coef_regi ster_aclr
НЕТ ACLR0 ACLR1
Что является источником для синхронного четкого ввода
gui_coef_regi ster_sclr
НЕТ SCLR0 SCLR1
Коэффициент_0 Конфигурация
коэф0_0 к коэф0_7
0x00000 0xFFFFFFFF
Коэффициент_1 Конфигурация
коэф1_0 к коэф1_7
0x00000 0xFFFFFFFF
Коэффициент_2 Конфигурация
коэф2_0 к коэф2_7
0x00000 0xFFFFFFFF
Коэффициент_3 Конфигурация
коэф3_0 к коэф3_7
0x00000 0xFFFFFFFF
8.6.5. Вкладка «Аккумулятор»
Таблица 34. Вкладка «Накопитель»
Параметр
Сгенерированный IP-параметр
Ценить
Включить аккумулятор?
аккумулятор
ДА НЕТ
Каков тип работы аккумулятора?
accum_directi ДОБАВИТЬ,
on
СУБ
Значение по умолчанию НЕТ
НИКТО
0x0000000 0
0x0000000 0
0x0000000 0
0x0000000 0
Описание
Указывает источник асинхронной очистки для входного регистра coefsel. Вы должны выбрать Зарегистрировать ввод coefsel, чтобы включить этот параметр.
Задает синхронный источник очистки для входного регистра coefsel. Вы должны выбрать Зарегистрировать ввод coefsel, чтобы включить этот параметр.
Определяет значения коэффициента для этого первого множителя. Количество битов должно быть таким же, как указано в разделе Какой должна быть ширина коэффициента? параметр. Вы должны выбрать COEF или CONSTANT для режима предварительного суммирования, чтобы включить этот параметр.
Определяет значения коэффициента для этого второго множителя. Количество битов должно быть таким же, как указано в разделе Какой должна быть ширина коэффициента? параметр. Вы должны выбрать COEF или CONSTANT для режима предварительного суммирования, чтобы включить этот параметр.
Определяет значения коэффициента для этого третьего множителя. Количество битов должно быть таким же, как указано в разделе Какой должна быть ширина коэффициента? параметр. Вы должны выбрать COEF или CONSTANT для режима предварительного суммирования, чтобы включить этот параметр.
Определяет значения коэффициента для этого четвертого множителя. Количество битов должно быть таким же, как указано в разделе Какой должна быть ширина коэффициента? параметр. Вы должны выбрать COEF или CONSTANT для режима предварительного суммирования, чтобы включить этот параметр.
Значение по умолчанию НЕТ
ДОБАВЛЯТЬ
Описание
Выберите YES, чтобы включить аккумулятор. Вы должны выбрать Зарегистрировать выход сумматора при использовании функции аккумулятора.
Определяет операцию аккумулятора: · ADD для операции сложения · SUB для операции вычитания. Вы должны выбрать ДА для Включить аккумулятор? параметр, чтобы включить эту опцию.
продолжение…
Отправить отзыв
Руководство пользователя FPGA для целочисленных арифметических IP-ядер 53
8. Умножительный сумматор Intel FPGA IP Core 683490 | 2020.10.05
Параметр
Константа предварительной загрузки Включить константу предварительной загрузки
Сгенерированный IP-параметр
Ценить
gui_ena_prelo Включено
ad_const
Выключенный
К чему подключен вход аккумулирующего порта?
gui_accumula ACCUM_SLOAD, te_port_select SLOAD_ACCUM
Выберите значение для предварительной загрузки loadconst_val 0–64
постоянный
ue
Что является источником ввода часов?
gui_accum_sl oad_register_ часы
Часы0 Часы1 Часы2
Каков источник асинхронного четкого ввода?
gui_accum_sl oad_register_aclr
НЕТ ACLR0 ACLR1
Что является источником для синхронного четкого ввода?
gui_accum_sl oad_register_ sclr
НЕТ SCLR0 SCLR1
Включить двойной аккумулятор
gui_double_a Включено
сперма
Выключенный
Значение по умолчанию
Описание
Выключенный
Включите accum_sload или
Сигналы sload_accum и ввод регистра
для динамического выбора входа в
аккумулятор.
Когда accum_sload низкий или sload_accum, выходной сигнал множителя подается в аккумулятор.
Когда значение accum_sload высокое или sload_accum, указанная пользователем константа предварительной загрузки подается в аккумулятор.
Вы должны выбрать ДА для Включить аккумулятор? параметр, чтобы включить эту опцию.
ACCUM_SL ОАД
Определяет поведение сигнала accum_sload/ sload_accum.
ACCUM_SLOAD: Установите низкий уровень accum_sload, чтобы загрузить выход множителя в аккумулятор.
SLOAD_ACCUM: установите для sload_accum высокий уровень, чтобы загрузить выход множителя в аккумулятор.
Вы должны выбрать параметр Включить константу предварительной загрузки, чтобы включить этот параметр.
64
Укажите предустановленное постоянное значение.
Это значение может быть равно 2N, где N — предустановленное постоянное значение.
Когда N=64, это постоянный ноль.
Вы должны выбрать параметр Включить константу предварительной загрузки, чтобы включить этот параметр.
Clock0
Выберите Clock0, Clock1 или Clock2, чтобы указать входной тактовый сигнал для регистра accum_sload/sload_accum.
Вы должны выбрать параметр Включить константу предварительной загрузки, чтобы включить этот параметр.
НИКТО
Указывает источник асинхронной очистки для регистра accum_sload/sload_accum.
Вы должны выбрать параметр Включить константу предварительной загрузки, чтобы включить этот параметр.
НИКТО
Указывает источник синхронной очистки для регистра accum_sload/sload_accum.
Вы должны выбрать параметр Включить константу предварительной загрузки, чтобы включить этот параметр.
Выключенный
Включает регистр двойного аккумулятора.
Руководство пользователя FPGA для целочисленных арифметических IP-ядер 54
Отправить отзыв
8. Умножительный сумматор Intel FPGA IP Core 683490 | 2020.10.05
8.6.6. Вкладка «Систолическое/Цепочка»
Таблица 35. Вкладка Systolic/Chainout Adder
Параметр Включить сумматор цепочек
Сгенерированный IP-параметр
Ценить
chainout_add ДА,
er
НЕТ
Каков тип операции сумматора цепочки?
chainout_add ДОБАВИТЬ,
er_direction
СУБ
Включить «отрицательный» ввод для сумматора цепочки?
Порт_негате
ПОРТ_USED, ПОРТ_UNUSED
Зарегистрировать «отрицательный» ввод? отрицательный_регистр
НЕЗАРЕГИСТРИРОВАНО, ЧАСЫ0, ЧАСЫ1, ЧАСЫ2, ЧАСЫ3
Каков источник асинхронного четкого ввода?
negate_aclr
НЕТ ACLR0 ACLR1
Что является источником для синхронного четкого ввода?
negate_sclr
НЕТ SCLR0 SCLR1
Систолическая задержка
Включить регистры систолической задержки
gui_systolic_d Вкл.
Elay
Выключенный
Что является источником ввода часов?
gui_systolic_d ЧАСЫ0,
elay_clock
ЧАСЫ1,
Значение по умолчанию
НЕТ
Описание
Выберите YES, чтобы включить модуль добавления цепочки.
ДОБАВЛЯТЬ
Определяет операцию добавления цепочки.
Для операции вычитания необходимо выбрать SIGNED для параметра Каков формат представления для входов Multipliers A? и каков формат представления входных данных мультипликаторов B? во вкладке «Множители».
PORT_UN ИСПОЛЬЗУЕТСЯ
Выберите PORT_USED, чтобы включить инвертирование входного сигнала.
Этот параметр недействителен, если сумматор цепочки отключен.
ОТМЕНИТЬ РЕГИСТРАЦИЮ
Включить входной регистр для инвертирования входного сигнала и указать входной тактовый сигнал для инвертирования регистра.
Выберите НЕЗАРЕГИСТРИРОВАННЫЙ, если инвертирующий входной регистр не требуется.
Этот параметр недействителен, если вы выбираете:
· НЕТ для Включить сумматор цепочки или
· PORT_UNUSED для включения ввода «отрицательного» для сумматора цепочки? параметр или
НИКТО
Задает асинхронный источник очистки для регистра инвертирования.
Этот параметр недействителен, если вы выбираете:
· НЕТ для Включить сумматор цепочки или
· PORT_UNUSED для включения ввода «отрицательного» для сумматора цепочки? параметр или
НИКТО
Задает синхронный источник очистки для регистра инвертирования.
Этот параметр недействителен, если вы выбираете:
· НЕТ для Включить сумматор цепочки или
· PORT_UNUSED для включения ввода «отрицательного» для сумматора цепочки? параметр или
ВЫКЛ ЧАСЫ0
Выберите этот параметр, чтобы включить систолический режим. Этот параметр доступен при выборе 2 или 4 для параметра Каково количество множителей? параметр. Вы должны включить выход регистра сумматора, чтобы использовать регистры систолической задержки.
Определяет входной тактовый сигнал для регистра систолической задержки.
продолжение…
Отправить отзыв
Руководство пользователя FPGA для целочисленных арифметических IP-ядер 55
8. Умножительный сумматор Intel FPGA IP Core 683490 | 2020.10.05
Параметр
Сгенерированный IP-параметр
Ценить
ЧАСЫ2,
Каков источник асинхронного четкого ввода?
gui_systolic_d elay_aclr
НЕТ ACLR0 ACLR1
Что является источником для синхронного четкого ввода?
gui_systolic_d elay_sclr
НЕТ SCLR0 SCLR1
Значение по умолчанию
НИКТО
НИКТО
Описание
Чтобы включить эту опцию, необходимо выбрать «Включить регистры систолической задержки».
Задает асинхронный источник очистки для регистра систолической задержки. Чтобы включить эту опцию, необходимо выбрать «Включить регистры систолической задержки».
Задает синхронный источник очистки для регистра систолической задержки. Чтобы включить эту опцию, необходимо выбрать «Включить регистры систолической задержки».
8.6.7. Вкладка конвейерной обработки
Таблица 36. Вкладка конвейерной обработки
Конфигурация конвейерной обработки параметров
Сгенерированный IP-параметр
Ценить
Вы хотите добавить регистр конвейера на вход?
gui_pipelining Нет, Да
Значение по умолчанию
Нет
Пожалуйста, укажите
задержка
количество латентных часов
циклы
Любое значение больше 0, чем 0
Что является источником ввода часов?
gui_input_late ncy_lock
ЧАСЫ0, ЧАСЫ1, ЧАСЫ2
Каков источник асинхронного четкого ввода?
gui_input_late ncy_aclr
НЕТ ACLR0 ACLR1
Что является источником для синхронного четкого ввода?
gui_input_late ncy_sclr
НЕТ SCLR0 SCLR1
ЧАСЫ0 НЕТ НЕТ
Описание
Выберите Да, чтобы включить дополнительный уровень регистра конвейера для входных сигналов. Вы должны указать значение больше 0 для параметра Пожалуйста, укажите количество тактов задержки.
Указывает желаемую задержку в тактовых циклах. Один уровень конвейерного регистра = 1 задержка в тактовом цикле. Вы должны выбрать YES для Вы хотите добавить регистр конвейера на вход? чтобы включить эту опцию.
Выберите Clock0 , Clock1 или Clock2, чтобы включить и указать входной тактовый сигнал конвейерного регистра. Вы должны выбрать YES для Вы хотите добавить регистр конвейера на вход? чтобы включить эту опцию.
Задает асинхронный источник очистки регистра для дополнительного регистра конвейера. Вы должны выбрать YES для Вы хотите добавить регистр конвейера на вход? чтобы включить эту опцию.
Задает синхронный источник очистки регистра для дополнительного регистра конвейера. Вы должны выбрать YES для Вы хотите добавить регистр конвейера на вход? чтобы включить эту опцию.
Руководство пользователя FPGA для целочисленных арифметических IP-ядер 56
Отправить отзыв
683490 | 2020.10.05 Отправить отзыв
9. ALTMEMMULT (умножитель постоянного коэффициента на основе памяти) IP Core
Внимание:
Intel удалила поддержку этого IP-адреса в Intel Quartus Prime Pro Edition версии 20.3. Если IP-ядро в вашем проекте предназначено для устройств в Intel Quartus Prime Pro Edition, вы можете заменить IP-адрес на LPM_MULT IP-адрес Intel FPGA или повторно сгенерировать IP-адрес и скомпилировать свой проект с помощью программного обеспечения Intel Quartus Prime Standard Edition.
IP-ядро ALTMEMMULT используется для создания умножителей на основе памяти с использованием встроенных блоков памяти в ПЛИС Intel (с блоками памяти M512, M4K, M9K и MLAB). Это IP-ядро полезно, если у вас нет достаточных ресурсов для реализации умножителей в логических элементах (LE) или выделенных ресурсов умножителя.
IP-ядро ALTMEMMULT — это синхронная функция, для которой требуются часы. IP-ядро ALTMEMMULT реализует множитель с минимально возможной пропускной способностью и задержкой для заданного набора параметров и спецификаций.
На следующем рисунке показаны порты для IP-ядра ALTMEMMULT.
Рисунок 21. Порты ALTMEMMULT
АЛЬТМЕМУЛЬТ
data_in[] sload_data coeff_in[]
результат[] результат_действительный load_done
sload_coeff
зеркальные часы
инст
Сопутствующая информация Функции на стр. 71
9.1. Особенности
IP-ядро ALTMEMMULT предлагает следующие функции: · Создает только множители на основе памяти, используя встроенные блоки памяти, найденные в
Intel FPGA · Поддерживает разрядность данных 1 бит · Поддерживает формат представления данных со знаком и без знака · Поддерживает конвейерную обработку с фиксированной задержкой вывода
Корпорация Интел. Все права защищены. Intel, логотип Intel и другие товарные знаки Intel являются товарными знаками корпорации Intel или ее дочерних компаний. Корпорация Intel гарантирует производительность своих FPGA и полупроводниковых продуктов в соответствии с текущими спецификациями в соответствии со стандартной гарантией Intel, но оставляет за собой право вносить изменения в любые продукты и услуги в любое время без предварительного уведомления. Intel не принимает на себя никакой ответственности или обязательств, возникающих в связи с применением или использованием какой-либо информации, продуктов или услуг, описанных в настоящем документе, за исключением случаев, когда это прямо согласовано с корпорацией Intel в письменной форме. Клиентам Intel рекомендуется получить последнюю версию спецификаций устройств, прежде чем полагаться на какую-либо опубликованную информацию и размещать заказы на продукты или услуги. *Другие названия и торговые марки могут быть заявлены как собственность других лиц.
Сертификат ISO 9001: 2015
9. ALTMEMMULT (умножитель постоянного коэффициента на основе памяти) IP Core 683490 | 2020.10.05
· Сохраняет кратные константы в оперативной памяти (ОЗУ)
· Предоставляет возможность выбора типа блока ОЗУ
· Поддерживает дополнительные входные порты синхронной очистки и управления нагрузкой
9.2. Прототип Verilog HDL
Следующий прототип Verilog HDL находится в Verilog Design. File (.v) altera_mf.v в каталог синтеза eda.
модуль altmemmult #( параметр coeff_representation = «SIGNED», параметр factor0 = «UNUSED», параметр data_representation = «SIGNED», параметр предназначенное_устройство_семейства = «unused», параметр max_clock_cycles_per_result = 1, параметр number_of_coefficients = 1, параметр ram_block_type = «AUTO», параметр total_latency = 1, параметр width_c = 1, параметр width_d = 1, параметр width_r = 1, параметр width_s = 1, параметр lpm_type = «altmemmult», параметр lpm_hint = «unused») (входной провод clock, входной провод [width_c-1: 0]coeff_in, входной провод [width_d-1:0] data_in, выходной провод load_done, выходной провод [width_r-1:0] результат, выходной провод result_valid, входной провод sclr, входной провод [width_s-1:0] sel, input провод sload_coeff, входной провод sload_data)/* синтез syn_black_box=1 */; конечный модуль
9.3. Объявление компонента VHDL
Объявление компонента VHDL находится в файле VHDL Design. File (.vhd) altera_mf_components.vhd в каталог libraryvhdlaltera_mf.
компонент altmemmult generic ( coeff_representation:string := "SIGNED"; factor0:string := "UNUSED"; data_representation:string := "SIGNED"; предназначенное_устройство_семейства:string := "unused"; max_clock_cycles_per_result:natural := 1; number_of_coefficients:natural := 1; ram_block_type:string:= "AUTO"; total_latency:natural; width_c:natural; width_d:natural; width_r:natural; width_s:natural := 1; lpm_hint:string: = "UNUSED"; lpm_type:string := «альтмеммульт»); порт (часы: в std_logic; coeff_in: в std_logic_vector (width_c-1 до 0): = (другие => '0'); data_in: в std_logic_vector (width_d-1 до 0);
Руководство пользователя FPGA для целочисленных арифметических IP-ядер 58
Отправить отзыв
9. ALTMEMMULT (умножитель постоянного коэффициента на основе памяти) IP Core 683490 | 2020.10.05
load_done:выход std_logic; результат: out std_logic_vector (width_r-1 до 0); результат_действительный:выход std_logic; sclr: в std_logic: = '0'; sel: в std_logic_vector (width_s-1 до 0) := (другие => '0'); sload_coeff: в std_logic: = '0'; sload_data: в std_logic := '0'); концевой компонент;
9.4. Порты
В следующих таблицах перечислены входные и выходные порты для IP-ядра ALTMEMMULT.
Таблица 37. Входные порты ALTMEMMULT
Имя порта
Необходимый
Описание
часы
Да
Тактовый вход в множитель.
коэфф_ин[]
Нет
Входной порт коэффициента для множителя. Размер входного порта зависит от значения параметра WIDTH_C.
данные_в[]
Да
Порт ввода данных к умножителю. Размер входного порта зависит от значения параметра WIDTH_D.
склер
Нет
Синхронный чистый ввод. Если не используется, по умолчанию активен высокий уровень.
сел[]
Нет
Выбор фиксированного коэффициента. Размер входного порта зависит от WIDTH_S
значение параметра.
sload_coeff
Нет
Входной порт синхронного коэффициента нагрузки. Заменяет текущее выбранное значение коэффициента значением, указанным на входе coeff_in.
sload_data
Нет
Синхронный порт ввода данных нагрузки. Сигнал, определяющий новую операцию умножения и отменяющий любую существующую операцию умножения. Если параметр MAX_CLOCK_CYCLES_PER_RESULT имеет значение 1, входной порт sload_data игнорируется.
Таблица 38. Выходные порты ALTMEMMULT
Имя порта
Необходимый
Описание
результат[]
Да
Выходной порт умножителя. Размер входного порта зависит от значения параметра WIDTH_R.
результат_действителен
Да
Указывает, когда выход является допустимым результатом полного умножения. Если параметр MAX_CLOCK_CYCLES_PER_RESULT имеет значение 1, выходной порт result_valid не используется.
load_done
Нет
Указывает, когда закончилась загрузка нового коэффициента. Сигнал load_done подтверждается, когда завершена загрузка нового коэффициента. Если сигнал load_done не имеет высокого уровня, никакое другое значение коэффициента не может быть загружено в память.
9.5. параметры
В следующей таблице перечислены параметры IP-ядра ALTMEMMULT.
Таблица 39.
WIDTH_D WIDTH_C
Параметры ALTMEMMULT
Имя параметра
Тип Обязательный
Описание
Целое Да
Определяет ширину порта data_in[].
Целое Да
Определяет ширину порта coeff_in[]. продолжение…
Отправить отзыв
Руководство пользователя FPGA для целочисленных арифметических IP-ядер 59
9. ALTMEMMULT (умножитель постоянного коэффициента на основе памяти) IP Core 683490 | 2020.10.05
Имя параметра WIDTH_R WIDTH
Документы/Ресурсы
![]() |
Целочисленные арифметические IP-ядра Intel FPGA [pdf] Руководство пользователя Целочисленные арифметические IP-ядра FPGA, Целочисленные арифметические IP-ядра, Арифметические IP-ядра, IP-ядра |