FPGA бүтүн арифметикалык IP өзөктөрү
Intel FPGA бүтүн арифметикалык IP өзөктөрү Колдонуучунун колдонмосу
Intel® Quartus® Prime Design Suite үчүн жаңыртылган: 20.3
Онлайн версия Пикир жөнөтүү
УГ-01063
ID: 683490 Версия: 2020.10.05
Мазмуну
Мазмуну
1. Intel FPGA бүтүн арифметикалык IP өзөктөрү…………………………………………………………….. 5
2. LPM_COUNTER (эсептегич) IP өзөгү……………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………… 7 2.1. Өзгөчөлүктөрү…………………………………………………………………………………………7 2.2. Verilog HDL прототиби…………………………………………………………………………………………………………………………………………………………………………….. 8 2.3. VHDL Компонентинин Декларациясы…………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………….8 2.4. VHDL LIBRARY_USE Декларациясы………………………………………………………………… 9 2.5. POPTS ................................................ .................................................. ..................9 2.6. Параметрлер………………………………………………………………………………………… 10
3. LPM_DIVIDE (бөлүүчү) Intel FPGA IP Core…………………………………………………….. 12 3.1. Өзгөчөлүктөрү………………………………………………………………………………………………. 12 3.2. Verilog HDL прототиби…………………………………………………………………………… 12 3.3. VHDL Компоненттик Декларация……………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………….. 13 3.4. VHDL LIBRARY_USE Декларация………………………………………………………………. 13 3.5. Порттор………………………………………………………………………………………………… 13 3.6. Параметрлер…………………………………………………………………………………………… 14
4. LPM_MULT (көбөйтүүчү) IP өзөгү………………………………………………………………………. 16 4.1. Өзгөчөлүктөрү………………………………………………………………………………………………. 16 4.2. Verilog HDL прототипи…………………………………………………………………………… 17 4.3. VHDL компонентинин декларациясы………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………….. 17 4.4. VHDL LIBRARY_USE Декларация………………………………………………………………. 17 4.5. Сигналдар……………………………………………………………………………………………… 18 4.6. Stratix V, Arria V, Cyclone V жана Intel Cyclone 10 LP түзмөктөрүнүн параметрлери…………… 18 4.6.1. Жалпы өтмөк…………………………………………………………………………………18 4.6.2. Жалпы 2 Өтмөк………………………………………………………………………………… 19 4.6.3. Түтүктөрдү төшөө тактасы………………………………………………………………………………… 19 4.7. Intel Stratix 10, Intel Arria 10 жана Intel Cyclone 10 GX түзмөктөрүнүн параметрлери……….. 20 4.7.1. Жалпы өтмөк…………………………………………………………………………………20 4.7.2. Жалпы 2 Өтмөк…………………………………………………………………………………… 20 4.7.3. Түтүктөрдү өткөрүү……………………………………………………………………………………21
5. LPM_ADD_SUB (кошуучу/кемитүү)………………………………………………………………… 22 5.1. Өзгөчөлүктөрү………………………………………………………………………………………………. 22 5.2. Verilog HDL прототипи………………………………………………………………………… 23 5.3. VHDL компоненттеринин декларациясы…………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………….. 23 5.4. VHDL LIBRARY_USE Декларация………………………………………………………………. 23 5.5. Порттор………………………………………………………………………………………………… 23 5.6. Параметрлер………………………………………………………………………………………… 24
6. LPM_САЛЫШТЫРУУ (Салыштыруу)………………………………………………………………………… 26 6.1. Өзгөчөлүктөрү………………………………………………………………………………………………. 26 6.2. Verilog HDL прототипи…………………………………………………………………………… 27 6.3. VHDL Компонентинин Декларациясы…………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………….. 27 6.4. VHDL LIBRARY_USE Декларация………………………………………………………………. 27 6.5. Порттор………………………………………………………………………………………………… 27 6.6. Параметрлер………………………………………………………………………………………… 28
Intel FPGA бүтүн арифметикалык IP өзөктөрү Колдонуучунун колдонмосу 2
Пикир жөнөтүү
Мазмуну
7. ALTECC (Катаны оңдоо коду: Кодер/декодер) IP өзөгү…………………………………… 30
7.1. ALTECC коддогуч өзгөчөлүктөрү………………………………………………………………………..31 7.2. Verilog HDL прототипи (ALTECC_ENCODER)…………………………………………………. 32 7.3. Verilog HDL прототипи (ALTECC_DECODER)…………………………………………………. 32 7.4. VHDL Компонентинин Декларациясы (ALTECC_ENCODER)…………………………………………33 7.5. VHDL Компоненттик Декларациясы (ALTECC_DECODER)…………………………………………33 7.6. VHDL LIBRARY_USE Декларация………………………………………………………………. 33 7.7. Кодер порттору……………………………………………………………………………………………………………………………………… 33 7.8. Декодер порттору………………………………………………………………………………………34 7.9. Кодерлордун параметрлери……………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………… 34 7.10. Декодердин параметрлери …………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………… 35
8. 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 прототипи…………………………………………………………………………… 44 8.3. VHDL компонентин декларациялоо ................................................ 44 8.4. VHDL LIBRARY_USE Декларация………………………………………………………………. 44 8.5. Сигналдар………………………………………………………………………………………………… 44 8.6. Параметрлер………………………………………………………………………………………… 47
8.6.1. Жалпы өтмөк…………………………………………………………………………………47 8.6.2. Кошумча режимдер өтмөгү………………………………………………………………………….. 47 8.6.3. Көбөйткүчтөр …………………………………………………………………………………………………………………………………………………………………………………………………………………………………….. 49 8.6.4. Преддер таблицасы……………………………………………………………………………… 51 8.6.5. Аккумулятор клавиатурасы………………………………………………………………………….. 53 8.6.6. Систоликалык/Чынжырлык өтмөк…………………………………………………………………… 55 8.6.7. Түтүктөрдү өткөрүү өтмөк…………………………………………………………………………… 56
9. ALTMEMMULT (Эс тутумга негизделген туруктуу коэффициенттин мультипликатору) IP Core…………………… 57
9.1. Өзгөчөлүктөрү………………………………………………………………………………………………. 57 9.2. Verilog HDL прототиби…………………………………………………………………………… 58 9.3. VHDL Компонентинин Декларациясы………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………….. 58 9.4. Порттор……………………………………………………………………………………………… 59 9.5. Параметрлер………………………………………………………………………………………… 59
10. ALTMULT_ACCUM (Көбөйтүлүүчү) IP Core………………………………………… 61
10.1. Өзгөчөлүктөрү……………………………………………………………………………………….. 62 10.2. Verilog HDL прототиби…………………………………………………………………………..62 10.3. VHDL Компоненттик Декларация…………………………………………………………………… 63 10.4. VHDL LIBRARY_USE Декларациясы……………………………………………………………63 10.5. Порттар………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………… 63 10.6. Параметрлер…………………………………………………………………………………………… 64
11. ALTMULT_ADD (Multiply-Adder) IP Core……………………………………………………..69
11.1. Өзгөчөлүктөрү………………………………………………………………………………………….. 71 11.2. Verilog HDL прототиби…………………………………………………………………………..72 11.3. VHDL Компоненттик Декларация…………………………………………………………………… 72 11.4. VHDL LIBRARY_USE Декларациясы……………………………………………………………72
Пикир жөнөтүү
Intel FPGA бүтүн арифметикалык IP өзөктөрү Колдонуучунун колдонмосу 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 прототипи…………………………………………………………………………..88 12.6. VHDL Компоненттик Декларация…………………………………………………………………… 89 12.7. VHDL LIBRARY_USE Декларациясы……………………………………………………………89 12.8. Сигналдар ................................................ .................................................. ............................... 89 12.9. Параметрлер…………………………………………………………………………………………… 90
13. ALTSQRT (Бүтүн квадраттык тамыр) IP өзөгү………………………………………………………92 13.1. Өзгөчөлүктөрү………………………………………………………………………………………….. 92 13.2. Verilog HDL прототипи…………………………………………………………………………..92 13.3. VHDL Компонентинин Декларациясы……………………………………………………………………… 93 13.4. VHDL LIBRARY_USE Декларациясы……………………………………………………………93 13.5. Порттар………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………… 93 13.6. Параметрлер…………………………………………………………………………………………… 94
14. PARALLEL_ADD (Parallel Adder) IP Core…………………………………………………….. 95 14.1. Өзгөчөлүк…………………………………………………………………………………………….95 14.2. Verilog HDL прототиби…………………………………………………………………………..95 14.3. VHDL Компонентинин Декларациясы……………………………………………………………………… 96 14.4. VHDL LIBRARY_USE Декларациясы……………………………………………………………96 14.5. Порттар………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………… 96 14.6. Параметрлер…………………………………………………………………………………………… 97
15. Бүтүн сандык арифметикалык IP өзөктөрү Колдонуучунун колдонмосу Документтин архивдери…………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………… 98
16. Intel FPGA Integer Arithmetic IP Cores Колдонуучу колдонмосу үчүн документти кайра карап чыгуу тарыхы…. 99
Intel FPGA бүтүн арифметикалык IP өзөктөрү Колдонуучунун колдонмосу 4
Пикир жөнөтүү
683490 | 2020.10.05 Пикир жөнөтүү
1. Intel FPGA бүтүн арифметикалык IP өзөктөрү
Сиз дизайныңызда математикалык операцияларды аткаруу үчүн Intel® FPGA бүтүн IP өзөктөрүн колдоно аласыз.
Бул функциялар өз функцияларыңызды коддогонго караганда натыйжалуу логикалык синтезди жана түзмөктү ишке ашырууну сунуштайт. Дизайн талаптарын канааттандыруу үчүн IP өзөктөрүн ыңгайлаштыра аласыз.
Intel бүтүн арифметикалык IP өзөктөрү төмөнкү эки категорияга бөлүнөт: · Параметрленген модулдардын китепканасы (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 Counter Divider Multiplikator
Кошумча же кемитүү Салыштыргыч
ECC Encoder/Decoder
Колдоого алынган түзмөк
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 бүтүн арифметикалык IP өзөктөрү 683490 | 2020.10.05
IP өзөктөрү Intel FPGA Multiply Adder же ALTERA_MULT_ADD ALTMEMMULT
ALTMULT_ACCUM ALTMULT_ADD ALTMULT_COMPLEX
ALTSQRT
PARALLEL_KOŞMA
Функция бүттүview Multiplier-Adder
Эс тутумга негизделген Туруктуу коэффициенттин мультипликатору
Мультипликатор-аккумулятор Көбөйтүүчү-коштоочу
Комплекстүү мультипликатор
Бүтүн квадраттык тамыр
Параллелдик кошуучу
Колдоого алынган түзмөк
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
Циклон 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 FPGAs жана программалануучу түзмөктөрдүн релиз эскертүүлөрү
· Intel FPGA IP өзөктөрүнө киришүү Intel FPGA IP өзөктөрү жөнүндө көбүрөөк маалымат берет.
· Floating-Point IP Cores User Guide Intel FPGA Floating-Point IP өзөктөрү жөнүндө көбүрөөк маалымат берет.
· Intel FPGA IP өзөктөрүнө киришүү Бардык Intel FPGA IP өзөктөрү, анын ичинде IP өзөктөрүн параметрлештирүү, генерациялоо, жаңылоо жана симуляциялоо жөнүндө жалпы маалымат берет.
· Версиядан көз карандысыз IP жана Qsys симуляция скрипттерин түзүү Программалык камсыздоону же IP версиясын жаңыртуу үчүн кол менен жаңыртууну талап кылбаган симуляциялык скрипттерди түзүңүз.
· Долбоорду башкаруунун мыкты тажрыйбалары Долбооруңуздун жана ИМнин эффективдүү башкаруусу жана портативдүүлүгү үчүн көрсөтмөлөр files.
· Integer Arithmetic IP өзөктөрү Колдонуучунун колдонмосу Документтин архивдери бетте 98 Integer Arithmetic IP өзөктөрүнүн мурунку версиялары үчүн колдонуучу колдонмолорунун тизмесин берет.
Intel FPGA бүтүн арифметикалык IP өзөктөрү Колдонуучунун колдонмосу 6
Пикир жөнөтүү
683490 | 2020.10.05 Пикир жөнөтүү
2. LPM_COUNTER (эсептөөчү) IP өзөгү
1-сүрөт.
LPM_COUNTER IP өзөгү – бул экилик эсептегич, ал 256 битке чейин туурасы менен өйдө, төмөн эсептегичтерди жана өйдө же ылдый эсептегичтерди түзөт.
Төмөнкү сүрөттө LPM_COUNTER IP өзөгүнүн порттору көрсөтүлгөн.
LPM_COUNTER порттору
LPM_COUNTER
ssclr sload sset дайындары[]
q[]
жаңыланган
cout
aclr aload aset
clk_en cnt_en cin
инст
2.1. Өзгөчөлүктөрү
LPM_COUNTER IP өзөгү төмөнкү функцияларды сунуштайт: · Өйдө, ылдый жана өйдө/төмөн эсептегичтерди жаратат · Төмөнкү эсептегич түрлөрүн жаратат:
— Жөнөкөй экилик – нөлдөн башталган эсептегич өсүштөр же 255тен баштап азайтуулар
— Модуль – эсептегич колдонуучу белгилеген модулдун маанисине көбөйөт же азаят жана кайталанат
· Кошумча синхрондуу тазалоо, жүктөө жана орнотуу портторун колдойт · Кошумча асинхрондуу тазалоо, жүктөө жана орнотуу портторун колдойт · Кошумча саноо жана саатты иштетүү киргизүү портторун колдойт.
Intel корпорациясы. Бардык укуктар корголгон. Intel, Intel логотиби жана башка Intel белгилери Intel корпорациясынын же анын туунду компанияларынын соода белгилери болуп саналат. Intel өзүнүн FPGA жана жарым өткөргүч өнүмдөрүн Intelдин стандарттык гарантиясына ылайык учурдагы спецификацияларга ылайык аткарууга кепилдик берет, бирок эскертүүсүз каалаган убакта каалаган өнүмгө жана кызматтарга өзгөртүү киргизүү укугун өзүнө калтырат. Intel бул жерде сүрөттөлгөн кандайдыр бир маалыматты, продуктуну же кызматты колдонуудан же колдонуудан келип чыккан эч кандай жоопкерчиликти же жоопкерчиликти өзүнө албайт, Intel тарабынан жазуу жүзүндө ачык макулдашылгандан башка учурларда. Intel кардарларына жарыяланган маалыматка ишенүүдөн мурун жана өнүмдөр же кызматтарга буйрутма берүүдөн мурун түзмөктүн спецификацияларынын акыркы версиясын алуу сунушталат. *Башка ысымдар жана бренддер башкалардын менчиги катары талап кылынышы мүмкүн.
ISO 9001: 2015 Катталган
2. LPM_COUNTER (эсептөөчү) IP өзөгү
683490 | 2020.10.05
2.2. Verilog HDL прототиби
Төмөнкү Verilog HDL прототиби Verilog Дизайнында жайгашкан File (.v) lpm.v in the эдасинтез каталогу.
модулу lpm_counter (q, маалыматтар, саат, cin, cout, clk_en, cnt_en, өйдө, aset, aclr, жүктөө, sset, sclr, sload, eq ); параметр lpm_type = "lpm_counter"; параметр lpm_width = 1; параметр lpm_modulus = 0; параметр lpm_direction = “КОЛДОНУЛГАН”; параметр lpm_value = “КОЛДОНУЛГАН”; параметр lpm_svalue = "КОЛДОНУЛГАН"; параметр lpm_pvalue = "КОЛДОНУЛГАН"; параметр lpm_port_updown = “PORT_CONNECTIVITY”; параметр lpm_hint = “КОЛДОНУЛГАН”; output [lpm_width-1:0] q; чыгаруу cout; output [15:0] eq; киргизүү cin; киргизүү [lpm_width-1:0] маалыматтар; киргизүү сааты, clk_en, cnt_en, өйдө карай; киргизүү активи, aclr, жүктөө; киргизүү sset, sclr, sload; endmodule
2.3. VHDL компонентинин декларациясы
VHDL компонентинин декларациясы VHDL Дизайнында жайгашкан File (.vhd) LPM_PACK.vhd ичинде librariesvhdllpm каталогу.
компонент LPM_COUNTER жалпы ( LPM_WIDTH : табигый; LPM_MODULUS : табигый := 0; LPM_DIRECTION : сап := “КОЛДОНУЛГАН”; LPM_AVALUE : сап := “КОЛДОНУЛГАН”; LPM_SVALUE : сап := “UNUSED: CONNECT_UP”; LPM_MODULUS: string=” LPM_PVALUE : string := “UNUSED” LPM_TYPE : string := LPM_HINT : string := “UNUSED”; порт (DATA: in std_logic_vector(LPM_WIDTH-1 0 чейин):= (БАШКАЛАР =>
'0'); CLOCK: std_logic ичинде; CLK_EN : in std_logic := '1'; CNT_EN : in std_logic := '1'; UPDOWN : in 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'; С: std_logic_vector (LPM_WIDTH-1ден 0гө чейин); EQ: out std_logic_vector(15тен 0гө чейин);
акыркы компонент;
Intel FPGA бүтүн арифметикалык IP өзөктөрү Колдонуучунун колдонмосу 8
Пикир жөнөтүү
2. LPM_COUNTER (эсептөөчү) IP Core 683490 | 2020.10.05
2.4. VHDL LIBRARY_USE Декларациясы
VHDL Компонент Декларациясын колдонсоңуз, VHDL LIBRARY-USE декларациясы талап кылынбайт.
LIBRARY lpm; USE lpm.lpm_components.all;
2.5. Порттар
Төмөнкү таблицаларда LPM_COUNTER IP өзөгү үчүн киргизүү жана чыгаруу порттору көрсөтүлгөн.
Таблица 2.
LPM_COUNTER Киргизүү порттору
Порт аты
Талап кылынат
Description
маалымат[]
Жок
Эсептегичке параллелдүү маалыматтарды киргизүү. Киргизүү портунун өлчөмү LPM_WIDTH параметринин маанисине жараша болот.
саат
Ооба
Оң чети-триггердик саат киргизүү.
clk_en
Жок
Бардык синхрондук аракеттерди иштетүү үчүн саат киргизүүнү иштетүү. Эгерде алынып салынса, демейки маани 1 болот.
cnt_en
Жок
Sload, sset же sclr таасирин тийгизбестен, аз деп ырасталганда эсептөөнү өчүрүү үчүн киргизүүнү иштетиңиз. Эгерде алынып салынса, демейки маани 1 болот.
жаңыланган
Жок
Санактын багытын көзөмөлдөйт. Жогорку (1) деп ырасталганда, санауу багыты жогору, ал эми төмөн (0) деп ырасталганда, санауу багыты төмөндөйт. LPM_DIRECTION параметри колдонулса, өйдө ылдый портту туташтыруу мүмкүн эмес. LPM_DIRECTION колдонулбаса, өйдө ылдый порт милдеттүү эмес. Эгерде алынып салынса, демейки маани жогору болот (1).
cin
Жок
Төмөнкү тартиптеги битке алып баруу. Жогорку эсептегичтер үчүн cin киргизүүнүн жүрүм-туруму болуп саналат
cnt_en киргизүүнүн жүрүм-турумуна окшош. Эгерде алынып салынса, демейки маани 1 болот
(VCC).
aclr
Жок
Асинхрондуу таза киргизүү. Эгерде aset жана aclr экөө тең колдонулуп, ырасталса, aclr активди жокко чыгарат. Эгерде алынып салынса, демейки маани 0 болот (өчүрүлгөн).
актив
Жок
Асинхрондук киргизүү. q[] чыгууларын бардык 1лер катары же LPM_AVALUE параметри тарабынан көрсөтүлгөн мааниге көрсөтөт. Эгерде aset жана aclr порттору тең колдонулса жана ырасталса, aclr портунун мааниси актив портунун маанисин жокко чыгарат. Эгерде алынып салынса, демейки маани 0, өчүрүлгөн.
жүк
Жок
Асинхрондук жүктөө киргизүү, эсептегичти берилиштер киргизүүдөгү маани менен асинхрондук түрдө жүктөйт. Жүктөө порту колдонулганда, маалымат[] порту туташтырылышы керек. Эгерде алынып салынса, демейки маани 0, өчүрүлгөн.
sclr
Жок
Кийинки активдүү сааттын четиндеги эсептегичти тазалаган синхрондуу так киргизүү. Эгерде sset жана sclr порттору тең колдонулса жана ырасталса, sclr портунун мааниси sset портунун маанисин жокко чыгарат. Эгерде алынып салынса, демейки маани 0, өчүрүлгөн.
сет
Жок
Кийинки активдүү сааттын четине эсептегичти орнотуучу синхрондуу киргизүү. q жыйынтыктарынын маанисин бардык 1лер катары же LPM_SVALUE параметри тарабынан көрсөтүлгөн мааниге көрсөтөт. Эгерде sset жана sclr порттору тең колдонулса жана ырасталса,
sclr портунун мааниси sset портунун маанисин жокко чыгарат. Эгерде алынып салынса, демейки маани 0 болот (өчүрүлгөн).
жүк
Жок
Кийинки активдүү сааттын четинде эсептегичти [] маалыматы менен жүктөй турган синхрондук жүктөө киргизүү. Sload порту колдонулганда, data[] порту туташтырылышы керек. Эгерде алынып салынса, демейки маани 0 болот (өчүрүлгөн).
Пикир жөнөтүү
Intel FPGA бүтүн арифметикалык IP өзөктөрү Колдонуучунун колдонмосу 9
2. LPM_COUNTER (эсептөөчү) IP Core 683490 | 2020.10.05
Таблица 3.
LPM_COUNTER чыгаруу порттору
Порт аты
Талап кылынат
Description
q[]
Жок
Эсептегичтен маалымат чыгаруу. чыгаруу портунун өлчөмү көз каранды
LPM_WIDTH параметр мааниси. q[] же eq[15..0] портторунун жок дегенде бири
туташтырылган болушу керек.
eq[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. Параметрлер
Төмөнкү таблицада LPM_COUNTER IP өзөгүнүн параметрлери келтирилген.
Таблица 4.
LPM_COUNTER Параметрлер
Параметр аты
Type
LPM_WIDTH
бүтүн сан
LPM_DIRECTION
String
LPM_MODUULUS LPM_AVALUE
бүтүн сан
Integer/ String
LPM_SVALUE LPM_HINT
Integer/ String
String
LPM_TYPE
String
Милдеттүү Ооба Жок Жок Жок
Жок Жок
Жок
Description
Берилиштер[] жана q[] портторунун кеңдиктерин белгилейт, эгер алар колдонулса.
Маанилер ЖОГОРУ, ТӨМӨН жана КОЛДОНУЛГАН. LPM_DIRECTION параметри колдонулса, өйдө ылдый портту туташтыруу мүмкүн эмес. Жогору ылдый порт туташтырылбаганда, LPM_DIRECTION параметринин демейки мааниси UP болот.
Максималдуу сан, плюс бир. Эсептегичтин циклиндеги уникалдуу абалдардын саны. Эгерде жүктөө мааниси LPM_MODULUS параметринен чоңураак болсо, эсептегичтин жүрүм-туруму көрсөтүлгөн эмес.
Актив жогору деп ырасталганда жүктөлгөн туруктуу маани. Эгерде көрсөтүлгөн маани чоңураак же барабар болсо , эсептегичтин жүрүм-туруму аныкталбаган (X) логикалык деңгээл, мында LPM_MODUULUS, эгерде бар болсо, же 2 ^ LPM_WIDTH. Intel бул маанини AHDL үлгүлөрү үчүн ондук сан катары көрсөтүүнү сунуштайт.
Sset порту жогору деп ырасталганда, саат портунун көтөрүлгөн четине жүктөлгөн туруктуу маани. Intel бул маанини AHDL үлгүлөрү үчүн ондук сан катары көрсөтүүнү сунуштайт.
VHDL Дизайнында параметрленген модулдардын китепканасын (LPM) түзгөндө File (.vhd), сиз Intelге тиешелүү параметрди көрсөтүү үчүн LPM_HINT параметрин колдонушуңуз керек. Мисалы үчүнample: LPM_HINT = "CHAIN_SIZE = 8, ONE_INPUT_IS_CONSTANT = ООБА"
Демейки маани КОЛДОНУЛГАН.
VHDL дизайнындагы параметрленген модулдардын китепканасын (LPM) объектинин атын аныктайт files.
уланды…
Intel FPGA бүтүн арифметикалык IP өзөктөрү Колдонуучунун колдонмосу 10
Пикир жөнөтүү
2. LPM_COUNTER (эсептөөчү) IP Core 683490 | 2020.10.05
Параметр аты INTENDED_DEVICE_FAMILY CARRY_CNT_EN
LABWIDE_SCLR
LPM_PORT_UPDOWN
String String териңиз
String
String
Милдеттүү № №
Жок
Жок
Description
Бул параметр моделдөө жана жүрүм-турумдук моделдөө максатында колдонулат. Бул параметр моделдөө жана жүрүм-турумдук моделдөө максатында колдонулат. Параметр редактору бул параметрдин маанисин эсептейт.
Intel үчүн атайын параметр. VHDL дизайнында CARRY_CNT_EN параметрин көрсөтүү үчүн LPM_HINT параметрин колдонушуңуз керек fileс. Маанилер АКЫЛДУУ, КҮЙҮК, ӨЧҮРҮҮ жана КОЛДОНУЛГАН. LPM_COUNTER функциясын cnt_en сигналын алып жүрүү чынжыры аркылуу жайылтуу үчүн иштетет. Кээ бир учурларда, CARRY_CNT_EN параметр жөндөөсү ылдамдыкка бир аз таасир этиши мүмкүн, андыктан аны өчүргүңүз келет. Демейки маани SMART болуп саналат, ал өлчөмдөр менен ылдамдыктын ортосунда эң жакшы соодалашууну камсыз кылат.
Intel үчүн атайын параметр. VHDL дизайнында LABWIDE_SCLR параметрин көрсөтүү үчүн LPM_HINT параметрин колдонушуңуз керек fileс. Маанилер КҮЙҮК, ӨЧҮРҮҮ же КОЛДОНУЛГАН. Демейки маани ON. Эскирген түзмөк үй-бүлөлөрүндө табылган LABwide sclr функциясын колдонууну өчүрүүгө мүмкүндүк берет. Бул параметрди өчүрүү жарым-жартылай толтурулган лабораторияларды толугу менен колдонуу мүмкүнчүлүгүн жогорулатат жана ошентип, SCLR толук LABга колдонулбаганда логикалык тыгыздыкты жогорулатууга мүмкүндүк берет. Бул параметр артка шайкештик үчүн жеткиликтүү жана Intel бул параметрди колдонбоону сунуштайт.
Өйдө киргизүү портунун колдонулушун белгилейт. Эгерде алынып салынса, демейки маани PORT_CONNECTIVITY болот. Порттун мааниси PORT_USED деп коюлганда, порт колдонулган катары каралат. Порттун мааниси PORT_UNUSED деп коюлганда, порт колдонулбаган катары каралат. Порттун мааниси PORT_CONNECTIVITY деп коюлганда, порттун колдонулушу порт байланышын текшерүү аркылуу аныкталат.
Пикир жөнөтүү
Intel FPGA бүтүн арифметикалык IP өзөктөрү Колдонуучунун колдонмосу 11
683490 | 2020.10.05 Пикир жөнөтүү
3. LPM_DIVIDE (бөлүүчү) Intel FPGA IP Core
2-сүрөт.
LPM_DIVIDE Intel FPGA IP өзөгү бөлүүчүнү ишке ашырат, ал сандын кириш маанисин бөлүүчү киргизүү маанисине бөлүү үчүн бөлүүчүнү жана калдыкты чыгарат.
Төмөнкү сүрөттө LPM_DIVIDE IP өзөгү үчүн порттор көрсөтүлгөн.
LPM_DIVIDE порттору
LPM_DIVIDE
сан[] деном[] саат
бөлүк[] калды[]
clken aclr
инст
3.1. Өзгөчөлүктөрү
LPM_DIVIDE IP өзөгү төмөнкү функцияларды сунуштайт: · Бөлүүчүнү түзөт, ал сандын кириш маанисин бөлүүчү киргизүү менен бөлөт
бир бөлүктү жана калдыкты чыгаруу үчүн маани. · 1 бит маалымат туурасын колдойт. · Нумератор үчүн кол коюлган жана кол коюлбаган маалыматтарды көрсөтүү форматын колдойт
жана бөлүүчү баалуулуктар. · Аймакты же ылдамдыкты оптималдаштырууну колдойт. · Оң калдык чыгарууну көрсөтүү мүмкүнчүлүгүн берет. · Конфигурациялануучу чыгаруу күтүү убактысын колдойт. · Кошумча асинхрондуу ачык жана саатты иштетүү портторун колдойт.
3.2. Verilog HDL прототиби
Төмөнкү Verilog HDL прототиби Verilog Дизайнында жайгашкан File (.v) lpm.v in the эдасинтез каталогу.
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 = “КОЛДОНУЛГАН”; киргизүү сааты; киргизүү clken; киргизүү aclr; киргизүү [lpm_widthn-1:0] сан; input [lpm_widthd-1:0] деном; чыгаруу [lpm_widthn-1:0] quotient; чыгаруу [lpm_widthd-1:0] калды; endmodule
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 : natural := 0; LPM_TYPE : сап := L_DIVIDE; LPM_HINT : сап := “UNUSED”); порт (NUMER : std_logic_vectorдо(LPM_WIDTHN-1 0гө чейин); DENOM : std_logic_vectorдо(LPM_WIDTHD-1ден 0гө чейин); ACLR : std_logicде := '0'; CLOCK: std_logic_vectorда (LPM_WIDTHN-0 1 чейин); := '1'; акыркы компонент;
3.4. VHDL LIBRARY_USE Декларациясы
VHDL Компонент Декларациясын колдонсоңуз, VHDL LIBRARY-USE декларациясы талап кылынбайт.
LIBRARY lpm; USE lpm.lpm_components.all;
3.5. Порттар
Төмөнкү таблицаларда LPM_DIVIDE IP өзөгү үчүн киргизүү жана чыгаруу порттору көрсөтүлгөн.
Таблица 5.
LPM_DIVIDE Киргизүү порттору
Порт аты
Талап кылынат
сан[]
Ооба
номинация[]
Ооба
Description
Сандык маалыматтарды киргизүү. Киргизүү портунун өлчөмү LPM_WIDTHN параметринин маанисине жараша болот.
Бөлүүчү маалыматтарды киргизүү. Киргизүү портунун өлчөмү LPM_WIDTHD параметринин маанисине жараша болот.
уланды…
Пикир жөнөтүү
Intel FPGA бүтүн арифметикалык IP өзөктөрү Колдонуучунун колдонмосу 13
3. LPM_DIVIDE (бөлүүчү) Intel FPGA IP Core 683490 | 2020.10.05
Порт аты саат clken
aclr
Милдеттүү № №
Жок
Description
Түтүктөп колдонуу үчүн саат киргизүү. 0 (демейки) башка LPM_PIPELINE маанилери үчүн саат порту иштетилиши керек.
Саат куурдагы колдонууну иштетет. Клкен порту жогору деп ырасталганда, бөлүү операциясы ишке ашат. Сигнал аз болгондо, эч кандай операция болбойт. Эгерде алынып салынса, демейки маани 1 болот.
Асинхрондук таза порт каалаган убакта саат киргизүүгө асинхрондук түрдө бардык '0'ге түтүктү баштапкы абалга келтирүү үчүн колдонулат.
Таблица 6.
LPM_DIVIDE чыгаруу порттору
Порт аты
Талап кылынат
Description
бөлүк[]
Ооба
Маалымат чыгаруу. Чыгаруучу порттун өлчөмү LPM_WIDTHNге жараша болот
параметр мааниси.
калуу[]
Ооба
Маалымат чыгаруу. Чыгаруучу порттун өлчөмү LPM_WIDTHDге жараша болот
параметр мааниси.
3.6. Параметрлер
Төмөнкү таблицада LPM_DIVIDE Intel FPGA IP ядросунун параметрлери келтирилген.
Параметр аты
Type
Талап кылынат
Description
LPM_WIDTHN
бүтүн сан
Ооба
[] жана сандын кеңдиктерин белгилейт
quotient[] порттору. Маанилер 1ден 64кө чейин.
LPM_WIDTHD
бүтүн сан
Ооба
Деномдун кеңдиктерин аныктайт[] жана
[] порттор бойдон калуу. Маанилер 1ден 64кө чейин.
LPM_NREPRESENTATION LPM_DREPRESENTATION
String String
Жок
Сандык киргизүүнү белги менен көрсөтүү.
Маанилер кол коюлган жана кол коюлбаган. Бул качан
параметр SIGNED деп коюлган, бөлүүчү
сан[] киргизүүнү кол коюлган эки катары чечмелейт
толуктоо.
Жок
Бөлүүчү киргизүүнүн белгисин көрсөтүү.
Маанилер кол коюлган жана кол коюлбаган. Бул качан
параметр SIGNED деп коюлган, бөлүүчү
denom[] киргизүүнү кол коюлган эки катары чечмелейт
толуктоо.
LPM_TYPE
String
Жок
Параметрленген китепкананы аныктайт
VHDL дизайнындагы модулдардын (LPM) аталышы
files (.vhd).
LPM_HINT
String
Жок
Сиз китепкананы түзгөндө
параметрленген модулдар (LPM) а
VHDL дизайн File (.vhd), сиз колдонушуңуз керек
Intel-ди көрсөтүү үчүн LPM_HINT параметри
конкреттүү параметр. Мисалы үчүнample: LPM_HINT
= “CHAIN_SIZE = 8,
ONE_INPUT_IS_CONSTANT = ООБА” The
демейки маани КОЛДОНУЛГАН.
LPM_REMAINDERPOSITIVE
String
Жок
Intel үчүн атайын параметр. колдонуу керек
LPM_HINT параметрин көрсөтүү үчүн
LPM_REMAINDERPOSITIVE параметр
VHDL дизайн fileс. Маанилер TRUE же ЖАЛГАН.
Бул параметр TRUE деп коюлса, анда
калган[] портунун мааниси чоңураак болушу керек
уланды…
Intel FPGA бүтүн арифметикалык IP өзөктөрү Колдонуучунун колдонмосу 14
Пикир жөнөтүү
3. LPM_DIVIDE (бөлүүчү) Intel FPGA IP Core 683490 | 2020.10.05
Параметр аты
Type
MAXIMIZE_SPEED
бүтүн сан
LPM_PIPELINE
бүтүн сан
INTENDED_DEVICE_FAMILY SKIP_BITS
String Integer
Милдеттүү №
Жок Жок Жок
Description
нөлдөн же нөлгө барабар. Эгер бул параметр TRUE деп коюлса, анда калган[] портунун мааниси же нөлгө барабар, же маани сан портунун мааниси менен бирдей белги, оң же терс болот. Аянтты кыскартуу жана ылдамдыкты жогорулатуу үчүн Intel бул параметрди TRUE деп коюуну сунуштайт, анда калганы оң болушу керек же калганы маанилүү эмес.
Intel үчүн атайын параметр. VHDL дизайнында MAXIMIZE_SPEED параметрин көрсөтүү үчүн LPM_HINT параметрин колдонушуңуз керек fileс. Маанилер [0..9]. Эгер колдонулса, Intel Quartus Prime программасы LPM_DIVIDE функциясынын белгилүү бир нускасын багыттоо эмес, ылдамдык үчүн оптималдаштырууга аракет кылат жана оптимизациялоо техникасынын логикалык параметрин жокко чыгарат. MAXIMIZE_SPEED колдонулбаса, анын ордуна Оптимизациялоо техникасынын параметринин мааниси колдонулат. Эгерде MAXIMIZE_SPEED мааниси 6 же андан жогору болсо, компилятор LPM_DIVIDE IP өзөгүн көтөрүү чынжырларын колдонуу менен жогорку ылдамдык үчүн оптималдаштырат; эгерде маани 5 же андан аз болсо, компилятор дизайнды чынжырчаларсыз ишке ашырат.
Бөлүнүүчү [] жана калган[] натыйжалары менен байланышкан кечигүү саат циклдеринин санын көрсөтөт. Нөлдүн (0) мааниси эч кандай кечигүү жок экенин жана таза комбинациялуу функция жаралганын көрсөтөт. Өткөрүлбөсө, демейки маани 0 (түтүксүз). LPM_WIDTHNден жогору болгон LPM_PIPELINE параметри үчүн маани көрсөтө албайсыз.
Бул параметр моделдөө жана жүрүм-турумдук моделдөө максатында колдонулат. Параметр редактору бул параметрдин маанисин эсептейт.
LPM_DIVIDE IP өзөгүнө алдыңкы GND санын берүү менен алдыңкы биттердин логикасын оптималдаштыруу үчүн эффективдүү бөлчөк бит бөлүштүрүүгө мүмкүндүк берет. Бул параметрге quotient чыгаруу боюнча алдыңкы GND санын көрсөтүңүз.
Пикир жөнөтүү
Intel FPGA бүтүн арифметикалык IP өзөктөрү Колдонуучунун колдонмосу 15
683490 | 2020.10.05 Пикир жөнөтүү
4. LPM_MULT (мультипликатор) IP өзөгү
3-сүрөт.
LPM_MULT IP өзөгү продуктту чыгаруу катары чыгаруу үчүн эки киргизүү маалыматынын маанисин көбөйтүү үчүн мультипликаторду ишке ашырат.
Төмөнкү сүрөттө LPM_MULT IP өзөгү үчүн порттор көрсөтүлгөн.
LPM_Mult порттору
LPM_MULT саат дайындары[] натыйжа[] берилиштер[] aclr/sclr clken
инст
Тиешелүү маалымат өзгөчөлүктөрү 71-бетте
4.1. Өзгөчөлүктөрү
LPM_MULT IP өзөгү төмөнкү функцияларды сунуштайт: · Киргизилген маалыматтын эки маанисин көбөйтүүчү мультипликаторду жаратат · 1 бит маалымат кеңдигин колдойт · Кол коюлган жана кол коюлбаган маалыматтарды көрсөтүү форматын колдойт · Аймакты же ылдамдыкты оптималдаштырууну колдойт · Конфигурациялануучу чыгуу күтүү мөөнөтү менен түтүк өткөрүүнү колдойт. атайын санариптик сигнал иштетүүдө ишке ашыруу үчүн параметр (DSP)
блок схемасы же логикалык элементтер (LEs) Эскертүү: Көбөйткүчтөрдү түпнуска колдоого алынган өлчөмдөн чоңураак курууда/
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 Дизайнында жайгашкан File (.v) lpm.v in the эдасинтез каталогу.
модулу lpm_mult (натыйжа, маалыматтар, маалымат табы, сумма, саат, 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 = “КОЛДОНУЛГАН”; киргизүү сааты; киргизүү clken; киргизүү aclr; input [lpm_widtha-1:0] dataa; input [lpm_widthb-1:0] datab; киргизүү [lpm_widths-1:0] сумма; чыгаруу [lpm_widthp-1:0] натыйжасы; endmodule
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 : natural := 0; LPM_TYPE: сап := L_MULT; LPM_HINT : сап := “UNUSED”); порт ( DATAA : std_logic_vectorдо(LPM_WIDTHA-1 0гө чейин); DATAB : std_logic_vectorдо(LPM_WIDTHB-1ден 0гө чейин); ACLR: std_logicде := '0'; CLOCK: std_logicде: CL'EN'd:std; := "0"; акыркы компонент;
4.4. VHDL LIBRARY_USE Декларациясы
VHDL Компонент Декларациясын колдонсоңуз, VHDL LIBRARY-USE декларациясы талап кылынбайт.
LIBRARY lpm; USE lpm.lpm_components.all;
Пикир жөнөтүү
Intel FPGA бүтүн арифметикалык IP өзөктөрү Колдонуучунун колдонмосу 17
4. LPM_MULT (мультипликатор) IP Core 683490 | 2020.10.05
4.5. Сигналдар
Таблица 7.
LPM_MULT Киргизүү сигналдары
Сигнал аты
Талап кылынат
Description
dataa[]
Ооба
Маалымат киргизүү.
Intel Stratix 10, Intel Arria 10 жана Intel Cyclone 10 GX түзмөктөрү үчүн киргизүү сигналынын өлчөмү Dataa туурасы параметринин маанисине жараша болот.
Эски жана Intel Cyclone 10 LP түзмөктөрү үчүн кириш сигналынын өлчөмү LPM_WIDTHA параметринин маанисине жараша болот.
берилиштер[]
Ооба
Маалымат киргизүү.
Intel Stratix 10, Intel Arria 10 жана Intel Cyclone 10 GX түзмөктөрү үчүн киргизүү сигналынын өлчөмү Datab width параметринин маанисине жараша болот.
Эски жана Intel Cyclone 10 LP түзмөктөрү үчүн киргизүү сигналынын өлчөмү көз каранды
LPM_WIDTHB параметр маанисинде.
саат
Жок
Түтүктөп колдонуу үчүн саат киргизүү.
Эски жана Intel Cyclone 10 LP түзмөктөрү үчүн саат сигналы 0ден (демейки) башка LPM_PIPELINE маанилери үчүн иштетилиши керек.
Intel Stratix 10, Intel Arria 10 жана Intel Cyclone 10 GX түзмөктөрү үчүн, кечигүү мааниси 1ден башка болсо, саат сигналы иштетилиши керек (демейки).
клкен
Жок
Түтүктөп колдонуу үчүн саатты иштетүү. Клкен сигналы жогору болгондо,
кошуучу/кемитүү операциясы ишке ашат. Сигнал аз болгондо, операция болбойт
пайда болот. Эгерде алынып салынса, демейки маани 1 болот.
aclr sclr
Жок
Асинхрондуу так сигнал, бардык 0с үчүн куурду баштапкы абалга келтирүү үчүн каалаган убакта колдонулат,
саат сигналына асинхрондуу. Түтүк аныкталбаган (X) чейин инициализацияланат
логикалык деңгээл. Чыгымдар ырааттуу, бирок нөл эмес мааниге ээ.
Жок
Түтүктү бардык 0ларга кайтаруу үчүн каалаган убакта колдонулган синхрондуу так сигнал,
саат сигналына синхрондуу. Түтүк аныкталбаган (X) чейин инициализацияланат
логикалык деңгээл. Чыгымдар ырааттуу, бирок нөл эмес мааниге ээ.
Таблица 8.
LPM_MULT Чыгуу сигналдары
сигнал аты
Талап кылынат
Description
натыйжа[]
Ооба
Маалымат чыгаруу.
Эски жана Intel Cyclone 10 LP түзмөктөрү үчүн чыгуу сигналынын өлчөмү LPM_WIDTHP параметринин маанисине жараша болот. Эгерде LPM_WIDTHP < макс (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' киргизүү менен көбөйтүү
Демейки маани
Description
'dataa' киргизүүнү 'datab' киргизүү менен көбөйтүү
Көбөйткүч үчүн керектүү конфигурацияны тандаңыз.
уланды…
Intel FPGA бүтүн арифметикалык IP өзөктөрү Колдонуучунун колдонмосу 18
Пикир жөнөтүү
4. LPM_MULT (мультипликатор) IP Core 683490 | 2020.10.05
Параметр
"Dataa" киргизүү канчалык кенен болушу керек? "Маалымат" киргизүү канчалык кенен болушу керек? "Натыйжа" чыгаруунун туурасын кантип аныктоо керек? туурасын чектөө
Нарк
"Dataa" киргизүүнү өзүнө көбөйтүү (квадрат операциясы)
1 – 256 бит
Демейки маани
Description
8 бит
dataa[] портунун туурасын көрсөтүңүз.
1 – 256 бит
8 бит
Datab[] портунун туурасын көрсөтүңүз.
Автоматтык түрдө туурасын эсептеп, туурасын чектөө
1 – 512 бит
Автоматтык түрдө y туурасын эсептейт
Натыйжа[] портунун туурасын аныктоо үчүн керектүү ыкманы тандаңыз.
16 бит
Натыйжа[] портунун туурасын көрсөтүңүз.
Бул маани Түр параметринде Көлөмдү чектөөнү тандасаңыз гана натыйжалуу болот.
4.6.2. Жалпы 2 Tab
Таблица 10. Жалпы 2 Таблица
Параметр
Нарк
Маалыматтар киргизүү
'Datab' киргизүү автобусунун туруктуу мааниси барбы?
Жок Ооба
Көбөйтүү түрү
Кайсы түрү
Кол коюлбаган
көбөйтүүнү каалайсызбы? Кол коюлган
Ишке ашыруу
Кайсы мультипликатор ишке ашырылышы керек?
Демейки ишке ашырууну колдонуңуз
Бөлүнгөн мультипликатор схемасын колдонуңуз (бардык үй-бүлөлөр үчүн жеткиликтүү эмес)
Логикалык элементтерди колдонуңуз
Демейки маани
Description
Жок
дегендин туруктуу маанисин белгилөө үчүн Ооба тандаңыз
`datab' киргизүү шинасы, эгерде бар болсо.
Кол коюлбаган
dataa[] жана datab[] киргизүүлөрү үчүн өкүлчүлүк форматын көрсөтүңүз.
Демейки ишке ашыруу ионун колдонуңуз
Натыйжа[] портунун туурасын аныктоо үчүн керектүү ыкманы тандаңыз.
4.6.3. Түтүктөр өтмөк
Таблица 11. Түтүктөр өтмөк
Параметр
Сиз No
функция?
Ооба
Нарк
"aclr" түзүү
—
асинхрондуу ачык порт
Демейки маани
Description
Жок
Түтүк өткөргүч реестрин иштетүү үчүн Ооба тандаңыз
мультипликатордун чыгышын жана каалаганды белгилеңиз
саат циклинде чыгуу кечигүү. иштетүү
түтүк реестри кошумча кечигүү убактысын кошот
чыгаруу.
Белгиленген жок
Түтүк регистринде асинхрондук тазалоону колдонуу үчүн aclr портун иштетүү үчүн бул параметрди тандаңыз.
уланды…
Пикир жөнөтүү
Intel FPGA бүтүн арифметикалык IP өзөктөрү Колдонуучунун колдонмосу 19
4. LPM_MULT (мультипликатор) IP Core 683490 | 2020.10.05
Параметр
"clken" саатты иштетүү саатын түзүңүз
Оптимизация
Сиз оптималдаштыруунун кандай түрүн каалайсыз?
Наркы -
Демейки ылдамдык аймагы
Демейки маани
Description
Белгиленген жок
Түтүк регистринин саат порту үчүн активдүү жогорку саатты иштетүүнү белгилейт
Демейки
IP өзөгү үчүн керектүү оптималдаштырууну көрсөтүңүз.
Intel Quartus Prime программасына IP өзөгү үчүн эң жакшы оптималдаштырууну аныктоого мүмкүнчүлүк берүү үчүн Демейки параметрди тандаңыз.
4.7. Intel Stratix 10, Intel Arria 10 жана Intel Cyclone 10 GX түзмөктөрүнүн параметрлери
4.7.1. Жалпы өтмөк
Таблица 12. Жалпы таблица
Параметр
Нарк
Демейки маани
Description
Мультипликатор конфигурациясынын түрү
Data Port Widths
'dataa' киргизүүнү 'datab' киргизүү менен көбөйтүү
"Dataa" киргизүүнү өзүнө көбөйтүү (квадрат операциясы)
'dataa' киргизүүнү 'datab' киргизүү менен көбөйтүү
Көбөйткүч үчүн керектүү конфигурацияны тандаңыз.
Dataa туурасы
1 – 256 бит
8 бит
dataa[] портунун туурасын көрсөтүңүз.
Маалымат табынын туурасы
1 – 256 бит
8 бит
Datab[] портунун туурасын көрсөтүңүз.
"Натыйжа" чыгаруунун туурасын кантип аныктоо керек?
Type
туурасын автоматтык түрдө эсептөө
туурасын чектөө
Автоматтык түрдө y туурасын эсептейт
Натыйжа[] портунун туурасын аныктоо үчүн керектүү ыкманы тандаңыз.
Нарк
1 – 512 бит
16 бит
Натыйжа[] портунун туурасын көрсөтүңүз.
Бул маани Түр параметринде Көлөмдү чектөөнү тандасаңыз гана натыйжалуу болот.
Жыйынтыктын туурасы
1 – 512 бит
—
Натыйжа[] портунун эффективдүү кеңдигин көрсөтөт.
4.7.2. Жалпы 2 Tab
Таблица 13. Жалпы 2 Таблица
Параметр
Маалыматтар киргизүү
'Datab' киргизүү автобусунун туруктуу мааниси барбы?
Жок Ооба
Нарк
Демейки маани
Description
Жок
дегендин туруктуу маанисин белгилөө үчүн Ооба тандаңыз
`datab' киргизүү шинасы, эгерде бар болсо.
уланды…
Intel FPGA бүтүн арифметикалык IP өзөктөрү Колдонуучунун колдонмосу 20
Пикир жөнөтүү
4. LPM_MULT (мультипликатор) IP Core 683490 | 2020.10.05
Параметр
Нарк
Нарк
0ден чоңураак ар кандай маани
Көбөйтүү түрү
Кайсы түрү
Кол коюлбаган
көбөйтүүнү каалайсызбы? Кол коюлган
Ишке ашыруу стили
Кайсы мультипликатор ишке ашырылышы керек?
Демейки ишке ашырууну колдонуңуз
Атайын мультипликатор схемасын колдонуңуз
Логикалык элементтерди колдонуңуз
Демейки маани
Description
0
datab[] портунун туруктуу маанисин көрсөтүңүз.
Кол коюлбаган
dataa[] жана datab[] киргизүүлөрү үчүн өкүлчүлүк форматын көрсөтүңүз.
Демейки ишке ашыруу ионун колдонуңуз
Натыйжа[] портунун туурасын аныктоо үчүн керектүү ыкманы тандаңыз.
4.7.3. Түтүктөр
Таблица 14. Түтүктөр өтмөк
Параметр
Нарк
Функцияны өткөргүңүз келеби?
куур
Жок Ооба
Кечигүүнүн Таза сигнал түрү
0ден чоңураак маани.
NONE ACLR SCLR
"CLken" саатын түзүңүз
—
саатты иштетүү
Сиз оптималдаштыруунун кандай түрүн каалайсыз?
Type
Демейки ылдамдык аймагы
Демейки маани
Description
№ 1 ЖОК
—
Көбөйткүчтүн чыгышына куур регистрин иштетүү үчүн Ооба тандаңыз. Түтүк регистрин иштетүү чыгарууга кошумча кечиктирүүнү кошот.
Сааттын циклинде керектүү чыгуу күтүү убактысын көрсөтүңүз.
Түтүк реестри үчүн баштапкы абалга келтирүү түрүн көрсөтүңүз. Эч кандай түтүк регистрин колдонбосоңуз, ЭЧ КИШИ тандаңыз. Түтүк регистринде асинхрондук тазалоону колдонуу үчүн ACLR тандаңыз. Бул ACLR портун жаратат. Түтүк регистринде синхрондуу тазалоону колдонуу үчүн SCLR тандаңыз. Бул SCLR портун жаратат.
Түтүк регистринин саат порту үчүн активдүү жогорку саатты иштетүүнү белгилейт
Демейки
IP өзөгү үчүн керектүү оптималдаштырууну көрсөтүңүз.
Intel Quartus Prime программасына IP өзөгү үчүн эң жакшы оптималдаштырууну аныктоого мүмкүнчүлүк берүү үчүн Демейки дегенди тандаңыз.
Пикир жөнөтүү
Intel FPGA бүтүн арифметикалык IP өзөктөрү Колдонуучунун колдонмосу 21
683490 | 2020.10.05 Пикир жөнөтүү
5. LPM_ADD_SUB (кошуучу/кемитүү)
4-сүрөт.
LPM_ADD_SUB IP өзөгү киргизилген маанилердин суммасын же айырмасын камтыган жыйынтык чыгаруу үчүн берилиштердин топтомун кошуу же кемитүү үчүн кошуучу же кемитүүчүнү ишке ашырууга мүмкүндүк берет.
Төмөнкү сүрөттө LPM_ADD_SUB IP өзөгү үчүн порттор көрсөтүлгөн.
LPM_ADD_SUB порттору
LPM_ADD_SUB add_sub cin
dataa[]
саат clken datab[] aclr
натыйжа[] толуп кетүү
инст
5.1. Өзгөчөлүктөрү
LPM_ADD_SUB IP өзөгү төмөнкү функцияларды сунуштайт: · Толуктоочуну, кемиткүчтү жана динамикалык конфигурациялануучу кошуучу/кемитүүчүнү жаратат
функциялары. · 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 Дизайнында жайгашкан File (.v) lpm.v in the эдасинтез каталогу.
модулу lpm_add_sub (натыйжа, cout, overflow, add_sub, cin, dataa, datab, саат, clken, aclr ); параметр lpm_type = “lpm_add_sub”; параметр lpm_width = 1; параметр lpm_direction = “КОЛДОНУЛГАН”; параметр lpm_representation = "КОЛ КОЙГОН"; параметр lpm_pipeline = 0; параметр lpm_hint = “КОЛДОНУЛГАН”; input [lpm_width-1:0] dataa, datab; киргизүү add_sub, cin; киргизүү сааты; киргизүү clken; киргизүү aclr; чыгаруу [lpm_width-1:0] натыйжасы; чыгуу, ашып кетүү; endmodule
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 : natural := 0; LPM_TYPE : сап := L_ADD_SUB; LPM_HINT : сап := “UNUSED”); порт (DATAA: std_logic_vectorдо(LPM_WIDTH-1 0гө чейин); DATAB: std_logic_vectorдо(LPM_WIDTH-1ден 0гө чейин); ACLR: std_logicде := '0'; CLOCK: std_logic_vectorда :=CLOCK := '0'; CIN : std_logic := 'Z'; акыркы компонент;
5.4. VHDL LIBRARY_USE Декларациясы
VHDL Компонент Декларациясын колдонсоңуз, VHDL LIBRARY-USE декларациясы талап кылынбайт.
LIBRARY lpm; USE lpm.lpm_components.all;
5.5. Порттар
Төмөнкү таблицаларда LPM_ADD_SUB IP өзөгү үчүн киргизүү жана чыгаруу порттору көрсөтүлгөн.
Пикир жөнөтүү
Intel FPGA бүтүн арифметикалык IP өзөктөрү Колдонуучунун колдонмосу 23
5. LPM_ADD_SUB (косуучу/чечитүүчү) 683490 | 2020.10.05
Таблица 15. LPM_ADD_SUB IP негизги киргизүү порттору
Порт аты
Талап кылынат
Description
cin
Жок
Төмөнкү тартиптеги битке алып баруу. Кошумча операциялар үчүн демейки маани 0. Үчүн
кемитүү амалдары, демейки маани 1.
dataa[]
Ооба
Маалымат киргизүү. Киргизүү портунун өлчөмү LPM_WIDTH параметринин маанисине жараша болот.
берилиштер[]
Ооба
Маалымат киргизүү. Киргизүү портунун өлчөмү LPM_WIDTH параметринин маанисине жараша болот.
add_sub
Жок
Кошумча киргизүү порту кошуучу менен кемитүүчүнүн ортосунда динамикалык которууну иштетүү үчүн
функциялары. LPM_DIRECTION параметри колдонулса, add_sub колдонууга болбойт. Эгерде
алынып салынса, демейки маани ADD болуп саналат. Intel колдонууну сунуштайт
LPM_ADD_SUB функциясынын иштешин аныктоо үчүн LPM_DIRECTION параметри,
add_sub портуна туруктууну дайындоонун ордуна.
саат
Жок
Түтүктүү колдонуу үчүн киргизүү. Саат порту трубопровод үчүн саат киргизүүнү камсыз кылат
операция. 0 (демейки) башка LPM_PIPELINE маанилери үчүн саат порту болушу керек
иштетилген.
клкен
Жок
Түтүктөп колдонуу үчүн саатты иштетүү. Клкен порту жогору деп ырасталганда, кошуучу/
кемитүү операциясы ишке ашат. Сигнал аз болгондо, эч кандай операция болбойт. Эгерде
калтырылган, демейки маани 1.
aclr
Жок
Түтүктөп колдонуу үчүн асинхрондуу таза. Түтүк аныкталбаган (X) чейин инициализацияланат
логикалык деңгээл. Aclr портун каалаган убакта түтүктү бардык 0ларга кайтаруу үчүн колдонсо болот,
саат сигналына асинхрондуу.
Таблица 16. LPM_ADD_SUB IP негизги чыгаруу порттору
Порт аты
Талап кылынат
Description
натыйжа[]
Ооба
Маалымат чыгаруу. Чыгуу портунун өлчөмү LPM_WIDTH параметрине жараша болот
баалуулук.
cout
Жок
Эң маанилүү битти (MSB) ишке ашыруу (карызга алуу). Коут портунда физикалык бар
МСБны ишке ашыруу (карыз алуу) катары чечмелөө. Коут порту аныктайт
КОЛДОНУЛГАН операцияларда ашыкча. Коут порту ушул эле тартипте иштейт
КОЛДОНУЛГАН ЖАНА КОЛДОНУЛГАН операциялар.
толуп кетүү
Жок
Кошумча ашыкча өзгөчө чыгаруу. Толуп порттун физикалык интерпретациясы бар
МСБга алып баруунун XOR. Толуп кетүү порту
натыйжалар жеткиликтүү тактыктан ашып кеткенде ырастайт жана качан гана колдонулат
LPM_REPRESENTATION параметринин мааниси SIGNED.
5.6. Параметрлер
Төмөнкү таблицада LPM_ADD_SUB IP негизги параметрлери келтирилген.
Таблица 17. LPM_ADD_SUB IP Негизги Параметрлери
Параметр аты LPM_WIDTH
Бүтүн санды жазыңыз
Талап кылынат Ооба
Description
dataa[], datab[] жана натыйжа[] портторунун кеңдиктерин белгилейт.
LPM_DIRECTION
String
Жок
Маанилер: ADD, SUB жана UNUSED. Эгерде алынып салынса, демейки маани DEFAULT болот, ал параметрди add_sub портунан өз маанисин алууга багыттайт. LPM_DIRECTION колдонулса add_sub портун колдонууга болбойт. Intel add_sub портуна константа ыйгаруунун ордуна LPM_ADD_SUB функциясынын иштешин көрсөтүү үчүн LPM_DIRECTION параметрин колдонууну сунуштайт.
уланды…
Intel FPGA бүтүн арифметикалык IP өзөктөрү Колдонуучунун колдонмосу 24
Пикир жөнөтүү
5. LPM_ADD_SUB (косуучу/чечитүүчү) 683490 | 2020.10.05
Параметрдин аталышы LPM_REPRESENTATION LPM_PIPELINE LPM_HINT LPM_TYPE ONE_INPUT_IS_CONSTANT MAXIMIZE_SPEED
INTENDED_DEVICE_FAMILY
Type String Integer String String String Integer
String
Милдеттүү Жок Жок Жок Жок Жок Жок
Жок
Description
Аткарылган кошуунун түрүн көрсөтөт. Маанилер кол коюлган жана кол коюлбаган. Өткөрүлбөсө, демейки маани КОЛДОНУЛУП калат. Бул параметр КОЛДОНУЛГАН деп коюлганда, кошуучу/кемитүүчү маалымат киргизүүнү кол коюлган экинин толуктоосу катары чечмелейт.
Натыйжа[] чыгаруу менен байланышкан күтүү саат циклдеринин санын көрсөтөт. Нөлдүн (0) мааниси эч кандай кечигүү жок экенин жана таза комбинациялуу функция түзүлөөрүн көрсөтөт. Өткөрүлбөсө, демейки маани 0 болот (түтүксүз).
VHDL дизайнында Intelге тиешелүү параметрлерди көрсөтүүгө мүмкүндүк берет files (.vhd). Демейки маани КОЛДОНУЛГАН.
VHDL дизайнындагы параметрленген модулдардын китепканасын (LPM) объектинин атын аныктайт files.
Intel үчүн атайын параметр. VHDL дизайнында ONE_INPUT_IS_CONSTANT параметрин көрсөтүү үчүн LPM_HINT параметрин колдонушуңуз керек fileс. Маанилер ООБА, ЖОК жана КОЛДОНУЛБАЙТ. Бир киргизүү туруктуу болсо, көбүрөөк оптималдаштырууну камсыз кылат. Эгерде алынып салынса, демейки маани ЖОК.
Intel үчүн атайын параметр. VHDL дизайнында MAXIMIZE_SPEED параметрин көрсөтүү үчүн LPM_HINT параметрин колдонушуңуз керек fileс. Сиз 0 жана 10 ортосундагы маанини белгилей аласыз. Эгер колдонулса, Intel Quartus Prime программасы LPM_ADD_SUB функциясынын белгилүү бир нускасын багыттоо үчүн эмес, ылдамдык үчүн оптималдаштырууга аракет кылат жана Оптимизациялоо техникасынын логикалык параметрин жокко чыгарат. MAXIMIZE_SPEED колдонулбаса, анын ордуна Оптимизациялоо техникасынын параметринин мааниси колдонулат. MAXIMIZE_SPEED параметри 6 же андан жогору болсо, компилятор LPM_ADD_SUB IP өзөгүн көтөрүү чынжырларын колдонуу менен жогорку ылдамдык үчүн оптималдаштырат; эгерде параметр 5 же андан аз болсо, Компилятор дизайнды чынжырчаларсыз ишке ашырат. Бул параметр Cyclone, Stratix жана Stratix GX түзмөктөрүндө add_sub порту колдонулбаганда гана көрсөтүлүшү керек.
Бул параметр моделдөө жана жүрүм-турумдук моделдөө максатында колдонулат. Параметр редактору бул параметрдин маанисин эсептейт.
Пикир жөнөтүү
Intel FPGA бүтүн арифметикалык IP өзөктөрү Колдонуучунун колдонмосу 25
683490 | 2020.10.05 Пикир жөнөтүү
6. LPM_COMPARE (Салыштыруучу)
5-сүрөт.
LPM_COMPARE IP өзөгү алардын ортосундагы байланышты аныктоо үчүн эки маалымат топтомунун маанисин салыштырат. Эң жөнөкөй формада, эки бит маалыматтар бирдей экендигин аныктоо үчүн эксклюзивдүү-ЖЕ дарбазасын колдоно аласыз.
Төмөнкү сүрөттө LPM_COMPARE IP өзөгү үчүн порттор көрсөтүлгөн.
LPM_COMPARE порттору
LPM_COMPARE
клкен
alb
aeb
dataa[]
agb
берилиштер[]
ageb
саат
анеб
aclr
алеб
инст
6.1. Өзгөчөлүктөрү
LPM_COMPARE IP өзөгү төмөнкү мүмкүнчүлүктөрдү сунуштайт: · Берилиштердин эки топтомун салыштыруу үчүн компаратор функциясын жаратат · 1 бит маалымат кеңдигин колдойт · Кол коюлган жана кол коюлбаган сыяктуу маалыматтарды көрсөтүү форматын колдойт · Төмөнкү чыгаруу түрлөрүн чыгарат:
— alb (A кириши В киришинен аз) — aeb (A кириши В киришине барабар) — agb (A кириши В киришинен чоңураак) — ageb (A кириши В киришинен чоң же барабар) — aneb ( A кириши В киришине барабар эмес) — aleb (A кириши В киришинен аз же барабар) · Кошумча асинхрондуу таза жана саатты иштетүү портторун колдойт · 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 Дизайнында жайгашкан File (.v) lpm.v in the эдасинтез каталогу.
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 = “КОЛДОНУЛГАН”; input [lpm_width-1:0] dataa, datab; киргизүү сааты; киргизүү clken; киргизүү aclr; чыгаруу алб, аеб, агб, алеб, анеб, агеб; endmodule
6.3. VHDL компонентинин декларациясы
VHDL компонентинин декларациясы VHDL Дизайнында жайгашкан File (.vhd) LPM_PACK.vhd ичинде librariesvhdllpm каталогу.
компонент LPM_COMPARE жалпы (LPM_WIDTH : табигый;
LPM_REPRESENTATION : string := “UNSIGNED”; LPM_PIPELINE : natural := 0; LPM_TYPE: сап := L_COMPARE; LPM_HINT : сап := “UNUSED”); порт (DATAA: std_logic_vectorдо(LPM_WIDTH-1 0гө чейин); DATAB: std_logic_vectorдо(LPM_WIDTH-1ден 0гө чейин); ACLR: std_logicде := '0'; CLOCK: std_logic_vectorда :=CLOCK := '0' AGB : out std_logic ANEB : out std_logic; акыркы компонент;
6.4. VHDL LIBRARY_USE Декларациясы
VHDL Компонент Декларациясын колдонсоңуз, VHDL LIBRARY-USE декларациясы талап кылынбайт.
LIBRARY lpm; USE lpm.lpm_components.all;
6.5. Порттар
Төмөнкү таблицаларда LMP_COMPARE IP өзөгү үчүн киргизүү жана чыгаруу порттору көрсөтүлгөн.
Пикир жөнөтүү
Intel FPGA бүтүн арифметикалык IP өзөктөрү Колдонуучунун колдонмосу 27
6. LPM_COMPARE (Салыштыруучу) 683490 | 2020.10.05
Таблица 18. LPM_COMPARE IP негизги киргизүү порттору
Порт аты
Талап кылынат
Description
dataa[]
Ооба
Маалымат киргизүү. Киргизүү портунун өлчөмү LPM_WIDTH параметринин маанисине жараша болот.
берилиштер[]
Ооба
Маалымат киргизүү. Киргизүү портунун өлчөмү LPM_WIDTH параметринин маанисине жараша болот.
саат
Жок
Түтүктөп колдонуу үчүн саат киргизүү. Саат порту трубопровод үчүн саат киргизүүнү камсыз кылат
операция. 0 (демейки) башка LPM_PIPELINE маанилери үчүн саат порту болушу керек
иштетилген.
клкен
Жок
Түтүктөп колдонуу үчүн саатты иштетүү. Клкен порту жогору деп ырасталганда,
салыштыруу операциясы ишке ашат. Сигнал аз болгондо, эч кандай операция болбойт. Эгерде
калтырылган, демейки маани 1.
aclr
Жок
Түтүктөп колдонуу үчүн асинхрондуу таза. Түтүк аныкталбаган (X) логикага инициализацияланат
деңгээл. Aclr портун каалаган убакта түтүктү бардык 0ларга кайтаруу үчүн колдонсо болот,
саат сигналына асинхрондуу.
19-таблица. LPM_COMPARE IP негизги чыгаруу порттору
Порт аты
Талап кылынат
Description
alb
Жок
Салыштыргыч үчүн чыгаруу порту. Эгерде А кириши В киришинен аз болсо, ырасталат.
aeb
Жок
Салыштыргыч үчүн чыгаруу порту. Эгер А кириши В киришине барабар болсо, ырасталат.
agb
Жок
Салыштыргыч үчүн чыгаруу порту. Эгер А кириши В киришинен чоңураак болсо, ырасталат.
ageb
Жок
Салыштыргыч үчүн чыгаруу порту. Киргизүү А киргизүүдөн чоң же барабар болсо, ырасталат
B.
анеб
Жок
Салыштыргыч үчүн чыгаруу порту. Эгер А кириши В киришине барабар болбосо, ырасталат.
алеб
Жок
Салыштыргыч үчүн чыгаруу порту. Эгер А кириши В киришинен аз же барабар болсо, ырасталат.
6.6. Параметрлер
Төмөнкү таблицада LPM_COMPARE IP өзөгүнүн параметрлери келтирилген.
Таблица 20. LPM_COMPARE IP негизги параметрлери
Параметр аты
Type
Талап кылынат
LPM_WIDTH
Бүтүн сан Ооба
LPM_REPRESENTATION
String
Жок
LPM_PIPELINE
бүтүн сан №
LPM_HINT
String
Жок
Description
dataa[] жана datab[] портторунун кеңдиктерин белгилейт.
Аткарылган салыштыруунун түрүн белгилейт. Маанилер кол коюлган жана кол коюлбаган. Өткөрүлбөсө, демейки маани UNsigned болуп саналат. Бул параметрдин мааниси SIGNED деп коюлганда, компаратор берилиштерди киргизүүнү кол коюлган экинин толуктоосу катары чечмелейт.
alb, aeb, agb, ageb, aleb же aneb чыгаруу менен байланышкан кечигүү саат циклдеринин санын көрсөтөт. Нөлдүн (0) мааниси эч кандай кечигүү жок экенин жана таза комбинациялуу функция түзүлөөрүн көрсөтөт. Өткөрүлбөсө, демейки маани 0 (түтүксүз).
VHDL дизайнында Intelге тиешелүү параметрлерди көрсөтүүгө мүмкүндүк берет files (.vhd). Демейки маани КОЛДОНУЛГАН.
уланды…
Intel FPGA бүтүн арифметикалык IP өзөктөрү Колдонуучунун колдонмосу 28
Пикир жөнөтүү
6. LPM_COMPARE (Салыштыруучу) 683490 | 2020.10.05
Параметр аты LPM_TYPE INTENDED_DEVICE_FAMILY
БИР_КИРҮҮ_ТҮЗҮКТҮҮ
String String териңиз
String
Милдеттүү № №
Жок
Description
VHDL дизайнындагы параметрленген модулдардын китепканасын (LPM) объектинин атын аныктайт files.
Бул параметр моделдөө жана жүрүм-турумдук моделдөө максатында колдонулат. Параметр редактору бул параметрдин маанисин эсептейт.
Intel үчүн атайын параметр. VHDL дизайнында ONE_INPUT_IS_CONSTANT параметрин көрсөтүү үчүн LPM_HINT параметрин колдонушуңуз керек fileс. Маанилер ООБА, ЖОК же КОЛДОНУЛБАЙТ. Киргизүү туруктуу болсо, көбүрөөк оптималдаштырууну камсыз кылат. Эгерде алынып салынса, демейки маани ЖОК.
Пикир жөнөтүү
Intel FPGA бүтүн арифметикалык IP өзөктөрү Колдонуучунун колдонмосу 29
683490 | 2020.10.05 Пикир жөнөтүү
7. ALTECC (Ката оңдоо коду: Кодер/декодер) IP өзөгү
6-сүрөт.
Intel ECC функциясын ишке ашыруу үчүн ALTECC IP өзөгүн камсыз кылат. ECC маалыматтарды берүү учурунда кабыл алуучу тарапта пайда болгон бузулган маалыматтарды аныктайт. Каталарды оңдоонун бул ыкмасы каталар жарылууда эмес, туш келди пайда болгон жагдайлар үчүн эң ылайыктуу.
ECC каталарды маалыматтарды коддоо жана декоддоо процесси аркылуу аныктайт. Мисалы үчүнample, ECC берүү тиркемесинде колдонулганда, булактан окулган маалыматтар кабыл алуучуга жөнөтүлгөнгө чейин коддолот. Кодердун чыгышы (код сөзү) паритеттик биттердин саны менен тиркелген чийки маалыматтардан турат. Тиркелген паритет биттеринин так саны киргизилген маалыматтардагы биттердин санына жараша болот. Түзүлгөн код сөзү андан кийин көздөгөн жерге жөнөтүлөт.
Алуучу код сөзүн кабыл алат жана аны чечмелейт. Декодер тарабынан алынган маалымат ката табылгандыгын аныктайт. Декодер бир биттик жана эки биттик каталарды аныктайт, бирок бузулган маалыматтардагы бир биттик каталарды гана оңдой алат. ECC бул түрү бир катаны оңдоо кош катаны аныктоо (SECDED).
Сиз ALTECC IP ядросунун коддоочу жана декодер функцияларын конфигурациялай аласыз. Кодерге берилиштер киргизилүүчү маалыматтар киргизилүүчү жана түзүлгөн паритет биттеринин айкалышы болгон код сөзүн түзүү үчүн коддолгон. Түзүлгөн код сөзү көздөгөн блокко жеткенге чейин декоддоо үчүн декодер модулуна жөнөтүлөт. Декодер кабыл алынган код сөзүндө ката бар же жок экенин аныктоо үчүн синдром векторун түзөт. Декодер бир биттик ката маалымат биттеринен болсо гана маалыматтарды оңдойт. Эгерде бир биттик ката паритеттик биттерден болсо, эч кандай сигнал белгиленбейт. Декодер ошондой эле кабыл алынган маалыматтардын статусун жана эгер бар болсо, декодер аткарган иш-аракеттерди көрсөтүү үчүн желекче сигналдарга ээ.
Төмөнкү сүрөттөр ALTECC IP өзөгү үчүн портторду көрсөтөт.
ALTECC коддоочу порттору
ALTECC_ENCODER
маалымат[]
q[]
саат
clocken
aclr
инст
Intel корпорациясы. Бардык укуктар корголгон. Intel, Intel логотиби жана башка Intel белгилери Intel корпорациясынын же анын туунду компанияларынын соода белгилери болуп саналат. Intel өзүнүн FPGA жана жарым өткөргүч өнүмдөрүн Intelдин стандарттык гарантиясына ылайык учурдагы спецификацияларга ылайык аткарууга кепилдик берет, бирок эскертүүсүз каалаган убакта каалаган өнүмгө жана кызматтарга өзгөртүү киргизүү укугун өзүнө калтырат. Intel бул жерде сүрөттөлгөн кандайдыр бир маалыматты, продуктуну же кызматты колдонуудан же колдонуудан келип чыккан эч кандай жоопкерчиликти же жоопкерчиликти өзүнө албайт, Intel тарабынан жазуу жүзүндө ачык макулдашылгандан башка учурларда. Intel кардарларына жарыяланган маалыматка ишенүүдөн мурун жана өнүмдөр же кызматтарга буйрутма берүүдөн мурун түзмөктүн спецификацияларынын акыркы версиясын алуу сунушталат. *Башка ысымдар жана бренддер башкалардын менчиги катары талап кылынышы мүмкүн.
ISO 9001: 2015 Катталган
7. ALTECC (Ката оңдоо коду: Encoder/Decoder) IP Core 683490 | 2020.10.05
Сүрөт 7. ALTECC декодер порттору
ALTECC_DECODER
data[] сааты
q[] err_detected err_corrected
err_fatal
aclr
инст
7.1. ALTECC Encoder өзгөчөлүктөрү
ALTECC коддоочу IP өзөгү төмөнкү функцияларды сунуштайт: · Хамминг коддоо схемасын колдонуу менен берилиштерди коддоону жүзөгө ашырат · 2 бит маалымат туурасын колдойт · Кол коюлган жана кол коюлбаган маалыматтарды көрсөтүү форматын колдойт · Бир же эки саат циклинин чыгуу кечигүүсүндө конвейерди колдоо · Кошумча түрдө колдойт. асинхрондуу ачык жана саатты иштетүү порттору
ALTECC коддогуч IP өзөгү Хамминг коддоо схемасын колдонуу менен маалыматтарды кабыл алат жана коддойт. Хамминг коддоо схемасы паритет биттерин чыгарып, аларды баштапкы маалыматтарга кошуп, чыгуу код сөзүн чыгарат. Тиркелген паритеттик биттердин саны маалыматтардын кеңдигине жараша болот.
Төмөнкү таблицада маалымат кеңдигинин ар кандай диапазондору үчүн тиркелген паритет биттеринин саны келтирилген. Жалпы бит тилкеси киргизилген маалымат биттеринин жана тиркелген паритет биттеринин жалпы санын билдирет.
Таблица 21.
Паритеттик биттердин жана код сөздүн саны Маалыматтын кеңдигине жараша
Data Width
Паритеттик биттердин саны
Жалпы бит (Код сөзү)
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 катары паритет биттерине тиркелет. Бул код сөзүндө 1дин жуп саны болушун камсыздайт. Мисалы үчүнample, эгерде берилиштердин туурасы 4 бит болсо, жалпы 4 биттен турган код сөз болуу үчүн берилиштерге 8 паритет бит кошулат. Эгерде 7 биттик код сөздүн LSB 8 битинде так сан 1 болсо, код сөздүн 8-бити (MSB) 1ге барабар болуп, код сөзүндөгү 1дин жалпы санын жуп кылат.
Төмөнкү сүрөттө генерацияланган код сөзү жана 8 биттик маалымат киргизүүдө паритет биттеринин жана маалымат биттеринин жайгашуусу көрсөтүлгөн.
Пикир жөнөтүү
Intel FPGA бүтүн арифметикалык IP өзөктөрү Колдонуучунун колдонмосу 31
7. ALTECC (Ката оңдоо коду: Encoder/Decoder) IP Core 683490 | 2020.10.05
8-сүрөт.
Паритеттик биттердин жана берилиштердин биттеринин 8 биттик түзүлгөн код сөзүндө жайгашуусу
MSB
LSB
4 паритеттик бит
4 маалымат бит
8
1
ALTECC коддогуч IP өзөгү бир убакта 2ден 64 битке чейинки киргизүү кеңдиктерин гана кабыл алат. Intel түзмөктөрүнө эң ылайыктуу болгон 12 бит, 29 бит жана 64 биттик киргизүү тууралары тиешелүүлүгүнө жараша 18 бит, 36 бит жана 72 бит чыгарууну жаратат. Бит тандоо чектөөсүн параметр редакторунда көзөмөлдөй аласыз.
7.2. Verilog HDL прототипи (ALTECC_ENCODER)
Төмөнкү Verilog HDL прототиби Verilog Дизайнында жайгашкан File (.v) lpm.v in the эдасинтез каталогу.
module altecc_encoder #( intended_device_family параметри = "колдонулбаган", lpm_pipeline параметри = 0, width_codeword = 8 параметр, width_dataword = 8, параметр lpm_type = "altecc_encoder", lpm_hint параметри) ( lpm_hint параметри, зым киргизилген" зым сааты, киргизүү зымы [width_dataword-1:0] маалымат, чыгуу зымы [width_codeword-1:0] q); endmodule
7.3. Verilog HDL прототипи (ALTECC_DECODER)
Төмөнкү Verilog HDL прототиби Verilog Дизайнында жайгашкан File (.v) lpm.v in the эдасинтез каталогу.
module altecc_decoder #( intended_device_family параметри = "колдонулбаган", lpm_pipeline параметри = 0, width_codeword = 8 параметр, width_dataword = 8, lpm_type параметри = "altecc_decoder", параметр lpm_hint) ( lpm_hint параметри, зым киргизилген) зым сааты, киргизүү зымы [width_codeword-1:0] берилиштери, чыгуу зымы err_corrected, чыгуу зым катасы_табылган, чыгуу зымы err_fatal, чыгуу зымы [кендиги_берилиш сөз-1:0] q); endmodule
Intel FPGA бүтүн арифметикалык IP өзөктөрү Колдонуучунун колдонмосу 32
Пикир жөнөтүү
7. ALTECC (Ката оңдоо коду: Encoder/Decoder) IP Core 683490 | 2020.10.05
7.4. VHDL Компонент Декларациясы (ALTECC_ENCODER)
VHDL компонентинин декларациясы VHDL Дизайнында жайгашкан File (.vhd) altera_mf_components.vhd ичинде librariesvhdlaltera_mf каталогу.
altecc_encoder жалпы компоненти (intended_device_family:string := “колдонулбаган”; lpm_pipeline:natural := 0; width_codeword: natural := 8; width_dataword: natural := 8; lpm_hint:string := “UNUSED”:string_te: “UNUSED”=string_te;al; ”); port( aclr:in std_logic := '0'; саат:in std_logic := '0'; clocken:in std_logic := '1'; data:in std_logic_vector(width_dataword-1 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 жалпы компоненти (intended_device_family:string := “колдонулбаган”; lpm_pipeline:natural := 0; width_codeword: natural := 8; width_dataword: natural := 8; lpm_hint:string := “UNUSED”:string_te:= “UNUSED”:string_type; ”); порт( aclr:in std_logic := '0'; clock:in std_logic := '0'; clocken:in std_logic := '1'; data:in std_logic_vector(width_codeword-1ден 0гө чейин); err_orrected : out std_detrd : out std_logic; акыркы компонент;
7.6. VHDL LIBRARY_USE Декларациясы
VHDL Компонент Декларациясын колдонсоңуз, VHDL LIBRARY-USE декларациясы талап кылынбайт.
LIBRARY altera_mf; USE altera_mf.altera_mf_components.all;
7.7. Кодер порттору
Төмөнкү таблицаларда ALTECC коддогуч IP өзөгү үчүн киргизүү жана чыгаруу порттору келтирилген.
Пикир жөнөтүү
Intel FPGA бүтүн арифметикалык IP өзөктөрү Колдонуучунун колдонмосу 33
7. ALTECC (Ката оңдоо коду: Encoder/Decoder) IP Core 683490 | 2020.10.05
Таблица 22. ALTECC Encoder киргизүү порттору
Порт аты
Талап кылынат
Description
маалымат[]
Ооба
Маалыматтарды киргизүү порту. Киргизүү портунун өлчөмү WIDTH_DATAWORDден көз каранды
параметр мааниси. Берилиштер[] порту коддолгон чийки маалыматтарды камтыйт.
саат
Ооба
Коддоо операциясын синхрондоштуруу үчүн саат сигналын камсыз кылган саат киргизүү порту.
Сааттын порту LPM_PIPELINE мааниси 0дөн жогору болгондо талап кылынат.
clocken
Жок
Саат иштетүү. Эгерде алынып салынса, демейки маани 1 болот.
aclr
Жок
Асинхрондуу таза киргизүү. активдүү жогорку aclr сигнал каалаган убакта колдонсо болот
регистрлерди асинхрондук түрдө тазалоо.
Таблица 23. ALTECC Encoder Output Ports
Порттун аталышы q[]
Талап кылынат Ооба
Description
Коддолгон маалымат чыгаруу порту. Чыгаруу портунун өлчөмү WIDTH_CODEWORD параметринин маанисине жараша болот.
7.8. Декодер порттору
Төмөнкү таблицаларда ALTECC декодеринин IP өзөгү үчүн киргизүү жана чыгаруу порттору келтирилген.
Таблица 24. ALTECC декодеринин киргизүү порттору
Порт аты
Талап кылынат
Description
маалымат[]
Ооба
Маалыматтарды киргизүү порту. Киргизүү портунун өлчөмү WIDTH_CODEWORD параметринин маанисине жараша болот.
саат
Ооба
Коддоо операциясын синхрондоштуруу үчүн саат сигналын камсыз кылган саат киргизүү порту. Сааттын порту LPM_PIPELINE мааниси 0дөн жогору болгондо талап кылынат.
clocken
Жок
Саат иштетүү. Эгерде алынып салынса, демейки маани 1 болот.
aclr
Жок
Асинхрондуу таза киргизүү. Активдүү жогорку aclr сигналы регистрлерди асинхрондук түрдө тазалоо үчүн каалаган убакта колдонулушу мүмкүн.
Таблица 25. ALTECC декодеринин чыгаруу порттору
Порттун аталышы q[]
Талап кылынат Ооба
Description
Декоддолгон маалымат чыгаруу порту. Чыгаруу портунун өлчөмү WIDTH_DATAWORD параметринин маанисине жараша болот.
err_detected Ооба
Кабыл алынган маалыматтардын абалын чагылдыруу үчүн белги белгиси жана табылган каталарды белгилейт.
err_correcte Ооба d
Кабыл алынган маалыматтардын абалын чагылдыруу үчүн белги белгиси. Табылган жана оңдолгон бир биттик катаны билдирет. Дайындарды колдоно аласыз, анткени алар мурунтан эле оңдолгон.
err_fatal
Ооба
Кабыл алынган маалыматтардын абалын чагылдыруу үчүн белги белгиси. Кош бит ката табылганын билдирет, бирок оңдолгон эмес. Бул сигнал ырасталган болсо, сиз маалыматтарды колдонбошуңуз керек.
syn_e
Жок
Паритетте бир биттик ката аныкталганда жогору боло турган чыгуу сигналы
бит.
7.9. Encoder Parameters
Төмөнкү таблицада ALTECC коддогуч IP ядросунун параметрлери келтирилген.
Intel FPGA бүтүн арифметикалык IP өзөктөрү Колдонуучунун колдонмосу 34
Пикир жөнөтүү
7. ALTECC (Ката оңдоо коду: Encoder/Decoder) IP Core 683490 | 2020.10.05
Таблица 26. ALTECC Encoder Параметрлери
Параметр аты
Type
Талап кылынат
Description
WIDTH_DATAWORD
Бүтүн сан Ооба
чийки маалыматтардын туурасын белгилейт. Маанилер 2ден 64кө чейин. Эгер алынып салынса, демейки маани 8 болот.
WIDTH_CODEWORD
Бүтүн сан Ооба
Тиешелүү код сөздүн туурасын аныктайт. Жарактуу маанилер 6дан 72ге чейин, 9, 17, 33 жана 65ти кошпогондо. Эгерде алынып салынса, демейки маани 13 болуп саналат.
LPM_PIPELINE
бүтүн сан №
Схема үчүн түтүктү белгилейт. Маанилер 0дөн 2ге чейин. Мааниси 0 болсо, порттор катталган эмес. Мааниси 1 болсо, чыгаруу порттору катталат. Мааниси 2 болсо, киргизүү жана чыгаруу порттору катталат. Эгерде алынып салынса, демейки маани 0 болот.
7.10. Декодер параметрлери
Төмөнкү таблицада ALTECC декодеринин IP негизги параметрлери келтирилген.
Таблица 27. ALTECC декодеринин параметрлери
Параметр аты WIDTH_DATAWORD
Бүтүн санды жазыңыз
Талап кылынат
Description
Ооба
чийки маалыматтардын туурасын белгилейт. Маанилер 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 бүтүн арифметикалык IP өзөктөрү Колдонуучунун колдонмосу 35
683490 | 2020.10.05 Пикир жөнөтүү
8. Intel FPGA Multiply Adder IP Core
9-сүрөт.
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 IP өзөгү үчүн порттор көрсөтүлгөн.
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 блогунун ичиндеги атайын маршрутту колдонушат. Бул атайын багыттоо, сиз мультипликатордун катталган киргизүү маалыматтарын бир мультипликатордон чектеш мультипликаторго жылдыруу опциясын тандаганыңызда сменалык регистр чынжырларын камтыйт.
Stratix V жана Arria V түзмөктөрүнүн ар кандай сериясындагы DSP блоктору жөнүндө көбүрөөк маалымат алуу үчүн Литература жана Техникалык Документация бетиндеги тиешелүү окуу куралдарынын DSP блоктору бөлүмүн караңыз.
Тектеш маалымат AN 306: FPGA түзмөктөрүндө көбөйтүүчүлөрдү ишке ашыруу
Intel FPGA түзмөктөрүндө DSP жана эстутум блокторун колдонуу менен көбөйтүүчүлөрдү ишке ашыруу жөнүндө көбүрөөк маалымат берет.
8.1. Өзгөчөлүктөрү
Intel FPGA Multiply Adder же ALTERA_MULT_ADD IP өзөгү төмөнкү функцияларды сунуштайт: · Эки комплекстин көбөйтүү операцияларын аткаруу үчүн мультипликаторду жаратат.
сандар Эскертүү: Жергиликтүү колдоого алынган өлчөмдөн чоңураак көбөйткүчтөрдү курууда/
DSP блокторунун каскадынын натыйжасында өндүрүмдүүлүктүн таасири болот. · 1 256 бит маалымат кеңдигин колдойт · Кол коюлган жана кол коюлбаган маалыматтарды көрсөтүү форматын колдойт · Конфигурациялануучу киргизүү кечигүү менен конвейерди колдойт · Кол коюлган жана кол коюлбаган маалыматтарды колдоонун ортосунда динамикалык которулуу опциясын камсыз кылат · Кошуу жана кемитүү операциясынын ортосунда динамикалык которуу опциясын камсыз кылат · Колдоо кошумча асинхрондуу жана синхрондуу таза жана саат киргизүү портторун иштетет · Систоликалык кечиктирүү регистр режимин колдойт · Ар бир көбөйткүчкө 8 алдын ала жүктөө коэффициенти бар алдын ала кошуучуну колдойт · Аккумулятордун пикирлерин толуктоо үчүн алдын ала жүктөө туруктуусун колдойт
Пикир жөнөтүү
Intel FPGA бүтүн арифметикалык IP өзөктөрү Колдонуучунун колдонмосу 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ге чейин алдын ала коюлган константага мүмкүндүк берет. Коэффициентти тандоо сигналдары коэфсель[0..3].
Бул режим төмөнкү теңдемеде көрсөтүлөт.
Төмөндө мультипликатордун кошуучуга чейинки коэффициент режими көрсөтүлгөн.
Сүрөт 11. Алдын ала кошуучу коэффициент режими
Преддер
a0
Mult0
+/-
натыйжа
b0
coefsel0 коэф
Intel FPGA бүтүн арифметикалык IP өзөктөрү Колдонуучунун колдонмосу 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ге чейин алдын ала коюлган константага мүмкүндүк берет. Коэффициентти тандоо сигналдары коэфсель[0..3].
Бул режим төмөнкү теңдемеде көрсөтүлөт.
Пикир жөнөтүү
Intel FPGA бүтүн арифметикалык IP өзөктөрү Колдонуучунун колдонмосу 39
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
Төмөнкү сүрөттө көбөйткүчтүн кошуучуга чейинки туруктуу режими көрсөтүлгөн.
14-сүрөт. Алдын ала кошуучу Туруктуу режим
a0
Mult0
натыйжа
coefsel0
коэф
8.1.2. Систоликалык кечигүү реестри
Систоликалык архитектурада киргизилген маалыматтар берилиштер буферинин ролун аткарган регистрлердин каскадына берилет. Ар бир регистр s киргизүүнү беретampле көбөйткүчкө, мында ал тиешелүү коэффициентке көбөйтүлөт. Чынжыр кошкуч акыркы натыйжаны түзүү үчүн көбөйткүчтүн акырындык менен бириктирилген натыйжаларын жана 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 ж(т)
x(t) s киргизүүнүн үзгүлтүксүз агымынын натыйжаларын билдиретamples жана y(t)
киргизүү s жыйындысынын жыйындысын билдиретamples, жана убакыттын өтүшү менен, алардын көбөйтүлгөн
тиешелүү коэффициенттер. Киргизүү жана чыгаруу натыйжалары солдон оңго агып турат. c(0) менен c(N-1) коэффициенттерин билдирет. Систоликалык кечигүү регистрлери S-1 менен белгиленет, ал эми 1 бир сааттын кечигүүсүн билдирет. Систоликалык кечигүү регистрлери кошулат
натыйжаларды камсыз кыла тургандай трубопроводго киргизүү жана чыгаруу
мультипликатордук операнд жана топтолгон суммалар синхрондолот. Бул иштетүү элементи
чыпкалоо функциясын эсептөөчү схеманы түзүү үчүн кайталанат. Бул функция
төмөнкү теңдемеде көрсөтүлөт.
Intel FPGA бүтүн арифметикалык IP өзөктөрү Колдонуучунун колдонмосу 40
Пикир жөнөтүү
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
N аккумуляторго киргизилген маалыматтардын циклдеринин санын, y(t) t убакытындагы чыгарууну, A(t) t убакытындагы киргизүүнү жана B(i) коэффициенттерди билдирет. Теңдемедеги t жана i убакыттын белгилүү бир көз ирмемине туура келет, ошондуктан s чыгарууну эсептөө үчүнample y(t) убагында t, киргизүү s тобуamples убакыттын N ар кандай чекиттеринде, же A(n), A(n-1), A(n-2), … A(n-N+1) талап кылынат. N киргизүү s тобуamples N коэффициентке көбөйтүлөт жана акыркы жыйынтык y түзүлөт.
Систоликалык регистр архитектурасы 2-жылдын суммасы жана 4-тун суммасы режимдери үчүн гана жеткиликтүү. Систоликалык регистр архитектурасынын эки режими үчүн биринчи чынжыр сигналы 0гө байланышы керек.
Төмөнкү сүрөттө 2 мультипликатордун систоликалык кечигүү регистринин ишке ашырылышы көрсөтүлгөн.
16-сүрөт. Систоликалык кечиктирүү регистринин 2 көбөйткүчтүн ишке ашырылышы
chainin
a0
Mult0
+/-
b0
a1
Mult1
+/-
b1
натыйжа
Эки көбөйтүүчүнүн суммасы төмөнкү теңдемеде туюнтулган.
Төмөнкү сүрөттө 4 мультипликатордун систоликалык кечигүү регистринин ишке ашырылышы көрсөтүлгөн.
Пикир жөнөтүү
Intel FPGA бүтүн арифметикалык IP өзөктөрү Колдонуучунун колдонмосу 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 көбөйтүүчүнүн суммасы
Төмөндө адван тизмеси келтирилгенtagсистоликалык регистрди ишке ашыруунун es: · DSP ресурстарын колдонууну азайтат · чынжыр кошуучу түзүмүн колдонуу менен DSP блогунда эффективдүү карта түзүүгө мүмкүндүк берет
Intel FPGA бүтүн арифметикалык IP өзөктөрү Колдонуучунун колдонмосу 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 бүтүн арифметикалык IP өзөктөрү Колдонуучунун колдонмосу 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) ичинде librariesmegafunctions каталогу.
8.3. VHDL компонентинин декларациясы
VHDL компонентинин декларациясы altera_lnsim_components.vhd дарегинде жайгашкан. librariesvhdl altera_lnsim каталогу.
8.4. VHDL LIBRARY_USE Декларациясы
VHDL Компонент Декларациясын колдонсоңуз, VHDL LIBRARY-USE декларациясы талап кылынбайт.
LIBRARY altera_mf; USE altera_mf.altera_mf_components.all;
8.5. Сигналдар
Төмөнкү таблицаларда Multiply Adder Intel FPGA IP же ALTERA_MULT_ADD IP ядросунун киргизүү жана чыгаруу сигналдары келтирилген.
Таблица 28. Intel FPGA IP же ALTERA_MULT_ADD киргизүү сигналдарын көбөйтүү
Сигнал
Талап кылынат
Description
dataa_0[]/dataa_1[]/
Ооба
dataa_2[]/dataa_3[]
Мультипликаторго маалымат киргизүү. Киргизүү портунун кеңдиги [NUMBER_OF_MULTIPLIERS * WIDTH_A – 1 … 0]
уланды…
Intel FPGA бүтүн арифметикалык IP өзөктөрү Колдонуучунун колдонмосу 44
Пикир жөнөтүү
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
Signal 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] белгиси
белгисиб
scanina[] accum_sload
Милдеттүү Ооба Жок
Жок Жок Жок Жок Жок
Жок
Жок Жок
Description
Бул IP үчүн симуляция модели бул сигналдарга белгисиз киргизүү маанисин (X) колдойт. Бул сигналдарга X маанисин бергенде, X мааниси чыгуу сигналдарына жайылтылат.
Мультипликаторго маалымат киргизүү. Киргизүү сигналы [NUMBER_OF_MULTIPLIERS * WIDTH_B – 1 … 0] кең Бул IP үчүн симуляция модели бул сигналдарга аныкталбаган киргизүү маанисин (X) колдойт. Бул сигналдарга X маанисин бергенде, X мааниси чыгуу сигналдарына жайылтылат.
Мультипликаторго маалымат киргизүү. Киргизүү сигналы [NUMBER_OF_MULTIPLIERS * WIDTH_C – 1, … 0] кең Бул сигналдарды иштетүү үчүн Preadder режимин тандоо параметри үчүн INPUT тандаңыз. Бул IP үчүн симуляция модели бул сигналдарга белгисиз киргизүү маанисин (X) колдойт. Бул сигналдарга X маанисин бергенде, X мааниси чыгуу сигналдарына жайылтылат.
Тиешелүү реестрге саат киргизүү порту. Бул сигналды IP өзөгүндөгү каалаган регистр колдонсо болот. Бул IP үчүн симуляция модели бул сигналдарга белгисиз киргизүү маанисин (X) колдойт. Бул сигналдарга X маанисин бергениңизде, X мааниси чыгуу сигналдарында жайылтылат.
Тиешелүү реестрге асинхрондуу так киргизүү. Бул IP үчүн симуляция модели бул сигналдарга белгисиз киргизүү маанисин (X) колдойт. Бул сигналдарга X маанисин бергенде, X мааниси чыгуу сигналдарына жайылтылат.
Тиешелүү реестрге синхрондуу так киргизүү. Бул IP үчүн симуляция модели бул сигналдарга белгисиз X киргизүү маанисин колдойт. Бул сигналдарга X маанисин бергенде, X мааниси чыгуу сигналдарына жайылтылат
Тиешелүү регистрге сигнал киргизүүнү иштетүү. Бул IP үчүн симуляция модели бул сигналдарга белгисиз киргизүү маанисин (X) колдойт. Бул сигналдарга X маанисин бергенде, X мааниси чыгуу сигналдарына жайылтылат.
Көбөйткүчтүн A киришинин сандык көрүнүшүн аныктайт. Эгерде сигнал сигналы жогору болсо, мультипликатор A мультипликаторунун кириш сигналын кол коюлган сан катары карайт. Сигналдын сигналы төмөн болсо, мультипликатор A көбөйтүүчү кириш сигналын кол коюлбаган сан катары карайт. Бул сигналды иштетүү үчүн, көбөйтүүчүлөр А киргизүү параметри үчүн өкүлчүлүк форматы үчүн VARIABLE тандаңыз. Бул IP үчүн симуляция модели бул сигналга аныкталбаган киргизүү маанисин (X) колдойт. Бул киргизүүгө X маанисин бергенде, X мааниси чыгуу сигналдарында жайылтылат.
Көбөйткүчтүн кириш B сигналынын сандык көрүнүшүн аныктайт. Эгерде белги сигналы жогору болсо, мультипликатор көбөйткүчтүн кириш B сигналын кол коюлган экинин толуктоочу саны катары карайт. Белги сигналы төмөн болсо, мультипликатор көбөйткүчтүн В сигналын кол коюлбаган сан катары карайт. Бул IP үчүн симуляция модели бул сигналга аныкталбаган киргизүү маанисин (X) колдойт. Бул киргизүүгө X маанисин бергенде, X мааниси чыгуу сигналдарында жайылтылат.
Скандоочу чынжыр үчүн киргизүү A. Киргизүү сигналы [WIDTH_A – 1, … 0] кең. INPUT_SOURCE_A параметри SCANA маанисине ээ болгондо, scanina[] сигналы талап кылынат.
Аккумулятордун мааниси туруктуу экендигин динамикалык түрдө аныктайт. Эгерде accum_sload сигналы аз болсо, анда мультипликатордун чыгышы аккумуляторго жүктөлөт. accum_sload жана sload_accum бир эле учурда колдонбоңуз.
уланды…
Пикир жөнөтүү
Intel FPGA бүтүн арифметикалык IP өзөктөрү Колдонуучунун колдонмосу 45
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
Signal sload_accum
chainin[] addnsub1
addnsub3
coefsel0[] coefsel1[] coefsel2[] coefsel3[]
Милдеттүү №
Жок Жок
Жок
Жок жок жок жок
Description
Бул IP үчүн симуляция модели бул сигналга аныкталбаган киргизүү маанисин (X) колдойт. Бул киргизүүгө X маанисин бергенде, X мааниси чыгуу сигналдарында жайылтылат.
Аккумулятордун мааниси туруктуу экендигин динамикалык түрдө аныктайт. Эгерде sload_accum сигналы жогору болсо, анда мультипликатордун чыгышы аккумуляторго жүктөлөт. accum_sload жана sload_accum бир эле учурда колдонбоңуз. Бул IP үчүн симуляция модели бул сигналга аныкталбаган киргизүү маанисин (X) колдойт. Бул киргизүүгө X маанисин бергенде, X мааниси чыгуу сигналдарында жайылтылат.
Мурунку s тартып кошуучу натыйжа киргизүү автобусуtagд. Киргизүү сигналы [WIDTH_CHAININ – 1, … 0] кең.
Көбөйткүчтөрдүн биринчи жуптарынан алынган жыйынтыктарга кошуу же кемитүү амалдарын аткарыңыз. Көбөйткүчтөрдүн биринчи жупунун натыйжаларын кошуу үчүн addnsub1 сигналына 1 киргизиңиз. Көбөйткүчтөрдүн биринчи жубунан жыйынтыктарды алып салуу үчүн addnsub0 сигналына 1 киргизиңиз. Бул IP үчүн симуляция модели бул сигналга аныкталбаган киргизүү маанисин (X) колдойт. Бул киргизүүгө X маанисин бергенде, X мааниси чыгуу сигналдарында жайылтылат.
Көбөйткүчтөрдүн биринчи жуптарынан алынган жыйынтыктарга кошуу же кемитүү амалдарын аткарыңыз. Экинчи жуп көбөйткүчтүн натыйжаларын кошуу үчүн addnsub1 сигналына 3 киргизиңиз. Көбөйткүчтөрдүн биринчи жубунан жыйынтыктарды алып салуу үчүн addnsub0 сигналына 3 киргизиңиз. Бул 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. Intel FPGA IP чыгаруу сигналдарын көбөйтүү
Сигнал
Талап кылынат
Description
натыйжа []
Ооба
Көбөйтүүчү чыгаруу сигналы. Чыгуу сигналы [WIDTH_RESULT – 1 … 0] кең
Бул IP үчүн симуляция модели аныкталбаган чыгаруу маанисин (X) колдойт. Киргизүү катары X маанисин бергениңизде, X мааниси бул сигналга жайылтылат.
scanouta []
Жок
Скандоо чынжырынын чыгышы A. Чыгуу сигналы [WIDTH_A – 1..0] кең.
Көбөйткүчтөрдүн саны үчүн 2ден ашыкты тандаңыз жана бул сигналды иштетүү үчүн параметрге туташтырылган мультипликатордун A кириши эмне үчүн Скандоочу чынжыр киргизүүнү тандаңыз.
Intel FPGA бүтүн арифметикалык IP өзөктөрү Колдонуучунун колдонмосу 46
Пикир жөнөтүү
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
8.6. Параметрлер
8.6.1. Жалпы өтмөк
Таблица 30. Жалпы таблица
Параметр
IP түзүлгөн параметр
Нарк
Көбөйткүчтөрдүн саны канча?
m_саны 1 – 4 көбөйтүүчү
A width_a киргизүү автобустары канчалык кең болушу керек?
1 – 256
B width_b киргизүү автобустары канчалык кең болушу керек?
1 – 256
"Натыйжа" чыгаруу шинасы канчалык кең болушу керек?
кеңдик_натыйжа
1 – 256
Ар бир саат үчүн байланышкан саатты түзүңүз
gui_associate On d_clock_enbl Өчүк e
8.6.2. Кошумча режимдер өтмөгү
Таблица 31. Кошумча режимдер Таблица
Параметр
IP түзүлгөн параметр
Нарк
Outputs Configuration
Толуктоочу бирдиктин чыгышын регистрациялоо
gui_output_re Күйүк
гистер
Өчүк
Саатты киргизүү булагы эмне?
gui_output_re gister_clock
Саат0 Саат1 Саат2
Асинхрондук так киргизүүнүн булагы эмне?
gui_output_re gister_aclr
ЖОК ACLR0 ACLR1
Синхрондуу так киргизүүнүн булагы кайсы?
gui_output_re gister_sclr
ЖОК SCLR0 SCLR1
Adder операциясы
Көбөйткүчтөрдүн биринчи жуптарынын чыгышына кандай операция жасалышы керек?
gui_көбөйтүүчү 1_багыт
КОШУУ, SUB, VARIABLE
Демейки маани 1
16
Description
Кошула турган көбөйткүчтөрдүн саны. Маанилер 1ден 4кө чейин. dataa[] портунун туурасын көрсөтүңүз.
16
Datab[] портунун туурасын көрсөтүңүз.
32
Натыйжа[] портунун туурасын көрсөтүңүз.
Өчүк
Саатты иштетүү үчүн бул параметрди тандаңыз
ар бир саат үчүн.
Демейки маани
Description
Өчүк саат0
NONE NONE
Кошуучу модулдун чыгуу регистрин иштетүү үчүн бул параметрди тандаңыз.
Чыгуу регистрлери үчүн саат булагын иштетүү жана көрсөтүү үчүн Clock0 , Clock1 же Clock2 тандаңыз. Бул параметрди иштетүү үчүн кошуучу бирдиктин чыгышын каттоону тандаңыз.
Кошумча чыгаруучу регистр үчүн асинхрондуу таза булагын аныктайт. Бул параметрди иштетүү үчүн кошуучу бирдиктин чыгышын каттоону тандаңыз.
Кошумча чыгаруучу регистр үчүн синхрондуу таза булагын аныктайт. Бул параметрди иштетүү үчүн кошуучу бирдиктин чыгышын каттоону тандаңыз.
КОШУУ
Биринчи жана экинчи көбөйтүүчүнүн ортосундагы жыйынтыктарды аткаруу үчүн кошуу же кемитүү операциясын тандаңыз.
· Кошумча операцияны аткаруу үчүн КОШУУ тандаңыз.
· Кемитүү операциясын аткаруу үчүн SUB тандаңыз.
· Динамикалык кошуу/кемитүү башкаруусу үчүн addnsub1 портун колдонуу үчүн VARIABLE тандаңыз.
уланды…
Пикир жөнөтүү
Intel FPGA бүтүн арифметикалык IP өзөктөрү Колдонуучунун колдонмосу 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_көбөйтүүчү 3_багыт
КОШУУ, SUB, VARIABLE
'addnsub3' киргизүүнү каттаңыз
gui_addnsub_ On multiplier_reg Off ister3
Саатты киргизүү булагы эмне?
gui_addnsub_ multiplier_reg ister3_clock
Саат0 Саат1 Саат2
Демейки маани
Өчүрүлгөн саат0 ЭЧ КИШИ КОШУЛБАЙТ
Өчүк саат0
Description
VARIABLE мааниси тандалганда: · Addnsub1 сигналын жогорку деңгээлге айдаңыз
кошуу операциясы. · Addnsub1 сигналын төмөнгө айдаңыз
кемитүү операциясы. Бул параметрди иштетүү үчүн экиден ашык көбөйткүчтү тандоо керек.
addnsub1 порту үчүн киргизүү реестрин иштетүү үчүн бул параметрди тандаңыз. Бул параметрди иштетүү үчүн көбөйткүчтөрдүн биринчи жупунун чыгышында кандай операция аткарылышы керек үчүн VARIABLE тандашыңыз керек.
Addnsub0 регистрине кириш саат сигналын көрсөтүү үчүн Clock1 , Clock2 же Clock1 тандаңыз. Бул параметрди иштетүү үчүн "addnsub1" киргизүүнү каттоону тандаңыз.
addnsub1 реестри үчүн асинхрондуу таза булагын көрсөтөт. Бул параметрди иштетүү үчүн "addnsub1" киргизүүнү каттоону тандаңыз.
addnsub1 реестри үчүн синхрондуу таза булагын белгилейт. Бул параметрди иштетүү үчүн "addnsub1" киргизүүнү каттоону тандаңыз.
Үчүнчү жана төртүнчү көбөйтүүчүнүн ортосундагы жыйынтыктарды аткаруу үчүн кошуу же кемитүү операциясын тандаңыз. · Кошумча кылуу үчүн КОШУП тандаңыз
операция. · Кемитүү үчүн SUB тандаңыз
операция. · addnsub1 колдонуу үчүн VARIABLE тандаңыз
динамикалык кошуу/кемитүү башкаруу үчүн порт. VARIABLE мааниси тандалганда: · Кошумча операция үчүн addnsub1 сигналын жогорку деңгээлге айдаңыз. · Чыгаруу операциясы үчүн addnsub1 сигналын төмөнгө айдаңыз. Көбөйткүчтөрдүн саны канча дегенге 4 маанисин тандоо керек? бул параметрди иштетүү үчүн.
addnsub3 сигналы үчүн киргизүү регистрин иштетүү үчүн бул параметрди тандаңыз. Бул параметрди иштетүү үчүн көбөйткүчтөрдүн экинчи жупунун чыгышында кандай операция аткарылышы керек үчүн VARIABLE тандашыңыз керек.
Addnsub0 регистрине киргизүү саат сигналын көрсөтүү үчүн Clock1 , Clock2 же Clock3 тандаңыз. Бул параметрди иштетүү үчүн 'addnsub3' киргизүүнү каттоону тандашыңыз керек.
уланды…
Intel FPGA бүтүн арифметикалык IP өзөктөрү Колдонуучунун колдонмосу 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. Көбөйткүчтөр Таблица
Параметр
IP түзүлгөн параметр
Нарк
деген эмне
gui_represent
өкүлчүлүк форматы ation_a
көбөйтүүчү А киргизүү үчүн?
КОЛДОНУЛГАН, КОЛ СОЗСУЗ, ОЗГОРУЛУУ
'signa' киргизүүнү каттаңыз
gui_register_s Күйүк
ign
Өчүк
Саатты киргизүү булагы эмне?
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
Өчүк
Демейки маани ЖОК
ЖОК
Description
addnsub3 реестри үчүн асинхрондуу таза булагын көрсөтөт. Бул параметрди иштетүү үчүн "addnsub3" киргизүүнү каттоону тандаңыз.
addnsub3 реестри үчүн синхрондуу таза булагын көрсөтөт. Бул параметрди иштетүү үчүн 'addnsub3' киргизүүнү каттоону тандашыңыз керек.
Өчүк
Функцияны артка кайтаруу үчүн бул параметрди тандаңыз
addnsub киргизүү портунун.
Кемитүү операциясы үчүн addnsubду бийикке айдаңыз.
Кошумча операция үчүн addnsubду төмөнгө айдаңыз.
Демейки маани
Description
UNsigned A мультипликаторунун киргизүү форматын көрсөтүңүз.
Өчүк
Кол коюуну иштетүү үчүн бул параметрди тандаңыз
катталуу.
Сиз VARIABLE маанисин тандап алышыңыз керек. Көбөйтүүчү А киргизүүлөрүнүн көрсөтүү форматы кандай? бул параметрди иштетүү үчүн.
Саат0
Сигнал регистрине киргизүү саатынын сигналын иштетүү жана көрсөтүү үчүн Саат0 , Саат1 же Саат2 тандаңыз.
Бул параметрди иштетүү үчүн "Кол коюу" киргизүүнү катташыңыз керек.
ЖОК
Сигнал реестри үчүн асинхрондуу так булагын көрсөтөт.
Бул параметрди иштетүү үчүн "Кол коюу" киргизүүнү катташыңыз керек.
ЖОК
Сигнал реестри үчүн синхрондуу так булагын көрсөтөт.
Бул параметрди иштетүү үчүн "Кол коюу" киргизүүнү катташыңыз керек.
UNsigned B мультипликаторунун киргизүү форматын көрсөтүңүз.
Өчүк
Signb иштетүү үчүн бул параметрди тандаңыз
катталуу.
уланды…
Пикир жөнөтүү
Intel FPGA бүтүн арифметикалык IP өзөктөрү Колдонуучунун колдонмосу 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_saat
Саат0 Саат1 Саат2
NONE NONE
Өчүк саат0
Асинхрондук так киргизүүнүн булагы эмне?
gui_input_reg ister_a_aclr
ЖОК ACLR0 ACLR1
Синхрондуу так киргизүүнүн булагы кайсы?
gui_input_reg ister_a_sclr
ЖОК SCLR0 SCLR1
Мультипликатордун В киргизүүсүн каттаңыз
Саатты киргизүү булагы эмне?
gui_input_reg Күйүк
ister_b
Өчүк
gui_input_reg ister_b_clock
Саат0 Саат1 Саат2
ЖОК ЭЧ ЖОК Өчүк саат0
Асинхрондук так киргизүүнүн булагы эмне?
gui_input_reg ister_b_aclr
ЖОК ACLR0 ACLR1
ЖОК
Синхрондуу так киргизүүнүн булагы кайсы?
gui_input_reg ister_b_sclr
ЖОК SCLR0 SCLR1
ЖОК
Көбөйткүчтүн А кириши эмнеге туташтырылган?
gui_multiplier Multiplier input Multiplier
_a_input
Скандоо чынжыр киргизүү киргизүү
Description
Сиз VARIABLE маанисин тандашыңыз керек. Көбөйтүүчү B киргизүүлөрүнүн көрсөтүү форматы кандай? бул параметрди иштетүү үчүн.
Белги регистрине киргизүү саат сигналын иштетүү жана көрсөтүү үчүн Саат0 , Саат1 же Саат2 тандаңыз. Бул параметрди иштетүү үчүн Register `signb' киргизүүнү тандашыңыз керек.
Signb реестри үчүн асинхрондуу так булагын көрсөтөт. Бул параметрди иштетүү үчүн Register `signb' киргизүүнү тандашыңыз керек.
Белги реестри үчүн синхрондуу таза булагын аныктайт. Бул параметрди иштетүү үчүн Register `signb' киргизүүнү тандашыңыз керек.
Берилиштерди киргизүү автобусу үчүн киргизүү реестрин иштетүү үчүн бул параметрди тандаңыз.
Саат0 , Саат1 же Саат2ди тандаңыз жана берилиштерди киргизүү шинасы үчүн регистрдин киргизүү саат сигналын көрсөтүү. Бул параметрди иштетүү үчүн мультипликатордун А киргизүүнү каттоону тандашыңыз керек.
Берилиштер киргизүү автобусу үчүн реестрдин асинхрондуу таза булагын аныктайт. Бул параметрди иштетүү үчүн мультипликатордун А киргизүүнү каттоону тандашыңыз керек.
Берилиштерди киргизүү автобусу үчүн реестрдин синхрондуу таза булагын аныктайт. Бул параметрди иштетүү үчүн мультипликатордун А киргизүүнү каттоону тандашыңыз керек.
Берилиштерди киргизүү автобусу үчүн киргизүү регистрин иштетүү үчүн бул параметрди тандаңыз.
Саат0 , Саат1 же Саат2ди тандаңыз жана берилиштер кирүүчү шинасы үчүн регистрдик киргизүү саат сигналын көрсөтүү. Бул параметрди иштетүү үчүн мультипликатордун B киргизүүнү каттоону тандашыңыз керек.
Берилиштер киргизүү шинасы үчүн реестрдин асинхрондуу таза булагын аныктайт. Бул параметрди иштетүү үчүн мультипликатордун B киргизүүнү каттоону тандаңыз.
Берилиштер базасын киргизүү автобусу үчүн реестрдин синхрондуу таза булагын аныктайт. Бул параметрди иштетүү үчүн мультипликатордун B киргизүүнү каттоону тандашыңыз керек.
Мультипликатордун А кириши үчүн киргизүү булагын тандаңыз.
уланды…
Intel FPGA бүтүн арифметикалык IP өзөктөрү Колдонуучунун колдонмосу 50
Пикир жөнөтүү
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
Параметр
IP түзүлгөн параметр
Нарк
Реестр конфигурациясын карап чыгуу
Скандоочу чынжырдын чыгышын каттоо
gui_scanouta On
_каттоо
Өчүк
Саатты киргизүү булагы эмне?
gui_scanouta _register_cloc k
Саат0 Саат1 Саат2
Асинхрондук так киргизүүнүн булагы эмне?
gui_scanouta _register_aclr
ЖОК ACLR0 ACLR1
Синхрондуу так киргизүүнүн булагы кайсы?
gui_scanouta _register_sclr
ЖОК SCLR0 SCLR1
8.6.4. Preadder Tab
Таблица 33. Преддер таблицасы
Параметр
IP түзүлгөн параметр
Нарк
Преддер режимин тандоо
preadder_mo de
Жөнөкөй, КЭФ, КИРҮҮ, Квадрат, ТУРУКТУУ
Демейки маани
Description
Маалыматтарды киргизүү автобусун мультипликатордун булагы катары колдонуу үчүн Көбөйткүч киргизүүнү тандаңыз. Көбөйткүчтүн булагы катары сканердин киргизүү шинасын колдонуу жана сканерлөө чыгаруу шинасын иштетүү үчүн Скандоочу чынжыр киргизүүнү тандаңыз. Бул параметр 2, 3 же 4 дегенди тандаганда жеткиликтүү болот Көбөйтүүчүлөрдүн саны канча? параметр.
Өчүк саат0 ЭЧ ЖОК
Бул параметрди сканерлөө чыгаруу автобусу үчүн чыгаруу реестрин иштетүү үчүн тандаңыз.
Көбөйткүчтүн A кириши эмнеге туташтырылган? үчүн Скандоочу чынжыр киргизүүнү тандоо керек. бул параметрди иштетүү үчүн.
Clock0 , Clock1 же Clock2 тандаңыз жана сканерлөө шинасы үчүн регистрдин кириш саатынын сигналын белгилеңиз.
Бул параметрди иштетүү үчүн скандоочу чынжыр параметринин Регистр чыгышын күйгүзүшүңүз керек.
Scanouta чыгаруу шинасы үчүн реестрдин асинхрондуу таза булагын көрсөтөт.
Бул параметрди иштетүү үчүн скандоочу чынжыр параметринин Регистр чыгышын күйгүзүшүңүз керек.
Scanouta чыгаруу шинасы үчүн реестрдин синхрондуу таза булагын аныктайт.
Бул параметрди иштетүү үчүн скандоочу чынжыр параметринин Регистр чыгышын тандашыңыз керек.
Демейки маани
Жөнөкөй
Description
Преддер модулунун иштөө режимин аныктайт. Жөнөкөй: Бул режим преддерди айланып өтөт. Бул демейки режим. COEF: Бул режим көбөйткүчкө киргизүү катары преаддердин жана коэфсель киргизүү автобусунун чыгышын колдонот. INPUT: Бул режим мультипликатордун кириши катары преддер жана маалымат киргизүү автобусунун чыгышын колдонот. Квадрат: Бул режим преддердин чыгышын көбөйткүчтүн эки кириши катары колдонот.
уланды…
Пикир жөнөтүү
Intel FPGA бүтүн арифметикалык IP өзөктөрү Колдонуучунун колдонмосу 51
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
Параметр
IP түзүлгөн параметр
Нарк
Преддер багытын тандаңыз
gui_preadder ADD,
_багыт
SUB
C width_c киргизүү автобустары канчалык кең болушу керек?
1 – 256
Берилиштер C киргизүү регистринин конфигурациясы
Дата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
Коэффициенттер
Кофтун туурасы канча болушу керек?
width_coef
1 – 27
Coef Register Configuration
Коэфсель киргизүүнү каттаңыз
gui_coef_regi On
стер
Өчүк
Саатты киргизүү булагы эмне?
gui_coef_regi стер_саат
Саат0 Саат1 Саат2
Демейки маани
КОШУУ
16
Description
ТУРМУШТУУ: Бул режим мультипликатордун кириши катары преаддер айланып өтүүчү маалыматтарды киргизүү шинасын жана коэфсель киргизүү шинасын колдонот.
Преддердин иштешин аныктайт. Бул параметрди иштетүү үчүн, Preadder режимин тандоо үчүн төмөнкүлөрдү тандаңыз: · COEF · INPUT · QUARE же · CONSTANT
C киргизүү шинасы үчүн биттердин санын көрсөтөт. Бул параметрди иштетүү үчүн Preadder режимин тандоо үчүн INPUT тандаңыз.
Саат боюнча0 ЖОК
Берилиштер киргизүү автобусу үчүн киргизүү регистрин иштетүү үчүн бул параметрди тандаңыз. Бул параметрди иштетүү үчүн INPUT параметрин Preadder режиминин параметрин тандоого коюшуңуз керек.
Саат0 , Саат1 же Саат2ди тандаңыз, маалымат киргизүү регистрине киргизүү саат сигналын көрсөтүү. Бул параметрди иштетүү үчүн Сиз Регистр Datac input тандашыңыз керек.
Берилиштер киргизүү реестри үчүн асинхрондуу таза булагын көрсөтөт. Бул параметрди иштетүү үчүн Сиз Регистр Datac input тандашыңыз керек.
Берилиштер киргизүү реестри үчүн синхрондуу так булагын белгилейт. Бул параметрди иштетүү үчүн Сиз Регистр Datac input тандашыңыз керек.
18
үчүн биттердин санын белгилейт
коэфсель киргизүү автобусу.
Бул параметрди иштетүү үчүн преддер режими үчүн COEF же CONSTANT тандооңуз керек.
Clock0 боюнча
Коэфсель киргизүү шинасы үчүн киргизүү регистрин иштетүү үчүн бул параметрди тандаңыз. Бул параметрди иштетүү үчүн преддер режими үчүн COEF же CONSTANT тандооңуз керек.
Коэфсель киргизүү регистрине киргизүү саат сигналын көрсөтүү үчүн Саат0 , Саат1 же Саат2 тандаңыз. Бул параметрди иштетүү үчүн Коэфсель киргизүүнү каттоону тандаңыз.
уланды…
Intel FPGA бүтүн арифметикалык IP өзөктөрү Колдонуучунун колдонмосу 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 0xFFFFFF
Коэффицент_1 Конфигурация
coef1_0 - coef1_7
0x00000 0xFFFFFF
Коэффицент_2 Конфигурация
coef2_0 - coef2_7
0x00000 0xFFFFFF
Коэффицент_3 Конфигурация
coef3_0 - coef3_7
0x00000 0xFFFFFF
8.6.5. Аккумулятор табы
Таблица 34. Аккумулятор таблицасы
Параметр
IP түзүлгөн параметр
Нарк
Аккумулятор иштетилсинби?
аккумулятор
ООБА ЖОК
Аккумулятордун иштөө түрү кандай?
accum_directi ADD,
on
SUB
Демейки маани ЖОК
ЖОК
0х0000000 0
0х0000000 0
0х0000000 0
0х0000000 0
Description
Коэфселдин киргизүү реестри үчүн асинхрондуу так булагын көрсөтөт. Бул параметрди иштетүү үчүн Коэфсель киргизүүнү каттоону тандаңыз.
Коэфсель киргизүү регистринин синхрондуу так булагын аныктайт. Бул параметрди иштетүү үчүн Коэфсель киргизүүнү каттоону тандаңыз.
Бул биринчи көбөйтүүчү үчүн коэффициенттин маанилерин белгилейт. Биттердин саны коэфтин туурасы канчалык кең болушу керек? бөлүмүндө көрсөтүлгөндөй болушу керек? параметр. Бул параметрди иштетүү үчүн преддер режими үчүн COEF же CONSTANT тандооңуз керек.
Бул экинчи көбөйтүүчү үчүн коэффициенттин маанилерин көрсөтөт. Биттердин саны коэфтин туурасы канчалык кең болушу керек? бөлүмүндө көрсөтүлгөндөй болушу керек? параметр. Бул параметрди иштетүү үчүн преддер режими үчүн COEF же CONSTANT тандооңуз керек.
Бул үчүнчү көбөйтүүчү үчүн коэффициенттин маанилерин көрсөтөт. Биттердин саны коэфтин туурасы канчалык кең болушу керек? бөлүмүндө көрсөтүлгөндөй болушу керек? параметр. Бул параметрди иштетүү үчүн преддер режими үчүн COEF же CONSTANT тандооңуз керек.
Бул төртүнчү көбөйтүүчү үчүн коэффициенттин маанилерин көрсөтөт. Биттердин саны коэфтин туурасы канчалык кең болушу керек? бөлүмүндө көрсөтүлгөндөй болушу керек? параметр. Бул параметрди иштетүү үчүн преддер режими үчүн COEF же CONSTANT тандооңуз керек.
Демейки маани NO
КОШУУ
Description
Аккумуляторду иштетүү үчүн YES тандаңыз. Аккумулятордук функцияны колдонууда кошуучу бирдиктин чыгышын регистрациялоону тандоо керек.
Аккумулятордун иштөөсүн аныктайт: · Кошуу операциясы үчүн ADD · кемитүү операциясы үчүн SUB. Аккумуляторду иштетүү үчүн ООБА тандоо керекпи? бул параметрди иштетүү үчүн параметр.
уланды…
Пикир жөнөтүү
Intel FPGA бүтүн арифметикалык IP өзөктөрү Колдонуучунун колдонмосу 53
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
Параметр
Preload Constant Алдын ала жүктөө туруктуусун иштетүү
IP түзүлгөн параметр
Нарк
gui_ena_prelo On
ad_const
Өчүк
Аккумуляция портунун кириши эмнеге туташтырылган?
gui_accumula ACCUM_SLOAD, 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 Күйүк
ccum
Өчүк
Демейки маани
Description
Өчүк
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
Accum_sload/sload_accum регистрине киргизүү саат сигналын көрсөтүү үчүн Clock0 , Clock1 же Clock2 тандаңыз.
Бул параметрди иштетүү үчүн алдын ала жүктөө туруктуу параметрин иштетүү керек.
ЖОК
accum_sload/sload_accum реестри үчүн асинхрондуу таза булагын көрсөтөт.
Бул параметрди иштетүү үчүн алдын ала жүктөө туруктуу параметрин иштетүү керек.
ЖОК
accum_sload/sload_accum реестри үчүн синхрондуу таза булагын аныктайт.
Бул параметрди иштетүү үчүн алдын ала жүктөө туруктуу параметрин иштетүү керек.
Өчүк
Кош аккумулятордук регистрди иштетет.
Intel FPGA бүтүн арифметикалык IP өзөктөрү Колдонуучунун колдонмосу 54
Пикир жөнөтүү
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
8.6.6. Systolic/Chainout Tab
Таблица 35. Систоликалык/Чынжырча кошумчалоочу табы
Параметр Чынжыр кошууну иштетүү
IP түзүлгөн параметр
Нарк
chainout_add ООБА,
er
ЖОК
Чынжыр кошуучу операциянын түрү кандай?
chainout_add ADD,
er_direction
SUB
Чынжыр кошуучу үчүн "жокко чыгаруу" киргизүү иштетилсинби?
Port_negate
PORT_USED, PORT_UNUSED
"Жокко чыгаруу" киргизүү катталсынбы? negate_regist er
КАТТАЛБАГАН, СААТ0, СААТ1, СААТ2, СААТ3
Асинхрондук так киргизүүнүн булагы эмне?
negate_aclr
ЖОК ACLR0 ACLR1
Синхрондуу так киргизүүнүн булагы кайсы?
negate_sclr
ЖОК SCLR0 SCLR1
Систоликалык кечигүү
Систоликалык кечигүү регистрлерин иштетүү
gui_systolic_d On
элай
Өчүк
Саатты киргизүү булагы эмне?
gui_systolic_d CLOCK0,
кечки_саат
СААТ1,
Демейки маани
ЖОК
Description
Chainout кошуу модулун иштетүү үчүн YES тандаңыз.
КОШУУ
Чынжыр кошуучу операцияны аныктайт.
Кемитүү операциясы үчүн SIGNED тандалышы керек Көбөйтүүчү А киргизүүлөрү үчүн көрсөтүү форматы кандай? жана B мультипликаторлорунун киргизүү форматы кандай? Көбөйткүчтөр өтмөгүндө.
PORT_UN КОЛДОНУЛГАН
Киргизүү сигналын жокко чыгаруу үчүн PORT_USED тандаңыз.
Бул параметр чынжыр кошуучу өчүрүлгөндө жараксыз.
КАТТАЛГАН ERED
Киргизүүчү сигналды жокко чыгаруу үчүн киргизүү регистрин иштетүү жана жокко чыгаруу регистрине киргизүү саатынын сигналын белгилейт.
Киргизүүнү жокко чыгаруу регистринин кереги жок болсо, UNREGISTERED тандаңыз
Сиз тандаганда бул параметр жараксыз:
· ЖОК үчүн Chainout кошууну иштетүү же
· PORT_UNUSED чынжыр кошуучу үчүн "жокко чыгаруу" киргизүүнү иштетүү үчүнбү? параметр же
ЖОК
Жок кылуу реестри үчүн асинхрондуу таза булагын көрсөтөт.
Сиз тандаганда бул параметр жараксыз:
· ЖОК үчүн Chainout кошууну иштетүү же
· PORT_UNUSED чынжыр кошуучу үчүн "жокко чыгаруу" киргизүүнү иштетүү үчүнбү? параметр же
ЖОК
Жок кылуу реестри үчүн синхрондуу таза булагын белгилейт.
Сиз тандаганда бул параметр жараксыз:
· ЖОК үчүн Chainout кошууну иштетүү же
· PORT_UNUSED чынжыр кошуучу үчүн "жокко чыгаруу" киргизүүнү иштетүү үчүнбү? параметр же
Өчүк CLOCK0
Систоликалык режимди иштетүү үчүн бул параметрди тандаңыз. Бул параметр 2 же 4 дегенди тандаганда жеткиликтүү болот Көбөйткүчтөрдүн саны канча? параметр. Систоликалык кечиктирүү регистрлерин колдонуу үчүн кошуучу бирдиктин Регистр чыгышын иштетүү керек.
Систоликалык кечигүү регистринин кириш саатынын сигналын аныктайт.
уланды…
Пикир жөнөтүү
Intel FPGA бүтүн арифметикалык IP өзөктөрү Колдонуучунун колдонмосу 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
Демейки маани
ЖОК
ЖОК
Description
Бул параметрди иштетүү үчүн систоликалык кечигүү регистрлерин иштетүүнү тандашыңыз керек.
Систоликалык кечигүү реестри үчүн асинхрондуу так булагын көрсөтөт. Бул параметрди иштетүү үчүн систоликалык кечигүү регистрлерин иштетүүнү тандашыңыз керек.
Систоликалык кечигүү реестри үчүн синхрондуу так булагын белгилейт. Бул параметрди иштетүү үчүн систоликалык кечигүү регистрлерин иштетүүнү тандашыңыз керек.
8.6.7. Түтүктөр өтмөк
Таблица 36. Түтүктөр өтмөк
Параметр түтүктөрдү конфигурациялоо
IP түзүлгөн параметр
Нарк
Киргизүүгө түтүк регистрин кошкуңуз келеби?
gui_pipelining Жок, Ооба
Демейки маани
Жок
Сураныч, тактаңыз
күтүү
күтүү саатынын саны
циклдер
0ден чоңураак ар кандай маани
Саатты киргизүү булагы эмне?
gui_input_late ncy_clock
СААТ0, СААТ1, СААТ2
Асинхрондук так киргизүүнүн булагы эмне?
gui_input_late ncy_aclr
ЖОК ACLR0 ACLR1
Синхрондуу так киргизүүнүн булагы кайсы?
gui_input_late ncy_sclr
ЖОК SCLR0 SCLR1
СААТ0 ЖОК
Description
Киргизүүчү сигналдарга түтүк регистринин кошумча деңгээлин иштетүү үчүн Ооба тандаңыз. Сиз 0дөн чоңураак маанини көрсөтүшүңүз керек. Сураныч, кечигүү саат циклдеринин санын көрсөтүңүз.
Саат циклдеринде каалаган күтүү убактысын белгилейт. Түтүк регистринин бир деңгээли = саат циклиндеги 1 күтүү. Сиз киргизүүгө куур регистрди кошкуңуз келеби? үчүн ООБАны тандаңыз. бул параметрди иштетүү үчүн.
Түтүк регистринин кириш саат сигналын иштетүү жана көрсөтүү үчүн Саат0 , Саат1 же Саат2 тандаңыз. Сиз киргизүүгө куур регистрди кошкуңуз келеби? үчүн ООБАны тандаңыз. бул параметрди иштетүү үчүн.
Кошумча түтүк реестри үчүн реестрдин асинхрондуу так булагын көрсөтөт. Сиз киргизүүгө куур регистрди кошкуңуз келеби? үчүн ООБАны тандаңыз. бул параметрди иштетүү үчүн.
Кошумча түтүк реестри үчүн реестрдин синхрондуу так булагын көрсөтөт. Сиз киргизүүгө куур регистрди кошкуңуз келеби? үчүн ООБАны тандаңыз. бул параметрди иштетүү үчүн.
Intel FPGA бүтүн арифметикалык IP өзөктөрү Колдонуучунун колдонмосу 56
Пикир жөнөтүү
683490 | 2020.10.05 Пикир жөнөтүү
9. ALTMEMMULT (эс тутумга негизделген туруктуу коэффициенттин мультипликатору) IP негизги
Көңүл буруңуз:
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 программасынын жардамы менен дизайныңызды түзө аласыз.
ALTMEMMULT IP өзөгү Intel FPGAларда (M512, M4K, M9K жана MLAB эс тутум блоктору менен) табылган ончип эстутум блокторун колдонуу менен эс тутумуна негизделген көбөйткүчтөрдү түзүү үчүн колдонулат. Бул IP өзөгү сизде логикалык элементтерде (LE) көбөйткүчтөрдү ишке ашыруу үчүн жетиштүү ресурстарыңыз болбосо же атайын мультипликатор ресурстары жок болсо пайдалуу.
ALTMEMMULT IP өзөгү саатты талап кылган синхрондуу функция. ALTMEMMULT IP өзөгү параметрлердин жана спецификациялардын берилген топтому үчүн мүмкүн болгон эң аз өткөрүү жөндөмдүүлүгү жана күтүү мөөнөтү менен мультипликаторду ишке ашырат.
Төмөнкү сүрөттө ALTMEMMULT IP өзөгү үчүн порттор көрсөтүлгөн.
Сүрөт 21. ALTMEMMULT порттору
ALTMEMMULT
data_in[] sload_data coeff_in[]
натыйжа[] натыйжа_жарактуу жүктөө_бүттү
sload_coeff
sclr саат
инст
Тиешелүү маалымат өзгөчөлүктөрү 71-бетте
9.1. Өзгөчөлүктөрү
ALTMEMMULT IP өзөгү төмөнкү функцияларды сунуштайт: · Чипте табылган эстутум блокторун колдонуп, эстутумга негизделген көбөйтүүчүлөрдү гана түзөт.
Intel FPGAs · 1 бит маалымат туурасын колдойт · Кол коюлган жана кол коюлбаган маалыматтарды көрсөтүү форматын колдойт · Туруктуу чыгаруу кечигүү менен конвейерди колдойт
Intel корпорациясы. Бардык укуктар корголгон. Intel, Intel логотиби жана башка Intel белгилери Intel корпорациясынын же анын туунду компанияларынын соода белгилери болуп саналат. Intel өзүнүн FPGA жана жарым өткөргүч өнүмдөрүн Intelдин стандарттык гарантиясына ылайык учурдагы спецификацияларга ылайык аткарууга кепилдик берет, бирок эскертүүсүз каалаган убакта каалаган өнүмгө жана кызматтарга өзгөртүү киргизүү укугун өзүнө калтырат. Intel бул жерде сүрөттөлгөн кандайдыр бир маалыматты, продуктуну же кызматты колдонуудан же колдонуудан келип чыккан эч кандай жоопкерчиликти же жоопкерчиликти өзүнө албайт, Intel тарабынан жазуу жүзүндө ачык макулдашылгандан башка учурларда. Intel кардарларына жарыяланган маалыматка ишенүүдөн мурун жана өнүмдөр же кызматтарга буйрутма берүүдөн мурун түзмөктүн спецификацияларынын акыркы версиясын алуу сунушталат. *Башка ысымдар жана бренддер башкалардын менчиги катары талап кылынышы мүмкүн.
ISO 9001: 2015 Катталган
9. ALTMEMMULT (Эс тутумга негизделген туруктуу коэффициенттин мультипликатору) IP Core 683490 | 2020.10.05
· Кокустук эстутумда (RAM) бир нече константаларды сактайт
· RAM блок түрүн тандоо мүмкүнчүлүгүн камсыз кылат
· Кошумча синхрондуу так жана жүктү башкаруу портторун колдойт
9.2. Verilog HDL прототиби
Төмөнкү Verilog HDL прототиби Verilog Дизайнында жайгашкан File (.v) altera_mf.v in the eda синтез каталогу.
module altmemmult #( coeff_representation = “КОЛДОНУЛГАН”, параметр коэффициенти0 = “КОЛДОНУЛГАН”, data_representation параметри = “КОЛДОНУЛГАН”, intended_device_family параметри = “колдонулбаган”, параметр максималдуу_саат_циклдер_натыйжа = 1, параметрдин_саны_1, параметр_TO_коэффициент = AU_коэффиценти total_latency = 1, width_c = 1, width_d = 1, width_r = 1, width_s = 1, lpm_type параметри = “altmemmult”, lpm_hint параметри = “колдонулбаган”) ( киргизүү зым сааты, киргизүү зымы [width_c-1: 0]коэфф_ин, киргизүү зымы [кеңи_д-1:0] маалымат_ин, чыгуу зымы жүктөлдү, чыгуу зымы [эн_r-1:0] натыйжасы, чыгуу зымынын натыйжасы_жарактуу, киргизүү зымы sclr, киргизүү зымы [кенен_с-1:0] тандоо, киргизүү зым sload_coeff, киргизүү зым sload_data)/* синтез syn_black_box=1 */; endmodule
9.3. VHDL компонентинин декларациясы
VHDL компонентинин декларациясы VHDL Дизайнында жайгашкан File (.vhd) altera_mf_components.vhd ичинде librariesvhdlaltera_mf каталогу.
компонент altmemmult генерик ( coeff_representation:string := “SIGNED”; коэффициент0:сап := “КОЛДОНУЛГАН”; data_representation:string := “КОЛДОНУЛГАН”; intended_device_family:string := “колдонулбаган”; max_clock_cycles_per_result:naturals_effect=natural_саны; := 1; ram_block:string := “AUTO” width_d: natural := lpm_hint:string; "altmemmult"); port( clock:in std_logic; coeff_in:in std_logic_vector(width_c-1 1 чейин) := (башкалары => '1'); data_in:in std_logic_vector(width_d-0 0 чейин);
Intel FPGA бүтүн арифметикалык IP өзөктөрү Колдонуучунун колдонмосу 58
Пикир жөнөтүү
9. ALTMEMMULT (Эс тутумга негизделген туруктуу коэффициенттин мультипликатору) IP Core 683490 | 2020.10.05
load_done:out std_logic; натыйжа:чыгып std_logic_vector(width_r-1 0 чейин); result_valid:out std_logic; sclr:in std_logic := '0'; sel:in std_logic_vector(width_s-1 0 чейин) := (башкалары => '0'); sload_coeff:in std_logic := '0'; sload_data: std_logic ичинде := '0'); акыркы компонент;
9.4. Порттар
Төмөнкү таблицаларда ALTMEMMULT IP өзөгү үчүн киргизүү жана чыгаруу порттору келтирилген.
Таблица 37. ALTMEMMULT Киргизүү порттору
Порт аты
Талап кылынат
Description
саат
Ооба
Мультипликаторго саат киргизүү.
coeff_in[]
Жок
Мультипликатор үчүн коэффициент киргизүү порту. Киргизүү портунун өлчөмү WIDTH_C параметринин маанисине жараша болот.
data_in[]
Ооба
мультипликаторго берилиштерди киргизүү порту. Киргизүү портунун өлчөмү WIDTH_D параметринин маанисине жараша болот.
sclr
Жок
Синхрондуу так киргизүү. Эгер колдонулбаса, демейки маани активдүү жогорку болуп саналат.
сел[]
Жок
Туруктуу коэффициент тандоо. Киргизүү портунун өлчөмү WIDTH_S көз каранды
параметр мааниси.
sload_coeff
Жок
Синхрондук жүктөө коэффициентин киргизүү порту. Учурдагы тандалган коэффициенттин маанисин coeff_in киргизүүдө көрсөтүлгөн мааниге алмаштырат.
sload_data
Жок
Синхрондук жүктөө маалымат киргизүү порту. Жаңы көбөйтүү операциясын белгилеген жана учурдагы көбөйтүү операциясын жокко чыгарган сигнал. MAX_CLOCK_CYCLES_PER_RESULT параметринин мааниси 1 болсо, sload_data киргизүү порту этибарга алынбайт.
Таблица 38. ALTMEMMULT чыгаруу порттору
Порт аты
Талап кылынат
Description
натыйжа[]
Ооба
Көбөйтүүчү чыгаруу порту. Киргизүү портунун өлчөмү WIDTH_R параметринин маанисине жараша болот.
натыйжа_жарактуу
Ооба
Чыгуу толук көбөйтүүнүн жарактуу натыйжасы болгондо көрсөтөт. MAX_CLOCK_CYCLES_PER_RESULT параметринин мааниси 1 болсо, result_valid чыгаруу порту колдонулбайт.
жүктөө_бүттү
Жок
Жаңы коэффициент качан жүктөлүп бүткөнүн көрсөтөт. load_done сигналы жаңы коэффициент жүктөлүп бүткөнүн ырастайт. load_done сигналы жогору болбосо, башка эч кандай коэффициент маанисин эстутумга жүктөө мүмкүн эмес.
9.5. Параметрлер
Төмөнкү таблицада ALTMEMMULT IP өзөгүнүн параметрлери келтирилген.
Таблица 39.
WIDTH_D WIDTH_C
ALTMEMMULT Параметрлери
Параметр аты
Түрү Зарыл
Description
Бүтүн сан Ооба
data_in[] портунун туурасын белгилейт.
Бүтүн сан Ооба
coeff_in[] портунун туурасын аныктайт. уланды…
Пикир жөнөтүү
Intel FPGA бүтүн арифметикалык IP өзөктөрү Колдонуучунун колдонмосу 59
9. ALTMEMMULT (Эс тутумга негизделген туруктуу коэффициенттин мультипликатору) IP Core 683490 | 2020.10.05
Параметр аты WIDTH_R WIDTH
Документтер / Ресурстар
![]() |
intel FPGA бүтүн арифметикалык IP өзөктөрү [pdf] Колдонуучунун колдонмосу FPGA бүтүн арифметикалык IP өзөктөрү, бүтүн арифметикалык IP өзөктөрү, арифметикалык IP өзөктөрү, IP өзөктөрү |