Цілочисельні арифметичні IP-ядра FPGA
Intel FPGA Integer Arithmetic IP Cores Посібник користувача
Оновлено для Intel® Quartus® Prime Design Suite: 20.3
Онлайн версія Надіслати відгук
УГ-01063
ID: 683490 Версія: 2020.10.05
Зміст
Зміст
1. Intel FPGA Integer Arithmetic IP Cores………………………………………………………………….. 5
2. LPM_COUNTER (Лічильник) IP Core………………………………………………………………………….. 7 2.1. Характеристики…………………………………………………………………………………………………7 2.2. Verilog HDL Prototype……………………………………………………………………………….. 8 2.3. Декларація компонентів VHDL……………………………………………………………………….8 2.4. Декларація VHDL LIBRARY_USE…………………………………………………………………… 9 2.5. Порти…………………………………………………………………………………………………..9 2.6. Параметри…………………………………………………………………………………………… 10
3. LPM_DIVIDE (дільник) Intel FPGA IP Core……………………………………………………….. 12 3.1. Особливості…………………………………………………………………………………………………. 12 3.2. Verilog HDL Prototype……………………………………………………………………………… 12 3.3. Декларація компонентів VHDL……………………………………………………………………….. 13 3.4. Декларація VHDL LIBRARY_USE……………………………………………………………………. 13 3.5. Порти…………………………………………………………………………………………………… 13 3.6. Параметри…………………………………………………………………………………………… 14
4. LPM_MULT (Множник) IP Core……………………………………………………………………………. 16 4.1. Особливості…………………………………………………………………………………………………. 16 4.2. Verilog HDL Prototype……………………………………………………………………………… 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
5. LPM_ADD_SUB (додавач/віднімач)…………………………………………………………………… 22 5.1. Особливості…………………………………………………………………………………………………. 22 5.2. Verilog HDL Prototype……………………………………………………………………………… 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 Prototype……………………………………………………………………………… 27 6.3. Декларація компонентів VHDL……………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………. Декларація VHDL LIBRARY_USE……………………………………………………………………. 27 6.4. Порти…………………………………………………………………………………………………… 27 6.5. Параметри…………………………………………………………………………………………… 27
Intel FPGA Integer Arithmetic IP Cores Посібник користувача 2
Надіслати відгук
Зміст
7. ALTECC (Код виправлення помилок: кодер/декодер) IP Core……………………………………… 30
7.1. Функції кодувальника ALTECC…………………………………………………………………………..31 7.2. Verilog HDL Prototype (ALTECC_ENCODER)………………………………………………………. 32 7.3. Verilog HDL Prototype (ALTECC_DECODER)………………………………………………………. 32 7.4. Оголошення компонентів VHDL (ALTECC_ENCODER)…………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………. Декларація компонентів VHDL (altecc_decoder) …………………………………………… 33 7.5. Декларація VHDL LIBRARY_USE……………………………………………………………………. 33 7.6. Порти кодера………………………………………………………………………………………… 33 7.7. Порти декодера…………………………………………………………………………………………33 7.8. Параметри кодера………………………………………………………………………………… 34 7.9. Параметри декодера ………………………………………………………………………………… 34
8. Intel FPGA Multiply Adder IP Core………………………………………………………………………. 36
8.1. Особливості…………………………………………………………………………………………………. 37 8.1.1. Попередній суматор………………………………………………………………………………….. 38 8.1.2. Реєстр систолічної затримки…………………………………………………………………….. 40 8.1.3. Константа попереднього навантаження………………………………………………………………………… 43 8.1.4. Подвійний накопичувач………………………………………………………………………… 43
8.2. Verilog HDL Prototype……………………………………………………………………………… 44 8.3. Декларація компонентів VHDL………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………. Декларація VHDL LIBRARY_USE……………………………………………………………………. 44 8.4. Сигнали……………………………………………………………………………………………… 44 8.5. Параметри…………………………………………………………………………………………… 44
8.6.1. Вкладка «Загальне»…………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………47 8.6.2. Вкладка «Додаткові режими»…………………………………………………………………………….. 47 8.6.3. Вкладка «Множники»…………………………………………………………………………….. 49 8.6.4. Вкладка Preadder…………………………………………………………………………………. 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 Prototype……………………………………………………………………………… 58 9.3. Декларація компонентів VHDL ………………………………………………………………………… .. 58 9.4. Порти…………………………………………………………………………………………………… 59 9.5. Параметри…………………………………………………………………………………………… 59
10. ALTMULT_ACCUM (Multiply-Accumulate) 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 (Multiply-Adder) IP Core……………………………………………………………..69
11.1. Особливості………………………………………………………………………………………….. 71 11.2. Verilog HDL Prototype……………………………………………………………………………..72 11.3. Декларація компонентів VHDL……………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………. Декларація VHDL LIBRARY_USE……………………………………………………………………72
Надіслати відгук
Intel FPGA Integer Arithmetic IP Cores Посібник користувача 3
Зміст
11.5. Порти……………………………………………………………………………………………………. 72 11.6. Параметри……………………………………………………………………………………………. 73
12. Altmult_complex (складний мультиплікатор) IP -ядра ………………………………………………… 86 12.1. Комплексне множення………………………………………………………………………………. 86 12.2. Канонічне представлення………………………………………………………………………… 87 12.3. Традиційне представлення………………………………………………………………………. 87 12.4. Особливості………………………………………………………………………………………….. 88 12.5. Verilog HDL Prototype……………………………………………………………………………..88 12.6. Декларація компонентів VHDL …………………………………………………………………………………………………………………… 89. Декларація VHDL LIBRARY_USE…………………………………………………………………12.7 89. Сигнали…………………………………………………………………………………………………. 12.8 89. Параметри……………………………………………………………………………………………. 12.9
13. Altsqrt (цілий квадратний корінь) IP -ядра ……………………………………………………………… 92 13.1. Особливості………………………………………………………………………………………….. 92 13.2. Verilog HDL Prototype……………………………………………………………………………..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 Prototype……………………………………………………………………………..95 14.3. Декларація компонентів VHDL …………………………………………………………………………………………………………………………………………………………………………………………………………………… Декларація VHDL LIBRARY_USE……………………………………………………………………96 14.4. Порти……………………………………………………………………………………………………. 96 14.5. Параметри……………………………………………………………………………………………. 96
15. Цілі арифметичні IP -сердечники Посібник користувача Архів документів ………………………………… 98
16. Історія версій документа для Intel FPGA Integer Arithmetic IP Cores Посібник користувача…. 99
Intel FPGA Integer Arithmetic IP Cores Посібник користувача 4
Надіслати відгук
683490 | 2020.10.05 Надіслати відгук
1. Intel FPGA Integer Arithmetic IP Cores
Ви можете використовувати цілочисельні IP-ядра Intel® FPGA для виконання математичних операцій у своєму проекті.
Ці функції пропонують більш ефективний логічний синтез і реалізацію пристрою, ніж кодування ваших власних функцій. Ви можете налаштувати IP-ядра відповідно до ваших вимог щодо дизайну.
IP-ядра цілочисельної арифметики Intel поділяються на такі дві категорії: · Бібліотека параметризованих модулів (LPM) IP-ядра · Спеціальні для Intel (ALT) IP-ядра
У наведеній нижче таблиці наведено цілочисельні арифметичні IP-ядра.
Таблиця 1.
Список ядер IP
Ядра IP
Ядра LPM IP
LPM_COUNTER
LPM_DIVIDE
LPM_MULT
LPM_ADD_SUB
LPM_COMPARE
Спеціальні для Intel (ALT) ядра IP 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
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, Intel Stratix 10
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, 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, MAX V, Stratix IV, Stratix V
Arria II GX, Arria II GZ, Arria V, Cyclone IV E, Cyclone IV GX, Cyclone V, Intel Cyclone 10 LP, MAX 10, MAX
II, MAX V, Stratix IV, Stratix V
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 продовження…
Корпорація Intel. Всі права захищені. Intel, логотип Intel та інші знаки Intel є товарними знаками корпорації Intel або її дочірніх компаній. Intel гарантує роботу своїх FPGA та напівпровідникових продуктів відповідно до поточних специфікацій відповідно до стандартної гарантії Intel, але залишає за собою право вносити зміни в будь-які продукти та послуги в будь-який час без попередження. Корпорація Intel не бере на себе жодної відповідальності чи зобов’язань, що виникають у зв’язку із застосуванням або використанням будь-якої інформації, продукту чи послуги, описаних у цьому документі, за винятком випадків, чітко наданих корпорацією Intel у письмовій формі. Клієнтам Intel рекомендується отримати останню версію специфікацій пристрою, перш ніж покладатися на будь-яку опубліковану інформацію та перед тим, як розміщувати замовлення на продукти чи послуги. *Інші назви та бренди можуть бути власністю інших осіб.
ISO 9001: 2015 Зареєстровано
1. Intel FPGA Integer Arithmetic IP Cores 683490 | 2020.10.05
IP-ядра Intel FPGA Multiply Adder або ALTERA_MULT_ADD ALTMEMMULT
ALTMULT_ACCUM ALTMULT_ADD ALTMULT_COMPLEX
ALTSQRT
PARALLEL_ADD
Функція закінченаview Множник-суматор
Множник постійного коефіцієнта на основі пам'яті
Множник-накопичувач Множник-суматор
Комплексний множник
Цілий квадратний корінь
Паралельний суматор
Підтримуваний пристрій
Arria V, Stratix V, Cyclone V, Intel Stratix 10, Intel Arria 10, Intel Cyclone
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
Cyclone 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
Arria II GX, Arria II GZ, Intel Arria 10, Arria V, Arria V GZ, Cyclone IV E, Cyclone IV GX, Cyclone V, Intel
Cyclone 10 GX, Intel Cyclone 10 LP, MAX 10, Stratix V, Intel Stratix 10
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
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
Пов'язана інформація
· Примітки до випуску ПЛІС і програмованих пристроїв Intel
· Вступ до Intel FPGA IP Cores Надає більше інформації про Intel FPGA IP Cores.
· Посібник користувача для IP-ядер з плаваючою комою Надає більше інформації про IP-ядра Intel FPGA з плаваючою комою.
· Вступ до IP-ядер Intel FPGA Надає загальну інформацію про всі IP-ядра Intel FPGA, включаючи параметризацію, генерацію, оновлення та імітацію IP-ядер.
· Створення незалежних від версії сценаріїв моделювання IP та Qsys Створюйте сценарії моделювання, які не вимагають ручного оновлення програмного забезпечення або оновлень версії IP.
· Рекомендації щодо найкращих практик управління проектами для ефективного управління та переносимості вашого проекту та інтелектуальної власності files.
· Архів документів посібника користувача для IP-ядер цілочисельної арифметики на сторінці 98 Містить список посібників користувача для попередніх версій цілочисельних арифметичних IP-ядер.
Intel FPGA Integer Arithmetic IP Cores Посібник користувача 6
Надіслати відгук
683490 | 2020.10.05 Надіслати відгук
2. LPM_COUNTER (Лічильник) IP Core
малюнок 1.
IP-ядро LPM_COUNTER — це двійковий лічильник, який створює лічильники зростання, лічильники зменшення та лічильники збільшення чи зменшення з вихідними сигналами шириною до 256 біт.
На наступному малюнку показано порти для IP-ядра LPM_COUNTER.
Порти LPM_COUNTER
LPM_COUNTER
ssclr sload sset data[]
q[]
вверх вниз
cout
aclr aload aset
clk_en cnt_en cin
інст
2.1. особливості
IP-ядро LPM_COUNTER пропонує наступні функції: · Генерує лічильники збільшення, зниження та збільшення/зниження · Генерує наступні типи лічильників:
— Звичайний двійковий – лічильник збільшується, починаючи з нуля, або зменшується, починаючи з 255
— Модуль – лічильник збільшується або зменшується від значення модуля, вказаного користувачем, і повторюється
· Підтримує додаткові вхідні порти синхронного очищення, завантаження та встановлення · Підтримує додаткові асинхронні вхідні порти очищення, завантаження та встановлення · Підтримує додаткові вхідні порти для підрахунку та синхронізації · Підтримує додаткові порти для введення та винесення
Корпорація Intel. Всі права захищені. Intel, логотип Intel та інші знаки Intel є товарними знаками корпорації Intel або її дочірніх компаній. Intel гарантує роботу своїх FPGA та напівпровідникових продуктів відповідно до поточних специфікацій відповідно до стандартної гарантії Intel, але залишає за собою право вносити зміни в будь-які продукти та послуги в будь-який час без попередження. Корпорація Intel не бере на себе жодної відповідальності чи зобов’язань, що виникають у зв’язку із застосуванням або використанням будь-якої інформації, продукту чи послуги, описаних у цьому документі, за винятком випадків, чітко наданих корпорацією Intel у письмовій формі. Клієнтам Intel рекомендується отримати останню версію специфікацій пристрою, перш ніж покладатися на будь-яку опубліковану інформацію та перед тим, як розміщувати замовлення на продукти чи послуги. *Інші назви та бренди можуть бути власністю інших осіб.
ISO 9001: 2015 Зареєстровано
2. LPM_COUNTER (Лічильник) IP Core
683490 | 2020.10.05
2.2. Прототип Verilog HDL
Наступний прототип Verilog HDL знаходиться в Verilog Design File (.v) lpm.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 = “UNUSED”; параметр lpm_avalue = “UNUSED”; параметр lpm_svalue = “UNUSED”; параметр lpm_pvalue = “UNUSED”; параметр lpm_port_updown = “PORT_CONNECTIVITY”; параметр lpm_hint = “UNUSED”; вихід [lm_width-1:0] q; вихід cout; вихід [15:0] екв; введення cin; вхідні дані [lpm_width-1:0]; вхідний годинник, clk_en, cnt_en, updown; введення aset, aclr, aload; введення sset, sclr, sload; кінцевий модуль
2.3. Декларація компонента VHDL
Оголошення компонента VHDL міститься в дизайні VHDL File (.vhd) LPM_PACK.vhd у каталог librariesvhdllpm.
компонент LPM_COUNTER generic ( LPM_WIDTH : природний; LPM_MODULUS : природний := 0; LPM_DIRECTION : рядок := “UNUSED”; LPM_AVALUE : рядок := “UNUSED”; LPM_SVALUE : рядок := “UNUSED”; LPM_PORT_UPDOWN : рядок := “PORT_CONNECTIVITY” ; LPM_PVALUE : рядок := “UNUSED”; LPM_TYPE : рядок := L_COUNTER; LPM_HINT : рядок := “UNUSED”); порт (DATA : у std_logic_vector(LPM_WIDTH-1 downto 0):= (ІНШІ =>
'0'); ГОДИННИК: в std_logic; CLK_EN : in std_logic := '1'; CNT_EN : in std_logic := '1'; ВГОРУ ВНИЗ : у std_logic := '1'; SLOAD : in std_logic := '0'; SSET : in std_logic := '0'; SCLR : in std_logic := '0'; ALOAD : in std_logic := '0'; ASET : in std_logic := '0'; ACLR : in std_logic := '0'; CIN : in std_logic := '1'; COUT : out std_logic := '0'; Q : out std_logic_vector(LPM_WIDTH-1 downto 0); EQ : out std_logic_vector(15 downto 0));
кінцевий компонент;
Intel FPGA Integer Arithmetic IP Cores Посібник користувача 8
Надіслати відгук
2. LPM_COUNTER (Лічильник) IP Core 683490 | 2020.10.05
2.4. Декларація VHDL LIBRARY_USE
Декларація VHDL LIBRARY-USE не потрібна, якщо ви використовуєте декларацію компонента VHDL.
БІБЛІОТЕКА lpm; USE lpm.lpm_components.all;
2.5. Порти
У наведених нижче таблицях перераховані вхідні та вихідні порти для IP-ядра LPM_COUNTER.
Таблиця 2.
LPM_COUNTER Вхідні порти
Назва порту
Обов'язковий
опис
дані[]
немає
Паралельний ввід даних у лічильник. Розмір вхідного порту залежить від значення параметра LPM_WIDTH.
годинник
так
Вхід синхронізації з позитивним фронтом.
clk_en
немає
Увімкнути вхід годинника, щоб увімкнути всі синхронні дії. Якщо опущено, значення за умовчанням дорівнює 1.
cnt_en
немає
Count enable input, щоб вимкнути підрахунок, коли встановлено низький рівень, не впливаючи на sload, sset або sclr. Якщо опущено, значення за умовчанням дорівнює 1.
вверх вниз
немає
Контролює напрямок рахунку. Коли встановлюється високий (1), напрямок рахунку вгору, а коли встановлюється низький (0), напрям відліку вниз. Якщо використовується параметр LPM_DIRECTION, висхідний порт не може бути підключений. Якщо LPM_DIRECTION не використовується, верхній порт є необов’язковим. Якщо опущено, значення за замовчуванням — up (1).
cin
немає
Перенесення до молодшого розряду. Для лічильників up поведінка входу cin така
ідентична поведінці введення cnt_en. Якщо опущено, значення за умовчанням дорівнює 1
(VCC).
aclr
немає
Асинхронне очищення введення. Якщо використовуються і затверджуються як aset, так і aclr, aclr перевизначає aset. Якщо опущено, значення за умовчанням 0 (вимкнено).
актив
немає
Асинхронне введення набору. Визначає вихідні дані q[] як усі 1 або до значення, визначеного параметром LPM_AVALUE. Якщо обидва порти aset і aclr використовуються та затверджуються, значення порту aclr перекриває значення порту aset. Якщо опущено, значення за умовчанням 0, вимкнено.
навантаження
немає
Асинхронне вхідне завантаження, яке асинхронно завантажує лічильник зі значенням на вхідних даних. Якщо використовується порт aload, порт data[] має бути підключений. Якщо опущено, значення за умовчанням 0, вимкнено.
sclr
немає
Синхронний очищений вхід, який очищає лічильник на наступному активному фронті синхронізації. Якщо обидва порти sset і sclr використовуються та затверджуються, значення порту sclr перекриває значення порту sset. Якщо опущено, значення за умовчанням 0, вимкнено.
sset
немає
Синхронний набір вхідних даних, який встановлює лічильник на наступний активний фронт синхронізації. Визначає значення виходів q як усі 1 або до значення, визначеного параметром LPM_SVALUE. Якщо обидва порти sset і sclr використовуються та затверджуються,
значення порту sclr перевизначає значення порту sset. Якщо опущено, значення за умовчанням 0 (вимкнено).
sload
немає
Вхід синхронного завантаження, який завантажує лічильник з даними [] на наступному активному фронті синхронізації. Якщо використовується порт sload, порт data[] має бути підключений. Якщо опущено, значення за умовчанням 0 (вимкнено).
Надіслати відгук
Intel FPGA Integer Arithmetic IP Cores Посібник користувача 9
2. LPM_COUNTER (Лічильник) IP Core 683490 | 2020.10.05
Таблиця 3.
LPM_COUNTER Вихідні порти
Назва порту
Обов'язковий
опис
q[]
немає
Виведення даних з лічильника. Розмір вихідного порту залежить від
Значення параметра LPM_WIDTH. Або q[], або принаймні один із портів eq[15..0].
повинні бути підключені.
екв[15..0]
немає
Вихід декодування лічильника. Порт eq[15..0] недоступний у редакторі параметрів, оскільки параметр підтримує лише AHDL.
Має бути підключено або порт q[], або порт eq[]. Можна використовувати до портів c eq (0 <= c <= 15). Декодуються лише 16 найменших значень підрахунку. Коли значення лічильника дорівнює c, на виході eqc встановлюється високий рівень (1). наприкладample, коли лічильник дорівнює 0, eq0 = 1, коли лічильник дорівнює 1, eq1 = 1, а коли лічильник дорівнює 15, eq 15 = 1. Декодований вихід для значень лічильника 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
Ціле число/ рядок
Рядок
LPM_TYPE
Рядок
Обов’язково Так Ні Ні Ні
Ні Ні
немає
опис
Визначає ширину портів data[] і q[], якщо вони використовуються.
Значення UP, DOWN і UNUSED. Якщо використовується параметр LPM_DIRECTION, висхідний порт не може бути підключений. Якщо висхідний порт не підключено, параметр 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.
продовження...
Intel FPGA Integer Arithmetic IP Cores Посібник користувача 10
Надіслати відгук
2. LPM_COUNTER (Лічильник) IP Core 683490 | 2020.10.05
Назва параметра INTENDED_DEVICE_FAMILY CARRY_CNT_EN
LABWIDE_SCLR
LPM_PORT_UPDOWN
Тип String String
Рядок
Рядок
Обов’язково Ні Ні
немає
немає
опис
Цей параметр використовується для цілей моделювання та моделювання поведінки. Цей параметр використовується для цілей моделювання та моделювання поведінки. Редактор параметрів обчислює значення цього параметра.
Специфічний параметр 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. Значенням за замовчуванням є ON. Дозволяє вимкнути використання функції LABwide sclr, яка є в застарілих сімействах пристроїв. Вимкнення цього параметра збільшує шанси на повне використання частково заповнених LAB і, таким чином, може забезпечити вищу щільність логічної бази, коли SCLR не застосовується до повної LAB. Цей параметр доступний для зворотної сумісності, і Intel рекомендує не використовувати цей параметр.
Визначає використання вхідного порту updown. Якщо пропущено, значенням за замовчуванням є PORT_CONNECTIVITY. Якщо для порту встановлено значення PORT_USED, порт вважається використаним. Якщо для порту встановлено значення PORT_UNUSED, порт вважається невикористаним. Якщо значення порту встановлено на PORT_CONNECTIVITY, використання порту визначається шляхом перевірки підключення до порту.
Надіслати відгук
Intel FPGA Integer Arithmetic IP Cores Посібник користувача 11
683490 | 2020.10.05 Надіслати відгук
3. LPM_DIVIDE (дільник) Intel FPGA IP Core
малюнок 2.
IP-ядро LPM_DIVIDE Intel FPGA реалізує дільник для ділення вхідного значення чисельника на вхідне значення знаменника для отримання частки та залишку.
На наступному малюнку показано порти для IP-ядра LPM_DIVIDE.
Порти LPM_DIVIDE
LPM_DIVIDE
numer[] denom[] годинник
частка[] залишається[]
clken aclr
інст
3.1. особливості
Ядро IP LPM_DIVIDE пропонує наступні функції: · Створює дільник, який ділить вхідне значення чисельника на вхідне значення знаменника
значення для отримання частки та залишку. · Підтримує дані шириною 1 біт. · Підтримує знаковий і беззнаковий формат представлення даних як для чисельника
і значення знаменника. · Підтримує оптимізацію площі або швидкості. · Надає можливість вказати позитивний результат залишку. · Підтримує конвеєрне налаштування вихідної затримки. · Підтримує додаткові асинхронні порти очищення та синхронізації.
3.2. Прототип Verilog HDL
Наступний прототип Verilog HDL знаходиться в Verilog Design File (.v) lpm.v в каталог едасинтезу.
модуль lpm_divide (частка, остаток, число, значень, годинник, clken, aclr); параметр lpm_type = “lpm_divide”; параметр lpm_widthn = 1; параметр lpm_widthd = 1; параметр lpm_nrepresentation = “UNSIGNED”; параметр lpm_drepresentation = “UNSIGNED”; параметр lpm_remainderpositive = “TRUE”; параметр lpm_pipeline = 0;
Корпорація Intel. Всі права захищені. 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 = “UNUSED”; вхідний годинник; введення clken; введення aclr; вхід [lpm_widthn-1:0] число; вхід [lpm_widthd-1:0] denom; вихід [lm_widthn-1:0] коефіцієнт; вихід [lpm_widthd-1:0] залишається; кінцевий модуль
3.3. Декларація компонента VHDL
Оголошення компонента VHDL міститься в дизайні VHDL File (.vhd) LPM_PACK.vhd у каталог librariesvhdllpm.
компонент LPM_DIVIDE загальний (LPM_WIDTHN : природний; LPM_WIDTHD : природний;
LPM_NREPRESENTATION : string := “UNSIGNED”; LPM_DREPRESENTATION : string := “UNSIGNED”; LPM_PIPELINE : природний := 0; LPM_TYPE : рядок := L_DIVIDE; LPM_HINT : string := “UNUSED”); порт (NUMER : у std_logic_vector(LPM_WIDTHN-1 downto 0); DENOM : у std_logic_vector(LPM_WIDTHD-1 downto 0); ACLR : у std_logic := '0'; CLOCK : у std_logic := '0'; CLKEN : у std_logic := '1'; QUOTIENT : out std_logic_vector(LPM_WIDTHN-1 downto 0); REMAIN : out std_logic_vector(LPM_WIDTHD-1 downto 0)); кінцевий компонент;
3.4. Декларація VHDL LIBRARY_USE
Декларація VHDL LIBRARY-USE не потрібна, якщо ви використовуєте декларацію компонента VHDL.
БІБЛІОТЕКА lpm; USE lpm.lpm_components.all;
3.5. Порти
У наведених нижче таблицях перераховані вхідні та вихідні порти для IP-ядра LPM_DIVIDE.
Таблиця 5.
LPM_DIVIDE Вхідні порти
Назва порту
Обов'язковий
число[]
так
denom[]
так
опис
Введення даних чисельника. Розмір вхідного порту залежить від значення параметра LPM_WIDTHN.
Введення даних знаменника. Розмір вхідного порту залежить від значення параметра LPM_WIDTHD.
продовження...
Надіслати відгук
Intel FPGA Integer Arithmetic IP Cores Посібник користувача 13
3. LPM_DIVIDE (дільник) Intel FPGA IP Core 683490 | 2020.10.05
Годинник імені порту clken
aclr
Обов’язково Ні Ні
немає
опис
Вхід синхронізації для конвеєрного використання. Для значень LPM_PIPELINE, відмінних від 0 (за замовчуванням), порт синхронізації має бути ввімкнено.
Годинник дозволяє конвеєрне використання. Коли порт clken встановлено на високому рівні, виконується операція поділу. Коли сигнал низький, операції не виконуються. Якщо опущено, значення за умовчанням дорівнює 1.
Асинхронний очищений порт, який використовується в будь-який час для скидання конвеєра до всіх «0» асинхронно на вхід годинника.
Таблиця 6.
Вихідні порти LPM_DIVIDE
Назва порту
Обов'язковий
опис
коефіцієнт[]
так
Виведення даних. Розмір вихідного порту залежить від LPM_WIDTHN
значення параметра.
залишитися[]
так
Виведення даних. Розмір вихідного порту залежить від LPM_WIDTHD
значення параметра.
3.6. Параметри
У наведеній нижче таблиці наведено параметри для IP-ядра LPM_DIVIDE Intel FPGA.
Назва параметра
Тип
Обов'язковий
опис
LPM_WIDTHN
Ціле число
так
Визначає ширину numer[] і
порти quotient[]. Значення від 1 до 64.
LPM_WIDTHD
Ціле число
так
Визначає ширину denom[] і
залишаються [] порти. Значення від 1 до 64.
LPM_NREPRESENTATION LPM_DREPRESENTATION
Рядок Рядок
немає
Знакове представлення введення чисельника.
Значення SIGNED і UNSIGNED. Коли це
параметр встановлено на ПІДПИС, дільник
інтерпретує вхідний номер numer[] як знак двійки
доповнюють.
немає
Знакове представлення вхідного знаменника.
Значення SIGNED і UNSIGNED. Коли це
параметр встановлено на ПІДПИС, дільник
інтерпретує вхідні дані denom[] як знакові два
доповнюють.
LPM_TYPE
Рядок
немає
Ідентифікує бібліотеку параметризованих
модулі (LPM) ім’я об’єкта в проекті VHDL
files (.vhd).
LPM_HINT
Рядок
немає
Коли ви створюєте екземпляр бібліотеки
параметризовані модулі (LPM) функціонують у a
Дизайн VHDL File (.vhd), ви повинні використовувати
Параметр LPM_HINT для визначення Intel-
конкретний параметр. наприкладampфайл: LPM_HINT
= “CHAIN_SIZE = 8,
ONE_INPUT_IS_CONSTANT = YES” The
значенням за замовчуванням є UNUSED.
LPM_REMAINDERPOSITIVE
Рядок
немає
Специфічний параметр Intel. Ви повинні використовувати
Параметр LPM_HINT для визначення
Параметр LPM_REMAINDERPOSITIVE в
Дизайн VHDL fileс. Значення TRUE або FALSE.
Якщо цей параметр має значення TRUE, то
значення порту remain[] має бути більшим
продовження...
Intel FPGA Integer Arithmetic IP Cores Посібник користувача 14
Надіслати відгук
3. LPM_DIVIDE (дільник) Intel FPGA IP Core 683490 | 2020.10.05
Назва параметра
Тип
MAXIMIZE_SPEED
Ціле число
LPM_PIPELINE
Ціле число
INTENDED_DEVICE_FAMILY SKIP_BITS
Ціле рядок
Необхідний номер
Ні Ні Ні
опис
ніж або дорівнює нулю. Якщо для цього параметра встановлено значення TRUE, значення порту remain[] або дорівнює нулю, або значення має той самий знак, позитивний або негативний, що й значення порту number. Щоб зменшити площу та підвищити швидкість, 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[] і remain[]. Значення нуль (0) вказує на відсутність затримки та на те, що створено чисто комбінаційну функцію. Якщо опущено, значення за умовчанням дорівнює 0 (неконвеєрне). Ви не можете вказати значення для параметра LPM_PIPELINE, яке перевищує LPM_WIDTHN.
Цей параметр використовується для цілей моделювання та моделювання поведінки. Редактор параметрів обчислює значення цього параметра.
Дозволяє більш ефективне дробове поділ бітів для оптимізації логіки на провідних бітах, надаючи кількість провідних GND до IP-ядра LPM_DIVIDE. Вкажіть кількість провідних GND на виході частки цього параметра.
Надіслати відгук
Intel FPGA Integer Arithmetic IP Cores Посібник користувача 15
683490 | 2020.10.05 Надіслати відгук
4. LPM_MULT (Множник) IP Core
малюнок 3.
IP-ядро LPM_MULT реалізує множник для множення двох значень вхідних даних для створення продукту як виходу.
На наступному малюнку показано порти для IP-ядра LPM_MULT.
LPM_Mult Порти
LPM_MULT clock dataa[] result[] 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 або її дочірніх компаній. 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.v в каталог едасинтезу.
модуль lpm_mult ( результат, dataa, datab, сума, годинник, 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 = “UNUSED”; вхідний годинник; введення clken; введення aclr; вхід [lpm_widtha-1:0] даніa; вхід [lpm_widthb-1:0] datab; вхід [lpm_widths-1:0] сума; вихід [lm_widthp-1:0] результат; кінцевий модуль
4.3. Декларація компонента VHDL
Оголошення компонента VHDL міститься в дизайні VHDL File (.vhd) LPM_PACK.vhd у каталог librariesvhdllpm.
компонент LPM_MULT загальний ( LPM_WIDTHA : природний; LPM_WIDTHB : природний; LPM_WIDTHS : природний := 1; LPM_WIDTHP : природний;
LPM_REPRESENTATION : string := “UNSIGNED”; LPM_PIPELINE : природний := 0; LPM_TYPE: рядок := L_MULT; LPM_HINT : string := “UNUSED”); порт ( DATAA : у std_logic_vector(LPM_WIDTHA-1 downto 0); DATAB : у std_logic_vector(LPM_WIDTHB-1 downto 0); ACLR : у std_logic := '0'; CLOCK : у std_logic := '0'; CLKEN : у std_logic := '1'; in std_logic_vector(LPM_WIDTHS-1 downto 0) := (OTHERS => '0': out std_logic_vector(LPM_WIDTHP-1 downto 0)); кінцевий компонент;
4.4. Декларація VHDL LIBRARY_USE
Декларація VHDL LIBRARY-USE не потрібна, якщо ви використовуєте декларацію компонента VHDL.
БІБЛІОТЕКА lpm; USE lpm.lpm_components.all;
Надіслати відгук
Intel FPGA Integer Arithmetic IP Cores Посібник користувача 17
4. LPM_MULT (Множник) IP Core 683490 | 2020.10.05
4.5. Сигнали
Таблиця 7.
Вхідні сигнали LPM_MULT
Назва сигналу
Обов'язковий
опис
dataa[]
так
Введення даних.
Для пристроїв Intel Stratix 10, Intel Arria 10 і Intel Cyclone 10 GX розмір вхідного сигналу залежить від значення параметра ширини Dataa.
Для старих пристроїв і пристроїв Intel Cyclone 10 LP розмір вхідного сигналу залежить від значення параметра LPM_WIDTHA.
datab[]
так
Введення даних.
Для пристроїв Intel Stratix 10, Intel Arria 10 і Intel Cyclone 10 GX розмір вхідного сигналу залежить від значення параметра Datab width.
Для старих пристроїв і пристроїв 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
немає
Увімкнути годинник для конвеєрного використання. Коли сигнал clken затверджується високим,
виконується операція додавання/віднімання. Коли сигнал низький, жодних операцій
відбувається. Якщо опущено, значення за умовчанням дорівнює 1.
aclr sclr
немає
Асинхронний сигнал очищення, який використовується в будь-який час для скидання конвеєра на всі 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».
Виберіть бажану конфігурацію множника.
продовження...
Intel FPGA Integer Arithmetic IP Cores Посібник користувача 18
Надіслати відгук
4. LPM_MULT (Множник) IP Core 683490 | 2020.10.05
Параметр
Наскільки широким має бути введення даних? Наскільки широким має бути введення «datab»? Як слід визначати ширину виводу «результату»? Обмежте ширину
Значення
Помножити вхідні дані "dataa" на себе (операція зведення в квадрат)
1 – 256 біт
Значення за замовчуванням
опис
8 біти
Вкажіть ширину порту dataa[].
1 – 256 біт
8 біти
Вкажіть ширину порту datab[].
Автоматично розрахувати ширину Обмежити ширину
1 – 512 біт
Автоматично обчислює ширину
Виберіть потрібний метод визначення ширини порту result[].
16 біти
Вкажіть ширину порту result[].
Це значення буде ефективним, лише якщо ви виберете «Обмежити ширину» в параметрі «Тип».
4.6.2. Загальне 2 Табл
Таблиця 10. Загальні 2 табл
Параметр
Значення
Введення даних
Чи має вхідна шина «datab» постійне значення?
Ні Так
Тип множення
Який тип
Без підпису
множення хочеш? Підписано
Реалізація
Яку реалізацію множника слід використати?
Використовуйте стандартну реалізацію
Використовуйте спеціальну схему помножувача (доступно не для всіх сімей)
Використовуйте логічні елементи
Значення за замовчуванням
опис
немає
Виберіть Так, щоб указати постійне значення
вхідна шина `datab', якщо така є.
Без підпису
Укажіть формат представлення для вхідних даних dataa[] і datab[].
Використовуйте стандартну реалізацію
Виберіть потрібний метод визначення ширини порту result[].
4.6.3. Вкладка конвеєрної обробки
Таблиця 11. Таб
Параметр
Ви хочете конвеєрувати номер
функція?
так
Значення
Створіть "aclr"
—
асинхронний чистий порт
Значення за замовчуванням
опис
немає
Виберіть Так, щоб увімкнути реєстр конвеєра
вихід множника та вкажіть потрібний
вихідна затримка в тактовому циклі. Увімкнення
конвеєрний реєстр додає додаткову затримку
вихід.
Не перевірено
Виберіть цей параметр, щоб дозволити порту aclr використовувати асинхронне очищення для регістра конвеєра.
продовження...
Надіслати відгук
Intel FPGA Integer Arithmetic IP Cores Посібник користувача 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[].
Як слід визначати ширину виводу «результату»?
Тип
Автоматичний розрахунок ширини
Обмежте ширину
Автоматично обчислює ширину
Виберіть потрібний метод визначення ширини порту result[].
Значення
1 – 512 біт
16 біти
Вкажіть ширину порту result[].
Це значення буде ефективним, лише якщо ви виберете «Обмежити ширину» в параметрі «Тип».
Ширина результату
1 – 512 біт
—
Відображає ефективну ширину порту result[].
4.7.2. Загальне 2 Табл
Таблиця 13. Загальні 2 табл
Параметр
Введення даних
Чи має вхідна шина «datab» постійне значення?
Ні Так
Значення
Значення за замовчуванням
опис
немає
Виберіть Так, щоб указати постійне значення
вхідна шина `datab', якщо така є.
продовження...
Intel FPGA Integer Arithmetic IP Cores Посібник користувача 20
Надіслати відгук
4. LPM_MULT (Множник) IP Core 683490 | 2020.10.05
Параметр
Значення
Значення
Будь-яке значення більше 0
Тип множення
Який тип
Без підпису
множення хочеш? Підписано
Стиль реалізації
Яку реалізацію множника слід використати?
Використовуйте стандартну реалізацію
Використовуйте спеціальну схему помножувача
Використовуйте логічні елементи
Значення за замовчуванням
опис
0
Вкажіть постійне значення порту datab[].
Без підпису
Укажіть формат представлення для вхідних даних dataa[] і datab[].
Використовуйте стандартну реалізацію
Виберіть потрібний метод визначення ширини порту result[].
4.7.3. Конвеєрна розробка
Таблиця 14. Таб
Параметр
Значення
Ви хочете конвеєрувати функцію?
Трубопровід
Ні Так
Тип сигналу очищення затримки
Будь-яке значення більше 0.
НЕМАЄ ACLR SCLR
Створіть годинник «clken».
—
увімкнути годинник
Який тип оптимізації ви хочете?
Тип
Область швидкості за замовчуванням
Значення за замовчуванням
опис
Ні 1 ЖОДНОГО
—
Виберіть «Так», щоб увімкнути регістр конвеєра на виході множника. Увімкнення регістру конвеєра додає до виводу додаткову затримку.
Укажіть потрібну затримку виводу в тактовому циклі.
Вкажіть тип скидання для реєстру конвеєра. Виберіть НЕМАЄ, якщо ви не використовуєте жодного реєстру конвеєра. Виберіть ACLR, щоб використовувати асинхронне очищення для регістра конвеєра. Це створить порт ACLR. Виберіть SCLR, щоб використовувати синхронне очищення для регістра конвеєра. Це створить порт SCLR.
Визначає активне ввімкнення високої тактової частоти для порту синхронізації регістра конвеєра
За замовчуванням
Вкажіть бажану оптимізацію для ядра IP.
Виберіть «За замовчуванням», щоб програмне забезпечення Intel Quartus Prime визначало найкращу оптимізацію для ядра IP.
Надіслати відгук
Intel FPGA Integer Arithmetic IP Cores Посібник користувача 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
dataa[]
годинник clken datab[] aclr
результат[] переповнення cout
інст
5.1. особливості
IP-ядро LPM_ADD_SUB пропонує такі функції: · Генерує суматор, від’ємник і динамічно настроюваний суматор/від’ємник
функції. · Підтримує дані шириною 1 біт. · Підтримує такі формати представлення даних, як знакові та беззнакові. · Підтримує додатковий перенос (позику), асинхронне очищення та ввімкнення годинника
вхідні порти. · Підтримує додаткові порти виведення (позики) і вихід переповнення. · Призначає одну з шин вхідних даних константі. · Підтримка конвеєрної обробки з настроюваною затримкою виведення.
Корпорація Intel. Всі права захищені. 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.v в каталог едасинтезу.
модуль lpm_add_sub ( результат, cout, переповнення, add_sub, cin, dataa, datab, clock, clken, aclr ); параметр lpm_type = “lpm_add_sub”; параметр lpm_width = 1; параметр lpm_direction = “UNUSED”; параметр lpm_representation = «ПІДПИС»; параметр lpm_pipeline = 0; параметр lpm_hint = “UNUSED”; вхід [lpm_width-1:0] dataa, datab; введення add_sub, cin; вхідний годинник; введення clken; введення aclr; вихід [lm_width-1:0] результат; вихід cout, overflow; кінцевий модуль
5.3. Декларація компонента VHDL
Оголошення компонента VHDL міститься в дизайні VHDL File (.vhd) LPM_PACK.vhd у каталог librariesvhdllpm.
компонент LPM_ADD_SUB загальний (LPM_WIDTH : природний;
LPM_DIRECTION : string := “UNUSED”; LPM_REPRESENTATION: string := “SIGNED”; LPM_PIPELINE : природний := 0; LPM_TYPE : рядок := L_ADD_SUB; LPM_HINT : string := “UNUSED”); порт (DATAA : у std_logic_vector(LPM_WIDTH-1 downto 0); DATAB : у std_logic_vector(LPM_WIDTH-1 downto 0); ACLR : у std_logic := '0'; CLOCK : у std_logic := '0'; CLKEN : у std_logic := '1'; CIN : in std_logic := 'Z'; ADD_SUB : in std_logic := '1'; RESULT : вихід std_logic_vector(LPM_WIDTH-1 downto 0); COUT : вихід std_logic; OVERFLOW : вихід std_logic); кінцевий компонент;
5.4. Декларація VHDL LIBRARY_USE
Декларація VHDL LIBRARY-USE не потрібна, якщо ви використовуєте декларацію компонента VHDL.
БІБЛІОТЕКА lpm; USE lpm.lpm_components.all;
5.5. Порти
У наведених нижче таблицях перераховані вхідні та вихідні порти для IP-ядра LPM_ADD_SUB.
Надіслати відгук
Intel FPGA Integer Arithmetic IP Cores Посібник користувача 23
5. LPM_ADD_SUB (суматор/віднімач) 683490 | 2020.10.05
Таблиця 15. LPM_ADD_SUB Вхідні порти ядра IP
Назва порту
Обов'язковий
опис
cin
немає
Перенесення до молодшого розряду. Для операцій додавання стандартним значенням є 0. Для
операції віднімання, значення за умовчанням 1.
dataa[]
так
Введення даних. Розмір вхідного порту залежить від значення параметра LPM_WIDTH.
datab[]
так
Введення даних. Розмір вхідного порту залежить від значення параметра LPM_WIDTH.
add_sub
немає
Додатковий вхідний порт для динамічного перемикання між суматором і від’ємником
функції. Якщо використовується параметр LPM_DIRECTION, add_sub не можна використовувати. Якщо
опущено, значенням за умовчанням є ADD. Intel рекомендує використовувати
Параметр LPM_DIRECTION для визначення роботи функції LPM_ADD_SUB,
а не призначати константу порту add_sub.
годинник
немає
Введення для конвеєрного використання. Порт синхронізації забезпечує вхід синхронізації для конвеєрного підключення
операція. Для значень LPM_PIPELINE, відмінних від 0 (за замовчуванням), порт синхронізації має бути
включено.
clken
немає
Увімкнути годинник для конвеєрного використання. Коли на порту clken встановлено високий рівень, суматор/
виконується операція віднімання. Коли сигнал низький, операції не відбуваються. Якщо
опущено, значення за умовчанням 1.
aclr
немає
Асинхронне очищення для конвеєрного використання. Конвеєр ініціалізується невизначеним (X)
логічний рівень. Порт aclr можна використовувати в будь-який час, щоб скинути конвеєр на всі 0,
асинхронно до тактового сигналу.
Таблиця 16. LPM_ADD_SUB Вихідні порти IP Core
Назва порту
Обов'язковий
опис
результат[]
так
Виведення даних. Розмір вихідного порту залежить від параметра LPM_WIDTH
значення.
cout
немає
Винесення (запозичення) старшого біта (MSB). Порт cout має фіз
інтерпретація як перенесення (запозичення) MSB. Порт cout виявляє
переповнення в операціях UNSIGNED. Порт cout працює таким же чином для
Операції SIGNED і UNSIGNED.
перелив
немає
Необов'язковий вихід винятку переповнення. Порт переповнення має фізичну інтерпретацію як
XOR перенесення до MSB з перенесенням MSB. Переливний порт
стверджує, коли результати перевищують доступну точність, і використовується лише тоді, коли
Значення параметра LPM_REPRESENTATION має ПІДПИС.
5.6. Параметри
У наведеній нижче таблиці наведено основні IP-параметри LPM_ADD_SUB.
Таблиця 17. Основні IP-параметри LPM_ADD_SUB
Назва параметра LPM_WIDTH
Тип Integer
Обов’язково Так
опис
Визначає ширину портів dataa[], datab[] і result[].
LPM_DIRECTION
Рядок
немає
Значення: ADD, SUB і UNUSED. Якщо опущено, значенням за замовчуванням є DEFAULT, що вказує параметру приймати значення з порту add_sub. Порт add_sub не можна використовувати, якщо використовується LPM_DIRECTION. Intel рекомендує використовувати параметр LPM_DIRECTION для визначення роботи функції LPM_ADD_SUB, а не призначати константу порту add_sub.
продовження...
Intel FPGA Integer Arithmetic IP Cores Посібник користувача 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 files (.vhd). Значення за замовчуванням – НЕВИКОРИСТАНИЙ.
Ідентифікує назву сутності бібліотеки параметризованих модулів (LPM) у проекті VHDL files.
Специфічний параметр Intel. Ви повинні використовувати параметр LPM_HINT, щоб указати параметр ONE_INPUT_IS_CONSTANT у дизайні VHDL fileс. Значення: ТАК, НІ та НЕВИКОРИСТАНИЙ. Забезпечує більшу оптимізацію, якщо один вхід постійний. Якщо опущено, значенням за умовчанням є НІ.
Специфічний параметр 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 не використовується.
Цей параметр використовується для цілей моделювання та моделювання поведінки. Редактор параметрів обчислює значення цього параметра.
Надіслати відгук
Intel FPGA Integer Arithmetic IP Cores Посібник користувача 25
683490 | 2020.10.05 Надіслати відгук
6. LPM_COMPARE (компаратор)
малюнок 5.
Ядро IP LPM_COMPARE порівнює значення двох наборів даних, щоб визначити зв’язок між ними. У найпростішій формі ви можете використовувати вентиль «виключаюче АБО», щоб визначити, чи рівні два біти даних.
На наступному малюнку показано порти для IP-ядра LPM_COMPARE.
Порти LPM_COMPARE
LPM_COMPARE
clken
алб
aeb
dataa[]
agb
datab[]
ageb
годинник
анеб
aclr
алеб
інст
6.1. особливості
Ядро IP LPM_COMPARE пропонує наступні функції: · Створює функцію порівняння для порівняння двох наборів даних · Підтримує ширину даних 1 біт · Підтримує формат представлення даних, такий як знаковий і беззнаковий · Виробляє такі типи виводу:
— alb (вхід A менший за вхід B) — aeb (вхід A дорівнює входу B) — agb (вхід A більший за вхід B) — ageb (вхід A більший або дорівнює входу B) — aneb ( вхід A не дорівнює входу B) — aleb (вхід A менший або дорівнює входу B) · Підтримує додаткові порти асинхронного очищення та ввімкнення синхронізації · Призначає вхідні дані datab[] константі · Підтримує конвеєрну передачу з настроюваною затримкою виведення
Корпорація Intel. Всі права захищені. 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.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 = “UNUSED”; вхід [lpm_width-1:0] dataa, datab; вхідний годинник; введення clken; введення aclr; вихід alb, aeb, agb, aleb, aneb, ageb; кінцевий модуль
6.3. Декларація компонента VHDL
Оголошення компонента VHDL міститься в дизайні VHDL File (.vhd) LPM_PACK.vhd у каталог librariesvhdllpm.
компонент LPM_COMPARE загальний (LPM_WIDTH : природний;
LPM_REPRESENTATION : string := “UNSIGNED”; LPM_PIPELINE : природний := 0; LPM_TYPE: рядок := L_COMPARE; LPM_HINT : string := “UNUSED”); порт (DATAA : у std_logic_vector(LPM_WIDTH-1 downto 0); DATAB : у std_logic_vector(LPM_WIDTH-1 downto 0); ACLR : у std_logic := '0'; CLOCK : у std_logic := '0'; CLKEN : у std_logic := '1'; AGB : вихід std_logic; AGEB : вихід std_logic; AEB : вихід std_logic; ANEB : вихід std_logic; ALB : вихід std_logic; ALEB : вихід std_logic); кінцевий компонент;
6.4. Декларація VHDL LIBRARY_USE
Декларація VHDL LIBRARY-USE не потрібна, якщо ви використовуєте декларацію компонента VHDL.
БІБЛІОТЕКА lpm; USE lpm.lpm_components.all;
6.5. Порти
У наступних таблицях перераховані вхідні та вихідні порти для ядра IP LMP_COMPARE.
Надіслати відгук
Intel FPGA Integer Arithmetic IP Cores Посібник користувача 27
6. LPM_COMPARE (Компаратор) 683490 | 2020.10.05
Таблиця 18. Вхідні порти ядра IP LPM_COMPARE
Назва порту
Обов'язковий
опис
dataa[]
так
Введення даних. Розмір вхідного порту залежить від значення параметра LPM_WIDTH.
datab[]
так
Введення даних. Розмір вхідного порту залежить від значення параметра LPM_WIDTH.
годинник
немає
Вхід синхронізації для конвеєрного використання. Порт синхронізації забезпечує вхід синхронізації для конвеєрного підключення
операція. Для значень LPM_PIPELINE, відмінних від 0 (за замовчуванням), порт синхронізації має бути
включено.
clken
немає
Увімкнути годинник для конвеєрного використання. Коли на порту clken встановлено високий рівень,
відбувається операція порівняння. Коли сигнал низький, операції не виконуються. Якщо
опущено, значення за умовчанням 1.
aclr
немає
Асинхронне очищення для конвеєрного використання. Конвеєр ініціалізується невизначеною логікою (X).
рівень. Порт aclr можна використовувати в будь-який час, щоб скинути конвеєр на всі 0,
асинхронно до тактового сигналу.
Таблиця 19. Вихідні порти ядра IP LPM_COMPARE
Назва порту
Обов'язковий
опис
алб
немає
Вихідний порт для компаратора. Стверджується, якщо вхід A менший за вхід B.
aeb
немає
Вихідний порт для компаратора. Стверджується, якщо вхідні дані A дорівнюють вхідним даних B.
agb
немає
Вихідний порт для компаратора. Стверджується, якщо вхідні дані A більші за вхідні дані B.
ageb
немає
Вихідний порт для компаратора. Стверджується, якщо вхідні дані A більші або дорівнюють вхідним
B.
анеб
немає
Вихідний порт для компаратора. Стверджується, якщо вхідні дані A не дорівнюють вхідним даних B.
алеб
немає
Вихідний порт для компаратора. Стверджується, якщо вхідні дані A менші або дорівнюють вхідним даних B.
6.6. Параметри
У наведеній нижче таблиці наведено параметри для ядра IP LPM_COMPARE.
Таблиця 20. Параметри ядра IP LPM_COMPARE
Назва параметра
Тип
Обов'язковий
LPM_WIDTH
Ціле число Так
LPM_ПРЕДСТАВНИЦТВО
Рядок
немає
LPM_PIPELINE
Ціле число
LPM_HINT
Рядок
немає
опис
Визначає ширину портів dataa[] і datab[].
Визначає тип виконаного порівняння. Значення SIGNED і UNSIGNED. Якщо опущено, значенням за замовчуванням є UNSIGNED. Якщо для цього параметра встановлено значення SIGNED, компаратор інтерпретує введені дані як доповнення до двох знаків.
Визначає кількість тактових циклів затримки, пов’язаної з виводом alb, aeb, agb, ageb, aleb або aneb. Значення нуль (0) вказує на те, що затримки немає, і що буде створено чисто комбінаційну функцію. Якщо опущено, значення за умовчанням дорівнює 0 (неконвеєрне).
Дозволяє вказати специфічні для Intel параметри в дизайні VHDL files (.vhd). Значення за замовчуванням – НЕВИКОРИСТАНИЙ.
продовження...
Intel FPGA Integer Arithmetic IP Cores Посібник користувача 28
Надіслати відгук
6. LPM_COMPARE (Компаратор) 683490 | 2020.10.05
Назва параметра LPM_TYPE INTENDED_DEVICE_FAMILY
ONE_INPUT_IS_CONSTANT
Тип String String
Рядок
Обов’язково Ні Ні
немає
опис
Ідентифікує назву сутності бібліотеки параметризованих модулів (LPM) у проекті VHDL files.
Цей параметр використовується для цілей моделювання та моделювання поведінки. Редактор параметрів обчислює значення цього параметра.
Специфічний параметр Intel. Ви повинні використовувати параметр LPM_HINT, щоб указати параметр ONE_INPUT_IS_CONSTANT у дизайні VHDL fileс. Значення: ТАК, НІ або НЕВИКОРИСТАНИЙ. Забезпечує більшу оптимізацію, якщо вхід постійний. Якщо опущено, значенням за умовчанням є НІ.
Надіслати відгук
Intel FPGA Integer Arithmetic IP Cores Посібник користувача 29
683490 | 2020.10.05 Надіслати відгук
7. ALTECC (Код виправлення помилок: кодер/декодер) IP Core
малюнок 6.
Intel надає ядро ALTECC IP для реалізації функцій ECC. ECC виявляє пошкоджені дані, які виникають на стороні приймача під час передачі даних. Цей метод виправлення помилок найкраще підходить для ситуацій, коли помилки виникають випадково, а не пакетами.
ECC виявляє помилки в процесі кодування та декодування даних. наприкладampнаприклад, коли ECC застосовано в програмі передачі, дані, зчитані з джерела, кодуються перед відправленням до приймача. Вихід (кодове слово) кодера складається з необроблених даних, до яких додається кількість бітів парності. Точна кількість доданих бітів парності залежить від кількості бітів у вхідних даних. Згенероване кодове слово потім передається до пункту призначення.
Приймач приймає кодове слово і декодує його. Інформація, отримана декодером, визначає, чи виявлено помилку. Декодер виявляє одно- та двобітові помилки, але може виправляти лише однобітні помилки в пошкоджених даних. Цей тип ECC — це подвійне виявлення помилок із корекцією одиночної помилки (SECDED).
Ви можете налаштувати функції кодера та декодера ядра ALTECC IP. Дані, що вводяться в кодер, кодуються для створення кодового слова, яке є комбінацією вхідних даних і згенерованих бітів парності. Згенероване кодове слово передається в модуль декодера для декодування безпосередньо перед досягненням блоку призначення. Декодер генерує вектор синдрому, щоб визначити, чи є помилка в отриманому кодовому слові. Декодер виправляє дані, лише якщо однобітна помилка походить від бітів даних. Сигнал не позначається, якщо однобітова помилка походить від бітів парності. Декодер також має сигнали прапорів, які показують стан отриманих даних і дії, виконані декодером, якщо такі є.
На наступних малюнках показано порти для ядра ALTECC IP.
Порти кодувальника ALTECC
ALTECC_ENCODER
дані[]
q[]
годинник
годинник
aclr
інст
Корпорація Intel. Всі права захищені. 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
data[] clock clocken
q[] err_detected err_corrected
err_fatal
aclr
інст
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) додається до бітів парності як MSB кодового слова. Це гарантує, що кодове слово має парну кількість одиниць. наприкладampнаприклад, якщо ширина даних становить 4 біти, 4 біти парності додаються до даних, щоб стати кодовим словом із загальною кількістю 8 бітів. Якщо 7 бітів з LSB 8-бітного кодового слова мають непарну кількість одиниць, 1-й біт (MSB) кодового слова дорівнює 8, що робить загальну кількість одиниць у кодовому слові парною.
На наступному малюнку показано згенероване кодове слово та розташування бітів парності та бітів даних у 8-бітному вхідному даних.
Надіслати відгук
Intel FPGA Integer Arithmetic IP Cores Посібник користувача 31
7. ALTECC (Код виправлення помилок: кодер/декодер) IP Core 683490 | 2020.10.05
малюнок 8.
Розташування бітів парності та бітів даних у 8-бітному згенерованому кодовому слові
MSB
LSB
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) lpm.v в каталог едасинтезу.
module altecc_encoder #( параметр namenjen_деві_сімейство = “невикористаний”, параметр lpm_pipeline = 0, параметр width_codeword = 8, параметр width_dataword = 8, параметр lpm_type = “altecc_encoder”, параметр lpm_hint = “невикористаний”) ( вхідний дріт aclr, вхідний дріт годинник, вхід wire clocken, вхідний дріт [width_dataword-1:0] дані, вихідний дріт [width_codeword-1:0] q); кінцевий модуль
7.3. Прототип Verilog HDL (ALTECC_DECODER)
Наступний прототип Verilog HDL знаходиться в Verilog Design File (.v) lpm.v в каталог едасинтезу.
module altecc_decoder #( параметр namenjen_деві_сімейство = “невикористаний”, параметр lpm_pipeline = 0, параметр width_codeword = 8, параметр width_dataword = 8, параметр lpm_type = “altecc_decoder”, параметр lpm_hint = “невикористаний”) ( вхідний дріт aclr, вхідний дріт годинник, вхід wire clocken, вхідний дріт [width_codeword-1:0] дані, вихідний дріт err_corrected, вихідний дріт err_detected, вихідний дріт err_fatal, вихідний дріт [width_dataword-1:0] q); кінцевий модуль
Intel FPGA Integer Arithmetic IP Cores Посібник користувача 32
Надіслати відгук
7. ALTECC (Код виправлення помилок: кодер/декодер) IP Core 683490 | 2020.10.05
7.4. Декларація компонентів VHDL (ALTECC_ENCODER)
Оголошення компонента VHDL міститься в дизайні VHDL File (.vhd) altera_mf_components.vhd у файлі каталог librariesvhdlaltera_mf.
компонент altecc_encoder generic ( nameravaний_девайс_сімейство:рядок := “невикористаний”; lpm_pipeline:natural := 0; width_codeword:natural := 8; width_dataword:natural := 8; lpm_hint:string := “UNUSED”; lpm_type:string := “altecc_encoder »); port( aclr:in std_logic := '0'; clock:in std_logic := '0'; clocken:in std_logic := '1'; data:in std_logic_vector(width_dataword-1 downto 0); q:out std_logic_vector(width_codeword -1 до 0)); кінцевий компонент;
7.5. Декларація компонентів VHDL (ALTECC_DECODER)
Оголошення компонента VHDL міститься в дизайні VHDL File (.vhd) altera_mf_components.vhd у файлі каталог librariesvhdlaltera_mf.
компонент altecc_decoder generic ( nameravaний_девайс_сімейство:рядок := “невикористаний”; lpm_pipeline:natural := 0; width_codeword:natural := 8; width_dataword:natural := 8; lpm_hint:string := “UNUSED”; lpm_type:string := “altecc_decoder »); port( aclr:in std_logic := '0'; clock:in std_logic := '0'; clocken:in std_logic := '1'; data:in std_logic_vector(width_codeword-1 downto 0); err_corrected : out std_logic; err_detected : вихід std_logic; q: вихід std_logic_vector(width_dataword-1 downto 0); syn_e : вихід std_logic); кінцевий компонент;
7.6. Декларація VHDL LIBRARY_USE
Декларація VHDL LIBRARY-USE не потрібна, якщо ви використовуєте декларацію компонента VHDL.
БІБЛІОТЕКА altera_mf; USE altera_mf.altera_mf_components.all;
7.7. Порти кодера
У наступних таблицях наведено вхідні та вихідні порти IP-ядра кодера ALTECC.
Надіслати відгук
Intel FPGA Integer Arithmetic IP Cores Посібник користувача 33
7. ALTECC (Код виправлення помилок: кодер/декодер) IP Core 683490 | 2020.10.05
Таблиця 22. Вхідні порти кодера ALTECC
Назва порту
Обов'язковий
опис
дані[]
так
Порт введення даних. Розмір вхідного порту залежить від WIDTH_DATAWORD
значення параметра. Порт data[] містить необроблені дані, які потрібно закодувати.
годинник
так
Вхідний порт тактового сигналу, який надає тактовий сигнал для синхронізації операції кодування.
Порт синхронізації потрібен, якщо значення LPM_PIPELINE більше 0.
годинник
немає
Увімкнення годинника. Якщо опущено, значення за умовчанням дорівнює 1.
aclr
немає
Асинхронне очищення введення. Активний сигнал високого aclar можна використовувати в будь-який час для
асинхронно очистити регістри.
Таблиця 23. Вихідні порти кодувальника ALTECC
Назва порту q[]
Обов’язково Так
опис
Порт виведення закодованих даних. Розмір вихідного порту залежить від значення параметра WIDTH_CODEWORD.
7.8. Порти декодера
У наступних таблицях перераховані вхідні та вихідні порти для IP-ядра декодера ALTECC.
Таблиця 24. Вхідні порти декодера ALTECC
Назва порту
Обов'язковий
опис
дані[]
так
Порт введення даних. Розмір вхідного порту залежить від значення параметра WIDTH_CODEWORD.
годинник
так
Вхідний порт тактового сигналу, який надає тактовий сигнал для синхронізації операції кодування. Порт синхронізації потрібен, якщо значення LPM_PIPELINE більше 0.
годинник
немає
Увімкнення годинника. Якщо опущено, значення за умовчанням дорівнює 1.
aclr
немає
Асинхронне очищення введення. Активний високий сигнал aclr можна використовувати в будь-який час для асинхронного очищення регістрів.
Таблиця 25. Вихідні порти декодера ALTECC
Назва порту q[]
Обов’язково Так
опис
Порт виведення декодованих даних. Розмір вихідного порту залежить від значення параметра WIDTH_DATAWORD.
err_detected Так
Сигнал прапора для відображення статусу отриманих даних і визначення будь-яких знайдених помилок.
err_correcte Так d
Сигнал прапора для відображення стану отриманих даних. Позначає знайдену та виправлену однобітну помилку. Ви можете використовувати дані, оскільки вони вже виправлені.
err_fatal
так
Сигнал прапора для відображення стану отриманих даних. Позначає двобітну помилку, знайдену, але не виправлену. Ви не повинні використовувати дані, якщо цей сигнал стверджується.
syn_e
немає
Вихідний сигнал, який стає високим щоразу, коли на парності виявляється однобітна помилка
біти.
7.9. Параметри кодера
У наведеній нижче таблиці наведено параметри IP-ядра кодера ALTECC.
Intel FPGA Integer Arithmetic IP Cores Посібник користувача 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
Тип Integer
Обов'язковий
опис
так
Визначає ширину необроблених даних. Значення від 2 до 64. The
значення за замовчуванням 8.
WIDTH_CODEWORD
Ціле число
так
Визначає ширину відповідного кодового слова. Значення 6
до 72, за винятком 9, 17, 33 і 65. Якщо опущено, значення за умовчанням
є 13.
LPM_PIPELINE
Ціле число
немає
Визначає регістр схеми. Значення від 0 до 2. Якщо
значення 0, регістр не реалізовано. Якщо значення дорівнює 1, то
вихід зареєстровано. Якщо значення дорівнює 2, і введення, і
вихід зареєстровано. Якщо значення більше 2, додаткове
регістри реалізовані на виході для доп
затримки. Якщо опущено, значення за умовчанням дорівнює 0.
Створіть порт syn_e
Ціле число
немає
Увімкніть цей параметр, щоб створити порт syn_e.
Надіслати відгук
Intel FPGA Integer Arithmetic IP Cores Посібник користувача 35
683490 | 2020.10.05 Надіслати відгук
8. Intel FPGA Multiply Adder IP Core
малюнок 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) дозволяє реалізувати суматор-множник.
На наступному малюнку показано порти для IP-ядра Intel FPGA Multiply Adder або 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 chainin[]
scanouta[] результат[]
aclr0 aclr1
інст
Множник-суматор приймає пари вхідних даних, множить значення разом, а потім додає або віднімає добутки всіх інших пар.
Якщо ширина всіх вхідних даних становить 9 біт або менше, функція використовує конфігурацію вхідного помножувача 9 x 9 біт у блоці DSP для пристроїв, які підтримують конфігурацію 9 x 9. Якщо ні, блок DSP використовує вхідні помножувачі 18 × 18 біт для обробки даних із шириною від 10 біт до 18 біт. Якщо в проекті присутні кілька ядер Intel FPGA Multiply Adder або ALTERA_MULT_ADD IP, функції розподіляються як
Корпорація Intel. Всі права захищені. Intel, логотип Intel та інші знаки Intel є товарними знаками корпорації Intel або її дочірніх компаній. Intel гарантує роботу своїх FPGA та напівпровідникових продуктів відповідно до поточних специфікацій відповідно до стандартної гарантії Intel, але залишає за собою право вносити зміни в будь-які продукти та послуги в будь-який час без попередження. Корпорація Intel не бере на себе жодної відповідальності чи зобов’язань, що виникають у зв’язку із застосуванням або використанням будь-якої інформації, продукту чи послуги, описаних у цьому документі, за винятком випадків, чітко наданих корпорацією Intel у письмовій формі. Клієнтам Intel рекомендується отримати останню версію специфікацій пристрою, перш ніж покладатися на будь-яку опубліковану інформацію та перед тим, як розміщувати замовлення на продукти чи послуги. *Інші назви та бренди можуть бути власністю інших осіб.
ISO 9001: 2015 Зареєстровано
8. Intel FPGA Multiply Adder 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 коефіцієнтами попереднього навантаження на множник · Підтримка постійної попередньої навантаження для доповнення зворотного зв'язку акумулятора
Надіслати відгук
Intel FPGA Integer Arithmetic IP Cores Посібник користувача 37
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
8.1.1. Попередній суматор
За допомогою попереднього суматора додавання або віднімання виконуються до подачі множника.
Є п’ять режимів попереднього суматора: · Простий режим · Режим коефіцієнтів · Режим введення · Режим квадратів · Режим константи
Примітка:
Коли використовується попередній суматор (коефіцієнт попереднього суматора/вхідний/квадратичний режим), усі дані, що вводяться в множник, повинні мати однакові налаштування годинника.
8.1.1.1. Простий режим попереднього додатка
У цьому режимі обидва операнди надходять із вхідних портів, а попередній суматор не використовується або пропускається. Це режим за замовчуванням.
Малюнок 10. Простий режим попереднього суматора
a0 b0
Mult0
результат
8.1.1.2. Режим коефіцієнтів попереднього суматора
У цьому режимі один операнд множника походить від попереднього суматора, а інший операнд – із внутрішнього сховища коефіцієнтів. Зберігання коефіцієнтів дозволяє зберігати до 8 заданих констант. Сигнали вибору коефіцієнтів є coefsel[0..3].
Цей режим виражається наступним рівнянням.
Нижче показано режим коефіцієнта попереднього суматора множника.
Малюнок 11. Режим коефіцієнтів попереднього суматора
Preadder
a0
Mult0
+/-
результат
b0
coefsel0 коефіцієнт
Intel FPGA Integer Arithmetic IP Cores Посібник користувача 38
Надіслати відгук
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
8.1.1.3. Режим введення попереднього суматора У цьому режимі один операнд множника походить від попереднього суматора, а інший операнд – із вхідного порту datac[]. Цей режим виражається наступним рівнянням.
Нижче показано режим введення множника перед суматором.
Малюнок 12. Режим введення попереднього суматора
a0 b0
Mult0
+/-
результат
c0
8.1.1.4. Квадратний режим попереднього суматора Цей режим виражається наступним рівнянням.
Нижче показано режим квадрата попереднього суматора двох множників.
Малюнок 13. Квадратний режим попереднього суматора
a0 b0
Mult0
+/-
результат
8.1.1.5. Постійний режим попереднього суматора
У цьому режимі один операнд множника походить від вхідного порту, а інший операнд – із внутрішнього сховища коефіцієнтів. Зберігання коефіцієнтів дозволяє зберігати до 8 заданих констант. Сигнали вибору коефіцієнтів є coefsel[0..3].
Цей режим виражається наступним рівнянням.
Надіслати відгук
Intel FPGA Integer Arithmetic IP Cores Посібник користувача 39
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
На наступному малюнку показано постійний режим множника перед суматором.
Малюнок 14. Постійний режим попереднього суматора
a0
Mult0
результат
coefsel0
коеф
8.1.2. Реєстр систолічної затримки
У систолічній архітектурі вхідні дані подаються в каскад регістрів, що діє як буфер даних. Кожен регістр забезпечує вхід sampпередається в множник, де він множиться на відповідний коефіцієнт. Ланцюговий суматор зберігає поступово об’єднані результати від множника та попередньо зареєстрований результат із вхідного порту chainin[] для формування остаточного результату. Кожен елемент множення-додавання має бути відкладено на один цикл, щоб результати належним чином синхронізувалися під час додавання. Кожна послідовна затримка використовується для адресації як пам’яті коефіцієнтів, так і буфера даних їхніх відповідних елементів множення-додавання. наприкладample, одна затримка для другого елемента додавання множення, дві затримки для третього елемента додавання множення і так далі.
Рисунок 15. Систолічні регістри
Систолічні регістри
x(t) c(0)
S -1
S -1
c(1)
S -1
S -1
c(2)
S -1
S -1
c(N-1)
S -1
S -1
S -1
S -1 y(t)
x(t) представляє результати безперервного потоку вхідних даних samples та y(t)
являє собою суму набору вхідних sampлес, а в часі помножено на їх
відповідні коефіцієнти. І вхідні, і вихідні результати йдуть зліва направо. Від c(0) до c(N-1) позначають коефіцієнти. Регістри систолічної затримки позначаються S-1, тоді як 1 представляє одну затримку годинника. Регістри систолічної затримки додаються в
входи та виходи для конвеєрування таким чином, щоб забезпечити результати від
операнд множника та накопичені суми залишаються синхронними. Це елемент обробки
копіюється для формування схеми, яка обчислює функцію фільтрації. Ця функція
виражене наступним рівнянням.
Intel FPGA Integer Arithmetic IP Cores Посібник користувача 40
Надіслати відгук
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
N представляє кількість циклів даних, які надійшли в накопичувач, y(t) представляє вихід у момент часу t, A(t) представляє вхід у момент часу t, а B(i) є коефіцієнтами. Значення t і i в рівнянні відповідають певному моменту часу, тому для обчислення результату sample y(t) у момент часу t, група входів sampфайли в N різних моментів часу, або потрібні A(n), A(n-1), A(n-2), … A(n-N+1). Група з N входів sampфайли множаться на N коефіцієнтів і підсумовуються, щоб отримати остаточний результат y.
Архітектура систолічного реєстру доступна лише для режимів суми 2 і суми 4. Для обох режимів архітектури систолічного регістра перший сигнал ланцюга має бути прив’язаний до 0.
На наступному малюнку показано реалізацію регістра систолічної затримки 2 множників.
Малюнок 16. Застосування регістра систолічної затримки 2 множників
chainin
a0
Mult0
+/-
b0
a1
Mult1
+/-
b1
результат
Сума двох множників виражається наступним рівнянням.
На наступному малюнку показано реалізацію регістра систолічної затримки 4 множників.
Надіслати відгук
Intel FPGA Integer Arithmetic IP Cores Посібник користувача 41
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
Малюнок 17. Застосування регістра систолічної затримки 4 множників
chainin
a0
Mult0
+/-
b0
a1
Mult1
+/-
b1
a2
Mult2
+/-
b2
a3
Mult3
+/-
b3
результат
Сума чотирьох множників виражається наступним рівнянням. Рисунок 18. Сума 4 множників
Нижче наведено список advantagРеалізація систолічного регістра: · Зменшує використання ресурсів DSP · Забезпечує ефективне відображення в блоці DSP за допомогою структури ланцюгового суматора
Intel FPGA Integer Arithmetic IP Cores Посібник користувача 42
Надіслати відгук
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
8.1.3. Константа попереднього навантаження
Константа попереднього навантаження керує операндом накопичувача та доповнює зворотний зв’язок накопичувача. Дійсне значення LOADCONST_VALUE коливається від 0. Постійне значення дорівнює 64N, де N = LOADCONST_VALUE. Коли для LOADCONST_VALUE встановлено значення 2, постійне значення дорівнює 64. Цю функцію можна використовувати як зміщене округлення.
На наступному малюнку показано реалізацію константи попереднього завантаження.
Малюнок 19. Константа попереднього навантаження
Зворотний зв'язок акумулятора
постійний
a0
Mult0
+/-
b0
a1
Mult1
+/b1
результат
accum_sload sload_accum
Зверніться до таких ядер IP для інших реалізацій множника: · ALTMULT_ACCUM · ALTMEMMULT · LPM_MULT
8.1.4. Подвійний акумулятор
Функція подвійного накопичувача додає додатковий регістр на шляху зворотного зв’язку накопичувача. Подвійний накопичувальний регістр слідує за вихідним регістром, який включає тактовий сигнал, синхронізацію дозволу та aclr. Додатковий накопичувальний регістр повертає результат із затримкою в один цикл. Ця функція дозволяє мати два накопичувальні канали з однаковою кількістю ресурсів.
На наступному малюнку показано реалізацію подвійного акумулятора.
Надіслати відгук
Intel FPGA Integer Arithmetic IP Cores Посібник користувача 43
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
Малюнок 20. Подвійний акумулятор
Реєстр подвійного накопичувача
Живлення акумулятора
a0
Mult0
+/-
b0
a1
Mult1
+/b1
Вихідний результат Вихідний регістр
8.2. Прототип Verilog HDL
Ви можете знайти прототип Intel FPGA Multiply Adder або ALTERA_MULT_ADD Verilog HDL file (altera_mult_add_rtl.v) у каталог megafunctions бібліотек.
8.3. Декларація компонента VHDL
Оголошення компонента VHDL міститься в altera_lnsim_components.vhd у файлі каталог librariesvhdl altera_lnsim.
8.4. Декларація VHDL LIBRARY_USE
Декларація VHDL LIBRARY-USE не потрібна, якщо ви використовуєте декларацію компонента VHDL.
БІБЛІОТЕКА altera_mf; USE altera_mf.altera_mf_components.all;
8.5. Сигнали
У наведених нижче таблицях наведено вхідні та вихідні сигнали ядра IP Multiply Adder Intel FPGA або ALTERA_MULT_ADD.
Таблиця 28. Вхідні сигнали Intel FPGA IP або ALTERA_MULT_ADD суматора множення
Сигнал
Обов'язковий
опис
dataa_0[]/dataa_1[]/
так
dataa_2[]/dataa_3[]
Введення даних у множник. Ширина вхідного порту [NUMBER_OF_MULTIPLIERS * WIDTH_A – 1 … 0].
продовження...
Intel FPGA Integer Arithmetic IP Cores Посібник користувача 44
Надіслати відгук
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
Сигнал datab_0[]/datab_1[]/ datab_2[]/datab_3[] datac_0[] /datac_1[]/ datac_2[]/datac_3[] годинник[1:0] aclr[1:0] sclr[1:0] ena [1:0] знак
signb
scanina[] 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 для параметра What is the representation for Multipliers A inputs parameter. Імітаційна модель для цього 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 одночасно.
продовження...
Надіслати відгук
Intel FPGA Integer Arithmetic IP Cores Посібник користувача 45
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
Сигнал sload_accum
chainin[] addnsub1
addnsub3
coefsel0[] coefsel1[] coefsel2[] coefsel3[]
Необхідний номер
Ні Ні
немає
Ні Ні Ні Ні
опис
Імітаційна модель для цього 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-сигнали множника Intel FPGA
Сигнал
Обов'язковий
опис
результат []
так
Вихідний сигнал помножувача. Ширина вихідного сигналу [WIDTH_RESULT – 1 … 0].
Імітаційна модель для цього IP підтримує невизначене вихідне значення (X). Коли ви надаєте значення X як вхід, значення X поширюється за цим сигналом.
scanouta []
немає
Вихід ланцюга сканування A. Ширина вихідного сигналу [WIDTH_A – 1..0].
Виберіть більше ніж 2 для кількості множників і виберіть Scan chain input для параметра Який вхід A множника підключено до цього сигналу.
Intel FPGA Integer Arithmetic IP Cores Посібник користувача 46
Надіслати відгук
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
8.6. Параметри
8.6.1. Вкладка Загальне
Таблиця 30. Загальні табл
Параметр
IP-генерований параметр
Значення
Яка кількість множників?
кількість_м 1 – 4 множники
Якої ширини мають бути вхідні шини A width_a?
1 – 256
Якою шириною мають бути вхідні шини B width_b?
1 – 256
Якої ширини має бути вихідна шина «результату»?
width_result
1 – 256
Створіть пов’язаний годинник для кожного годинника
gui_associate Увімк. d_clock_enabl Вимк. e
8.6.2. Вкладка «Додаткові режими».
Таблиця 31. Вкладка «Додаткові режими».
Параметр
IP-генерований параметр
Значення
Конфігурація виходів
Регістровий вихід суматора
gui_output_re Увімкнено
gister
Вимкнено
Що є джерелом для введення годинника?
gui_output_re gister_clock
Годинник0 Годинник1 Годинник2
Що є джерелом для асинхронного чистого введення?
gui_output_re gister_aclr
НЕМАЄ ACLR0 ACLR1
Що є джерелом для синхронного чистого введення?
gui_output_re gister_sclr
НЕМАЄ SCLR0 SCLR1
Операція суматора
Яку операцію виконати над виходами першої пари помножувачів?
gui_multiplier 1_напрямок
ADD, SUB, VARIABLE
Значення за замовчуванням 1
16
опис
Кількість множників, які потрібно додати разом. Значення від 1 до 4. Укажіть ширину порту dataa[].
16
Вкажіть ширину порту datab[].
32
Вкажіть ширину порту result[].
Вимкнено
Виберіть цей параметр, щоб увімкнути годинник
для кожного годинника.
Значення за замовчуванням
опис
Off Clock0
ЖОДНОГО ЖОДНОГО
Виберіть цей параметр, щоб увімкнути вихідний регістр модуля суматора.
Виберіть Clock0, Clock1 або Clock2, щоб увімкнути та вказати джерело синхронізації для вихідних регістрів. Щоб увімкнути цей параметр, потрібно вибрати «Зареєструвати вихід» суматора.
Визначає асинхронне чисте джерело для вихідного регістру суматора. Щоб увімкнути цей параметр, потрібно вибрати «Зареєструвати вихід» суматора.
Визначає джерело синхронного очищення для вихідного регістру суматора. Щоб увімкнути цей параметр, потрібно вибрати «Зареєструвати вихід» суматора.
ДОДАТИ
Виберіть операцію додавання або віднімання для виходів між першим і другим множниками.
· Виберіть ADD, щоб виконати операцію додавання.
· Виберіть SUB, щоб виконати операцію віднімання.
· Виберіть VARIABLE, щоб використовувати порт addnsub1 для динамічного керування додаванням/відніманням.
продовження...
Надіслати відгук
Intel FPGA Integer Arithmetic IP Cores Посібник користувача 47
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
Параметр
IP-генерований параметр
Значення
Зареєструйте вхід 'addnsub1'
gui_addnsub_ On multiplier_reg Off ister1
Що є джерелом для введення годинника?
gui_addnsub_ multiplier_reg ister1_clock
Годинник0 Годинник1 Годинник2
Що є джерелом для асинхронного чистого введення?
gui_addnsub_ multiplier_aclr 1
НЕМАЄ ACLR0 ACLR1
Що є джерелом для синхронного чистого введення?
gui_addnsub_ multiplier_sclr 1
НЕМАЄ SCLR0 SCLR1
Яку операцію виконати над виходами другої пари помножувачів?
gui_multiplier 3_напрямок
ADD, SUB, VARIABLE
Зареєструйте вхід 'addnsub3'
gui_addnsub_ On multiplier_reg Off ister3
Що є джерелом для введення годинника?
gui_addnsub_ multiplier_reg ister3_clock
Годинник0 Годинник1 Годинник2
Значення за замовчуванням
Off Clock0 NONE NONE ADD
Off Clock0
опис
Якщо вибрано значення VARIABLE: · Переведіть сигнал addnsub1 на високий рівень для
операція додавання. · Привести сигнал addnsub1 до низького рівня для
операція віднімання. Щоб активувати цей параметр, потрібно вибрати більше двох множників.
Виберіть цей параметр, щоб увімкнути вхідний регістр для порту addnsub1. Ви повинні вибрати VARIABLE для того, яку операцію слід виконати на виходах першої пари множників, щоб увімкнути цей параметр.
Виберіть Clock0, Clock1 або Clock2, щоб вказати вхідний тактовий сигнал для регістра addnsub1. Щоб увімкнути цей параметр, потрібно вибрати вхід «Зареєструвати addnsub1».
Визначає асинхронне чисте джерело для регістра addnsub1. Щоб увімкнути цей параметр, потрібно вибрати вхід «Зареєструвати addnsub1».
Визначає джерело синхронного очищення для регістра addnsub1. Щоб увімкнути цей параметр, потрібно вибрати вхід «Зареєструвати addnsub1».
Виберіть операцію додавання або віднімання для виходів між третім і четвертим множниками. · Виберіть ADD, щоб виконати додавання
операція. · Виберіть SUB, щоб виконати віднімання
операція. · Виберіть VARIABLE, щоб використовувати addnsub1
порт для динамічного керування додаванням/відніманням. Якщо вибрано значення VARIABLE: · Підніміть сигнал addnsub1 до високого рівня для операції додавання. · Переведіть сигнал addnsub1 на низький рівень для операції віднімання. Ви повинні вибрати значення 4 для Якої кількості множників? щоб увімкнути цей параметр.
Виберіть цей параметр, щоб увімкнути вхідний регістр для сигналу addnsub3. Ви повинні вибрати VARIABLE для того, яку операцію слід виконати на виходах другої пари множників, щоб увімкнути цей параметр.
Виберіть Clock0, Clock1 або Clock2, щоб вказати вхідний тактовий сигнал для регістра addnsub3. Щоб увімкнути цей параметр, потрібно вибрати «Зареєструвати вхід addnsub3».
продовження...
Intel FPGA Integer Arithmetic IP Cores Посібник користувача 48
Надіслати відгук
8. Intel FPGA Multiply Adder 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. Множники Tab
Параметр
IP-генерований параметр
Значення
Що таке
gui_represent
формат представлення ation_a
для входів множників А?
ЗНАК, БЕЗЗНАК, ЗМІННА
Зареєструвати введення `signa'
gui_register_s Увімк
Ігна
Вимкнено
Що є джерелом для введення годинника?
gui_register_s igna_clock
Годинник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 Увімк
ignb
Вимкнено
Значення за умовчанням НЕМАЄ
ЖОДНОГО
опис
Визначає асинхронне чисте джерело для регістра addnsub3. Щоб увімкнути цей параметр, потрібно вибрати вхід «Зареєструвати addnsub3».
Визначає джерело синхронного очищення для регістра addnsub3. Щоб увімкнути цей параметр, потрібно вибрати «Зареєструвати вхід addnsub3».
Вимкнено
Виберіть цей параметр, щоб змінити функцію
вхідного порту addnsub.
Переведіть addnsub у високий рівень для операції віднімання.
Переведіть addnsub на низький рівень для операції додавання.
Значення за замовчуванням
опис
UNSIGNED Укажіть формат подання для вхідних даних множника A.
Вимкнено
Виберіть цей параметр, щоб увімкнути signa
зареєструватися.
Ви повинні вибрати значення VARIABLE для Який формат представлення для вхідних даних множників A? параметр, щоб увімкнути цю опцію.
Годинник0
Виберіть Clock0, Clock1 або Clock2, щоб увімкнути та вказати вхідний тактовий сигнал для регістра signa.
Щоб увімкнути цей параметр, потрібно вибрати «Зареєструвати вхідний сигнал».
ЖОДНОГО
Визначає асинхронне чисте джерело для регістру signa.
Щоб увімкнути цей параметр, потрібно вибрати «Зареєструвати вхідний сигнал».
ЖОДНОГО
Визначає синхронне чисте джерело для регістру signa.
Щоб увімкнути цей параметр, потрібно вибрати «Зареєструвати вхідний сигнал».
UNSIGNED Укажіть формат подання для вхідного множника B.
Вимкнено
Виберіть цей параметр, щоб увімкнути signb
зареєструватися.
продовження...
Надіслати відгук
Intel FPGA Integer Arithmetic IP Cores Посібник користувача 49
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
Параметр
IP-генерований параметр
Значення
Значення за замовчуванням
Що є джерелом для введення годинника?
gui_register_s ignb_clock
Годинник0 Годинник1 Годинник2
Годинник0
Що є джерелом для асинхронного чистого введення?
gui_register_s ignb_aclr
НЕМАЄ ACLR0 ACLR1
Що є джерелом для синхронного чистого введення?
gui_register_s ignb_sclr
НЕМАЄ SCLR0 SCLR1
Конфігурація входу
Зареєструвати вхід А помножувача
Що є джерелом для введення годинника?
gui_input_reg Увімкнено
ister_a
Вимкнено
gui_input_reg ister_a_clock
Годинник0 Годинник1 Годинник2
ЖОДНОГО ЖОДНОГО
Off Clock0
Що є джерелом для асинхронного чистого введення?
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_clock
Годинник0 Годинник1 Годинник2
NONE NONE Off Clock0
Що є джерелом для асинхронного чистого введення?
gui_input_reg ister_b_aclr
НЕМАЄ ACLR0 ACLR1
ЖОДНОГО
Що є джерелом для синхронного чистого введення?
gui_input_reg ister_b_sclr
НЕМАЄ SCLR0 SCLR1
ЖОДНОГО
До чого підключений вхід А помножувача?
gui_multiplier Множник введення Множник
_a_вхід
Сканування ланцюжка введення введення
опис
Ви повинні вибрати значення VARIABLE для Який формат представлення для входів множників B? параметр, щоб увімкнути цю опцію.
Виберіть Clock0, Clock1 або Clock2, щоб увімкнути та вказати вхідний тактовий сигнал для регістру signb. Щоб увімкнути цей параметр, потрібно вибрати «Зареєструвати вхід signb».
Визначає асинхронне чисте джерело для регістра signb. Щоб увімкнути цей параметр, потрібно вибрати «Зареєструвати вхід signb».
Визначає джерело синхронного очищення для регістра signb. Щоб увімкнути цей параметр, потрібно вибрати «Зареєструвати вхід signb».
Виберіть цей параметр, щоб увімкнути вхідний регістр для вхідної шини даних.
Виберіть Clock0, Clock1 або Clock2, щоб увімкнути та вказати вхідний тактовий сигнал регістра для вхідної шини даних. Щоб увімкнути цей параметр, необхідно вибрати реєстраційний вхід A множника.
Визначає регістр асинхронного чистого джерела для вхідної шини даних. Щоб увімкнути цей параметр, необхідно вибрати реєстраційний вхід A множника.
Визначає джерело синхронного очищення регістра для вхідної шини даних. Щоб увімкнути цей параметр, необхідно вибрати реєстраційний вхід A множника.
Виберіть цей параметр, щоб увімкнути вхідний регістр для вхідної шини datab.
Виберіть Clock0, Clock1 або Clock2, щоб увімкнути та вказати вхідний тактовий сигнал регістру для вхідної шини datab. Щоб увімкнути цей параметр, необхідно вибрати реєстраційний вхід B множника.
Визначає джерело асинхронного очищення реєстру для вхідної шини datab. Щоб увімкнути цей параметр, необхідно вибрати реєстраційний вхід B множника.
Визначає джерело синхронного очищення регістру для вхідної шини datab. Щоб увімкнути цей параметр, необхідно вибрати реєстраційний вхід B множника.
Виберіть джерело вхідного сигналу для входу A множника.
продовження...
Intel FPGA Integer Arithmetic IP Cores Посібник користувача 50
Надіслати відгук
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
Параметр
IP-генерований параметр
Значення
Scanout A Register Configuration
Зареєструвати вихід ланцюжка сканування
gui_scanouta Увімк
_реєстрація
Вимкнено
Що є джерелом для введення годинника?
gui_scanouta _register_cloc k
Годинник0 Годинник1 Годинник2
Що є джерелом для асинхронного чистого введення?
gui_scanouta _register_aclr
НЕМАЄ ACLR0 ACLR1
Що є джерелом для синхронного чистого введення?
gui_scanouta _register_sclr
НЕМАЄ SCLR0 SCLR1
8.6.4. Вкладка Preadder
Таблиця 33. Вкладка Preadder
Параметр
IP-генерований параметр
Значення
Виберіть режим попереднього суматора
preadder_mo de
ПРОСТИЙ, COEF, ВХІД, КВАДРАТ, КОНСТАНТ
Значення за замовчуванням
опис
Виберіть «Вхід множника», щоб використовувати вхідну шину даних як джерело множника. Виберіть Сканувати ланцюговий вхід, щоб використовувати вхідну шину сканування як джерело множника та вмикати вихідну шину сканування. Цей параметр доступний, коли ви вибираєте 2, 3 або 4 для Якої кількості множників? параметр.
Off Clock0 NONE NONE
Виберіть цей параметр, щоб увімкнути вихідний регістр для вихідної шини scanouta.
Ви повинні вибрати Сканувати ланцюговий вхід для До чого підключено вхід A помножувача? параметр, щоб увімкнути цю опцію.
Виберіть Clock0, Clock1 або Clock2, щоб увімкнути та вказати вхідний тактовий сигнал реєстру для вихідної шини scanouta.
Щоб увімкнути цю опцію, потрібно ввімкнути вихід параметра ланцюга сканування Register.
Визначає джерело асинхронного очищення регістру для вихідної шини scanouta.
Щоб увімкнути цю опцію, потрібно ввімкнути вихід параметра ланцюга сканування Register.
Визначає джерело синхронного очищення регістру для вихідної шини scanouta.
Щоб увімкнути цей параметр, потрібно вибрати параметр «Зареєструвати вихід ланцюга сканування».
Значення за замовчуванням
ПРОСТО
опис
Визначає режим роботи для модуля попереднього суматора. ПРОСТО: цей режим обходить пристрій попереднього зчитування. Це режим за замовчуванням. COEF: Цей режим використовує вихід попереднього суматора та вхідної шини коефіцієнта як вхідні дані для множника. INPUT: цей режим використовує вихід попереднього суматора та вхідну шину даних як вхідні дані для помножувача. КВАДРАТ: Цей режим використовує вихід попереднього суматора як вхід для множника.
продовження...
Надіслати відгук
Intel FPGA Integer Arithmetic IP Cores Посібник користувача 51
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
Параметр
IP-генерований параметр
Значення
Виберіть напрямок попереднього суматора
gui_preadder ADD,
_напрямок
SUB
Якої ширини мають бути вхідні шини C width_c?
1 – 256
Конфігурація вхідного регістру даних C
Зареєструвати введення даних
gui_datac_inp Увімк
ut_register
Вимкнено
Що є джерелом для введення годинника?
gui_datac_inp ut_register_cl ock
Годинник0 Годинник1 Годинник2
Що є джерелом для асинхронного чистого введення?
gui_datac_inp ut_register_a clr
НЕМАЄ ACLR0 ACLR1
Що є джерелом для синхронного чистого введення?
gui_datac_inp ut_register_sc lr
НЕМАЄ SCLR0 SCLR1
Коефіцієнти
Якою шириною має бути коефіцієнт ширини?
ширина_коеф
1 – 27
Конфігурація регістру Coef
Зареєструйте вхід коефіцієнта
gui_coef_regi Увімк
стер
Вимкнено
Що є джерелом для введення годинника?
gui_coef_regi ster_clock
Годинник0 Годинник1 Годинник2
Значення за замовчуванням
ДОДАТИ
16
опис
ПОСТІЙНИЙ: Цей режим використовує вхідну шину даних з обхідним попереднім суматором і вхідну шину coefsel як входи для множника.
Визначає роботу попереднього суматора. Щоб увімкнути цей параметр, виберіть наступне для вибору режиму попереднього суматора: · COEF · INPUT · SQUARE або · CONSTANT
Визначає кількість бітів для вхідної шини C. Щоб увімкнути цей параметр, потрібно вибрати INPUT для Select preadder mode.
На годиннику0 НІ НІ
Виберіть цей параметр, щоб увімкнути вхідний регістр для вхідної шини даних. Щоб увімкнути цю опцію, для параметра INPUT потрібно встановити значення Select preadder mode.
Виберіть Clock0, Clock1 або Clock2, щоб вказати вхідний тактовий сигнал для вхідного регістру datac. Щоб увімкнути цей параметр, потрібно вибрати «Зареєструвати вхід даних».
Визначає асинхронне чисте джерело для вхідного регістру даних. Щоб увімкнути цей параметр, потрібно вибрати «Зареєструвати вхід даних».
Визначає джерело синхронного очищення для вхідного регістру даних. Щоб увімкнути цей параметр, потрібно вибрати «Зареєструвати вхід даних».
18
Визначає кількість бітів для
вхідна шина coefsel.
Ви повинні вибрати COEF або CONSTANT для режиму попереднього суматора, щоб увімкнути цей параметр.
На годиннику0
Виберіть цей параметр, щоб увімкнути вхідний регістр для вхідної шини coefsel. Ви повинні вибрати COEF або CONSTANT для режиму попереднього суматора, щоб увімкнути цей параметр.
Виберіть Clock0, Clock1 або Clock2, щоб вказати вхідний тактовий сигнал для вхідного регістра coefsel. Щоб увімкнути цей параметр, потрібно вибрати «Зареєструвати вхід коефіцієнта».
продовження...
Intel FPGA Integer Arithmetic IP Cores Посібник користувача 52
Надіслати відгук
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
Параметр
Що є джерелом для асинхронного чистого введення?
IP-генерований параметр
Значення
gui_coef_regi ster_aclr
НЕМАЄ ACLR0 ACLR1
Що є джерелом для синхронного чіткого введення
gui_coef_regi ster_sclr
НЕМАЄ SCLR0 SCLR1
Коефіцієнт_0 Конфігурація
coef0_0 до coef0_7
0x00000 0xFFFFFFF
Коефіцієнт_1 Конфігурація
coef1_0 до coef1_7
0x00000 0xFFFFFFF
Коефіцієнт_2 Конфігурація
coef2_0 до coef2_7
0x00000 0xFFFFFFF
Коефіцієнт_3 Конфігурація
coef3_0 до coef3_7
0x00000 0xFFFFFFF
8.6.5. Акумулятор Tab
Таблиця 34. Акумулятор Tab
Параметр
IP-генерований параметр
Значення
Увімкнути акумулятор?
акумулятор
ТАК НІ
Який тип роботи акумулятора?
accum_directi ADD,
on
SUB
Значення за умовчанням НЕМАЄ
ЖОДНОГО
0x0000000 0
0x0000000 0
0x0000000 0
0x0000000 0
опис
Визначає асинхронне чисте джерело для вхідного регістра coefsel. Щоб увімкнути цей параметр, потрібно вибрати «Зареєструвати вхід коефіцієнта».
Визначає джерело синхронного очищення для вхідного регістра coefsel. Щоб увімкнути цей параметр, потрібно вибрати «Зареєструвати вхід коефіцієнта».
Визначає значення коефіцієнтів для цього першого множника. Кількість бітів має бути такою самою, як указано в розділі «Якої ширини має бути ширина коефіцієнта?» параметр. Ви повинні вибрати COEF або CONSTANT для режиму попереднього суматора, щоб увімкнути цей параметр.
Визначає значення коефіцієнта для цього другого множника. Кількість бітів має бути такою самою, як указано в розділі «Якої ширини має бути ширина коефіцієнта?» параметр. Ви повинні вибрати COEF або CONSTANT для режиму попереднього суматора, щоб увімкнути цей параметр.
Визначає значення коефіцієнта для цього третього множника. Кількість бітів має бути такою самою, як указано в розділі «Якої ширини має бути ширина коефіцієнта?» параметр. Ви повинні вибрати COEF або CONSTANT для режиму попереднього суматора, щоб увімкнути цей параметр.
Визначає значення коефіцієнта для цього четвертого множника. Кількість бітів має бути такою самою, як указано в розділі «Якої ширини має бути ширина коефіцієнта?» параметр. Ви повинні вибрати COEF або CONSTANT для режиму попереднього суматора, щоб увімкнути цей параметр.
Значення за умовчанням NO
ДОДАТИ
опис
Виберіть ТАК, щоб увімкнути акумулятор. Ви повинні вибрати Зареєструвати вихід суматора під час використання функції накопичувача.
Визначає операцію накопичувача: · ADD для операції додавання · SUB для операції віднімання. Ви повинні вибрати ТАК для параметра Увімкнути акумулятор? параметр, щоб увімкнути цю опцію.
продовження...
Надіслати відгук
Intel FPGA Integer Arithmetic IP Cores Посібник користувача 53
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
Параметр
Preload Constant Увімкнути постійну попереднього навантаження
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 OAD
Визначає поведінку сигналу accum_sload/sload_accum.
ACCUM_SLOAD: установіть низький рівень accum_sload, щоб завантажити вихід множника в акумулятор.
SLOAD_ACCUM: Підніміть sload_accum до високого рівня, щоб завантажити вихід множника в акумулятор.
Ви повинні вибрати опцію «Увімкнути постійне завантаження», щоб увімкнути цей параметр.
64
Вкажіть попередньо встановлене постійне значення.
Це значення може бути 2N, де N є попередньо встановленим постійним значенням.
Коли N=64, це постійний нуль.
Ви повинні вибрати опцію «Увімкнути постійне завантаження», щоб увімкнути цей параметр.
Годинник0
Виберіть Clock0, Clock1 або Clock2, щоб вказати вхідний тактовий сигнал для регістра accum_sload/sload_accum.
Ви повинні вибрати опцію «Увімкнути постійне завантаження», щоб увімкнути цей параметр.
ЖОДНОГО
Визначає асинхронне чисте джерело для регістра accum_sload/sload_accum.
Ви повинні вибрати опцію «Увімкнути постійне завантаження», щоб увімкнути цей параметр.
ЖОДНОГО
Визначає джерело синхронного очищення для регістра accum_sload/sload_accum.
Ви повинні вибрати опцію «Увімкнути постійне завантаження», щоб увімкнути цей параметр.
Вимкнено
Вмикає регістр подвійного накопичувача.
Intel FPGA Integer Arithmetic IP Cores Посібник користувача 54
Надіслати відгук
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
8.6.6. Систолічний/ланцюгова табл
Таблиця 35. Вкладка систолічного/ланцюгового суматора
Параметр Enable chainout adder
IP-генерований параметр
Значення
chainout_add ТАК,
er
НІ
Що таке тип операції ланцюгового суматора?
chainout_add ДОДАТИ,
er_direction
SUB
Увімкнути вхід "заперечення" для зчіпного суматора?
Port_negate
PORT_USED, PORT_UNUSED
Зареєструвати вхід "заперечення"? заперечувати_реєстр ер
НЕРЕЄСТРОВАНО, ГОДИННИК0, ГОДИННИК1, ГОДИННИК2, ГОДИННИК3
Що є джерелом для асинхронного чистого введення?
заперечувати_aclr
НЕМАЄ ACLR0 ACLR1
Що є джерелом для синхронного чистого введення?
заперечувати_sclr
НЕМАЄ SCLR0 SCLR1
Систолічна затримка
Увімкнути регістри систолічної затримки
gui_systolic_d Вкл
елай
Вимкнено
Що є джерелом для введення годинника?
gui_systolic_d CLOCK0,
elay_clock
ГОДИННИК1,
Значення за замовчуванням
НІ
опис
Виберіть ТАК, щоб увімкнути модуль суматора ланцюжків.
ДОДАТИ
Визначає операцію зчіпного суматора.
Для операції віднімання необхідно вибрати SIGNED для Який формат представлення для вхідних даних Multipliers A? і Який формат представлення для вхідних даних множників B? на вкладці Множники.
PORT_UN ВИКОРИСТАНО
Виберіть PORT_USED, щоб увімкнути негативний вхідний сигнал.
Цей параметр недійсний, якщо суматор ланцюжків вимкнено.
НЕРЕЄСТРАЦІЯ ERED
Щоб увімкнути вхідний регістр для негативного вхідного сигналу та вказати вхідний тактовий сигнал для негативного регістру.
Виберіть НЕЗАРЕЄСТРОВАНО, якщо регістр негативного введення не потрібен
Цей параметр недійсний, якщо вибрати:
· НІ для Увімкнути зчіпний суматор або
· PORT_UNUSED для Увімкнути вхід «негатив» для зчіпного суматора? параметр або
ЖОДНОГО
Визначає асинхронне джерело очищення для негативного регістру.
Цей параметр недійсний, якщо вибрати:
· НІ для Увімкнути зчіпний суматор або
· PORT_UNUSED для Увімкнути вхід «негатив» для зчіпного суматора? параметр або
ЖОДНОГО
Визначає джерело синхронного очищення для негативного регістра.
Цей параметр недійсний, якщо вибрати:
· НІ для Увімкнути зчіпний суматор або
· PORT_UNUSED для Увімкнути вхід «негатив» для зчіпного суматора? параметр або
Вимкнено CLOCK0
Виберіть цей параметр, щоб увімкнути систолічний режим. Цей параметр доступний, коли ви вибираєте 2 або 4 для Якої кількості множників? параметр. Щоб використовувати регістри систолічної затримки, потрібно ввімкнути вихідний сигнал реєстру суматора.
Визначає вхідний тактовий сигнал для регістра систолічної затримки.
продовження...
Надіслати відгук
Intel FPGA Integer Arithmetic IP Cores Посібник користувача 55
8. Intel FPGA Multiply Adder 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_clock
ГОДИННИК0, ГОДИННИК1, ГОДИННИК2
Що є джерелом для асинхронного чистого введення?
gui_input_late ncy_aclr
НЕМАЄ ACLR0 ACLR1
Що є джерелом для синхронного чистого введення?
gui_input_late ncy_sclr
НЕМАЄ SCLR0 SCLR1
ГОДИННИК0 НЕМАЄ НЕМАЄ
опис
Виберіть Так, щоб увімкнути додатковий рівень регістра конвеєра для вхідних сигналів. Необхідно вказати значення більше за 0 для параметра Будь ласка, вкажіть кількість тактових циклів затримки.
Визначає бажану затримку в тактах. Один рівень регістра конвеєра = 1 затримка в тактовому циклі. Ви повинні вибрати ТАК для Додати регістр конвеєра до вхідних даних? щоб увімкнути цю опцію.
Виберіть Clock0, Clock1 або Clock2, щоб увімкнути та вказати вхідний тактовий сигнал регістру конвеєра. Ви повинні вибрати ТАК для Додати регістр конвеєра до вхідних даних? щоб увімкнути цю опцію.
Визначає регістр асинхронного чистого джерела для додаткового регістра конвеєра. Ви повинні вибрати ТАК для Додати регістр конвеєра до вхідних даних? щоб увімкнути цю опцію.
Визначає джерело синхронного очищення регістру для додаткового регістра конвеєра. Ви повинні вибрати ТАК для Додати регістр конвеєра до вхідних даних? щоб увімкнути цю опцію.
Intel FPGA Integer Arithmetic IP Cores Посібник користувача 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 Intel FPGA IP або повторно згенерувати IP і скомпілювати свій проект за допомогою програмного забезпечення Intel Quartus Prime Standard Edition.
IP-ядро ALTMEMMULT використовується для створення множників на основі пам’яті з використанням вбудованих блоків пам’яті в процесорах Intel FPGA (з блоками пам’яті M512, M4K, M9K і MLAB). Це IP-ядро корисно, якщо у вас немає достатніх ресурсів для реалізації множників у логічних елементах (LE) або виділених ресурсів множника.
IP-ядро ALTMEMMULT — це синхронна функція, для якої потрібен годинник. IP-ядро ALTMEMMULT реалізує множник із найменшою пропускною здатністю та затримкою, можливими для заданого набору параметрів і специфікацій.
На наступному малюнку показано порти для IP-ядра ALTMEMMULT.
Рисунок 21. Порти ALTMEMMULT
ALTMEMMULT
data_in[] sload_data coeff_in[]
результат[] результат_дійсний завантаження_зроблено
sload_coeff
sclr годинник
інст
Функції пов’язаної інформації на сторінці 71
9.1. особливості
Ядро ALTMEMMULT IP пропонує наступні функції: · Створює лише множники на основі пам’яті, використовуючи вбудовані блоки пам’яті, знайдені в
Intel FPGA · Підтримує ширину даних 1 біт · Підтримує знаковий і беззнаковий формат подання даних · Підтримує конвеєрну передачу з фіксованою затримкою виводу
Корпорація Intel. Всі права захищені. Intel, логотип Intel та інші знаки Intel є товарними знаками корпорації Intel або її дочірніх компаній. Intel гарантує роботу своїх FPGA та напівпровідникових продуктів відповідно до поточних специфікацій відповідно до стандартної гарантії Intel, але залишає за собою право вносити зміни в будь-які продукти та послуги в будь-який час без попередження. Корпорація Intel не бере на себе жодної відповідальності чи зобов’язань, що виникають у зв’язку із застосуванням або використанням будь-якої інформації, продукту чи послуги, описаних у цьому документі, за винятком випадків, чітко наданих корпорацією Intel у письмовій формі. Клієнтам Intel рекомендується отримати останню версію специфікацій пристрою, перш ніж покладатися на будь-яку опубліковану інформацію та перед тим, як розміщувати замовлення на продукти чи послуги. *Інші назви та бренди можуть бути власністю інших осіб.
ISO 9001: 2015 Зареєстровано
9. ALTMEMMULT (множник постійного коефіцієнта на основі пам’яті) IP Core 683490 | 2020.10.05
· Зберігає кратні константи в оперативній пам'яті (RAM)
· Надає можливість вибрати тип блоку оперативної пам'яті
· Підтримує додаткові синхронні вхідні порти очищення та керування навантаженням
9.2. Прототип Verilog HDL
Наступний прототип Verilog HDL знаходиться в Verilog Design File (.v) altera_mf.v у каталог синтезу eda.
module altmemmult #( параметр coeff_representation = “SIGNED”, параметр coefficient0 = “UNUSED”, параметр data_representation = “SIGNED”, параметр namenjen_device_family = “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”) ( вхідний дріт годинник, вхідний дріт [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, вхід дріт sload_coeff, вхідний дріт sload_data)/* синтез syn_black_box=1 */; кінцевий модуль
9.3. Декларація компонента VHDL
Оголошення компонента VHDL міститься в дизайні VHDL File (.vhd) altera_mf_components.vhd у файлі каталог librariesvhdlaltera_mf.
компонент altmemmult generic ( coeff_representation:string := “SIGNED”; coefficient0:string := “UNUSED”; data_representation:string := “SIGNED”; destination_device_family:string := “unused”; max_clock_cycles_per_result:natural := 1; number_of_oefficients:natural := 1; ram_block_type:string := “АВТО”; total_latency:natural; width_c:natural; width_d:natural; width_r:natural; width_s:natural := 1; lpm_hint:string := “UNUSED”; lpm_type:string := «altmemmulт»); port( clock:in std_logic; coeff_in:in std_logic_vector(width_c-1 downto 0) := (інші => '0'); data_in:in std_logic_vector(width_d-1 downto 0);
Intel FPGA Integer Arithmetic IP Cores Посібник користувача 58
Надіслати відгук
9. ALTMEMMULT (множник постійного коефіцієнта на основі пам’яті) IP Core 683490 | 2020.10.05
load_done: вихід std_logic; результат:вихід std_logic_vector(width_r-1 downto 0); result_valid:out std_logic; sclr:in std_logic := '0'; sel:in std_logic_vector(width_s-1 downto 0) := (інші => '0'); sload_coeff:in std_logic := '0'; sload_data:in std_logic := '0'); кінцевий компонент;
9.4. Порти
У наведених нижче таблицях наведено вхідні та вихідні порти для IP-ядра ALTMEMMULT.
Таблиця 37. Вхідні порти ALTMEMMULT
Назва порту
Обов'язковий
опис
годинник
так
Тактовий вхід на множник.
coeff_in[]
немає
Порт введення коефіцієнта для множника. Розмір вхідного порту залежить від значення параметра WIDTH_C.
data_in[]
так
Порт введення даних до помножувача. Розмір вхідного порту залежить від значення параметра WIDTH_D.
sclr
немає
Синхронне чисте введення. Якщо не використовується, значення за замовчуванням активний високий.
sel[]
немає
Вибір фіксованого коефіцієнта. Розмір вхідного порту залежить від 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[]. продовження...
Надіслати відгук
Intel FPGA Integer Arithmetic IP Cores Посібник користувача 59
9. ALTMEMMULT (множник постійного коефіцієнта на основі пам’яті) IP Core 683490 | 2020.10.05
Назва параметра WIDTH_R WIDTH
Документи / Ресурси
![]() |
intel FPGA Integer Arithmetic IP Cores [pdfПосібник користувача FPGA Цілі арифметичні IP-ядра, Цілочисельні арифметичні IP-ядра, Арифметичні IP-ядра, IP-ядра |