FPGA kokonaislukuaritmeettiset IP-ytimet
Intel FPGA Integer Aritmetic IP Cores -käyttöopas
Päivitetty Intel® Quartus® Prime Design Suiteen: 20.3
Online-versio Lähetä palautetta
UG-01063
ID: 683490 Versio: 2020.10.05
Sisällys
Sisällys
1. Intel FPGA Integer Aritmetic IP -ytimet…………………………………………………………………….. 5
2. LPM_LASKURI (laskuri) IP-ydin…………………………………………………………………………….. 7 2.1. Ominaisuudet……………………………………………………………………………………………………7 2.2. Verilog HDL -prototyyppi………………………………………………………………………………….. 8 2.3. VHDL-komponenttien ilmoitus……………………………………………………………………….8 2.4. VHDL LIBRARY_USE -ilmoitus………………………………………………………………………… 9 2.5. Portit………………………………………………………………………………………………………..9 2.6. Parametrit………………………………………………………………………………………………… 10
3. LPM_DIVIDE (jakaja) Intel FPGA IP Core…………………………………………………………….. 12 3.1. Ominaisuudet………………………………………………………………………………………………. 12 3.2. Verilog HDL -prototyyppi ……………………………………………………………………………… 12 3.3. VHDL-komponenttien ilmoitus…………………………………………………………………….. 13 3.4. VHDL LIBRARY_USE -ilmoitus………………………………………………………………………. 13 3.5. Portit……………………………………………………………………………………………………… 13 3.6. Parametrit………………………………………………………………………………………………… 14
4. LPM_MULT (kerroin) IP-ydin……………………………………………………………………………. 16 4.1. Ominaisuudet………………………………………………………………………………………………. 16 4.2. Verilog HDL -prototyyppi…………………………………………………………………………………… 17 4.3. VHDL-komponenttien ilmoitus…………………………………………………………………….. 17 4.4. VHDL LIBRARY_USE -ilmoitus………………………………………………………………………. 17 4.5. Signaalit…………………………………………………………………………………………………… 18 4.6. Parametrit Stratix V-, Arria V-, Cyclone V- ja Intel Cyclone 10 LP -laitteille…………… 18 4.6.1. Yleistä-välilehti…………………………………………………………………………………18 4.6.2. Yleinen 2 -välilehti …………………………………………………………………………… 19 4.6.3. Putkisto -välilehti ... Parametrit Intel Stratix 19-, Intel Arria 4.7- ja Intel Cyclone 10 GX -laitteille……….. 10 10. Yleistä-välilehti…………………………………………………………………………………20 4.7.1. Yleinen 20 -välilehti ... Putkityöstö…………………………………………………………………………………………4.7.2
5. LPM_ADD_SUB (ADDER/VIIRJA) ……………………………………………………………………… 22 5.1. Ominaisuudet………………………………………………………………………………………………. 22 5.2. Verilog HDL -prototyyppi…………………………………………………………………………………… 23 5.3. VHDL-komponenttien ilmoitus…………………………………………………………………….. 23 5.4. VHDL LIBRARY_USE -ilmoitus………………………………………………………………………. 23 5.5. Portit……………………………………………………………………………………………………… 23 5.6. Parametrit………………………………………………………………………………………………… 24
6. LPM_VERTAA (Vertailu)……………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………… 26 6.1. Ominaisuudet………………………………………………………………………………………………. 26 6.2. Verilog HDL -prototyyppi…………………………………………………………………………………… 27 6.3. VHDL-komponenttien ilmoitus…………………………………………………………………….. 27 6.4. VHDL LIBRARY_USE -ilmoitus………………………………………………………………………. 27 6.5. Portit……………………………………………………………………………………………………… 27 6.6. Parametrit………………………………………………………………………………………………… 28
Intel FPGA Integer Aritmetic IP Cores -käyttöopas 2
Lähetä palautetta
Sisällys
7. ALTECC (Virheenkorjauskoodi: Enkooderi/dekooderi) IP-ydin………………………………………… 30
7.1. ALTECC Enkooderin ominaisuudet……………………………………………………………………………..31 7.2. Verilog HDL Prototype (ALTECC_ENCODER)………………………………………………………. 32 7.3. Verilog HDL Prototype (ALTECC_DECODER)………………………………………………………. 32 7.4. VHDL-komponenttien ilmoitus (ALTECC_ENCODER)………………………………………………33 7.5. VHDL-komponenttien ilmoitus (ALTECC_DECODER)………………………………………………33 7.6. VHDL LIBRARY_USE -ilmoitus………………………………………………………………………. 33 7.7. Enkooderin portit…………………………………………………………………………………………… 33 7.8. Dekooderin portit………………………………………………………………………………………………34 7.9. Enkooderin parametrit…………………………………………………………………………………… 34 7.10. Dekooderin parametrit ………………………………………………………………………………… 35
8. Intel FPGA Multiply Adder IP Core………………………………………………………………………. 36
8.1. Ominaisuudet………………………………………………………………………………………………. 37 8.1.1. Esilisääjä…………………………………………………………………………………….. 38 8.1.2. Systolinen viiverekisteri…………………………………………………………………….. 40 8.1.3. Esikuormitusvakio……………………………………………………………………………… 43 8.1.4. Kaksoisakku………………………………………………………………………… 43
8.2. Verilog HDL -prototyyppi ……………………………………………………………………………… 44 8.3. VHDL-komponenttien ilmoitus……………………………………………………………………….. 44 8.4. VHDL LIBRARY_USE -ilmoitus………………………………………………………………………. 44 8.5. Signaalit……………………………………………………………………………………………………… 44 8.6. Parametrit………………………………………………………………………………………………… 47
8.6.1. Yleistä-välilehti……………………………………………………………………………………47 8.6.2. Lisätilat-välilehti…………………………………………………………………………….. 47 8.6.3. Kertoimet-välilehti……………………………………………………………………………….. 49 8.6.4. Preadder-välilehti………………………………………………………………………………. 51 8.6.5. Akkuvälilehti…………………………………………………………………………….. 53 8.6.6. Systolinen/Chainout-välilehti………………………………………………………………………. 55 8.6.7. Liukutus-välilehti…………………………………………………………………………………… 56
9. ALTMEMMULT (muistipohjainen vakiokerroinkerroin) IP-ydin……………………… 57
9.1. Ominaisuudet………………………………………………………………………………………………. 57 9.2. Verilog HDL -prototyyppi ……………………………………………………………………………… 58 9.3. VHDL-komponenttien ilmoitus……………………………………………………………………….. 58 9.4. Portit………………………………………………………………………………………………………… 59 9.5. Parametrit………………………………………………………………………………………………… 59
10. ALTMULT_ACCUM (Multiply-Accumulate) IP Core…………………………………………………… 61
10.1. Ominaisuudet……………………………………………………………………………………………….. 62 10.2. Verilog HDL Prototype………………………………………………………………………………..62 10.3. VHDL -komponenttiilmoitus ………………………………………………………………………………………………………………… 63 10.4. VHDL LIBRARY_USE -ilmoitus………………………………………………………………………63 10.5. Portit……………………………………………………………………………………………………. 63 10.6. Parametrit…………………………………………………………………………………………. 64
11. ALTMULT_ADD (Multiply-Adder) IP-ydin………………………………………………………………..69
11.1. Ominaisuudet……………………………………………………………………………………………….. 71 11.2. Verilog HDL -prototyyppi………………………………………………………………………………..72 11.3. VHDL -komponenttiilmoitus …………………………………………………………………… 72 11.4. VHDL LIBRARY_USE -ilmoitus………………………………………………………………………72
Lähetä palautetta
Intel FPGA Integer Aritmetic IP Cores -käyttöopas 3
Sisällys
11.5. Portit……………………………………………………………………………………………………. 72 11.6. Parametrit…………………………………………………………………………………………. 73
12. Altmult_complex (kompleksi kertoimen) IP -ydin ……………………………………………… 86 12.1. Monimutkainen kertolasku……………………………………………………………………………. 86 12.2. Kanoninen esitys…………………………………………………………………………… 87 12.3. Perinteinen edustus……………………………………………………………………. 87 12.4. Ominaisuudet……………………………………………………………………………………………….. 88 12.5. Verilog HDL Prototype………………………………………………………………………………..88 12.6. VHDL-komponenttien ilmoitus………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………… 89 12.7. VHDL LIBRARY_USE -ilmoitus………………………………………………………………………89 12.8. Signaalit…………………………………………………………………………………………………. 89 12.9. Parametrit…………………………………………………………………………………………. 90
13. ALTSQRT (Integer Square Root) IP-ydin……………………………………………………………………92 13.1. Ominaisuudet……………………………………………………………………………………………….. 92 13.2. Verilog HDL Prototype………………………………………………………………………………..92 13.3. VHDL -komponenttiilmoitus ………………………………………………………………………………………………………………… 93 13.4. VHDL LIBRARY_USE -ilmoitus………………………………………………………………………93 13.5. Portit……………………………………………………………………………………………………. 93 13.6. Parametrit…………………………………………………………………………………………. 94
14. PARALLEL_ADD (Parallel Adder) IP Core…………………………………………………………………………………………………………………………………………………………………………………………………….. 95 14.1. Ominaisuus………………………………………………………………………………………………….95 14.2. Verilog HDL Prototype………………………………………………………………………………..95 14.3. VHDL -komponenttiilmoitus ……………………………………………………………………… 96 14.4. VHDL LIBRARY_USE -ilmoitus………………………………………………………………………96 14.5. Portit……………………………………………………………………………………………………. 96 14.6. Parametrit…………………………………………………………………………………………. 97
15. Kokonaislukuaritmeettiset IP-ytimet Käyttöopas Asiakirja-arkistot…………………………………… 98
16. Asiakirjan versiohistoria Intel FPGA Integer Aritmetic IP Cores User Guide…. 99
Intel FPGA Integer Aritmetic IP Cores -käyttöopas 4
Lähetä palautetta
683490 | 2020.10.05 Lähetä palautetta
1. Intel FPGA Integer Aritmetic IP -ytimet
Voit käyttää Intel® FPGA:n kokonaisluku IP-ytimiä matemaattisten operaatioiden suorittamiseen suunnittelussasi.
Nämä toiminnot tarjoavat tehokkaamman logiikan synteesin ja laitetoteutuksen kuin omien toimintojen koodaaminen. Voit mukauttaa IP-ytimiä suunnitteluvaatimustesi mukaan.
Intelin kokonaislukuaritmeettiset IP-ytimet jaetaan kahteen luokkaan: · Parametrisoitujen moduulien (LPM) IP-ytimien kirjasto · Intel-spesifiset (ALT) IP-ytimet
Seuraavassa taulukossa luetellaan kokonaislukuaritmeettiset IP-ytimet.
Taulukko 1.
Luettelo IP-ytimistä
IP-ytimet
LPM IP-ytimet
LPM_LASKURI
LPM_DIVIDE
LPM_MULT
LPM_ADD_SUB
LPM_COMPARE
Intel-spesifiset (ALT) IP-ytimet ALTECC
Toiminto ohiview Counter Divider Kerroin
Summain tai vähennyslaskija Comparator
ECC-enkooderi/dekooderi
Tuettu laite
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 jatkui…
Intel Corporation. Kaikki oikeudet pidätetään. Intel, Intel-logo ja muut Intel-merkit ovat Intel Corporationin tai sen tytäryhtiöiden tavaramerkkejä. Intel takaa FPGA- ja puolijohdetuotteidensa suorituskyvyn nykyisten vaatimusten mukaisesti Intelin vakiotakuun mukaisesti, mutta pidättää oikeuden tehdä muutoksia tuotteisiin ja palveluihin milloin tahansa ilman erillistä ilmoitusta. Intel ei ota minkään tässä kuvatun tiedon, tuotteen tai palvelun soveltamisesta tai käytöstä johtuvaa vastuuta tai vastuuta, paitsi jos Intel on nimenomaisesti kirjallisesti hyväksynyt. Intelin asiakkaita kehotetaan hankkimaan uusin versio laitteen teknisistä tiedoista ennen kuin he luottavat julkaistuihin tietoihin ja ennen kuin he tilaavat tuotteita tai palveluita. *Muut nimet ja tuotemerkit voidaan väittää muiden omaisuudeksi.
ISO 9001: 2015 rekisteröity
1. Intel FPGA Integer Aritmetic IP -ytimet 683490 | 2020.10.05
IP-ytimet Intel FPGA Multiply Adder tai ALTERA_MULT_ADD ALTMEMMULT
ALTMULT_ACCUM ALTMULT_ADD ALTMULT_COMPLEX
ALTSQRT
PARALLEL_LISÄÄ
Toiminto ohiview Kerroin-lisääjä
Muistipohjainen vakiokerroinkerroin
Kerroin-akkumultikerin-summain
Monimutkainen kerroin
Kokonaisluvun neliöjuuri
Rinnakkaissummain
Tuettu laite
Arria V, Stratix V, Cyclone V, Intel Stratix 10, Intel Arria 10, Intel Cyclone
10 GX
Arria II GX, Arria II GZ, Arria V, Intel Arria 10 (Intel Quartus® Prime Standard Edition), Cyclone IV E, Cyclone IV GX, Cyclone V, Intel
Cyclone 10 LP, MAX II, MAX V, MAX 10, Stratix IV, Stratix V
Arria II GX, Arria II GZ, Cyclone IV E, Cyclone IV GX, Intel Cyclone 10 LP, MAX 10, MAX II, MAX V, Stratix IV
Arria II GX, Arria II GZ, Cyclone IV E, Cyclone IV GX, Intel Cyclone 10 LP, MAX 10, MAX II, MAX V, Stratix IV
Arria II GX, Arria II GZ, Intel Arria 10, Arria V, Arria V GZ, Cyclone IV E, Cyclone IV GX, Cyclone V, Intel
Cyclone 10 GX, Intel Cyclone 10 LP, MAX 10, Stratix V, Intel Stratix 10
Arria II GX, Arria II GZ, Arria V, Intel Arria 10, Cyclone IV E, Cyclone IV GX,
Cyclone V, Intel Cyclone 10 LP, Intel Cyclone 10 GX, MAX II, MAX V, MAX
10, Stratix IV, Stratix V
Arria II GX, Arria II GZ, Arria V, Intel Arria 10, Cyclone IV E, Cyclone IV GX,
Cyclone V, Intel Cyclone 10 LP, Intel Cyclone 10 GX, MAX II, MAX V, MAX
10, Stratix IV, Stratix V
Aiheeseen liittyvät tiedot
· Intel FPGA:t ja ohjelmoitavat laitteet julkaisutiedot
· Johdatus Intel FPGA IP -ytimiin Antaa lisätietoja Intel FPGA IP -ytimistä.
· Liukuvan pisteen IP-ytimien käyttöopas Sisältää lisätietoja Intel FPGA Floating Point -IP-ytimistä.
· Johdatus Intel FPGA IP -ytimiin Tarjoaa yleistä tietoa kaikista Intel FPGA IP -ytimistä, mukaan lukien IP-ytimien parametrointi, luonti, päivitys ja simulointi.
· Versiosta riippumattomien IP- ja Qsys-simulaatiokomentosarjojen luominen Luo simulaatiokomentosarjoja, jotka eivät vaadi manuaalisia ohjelmistopäivityksiä tai IP-versiopäivityksiä.
· Projektinhallinnan parhaiden käytäntöjen ohjeet projektin ja IP:n tehokkaaseen hallintaan ja siirrettävyyteen files.
· Kokonaislukuaritmeettiset IP-ytimet Käyttöopas Asiakirja-arkistot sivulla 98 Sisältää luettelon kokonaislukuaritmeettisten IP-ytimien aiempien versioiden käyttöoppaista.
Intel FPGA Integer Aritmetic IP Cores -käyttöopas 6
Lähetä palautetta
683490 | 2020.10.05 Lähetä palautetta
2. LPM_COUNTER (laskuri) IP-ydin
Kuva 1.
LPM_COUNTER IP-ydin on binäärilaskuri, joka luo ylös-, ala- ja ylös- tai alaslaskureita, joiden lähdöt ovat jopa 256 bittiä leveitä.
Seuraava kuva näyttää LPM_COUNTER IP-ytimen portit.
LPM_COUNTER Portit
LPM_LASKURI
ssclr lataa sset data[]
q[]
ylös alas
cout
aclr aload aset
clk_en cnt_en cin
inst
2.1. Ominaisuudet
LPM_COUNTER IP-ydin tarjoaa seuraavat ominaisuudet: · Luo ylös, alas ja ylös/alas laskurit · Luo seuraavat laskurityypit:
— Tavallinen binääri – laskuri kasvaa nollasta alkaen tai pienenee 255:stä alkaen
— Modulus – laskuri kasvaa tai pienenee käyttäjän määrittelemään moduuliarvoon ja toistaa
· Tukee valinnaisia synkronisia tyhjennys-, lataus- ja asetustuloportteja · Tukee valinnaisia asynkronisia tyhjennys-, lataus- ja asetustuloportteja · Tukee valinnaisia laskuri- ja kellonsyöttöportteja · Tukee valinnaisia kuljetus- ja siirtoportteja
Intel Corporation. Kaikki oikeudet pidätetään. Intel, Intel-logo ja muut Intel-merkit ovat Intel Corporationin tai sen tytäryhtiöiden tavaramerkkejä. Intel takaa FPGA- ja puolijohdetuotteidensa suorituskyvyn nykyisten vaatimusten mukaisesti Intelin vakiotakuun mukaisesti, mutta pidättää oikeuden tehdä muutoksia tuotteisiin ja palveluihin milloin tahansa ilman erillistä ilmoitusta. Intel ei ota minkään tässä kuvatun tiedon, tuotteen tai palvelun soveltamisesta tai käytöstä johtuvaa vastuuta tai vastuuta, paitsi jos Intel on nimenomaisesti kirjallisesti hyväksynyt. Intelin asiakkaita kehotetaan hankkimaan uusin versio laitteen teknisistä tiedoista ennen kuin he luottavat julkaistuihin tietoihin ja ennen kuin he tilaavat tuotteita tai palveluita. *Muut nimet ja tuotemerkit voidaan väittää muiden omaisuudeksi.
ISO 9001: 2015 rekisteröity
2. LPM_COUNTER (laskuri) IP-ydin
683490 | 2020.10.05
2.2. Verilog HDL -prototyyppi
Seuraava Verilog HDL -prototyyppi sijaitsee Verilog Designissa File (.v) lpm.v edasynthesis -hakemisto.
moduuli lpm_counter ( q, data, kello, cin, cout, clk_en, cnt_en, updown, aset, aclr, aload, sset, slr, sload, eq ); parametri lpm_type = "lpm_counter"; parametri lpm_width = 1; parametri lpm_modulus = 0; parametri lpm_direction = "UNUSED"; parametri lpm_avalue = "UNUSED"; parametri lpm_svalue = "UNUSED"; parametri lpm_pvalue = "UNUSED"; parametri lpm_port_updown = "PORT_CONNECTIVITY"; parametri lpm_hint = "KÄYTTÄMÄTTÖMÄN"; lähtö [lpm_leveys-1:0] q; tuotos cout; lähtö [15:0] ekv; tulo cin; syötä [lpm_width-1:0] tiedot; input clock, clk_en, cnt_en, updown; input aset, aclr, aload; input sset, slr, sload; loppumoduuli
2.3. VHDL-komponenttien ilmoitus
VHDL-komponenttiilmoitus sijaitsee VHDL-suunnittelussa File (.vhd) LPM_PACK.vhd librariesvhdllpm-hakemisto.
komponentti LPM_COUNTER yleinen ( LPM_WIDTH : luonnollinen; LPM_MODULUS : luonnollinen := 0; LPM_DIRECTION : string := "UNUSED"; LPM_AVALUE : string := "UNUSED"; LPM_SVALUE : string := "UNUSED"; LPM_PORTING ; LPM_PVALUE : string := "UNUSED"; portti (DATA : in std_logic_vector(LPM_WIDTH-1 alas 0):= (OTHERS =>
'0'); KELLO: in std_logic; CLK_FI : in std_logic := '1'; CNT_EN : in std_logic := '1'; UPDOWN : in std_logic := '1'; LATA : in std_logic := '0'; SSET : in std_logic := '0'; SCLR : in std_logic := '0'; LATAA : in std_logic := '0'; ASET : in std_logic := '0'; ACLR : in std_logic := '0'; CIN : in std_logic := '1'; COUT : out std_logic := '0'; K: out std_logic_vector(LPM_WIDTH-1 alas 0); EQ : out std_logic_vector(15 alas 0));
lopussa komponentti;
Intel FPGA Integer Aritmetic IP Cores -käyttöopas 8
Lähetä palautetta
2. LPM_COUNTER (laskuri) IP Core 683490 | 2020.10.05
2.4. VHDL LIBRARY_USE -ilmoitus
VHDL LIBRARY-USE -ilmoitusta ei vaadita, jos käytät VHDL-komponenttiilmoitusta.
KIRJASTO lpm; KÄYTÄ lpm.lpm_components.all;
2.5. Portit
Seuraavissa taulukoissa on lueteltu LPM_COUNTER IP-ytimen tulo- ja lähtöportit.
Taulukko 2.
LPM_COUNTER tuloportit
Portin nimi
Pakollinen
Kuvaus
data[]
Ei
Rinnakkaistietojen syöttö laskuriin. Tuloportin koko riippuu parametrin LPM_WIDTH arvosta.
kello
Kyllä
Positiivisen reunan liipaisukellotulo.
clk_en
Ei
Kellon aktivoinnin syöttö mahdollistaa kaikki synkroniset toiminnot. Jos se jätetään pois, oletusarvo on 1.
cnt_en
Ei
Count salli-syöte poistaa käytöstä laskun, kun se on alhainen vaikuttamatta sload-, sset- tai slr-arvoon. Jos se jätetään pois, oletusarvo on 1.
ylös alas
Ei
Ohjaa laskennan suuntaa. Kun vahvistetaan korkea (1), laskentasuunta on ylöspäin, ja kun väitetään matala (0), laskentasuunta on alas. Jos LPM_DIRECTION-parametria käytetään, updown-porttia ei voi yhdistää. Jos LPM_DIRECTION-suuntaa ei käytetä, updown-portti on valinnainen. Jos se jätetään pois, oletusarvo on ylöspäin (1).
cin
Ei
Suorita alemman asteen bitti. Ylöslaskureita varten cin-tulon käyttäytyminen on
identtinen cnt_en-syötteen käyttäytymisen kanssa. Jos se jätetään pois, oletusarvo on 1
(VCC).
aclr
Ei
Asynkroninen tyhjennystulo. Jos sekä aset että aclr käytetään ja vahvistetaan, aclr ohittaa aset. Jos se jätetään pois, oletusarvo on 0 (pois käytöstä).
aset
Ei
Asynkroninen asetustulo. Määrittää q[]-ulostuloksi kaikki 1:t tai LPM_AVALUE-parametrin määrittämän arvon. Jos sekä aset- että aclr-portteja käytetään ja vahvistetaan, aclr-portin arvo ohittaa aset-portin arvon. Jos se jätetään pois, oletusarvo on 0, ei käytössä.
kuorma
Ei
Asynkroninen lataussyöte, joka lataa asynkronisesti laskurin datasyötteen arvolla. Kun latausporttia käytetään, data[]-portti on kytkettävä. Jos se jätetään pois, oletusarvo on 0, ei käytössä.
sclr
Ei
Synkroninen tyhjennystulo, joka tyhjentää seuraavan aktiivisen kellon reunan laskurin. Jos sekä sset- että slr-portteja käytetään ja vahvistetaan, slr-portin arvo ohittaa sset-portin arvon. Jos se jätetään pois, oletusarvo on 0, ei käytössä.
sset
Ei
Synkroninen asetustulo, joka asettaa laskurin seuraavaan aktiiviseen kellon reunaan. Määrittää q-tulosteiden arvon kaikkina 1:inä tai LPM_SVALUE-parametrin määrittämänä arvona. Jos sekä sset- että slr-portteja käytetään ja vahvistetaan,
slr-portin arvo ohittaa sset-portin arvon. Jos se jätetään pois, oletusarvo on 0 (pois käytöstä).
kuorma
Ei
Synkroninen lataustulo, joka lataa laskurin datalla [] seuraavalla aktiivisella kellon reunalla. Kun latausporttia käytetään, data[]-portti on kytkettävä. Jos se jätetään pois, oletusarvo on 0 (pois käytöstä).
Lähetä palautetta
Intel FPGA Integer Aritmetic IP Cores -käyttöopas 9
2. LPM_COUNTER (laskuri) IP Core 683490 | 2020.10.05
Taulukko 3.
LPM_COUNTER lähtöportit
Portin nimi
Pakollinen
Kuvaus
q[]
Ei
Tietojen ulostulo laskurista. Lähtöportin koko riippuu
LPM_WIDTH parametrin arvo. Joko q[] tai ainakin yksi eq[15..0]-porteista
on kytkettävä.
eq[15..0]
Ei
Laskurin dekoodauslähtö. Eq[15..0]-portti ei ole käytettävissä parametrieditorissa, koska parametri tukee vain AHDL:ää.
Joko q[]-portin tai eq[]-portin on oltava kytkettynä. Jopa c eq -portteja voidaan käyttää (0 <= c <= 15). Vain 16 pienintä arvoa dekoodataan. Kun laskenta-arvo on c, eqc-lähtö vahvistetaan korkeaksi (1). esimample, kun luku on 0, eq0 = 1, kun luku on 1, eq1 = 1, ja kun luku on 15, eq 15 = 1. Dekoodattu lähtö laskenta-arvoille 16 tai suurempi vaatii ulkoisen dekoodauksen. Eq[15..0]-ulostulot ovat asynkronisia q[]-lähdön kanssa.
cout
Ei
Laskurin MSB-bitin suoritusportti. Sitä voidaan käyttää yhdistämään toiseen laskuriin suuremman laskurin luomiseksi.
2.6. parametrit
Seuraavassa taulukossa luetellaan LPM_COUNTER IP-ytimen parametrit.
Taulukko 4.
LPM_COUNTER Parametrit
Parametrin nimi
Tyyppi
LPM_WIDTH
Kokonaisluku
LPM_DIRECTION
merkkijono
LPM_MODULUS LPM_AVALUE
Kokonaisluku
Kokonaisluku/ merkkijono
LPM_SVALUE LPM_HINT
Kokonaisluku/ merkkijono
merkkijono
LPM_TYPE
merkkijono
Pakollinen Kyllä Ei Ei Ei Ei
Ei Ei
Ei
Kuvaus
Määrittää data[]- ja q[]-porttien leveydet, jos niitä käytetään.
Arvot ovat UP, DOWN ja UNUSED. Jos LPM_DIRECTION-parametria käytetään, updown-porttia ei voi yhdistää. Kun updown-porttia ei ole kytketty, LPM_DIRECTION-parametrin oletusarvo on UP.
Enimmäismäärä plus yksi. Yksilöllisten tilojen määrä laskurin syklissä. Jos kuormitusarvo on suurempi kuin LPM_MODULUS-parametri, laskurin toimintaa ei ole määritetty.
Vakioarvo, joka ladataan, kun aset on asetettu korkeaksi. Jos määritetty arvo on suurempi tai yhtä suuri kuin , laskurin käyttäytyminen on määrittelemätön (X) logiikkataso, jossa on LPM_MODULUS, jos sellainen on, tai 2 ^ LPM_WIDTH. Intel suosittelee, että määrität tämän arvon desimaalilukuna AHDL-malleille.
Vakioarvo, joka ladataan kelloportin nousevalle reunalle, kun sset-portti on asetettu korkeaksi. Intel suosittelee, että määrität tämän arvon desimaalilukuna AHDL-malleille.
Kun luot parametrisoitujen moduulien (LPM) kirjaston VHDL-suunnittelussa File (.vhd), sinun on määritettävä Intel-kohtainen parametri parametrilla LPM_HINT. esimample: LPM_HINT = "CHAIN_SIZE = 8, ONE_INPUT_IS_CONSTANT = KYLLÄ"
Oletusarvo on UNUSED.
Tunnistaa parametrisoitujen moduulien (LPM) kirjaston entiteetin nimen VHDL-suunnittelussa files.
jatkui…
Intel FPGA Integer Aritmetic IP Cores -käyttöopas 10
Lähetä palautetta
2. LPM_COUNTER (laskuri) IP Core 683490 | 2020.10.05
Parametrin nimi INTENDED_DEVICE_FAMILY CARRY_CNT_EN
LABWIDE_SCLR
LPM_PORT_UPDOWN
Kirjoita merkkijono merkkijono
merkkijono
merkkijono
Pakollinen Ei Ei
Ei
Ei
Kuvaus
Tätä parametria käytetään mallintamiseen ja käyttäytymisen simulointiin. Tätä parametria käytetään mallintamiseen ja käyttäytymisen simulointiin. Parametrieditori laskee tämän parametrin arvon.
Intel-kohtainen parametri. Sinun on käytettävä LPM_HINT-parametria määrittääksesi CARRY_CNT_EN-parametrin VHDL-suunnittelussa files. Arvot ovat SMART, ON, OFF ja UNUSED. Mahdollistaa LPM_COUNTER-funktion välittämään cnt_en-signaalin siirtoketjun läpi. Joissakin tapauksissa CARRY_CNT_EN-parametriasetuksella voi olla hieman vaikutusta nopeuteen, joten sinun kannattaa kytkeä se pois päältä. Oletusarvo on SMART, joka tarjoaa parhaan kompromissin koon ja nopeuden välillä.
Intel-kohtainen parametri. Sinun on käytettävä LPM_HINT-parametria määrittääksesi LABWIDE_SCLR-parametrin VHDL-suunnittelussa files. Arvot ovat ON, OFF tai UNUSED. Oletusarvo on ON. Voit poistaa käytöstä vanhentuneiden laiteperheiden LABwide slr -ominaisuuden. Tämän asetuksen poistaminen käytöstä lisää todennäköisyyttä käyttää täysin osittain täytettyjä LAB:ita ja voi siten sallia suuremman logiikkatiheyden, kun SCLR ei koske täydellistä LAB:ia. Tämä parametri on käytettävissä taaksepäin yhteensopivuutta varten, ja Intel suosittelee, että et käytä tätä parametria.
Määrittää updown-tuloportin käytön. Jos se jätetään pois, oletusarvo on PORT_CONNECTIVITY. Kun portin arvoksi on asetettu PORT_USED, porttia käsitellään käytettynä. Kun portin arvoksi on asetettu PORT_UNUSED, porttia käsitellään käyttämättömänä. Kun portin arvoksi on asetettu PORT_CONNECTIVITY, portin käyttö määritetään tarkistamalla portin liitettävyys.
Lähetä palautetta
Intel FPGA Integer Aritmetic IP Cores -käyttöopas 11
683490 | 2020.10.05 Lähetä palautetta
3. LPM_DIVIDE (jakaja) Intel FPGA IP Core
Kuva 2.
LPM_DIVIDE Intel FPGA IP -ytimessä on jakaja, joka jakaa osoittajan syöttöarvon nimittäjän syöttöarvolla, jolloin saadaan osamäärä ja jäännös.
Seuraava kuva näyttää LPM_DIVIDE IP-ytimen portit.
LPM_DIVIDE Portit
LPM_DIVIDE
numero[] denom[] kello
osamäärä[] jää []
clken aclr
inst
3.1. Ominaisuudet
LPM_DIVIDE IP-ydin tarjoaa seuraavat ominaisuudet: · Luo jakajan, joka jakaa osoittajan syötearvon nimittäjätulolla
arvo tuottaa osamäärä ja jäännös. · Tukee 1 bitin dataleveyttä. · Tukee allekirjoitetun ja allekirjoittamattoman tiedon esitysmuotoa sekä osoittajalle
ja nimittäjäarvot. · Tukee alueen tai nopeuden optimointia. · Tarjoaa vaihtoehdon määrittää positiivinen lopputulos. · Tukee liukuhihnan konfiguroitavaa ulostuloviivettä. · Tukee valinnaisia asynkronisia tyhjennys- ja kelloportteja.
3.2. Verilog HDL -prototyyppi
Seuraava Verilog HDL -prototyyppi sijaitsee Verilog Designissa File (.v) lpm.v edasynthesis -hakemisto.
moduuli lpm_divide ( osamäärä, jäännös, numero, denom, kello, clken, aclr); parametri lpm_type = "lpm_divide"; parametri lpm_widthn = 1; parametri lpm_widthd = 1; parametri lpm_nrepresentation = "ALLEkirjoittamaton"; parametri lpm_drepresentation = "ALLEKIRJOITTAmaton"; parametri lpm_remainderpositive = "TOSI"; parametri lpm_pipeline = 0;
Intel Corporation. Kaikki oikeudet pidätetään. Intel, Intel-logo ja muut Intel-merkit ovat Intel Corporationin tai sen tytäryhtiöiden tavaramerkkejä. Intel takaa FPGA- ja puolijohdetuotteidensa suorituskyvyn nykyisten vaatimusten mukaisesti Intelin vakiotakuun mukaisesti, mutta pidättää oikeuden tehdä muutoksia tuotteisiin ja palveluihin milloin tahansa ilman erillistä ilmoitusta. Intel ei ota minkään tässä kuvatun tiedon, tuotteen tai palvelun soveltamisesta tai käytöstä johtuvaa vastuuta tai vastuuta, paitsi jos Intel on nimenomaisesti kirjallisesti hyväksynyt. Intelin asiakkaita kehotetaan hankkimaan uusin versio laitteen teknisistä tiedoista ennen kuin he luottavat julkaistuihin tietoihin ja ennen kuin he tilaavat tuotteita tai palveluita. *Muut nimet ja tuotemerkit voidaan väittää muiden omaisuudeksi.
ISO 9001: 2015 rekisteröity
3. LPM_DIVIDE (jakaja) Intel FPGA IP Core 683490 | 2020.10.05
parametri lpm_hint = "KÄYTTÄMÄTÖN"; kello tulo; tulo clken; syöttö aclr; syötä [lpm_widthn-1:0] numero; input [lpm_widthd-1:0] denom; lähtö [lpm_widthn-1:0] osamäärä; lähtö [lpm_widthd-1:0] jää; loppumoduuli
3.3. VHDL-komponenttien ilmoitus
VHDL-komponenttiilmoitus sijaitsee VHDL-suunnittelussa File (.vhd) LPM_PACK.vhd librariesvhdllpm-hakemisto.
komponentti LPM_DIVIDE yleinen (LPM_WIDTHN : luonnollinen; LPM_WIDTHD : luonnollinen;
LPM_NREPRESENTATION : string := "UNSIGNED"; LPM_DREPRESENTATION : string := "UNSIGNED"; LPM_PIPELINE : luonnollinen := 0; LPM_TYYPPI : merkkijono := L_DIVIDE; LPM_VIHJE : string := “KÄYTTÄMÄTÖN”); portti (NUMER : std_logic_vector(LPM_WIDTHN-1 alas 0); DENOM : std_logic_vector(LPM_WIDTHD-1 alas 0); ACLR : std_logic := '0'; CLOCK : std_logic:ssa : = '0'; lopussa komponentti;
3.4. VHDL LIBRARY_USE -ilmoitus
VHDL LIBRARY-USE -ilmoitusta ei vaadita, jos käytät VHDL-komponenttiilmoitusta.
KIRJASTO lpm; KÄYTÄ lpm.lpm_components.all;
3.5. Portit
Seuraavissa taulukoissa on lueteltu LPM_DIVIDE IP-ytimen tulo- ja lähtöportit.
Taulukko 5.
LPM_DIVIDE Tuloportit
Portin nimi
Pakollinen
numero[]
Kyllä
denom[]
Kyllä
Kuvaus
Osoittimen tietojen syöttö. Tuloportin koko riippuu parametrin LPM_WIDTHN arvosta.
Nimittäjätietojen syöttö. Tuloportin koko riippuu parametrin LPM_WIDTHD arvosta.
jatkui…
Lähetä palautetta
Intel FPGA Integer Aritmetic IP Cores -käyttöopas 13
3. LPM_DIVIDE (jakaja) Intel FPGA IP Core 683490 | 2020.10.05
Portin nimi kello clken
aclr
Pakollinen Ei Ei
Ei
Kuvaus
Kellotulo liukuhihnakäyttöön. Jos LPM_PIPELINE-arvot ovat muita kuin 0 (oletus), kelloportin on oltava käytössä.
Kello mahdollistaa liukuhihnakäytön. Kun clken-portti on asetettu korkeaksi, jakotoiminto tapahtuu. Kun signaali on alhainen, toimintoa ei tapahdu. Jos se jätetään pois, oletusarvo on 1.
Asynkroninen tyhjennysportti, jota käytetään milloin tahansa liukuhihnan nollaamiseen kaikkiin noloihin asynkronisesti kellotulon kanssa.
Taulukko 6.
LPM_DIVIDE Lähtöportit
Portin nimi
Pakollinen
Kuvaus
osamäärä[]
Kyllä
Tietojen ulostulo. Lähtöportin koko riippuu LPM_WIDTHN:stä
parametrin arvo.
jäädä jäljelle[]
Kyllä
Tietojen ulostulo. Lähtöportin koko riippuu LPM_WIDTHD:stä
parametrin arvo.
3.6. parametrit
Seuraavassa taulukossa luetellaan LPM_DIVIDE Intel FPGA IP -ytimen parametrit.
Parametrin nimi
Tyyppi
Pakollinen
Kuvaus
LPM_WIDTHN
Kokonaisluku
Kyllä
Määrittää numeroiden [] ja leveydet
osamäärä[]-portit. Arvot ovat 1-64.
LPM_WIDTHD
Kokonaisluku
Kyllä
Määrittää denom[] ja leveydet
jää[] portteja. Arvot ovat 1-64.
LPM_NREPRESENTATION LPM_DREPRESENTATION
String String
Ei
Osoittimen syötteen etumerkki.
Arvot ovat ALLEKIRJOITTUJA ja ALLEKIRJOITTAmattomia. Kun tämä
parametri asetetaan arvoon SIGNED, jakaja
tulkitsee numer[]-syötteen etumerkillä kaksi
täydentää.
Ei
Nimittäjäsyötteen merkkiesitys.
Arvot ovat ALLEKIRJOITTUJA ja ALLEKIRJOITTAmattomia. Kun tämä
parametri asetetaan arvoon SIGNED, jakaja
tulkitsee denom[]-syötteen etumerkityksi kahdeksi
täydentää.
LPM_TYPE
merkkijono
Ei
Tunnistaa parametroidun kirjaston
moduulien (LPM) kokonaisuuden nimi VHDL-suunnittelussa
files (.vhd).
LPM_HINT
merkkijono
Ei
Kun luot kirjaston
parametroidut moduulit (LPM) toimivat a
VHDL suunnittelu File (.vhd), sinun on käytettävä
LPM_HINT-parametri Intel-
tietty parametri. esimample: LPM_HINT
= "CHAIN_SIZE = 8,
ONE_INPUT_IS_CONSTANT = KYLLÄ" The
oletusarvo on UNUSED.
LPM_REMAINDERPOSITIVE
merkkijono
Ei
Intel-kohtainen parametri. Sinun täytyy käyttää
LPM_HINT-parametri määrittää
LPM_REMAINDERPOSITIVE-parametri sisään
VHDL-suunnittelu files. Arvot ovat TRUE tai FALSE.
Jos tämä parametri on TOSI, niin
jäännösportin arvon on oltava suurempi
jatkui…
Intel FPGA Integer Aritmetic IP Cores -käyttöopas 14
Lähetä palautetta
3. LPM_DIVIDE (jakaja) Intel FPGA IP Core 683490 | 2020.10.05
Parametrin nimi
Tyyppi
MAXIMIZE_SPEED
Kokonaisluku
LPM_PIPELINE
Kokonaisluku
INTENDED_DEVICE_FAMILY SKIP_BITS
Merkkijono Kokonaisluku
Pakollinen nro
Ei Ei Ei
Kuvaus
kuin nolla tai yhtä suuri kuin nolla. Jos tämä parametri on TOSI, jäännösportin arvo on joko nolla tai arvo on sama etumerkki, joko positiivinen tai negatiivinen, kuin numeroportin arvo. Pinta-alan pienentämiseksi ja nopeuden parantamiseksi Intel suosittelee, että asetat tämän parametrin arvoon TOSI toiminnoissa, joissa loppuosan on oltava positiivinen tai joissa loppuosan on merkityksetön.
Intel-kohtainen parametri. Sinun on käytettävä LPM_HINT-parametria määrittääksesi MAXIMIZE_SPEED-parametrin VHDL-suunnittelussa files. Arvot ovat [0..9]. Jos sitä käytetään, Intel Quartus Prime -ohjelmisto yrittää optimoida tietyn LPM_DIVIDE-toiminnon esiintymän nopeuden sijaan reititettävyyden vuoksi ja ohittaa Optimization Technique -logiikkaasetuksen. Jos MAXIMIZE_SPEED ei ole käytössä, sen sijaan käytetään Optimointitekniikka-vaihtoehdon arvoa. Jos MAXIMIZE_SPEED-arvo on 6 tai suurempi, kääntäjä optimoi LPM_DIVIDE IP-ytimen suuremmalle nopeudelle käyttämällä siirtoketjuja; jos arvo on 5 tai vähemmän, kääntäjä toteuttaa suunnittelun ilman kantoketjuja.
Määrittää osamäärä[]- ja jäännös[]-lähtöihin liittyvien latenssijaksojen lukumäärän. Arvo nolla (0) osoittaa, että latenssia ei ole olemassa ja että puhtaasti yhdistelmäfunktio on instantoitu. Jos jätetään pois, oletusarvo on 0 (ei liukuhihnaa). Et voi määrittää LPM_PIPELINE-parametrille arvoa, joka on suurempi kuin LPM_WIDTHN.
Tätä parametria käytetään mallintamiseen ja käyttäytymisen simulointiin. Parametrieditori laskee tämän parametrin arvon.
Mahdollistaa tehokkaamman murto-osien bittijaon, jotta voidaan optimoida logiikan alkubitteihin tarjoamalla johtavan GND:n määrä LPM_DIVIDE IP-ytimeen. Määritä tämän parametrin osamäärälähdön johtavan GND:n numero.
Lähetä palautetta
Intel FPGA Integer Aritmetic IP Cores -käyttöopas 15
683490 | 2020.10.05 Lähetä palautetta
4. LPM_MULT (Multiplier) IP-ydin
Kuva 3.
LPM_MULT IP-ydin toteuttaa kertoimen kertomaan kaksi syötetietoarvoa tuotteen tuottamiseksi ulostulona.
Seuraava kuva näyttää LPM_MULT IP-ytimen portit.
LPM_Mult Ports
LPM_MULT kellon dataa[] tulos[] datab[] aclr/sclr clken
inst
Aiheeseen liittyvät tietoominaisuudet sivulla 71
4.1. Ominaisuudet
LPM_MULT IP-ydin tarjoaa seuraavat ominaisuudet: · Luo kertoimen, joka kertoo kaksi syötetietoarvoa · Tukee 1 bitin dataleveyttä · Tukee etumerkillisen ja allekirjoittamattoman tiedon esitysmuotoa · Tukee alueen tai nopeuden optimointia · Tukee liukuhihnaa konfiguroitavalla lähtöviiveellä · Tarjoaa vaihtoehto omistettuun digitaaliseen signaalinkäsittelyyn (DSP)
lohkopiirit tai logiikkaelementit (LE:t) Huomautus: Kun rakennat suurempia kertoimia kuin natiivisti tuettu koko, saattaa/
on suorituskykyvaikutus, joka johtuu DSP-lohkojen kaskadista. · Tukee valinnaisia asynkronisia tyhjennys- ja kellotuloportteja · Tukee valinnaista synkronista tyhjennystä Intel Stratix 10-, Intel Arria 10- ja Intel Cyclone 10 GX -laitteille
Intel Corporation. Kaikki oikeudet pidätetään. Intel, Intel-logo ja muut Intel-merkit ovat Intel Corporationin tai sen tytäryhtiöiden tavaramerkkejä. Intel takaa FPGA- ja puolijohdetuotteidensa suorituskyvyn nykyisten vaatimusten mukaisesti Intelin vakiotakuun mukaisesti, mutta pidättää oikeuden tehdä muutoksia tuotteisiin ja palveluihin milloin tahansa ilman erillistä ilmoitusta. Intel ei ota minkään tässä kuvatun tiedon, tuotteen tai palvelun soveltamisesta tai käytöstä johtuvaa vastuuta tai vastuuta, paitsi jos Intel on nimenomaisesti kirjallisesti hyväksynyt. Intelin asiakkaita kehotetaan hankkimaan uusin versio laitteen teknisistä tiedoista ennen kuin he luottavat julkaistuihin tietoihin ja ennen kuin he tilaavat tuotteita tai palveluita. *Muut nimet ja tuotemerkit voidaan väittää muiden omaisuudeksi.
ISO 9001: 2015 rekisteröity
4. LPM_MULT (kerroin) IP Core 683490 | 2020.10.05
4.2. Verilog HDL -prototyyppi
Seuraava Verilog HDL -prototyyppi sijaitsee Verilog Designissa File (.v) lpm.v edasynthesis -hakemisto.
moduuli lpm_mult ( tulos, dataa, datab, summa, kello, clken, aclr ) parametri lpm_type = “lpm_mult”; parametri lpm_widtha = 1; parametri lpm_widthb = 1; parametri lpm_widths = 1; parametri lpm_widthp = 1; parametri lpm_representation = "ALLEKIRJOITTAmaton"; parametri lpm_pipeline = 0; parametri lpm_hint = "KÄYTTÄMÄTTÖMÄN"; kello tulo; tulo clken; syöttö aclr; syöte [lpm_widtha-1:0] dataa; input [lpm_widthb-1:0] datab; syöte [lpm_widths-1:0] summa; tulos [lpm_widthp-1:0] tulos; loppumoduuli
4.3. VHDL-komponenttien ilmoitus
VHDL-komponenttiilmoitus sijaitsee VHDL-suunnittelussa File (.vhd) LPM_PACK.vhd librariesvhdllpm-hakemisto.
komponentti LPM_MULT yleinen ( LPM_WIDTHA : luonnollinen; LPM_WIDTHB : luonnollinen; LPM_WIDTHS : luonnollinen := 1; LPM_WIDTHP : luonnollinen;
LPM_REPRESENTATION : string := “UNSIGNED”; LPM_PIPELINE : luonnollinen := 0; LPM_TYYPPI: merkkijono := L_MULT; LPM_VIHJE : string := “KÄYTTÄMÄTÖN”); portti ( DATAA : in std_logic_vector(LPM_WIDTHA-1 alas 0); DATAB : in std_logic_vector(LPM_WIDTHB-1 alas 0); ACLR : in std_logic := '0'; CLOCK : in std_logic' :stdLK_logic' :=EN := 0'; lopussa komponentti;
4.4. VHDL LIBRARY_USE -ilmoitus
VHDL LIBRARY-USE -ilmoitusta ei vaadita, jos käytät VHDL-komponenttiilmoitusta.
KIRJASTO lpm; KÄYTÄ lpm.lpm_components.all;
Lähetä palautetta
Intel FPGA Integer Aritmetic IP Cores -käyttöopas 17
4. LPM_MULT (kerroin) IP Core 683490 | 2020.10.05
4.5. Signaalit
Taulukko 7.
LPM_MULT tulosignaalit
Signaalin nimi
Pakollinen
Kuvaus
dataa[]
Kyllä
Datan syöttö.
Intel Stratix 10-, Intel Arria 10- ja Intel Cyclone 10 GX -laitteissa tulosignaalin koko riippuu Dataa width -parametrin arvosta.
Vanhemmissa ja Intel Cyclone 10 LP -laitteissa tulosignaalin koko riippuu parametrin LPM_WIDTHA arvosta.
datab[]
Kyllä
Datan syöttö.
Intel Stratix 10-, Intel Arria 10- ja Intel Cyclone 10 GX -laitteissa tulosignaalin koko riippuu Datab width -parametrin arvosta.
Vanhemmissa ja Intel Cyclone 10 LP -laitteissa tulosignaalin koko riippuu
parametrin LPM_WIDTHB arvosta.
kello
Ei
Kellotulo liukuhihnakäyttöön.
Vanhemmissa ja Intel Cyclone 10 LP -laitteissa kellosignaalin on oltava käytössä muille LPM_PIPELINE-arvoille kuin 0 (oletus).
Intel Stratix 10-, Intel Arria 10- ja Intel Cyclone 10 GX -laitteissa kellosignaali on otettava käyttöön, jos Latenssiarvo on muu kuin 1 (oletus).
clken
Ei
Kellon käyttöönotto liukuhihnakäyttöä varten. Kun clken-signaali vahvistetaan korkeaksi,
summain/vähennystoiminto tapahtuu. Kun signaali on alhainen, ei toimi
tapahtuu. Jos se jätetään pois, oletusarvo on 1.
aclr slr
Ei
Asynkroninen tyhjennyssignaali, jota käytetään milloin tahansa liukuhihnan nollaamiseen kaikkiin noloihin,
asynkronisesti kellosignaalin kanssa. Liukulinja alustetaan määrittelemättömäksi (X)
logiikan taso. Lähdöt ovat yhdenmukaisia, mutta nollasta poikkeavia arvoja.
Ei
Synkroninen tyhjennyssignaali, jota käytetään milloin tahansa liukuhihnan nollaamiseen kaikkiin noloihin,
synkronisesti kellosignaalin kanssa. Liukulinja alustetaan määrittelemättömäksi (X)
logiikan taso. Lähdöt ovat yhdenmukaisia, mutta nollasta poikkeavia arvoja.
Taulukko 8.
LPM_MULT Lähtösignaalit
signaalin nimi
Pakollinen
Kuvaus
tulos[]
Kyllä
Tietojen ulostulo.
Vanhemmissa ja Intel Cyclone 10 LP -laitteissa lähtösignaalin koko riippuu parametrin LPM_WIDTHP arvosta. Jos LPM_WIDTHP < max (LPM_WIDTHA + LPM_WIDTHB, LPM_WIDTHS) tai (LPM_WIDTHA + LPM_WIDTHS), vain LPM_WIDTHP MSB:t ovat läsnä.
Intel Stratix 10:ssä, Intel Arria 10:ssä ja Intel Cyclone 10 GX:ssä lähtösignaalien koko riippuu Result width -parametrista.
4.6. Parametrit Stratix V-, Arria V-, Cyclone V- ja Intel Cyclone 10 LP -laitteille
4.6.1. Yleiset-välilehti
Taulukko 9.
Yleiset-välilehti
Parametri
Arvo
Kertoimen konfigurointi
Kerro 'dataa'-syöte 'datab'-syötöllä
Oletusarvo
Kuvaus
Kerro 'dataa'-syöte 'datab'-syötöllä
Valitse kertoimelle haluamasi konfiguraatio.
jatkui…
Intel FPGA Integer Aritmetic IP Cores -käyttöopas 18
Lähetä palautetta
4. LPM_MULT (kerroin) IP Core 683490 | 2020.10.05
Parametri
Kuinka leveä 'dataa'-syötteen tulee olla? Kuinka leveä datasyötteen tulee olla? Miten tulosuloksen leveys määritetään? Rajoita leveyttä
Arvo
Kerro 'dataa'-syöte itsessään (neliötoiminto)
1-256 bittiä
Oletusarvo
Kuvaus
8 bittiä
Määritä dataa[]-portin leveys.
1-256 bittiä
8 bittiä
Määritä datab[]-portin leveys.
Laske leveys automaattisesti Rajoita leveyttä
1-512 bittiä
Laskee leveyden automaattisesti
Valitse haluamasi menetelmä tulos[]-portin leveyden määrittämiseksi.
16 bittiä
Määritä tulos[]-portin leveys.
Tämä arvo on voimassa vain, jos valitset Tyyppi-parametrissa Rajoita leveyttä.
4.6.2. Yleistä 2 Tab
Taulukko 10. Yleistä 2 Välilehti
Parametri
Arvo
Tietojen syöttö
Onko 'datab'-tuloväylällä vakioarvo?
Ei Kyllä
Kertolaskutyyppi
Minkä tyyppinen
Allekirjoittamaton
kertolasku haluatko? Allekirjoitettu
Toteutus
Mitä kertoimen toteutusta tulisi käyttää?
Käytä oletustoteutusta
Käytä erillistä kerroinpiiriä (ei saatavilla kaikille perheille)
Käytä logiikkaelementtejä
Oletusarvo
Kuvaus
Ei
Valitse Kyllä määrittääksesi vakioarvon
`datab'-syöttöväylä, jos sellainen on.
Allekirjoittamaton
Määritä esitysmuoto sekä dataa[]- että datab[]-tuloille.
Käytä oletustoteutusionia
Valitse haluamasi menetelmä tulos[]-portin leveyden määrittämiseksi.
4.6.3. Pipelining-välilehti
Taulukko 11. Liukuinti-välilehti
Parametri
Haluatko liittää nro
toiminto?
Kyllä
Arvo
Luo "aclr"
—
asynkroninen selkeä portti
Oletusarvo
Kuvaus
Ei
Ota liukuhihnarekisteri käyttöön valitsemalla Kyllä
kertoimen ulostulo ja määritä haluamasi
lähdön latenssi kellojaksossa. Ota käyttöön
putkirekisteri lisää ylimääräistä latenssia
ulostulo.
Ei valittu
Valitse tämä vaihtoehto, jos haluat sallia aclr-portin käyttää asynkronista tyhjennystä liukuhihnarekisterissä.
jatkui…
Lähetä palautetta
Intel FPGA Integer Aritmetic IP Cores -käyttöopas 19
4. LPM_MULT (kerroin) IP Core 683490 | 2020.10.05
Parametri
Luo "clken"-kellon käyttöönottokello
Optimointi
Millaista optimointia haluat?
Arvo -
Oletusnopeusalue
Oletusarvo
Kuvaus
Ei valittu
Määrittää aktiivisen korkean kellon aktivoinnin liukuhihnarekisterin kelloportille
Oletus
Määritä IP-ytimen haluttu optimointi.
Valitse Oletus, jos haluat antaa Intel Quartus Prime -ohjelmiston määrittää parhaan optimoinnin IP-ytimelle.
4.7. Parametrit Intel Stratix 10-, Intel Arria 10- ja Intel Cyclone 10 GX -laitteille
4.7.1. Yleiset-välilehti
Taulukko 12. Yleistä-välilehti
Parametri
Arvo
Oletusarvo
Kuvaus
Kertoimen määritystyyppi
Tietoporttien leveydet
Kerro 'dataa'-syöte 'datab'-syötöllä
Kerro 'dataa'-syöte itsessään (neliötoiminto)
Kerro 'dataa'-syöte 'datab'-syötöllä
Valitse kertoimelle haluamasi konfiguraatio.
Datan leveys
1-256 bittiä
8 bittiä
Määritä dataa[]-portin leveys.
Tietojen leveys
1-256 bittiä
8 bittiä
Määritä datab[]-portin leveys.
Miten tulosuloksen leveys määritetään?
Tyyppi
Laske leveys automaattisesti
Rajoita leveyttä
Laskee leveyden automaattisesti
Valitse haluamasi menetelmä tulos[]-portin leveyden määrittämiseksi.
Arvo
1-512 bittiä
16 bittiä
Määritä tulos[]-portin leveys.
Tämä arvo on voimassa vain, jos valitset Tyyppi-parametrissa Rajoita leveyttä.
Tuloksen leveys
1-512 bittiä
—
Näyttää tulos[]-portin tehokkaan leveyden.
4.7.2. Yleistä 2 Tab
Taulukko 13. Yleistä 2 Välilehti
Parametri
Tietojen syöttö
Onko 'datab'-tuloväylällä vakioarvo?
Ei Kyllä
Arvo
Oletusarvo
Kuvaus
Ei
Valitse Kyllä määrittääksesi vakioarvon
`datab'-syöttöväylä, jos sellainen on.
jatkui…
Intel FPGA Integer Aritmetic IP Cores -käyttöopas 20
Lähetä palautetta
4. LPM_MULT (kerroin) IP Core 683490 | 2020.10.05
Parametri
Arvo
Arvo
Mikä tahansa arvo, joka on suurempi kuin 0
Kertolaskutyyppi
Minkä tyyppinen
Allekirjoittamaton
kertolasku haluatko? Allekirjoitettu
Toteutustyyli
Mitä kertoimen toteutusta tulisi käyttää?
Käytä oletustoteutusta
Käytä erillistä kerroinpiiriä
Käytä logiikkaelementtejä
Oletusarvo
Kuvaus
0
Määritä datab[]-portin vakioarvo.
Allekirjoittamaton
Määritä esitysmuoto sekä dataa[]- että datab[]-tuloille.
Käytä oletustoteutusionia
Valitse haluamasi menetelmä tulos[]-portin leveyden määrittämiseksi.
4.7.3. Putkilinjaus
Taulukko 14. Liukuinti-välilehti
Parametri
Arvo
Haluatko liittää toiminnon?
Putkilinja
Ei Kyllä
Latenssin tyhjennyssignaalin tyyppi
Mikä tahansa arvo, joka on suurempi kuin 0.
EI MITÄÄN ACLR SCLR
Luo "clken" kello
—
ota kello käyttöön
Millaista optimointia haluat?
Tyyppi
Oletusnopeusalue
Oletusarvo
Kuvaus
Ei 1 EI MITÄÄN
—
Valitse Kyllä, jos haluat ottaa liukuhihnarekisterin käyttöön kertojan lähdössä. Liukuhihnarekisterin ottaminen käyttöön lisää ulostuloon ylimääräistä latenssia.
Määritä haluttu ulostuloviive kellojaksossa.
Määritä liukuhihnarekisterin nollauksen tyyppi. Valitse EI MITÄÄN, jos et käytä liukuhihnarekisteriä. Valitse ACLR, jos haluat käyttää asynkronista tyhjennystä liukuhihnarekisterissä. Tämä luo ACLR-portin. Valitse SCLR, jos haluat käyttää synkronista tyhjennystä liukuhihnarekisterissä. Tämä luo SCLR-portin.
Määrittää aktiivisen korkean kellon aktivoinnin liukuhihnarekisterin kelloportille
Oletus
Määritä IP-ytimen haluttu optimointi.
Valitse Oletus, jos haluat antaa Intel Quartus Prime -ohjelmiston määrittää IP-ytimelle parhaan valinnan.
Lähetä palautetta
Intel FPGA Integer Aritmetic IP Cores -käyttöopas 21
683490 | 2020.10.05 Lähetä palautetta
5. LPM_ADD_SUB (summaaja/vähentäjä)
Kuva 4.
LPM_ADD_SUB IP-ytimen avulla voit ottaa käyttöön summaimen tai vähennyslaskimen datajoukkojen lisäämiseksi tai vähentämiseksi tulosten tuottamiseksi, joka sisältää tuloarvojen summan tai erotuksen.
Seuraava kuva näyttää LPM_ADD_SUB IP-ytimen portit.
LPM_ADD_SUB Portit
LPM_ADD_SUB add_sub cin
dataa[]
kello clken datab[] aclr
tulos[] overflow cout
inst
5.1. Ominaisuudet
LPM_ADD_SUB IP-ydin tarjoaa seuraavat ominaisuudet: · Luo summaimen, vähennyksen ja dynaamisesti konfiguroitavan summaimen/vähentäjän
toimintoja. · Tukee 1 bitin dataleveyttä. · Tukee tietojen esitysmuotoa, kuten allekirjoitettu ja allekirjoittamaton. · Tukee valinnaista kantamista (lainaus-out), asynkronista tyhjennystä ja kellon käyttöönottoa
tuloportit. · Tukee valinnaisia siirto- (lainaus-) ja ylivuotoportteja. · Määrittää jommankumman tulodataväylän vakioksi. · Tukee liukuhihnaa konfiguroitavalla ulostuloviiveellä.
Intel Corporation. Kaikki oikeudet pidätetään. Intel, Intel-logo ja muut Intel-merkit ovat Intel Corporationin tai sen tytäryhtiöiden tavaramerkkejä. Intel takaa FPGA- ja puolijohdetuotteidensa suorituskyvyn nykyisten vaatimusten mukaisesti Intelin vakiotakuun mukaisesti, mutta pidättää oikeuden tehdä muutoksia tuotteisiin ja palveluihin milloin tahansa ilman erillistä ilmoitusta. Intel ei ota minkään tässä kuvatun tiedon, tuotteen tai palvelun soveltamisesta tai käytöstä johtuvaa vastuuta tai vastuuta, paitsi jos Intel on nimenomaisesti kirjallisesti hyväksynyt. Intelin asiakkaita kehotetaan hankkimaan uusin versio laitteen teknisistä tiedoista ennen kuin he luottavat julkaistuihin tietoihin ja ennen kuin he tilaavat tuotteita tai palveluita. *Muut nimet ja tuotemerkit voidaan väittää muiden omaisuudeksi.
ISO 9001: 2015 rekisteröity
5. LPM_ADD_SUB (summain/vähentäjä) 683490 | 2020.10.05
5.2. Verilog HDL -prototyyppi
Seuraava Verilog HDL -prototyyppi sijaitsee Verilog Designissa File (.v) lpm.v edasynthesis -hakemisto.
moduuli lpm_add_sub (tulos, cout, overflow,add_sub, cin, dataa, datab, kello, clken, aclr); parametri lpm_type = "lpm_add_sub"; parametri lpm_width = 1; parametri lpm_direction = "UNUSED"; parametri lpm_representation = "Allekirjoitettu"; parametri lpm_pipeline = 0; parametri lpm_hint = "KÄYTTÄMÄTTÖMÄN"; input [lpm_width-1:0] dataa, datab; syöte add_sub, cin; kello tulo; tulo clken; syöttö aclr; tulos [lpm_width-1:0] tulos; ulostulo, ylivuoto; loppumoduuli
5.3. VHDL-komponenttien ilmoitus
VHDL-komponenttiilmoitus sijaitsee VHDL-suunnittelussa File (.vhd) LPM_PACK.vhd librariesvhdllpm-hakemisto.
komponentti LPM_ADD_SUB yleinen (LPM_WIDTH : luonnollinen;
LPM_DIRECTION : string := “UNUSED”; LPM_REPRESENTATION: string := "allekirjoitettu"; LPM_PIPELINE : luonnollinen := 0; LPM_TYPE : merkkijono := L_ADD_SUB; LPM_VIHJE : string := “KÄYTTÄMÄTÖN”); portti (DATAA : in std_logic_vector(LPM_WIDTH-1 alas 0); DATAB : in std_logic_vector(LPM_WIDTH-1 alas 0); ACLR : in std_logic := '0'; CLOCK : in std_logic: in std_logic' := EN := '0'; in std_logic := 'Z': in std_logic := '1' lopussa komponentti;
5.4. VHDL LIBRARY_USE -ilmoitus
VHDL LIBRARY-USE -ilmoitusta ei vaadita, jos käytät VHDL-komponenttiilmoitusta.
KIRJASTO lpm; KÄYTÄ lpm.lpm_components.all;
5.5. Portit
Seuraavissa taulukoissa on lueteltu LPM_ADD_SUB IP-ytimen tulo- ja lähtöportit.
Lähetä palautetta
Intel FPGA Integer Aritmetic IP Cores -käyttöopas 23
5. LPM_ADD_SUB (summain/vähentäjä) 683490 | 2020.10.05
Taulukko 15. LPM_ADD_SUB IP Core -tuloportit
Portin nimi
Pakollinen
Kuvaus
cin
Ei
Suorita alemman asteen bitti. Lisäystoimintojen oletusarvo on 0. For
vähennysoperaatiot, oletusarvo on 1.
dataa[]
Kyllä
Datan syöttö. Tuloportin koko riippuu parametrin LPM_WIDTH arvosta.
datab[]
Kyllä
Datan syöttö. Tuloportin koko riippuu parametrin LPM_WIDTH arvosta.
add_sub
Ei
Valinnainen tuloportti mahdollistaa dynaamisen vaihdon summaimen ja vähennyksen välillä
toimintoja. Jos LPM_DIRECTION-parametria käytetään, add_sub ei voida käyttää. Jos
jätetty pois, oletusarvo on ADD. Intel suosittelee, että käytät
LPM_DIRECTION-parametri, joka määrittää LPM_ADD_SUB-funktion toiminnan,
sen sijaan, että määrittäisit vakion add_sub-portille.
kello
Ei
Syöte liukuhihnakäyttöä varten. Kelloportti tarjoaa kellotulon liukuhihnalle
operaatio. Jos LPM_PIPELINE-arvot ovat muita kuin 0 (oletus), kelloportin on oltava
käytössä.
clken
Ei
Kellon käyttöönotto liukuhihnakäyttöä varten. Kun clken-portti on asetettu korkeaksi, summain/
vähennyslaskutoiminto tapahtuu. Kun signaali on alhainen, toimintoa ei tapahdu. Jos
jätetty pois, oletusarvo on 1.
aclr
Ei
Asynkroninen kirkas liukuhihnakäyttöön. Liukulinja alustetaan määrittelemättömäksi (X)
logiikan taso. Aclr-porttia voidaan käyttää milloin tahansa nollatakseen liukuhihnan kaikkiin noloihin,
asynkronisesti kellosignaalin kanssa.
Taulukko 16. LPM_ADD_SUB IP-ydinlähtöportit
Portin nimi
Pakollinen
Kuvaus
tulos[]
Kyllä
Tietojen ulostulo. Lähtöportin koko riippuu parametrista LPM_WIDTH
arvo.
cout
Ei
Merkittävimmän bitin (MSB) suorittaminen (lainaus). Cout-portissa on fyysinen
tulkinta MSB:n toteuttamiseksi (lainaksi). Cout-portti havaitsee
ylivuoto ASIkirjoittamattomissa toiminnoissa. Cout-portti toimii samalla tavalla
ALLEKIRJOITETTU ja ALLEKIRJOITTAmaton toiminta.
ylivuoto
Ei
Valinnainen ylivuotopoikkeuslähtö. Ylivuotoportilla on fyysinen tulkinta
MSB:lle siirron XOR ja MSB:n siirto. Ylivuotoportti
vahvistaa, kun tulokset ylittävät käytettävissä olevan tarkkuuden, ja sitä käytetään vain, kun
LPM_REPRESENTATION-parametrin arvo on SIGNED.
5.6. parametrit
Seuraavassa taulukossa luetellaan LPM_ADD_SUB IP-ydinparametrit.
Taulukko 17. LPM_ADD_SUB IP-ydinparametrit
Parametrin nimi LPM_WIDTH
Kirjoita Kokonaisluku
Pakollinen Kyllä
Kuvaus
Määrittää dataa[]-, datab[]- ja tulos[]-porttien leveydet.
LPM_DIRECTION
merkkijono
Ei
Arvot ovat ADD, SUB ja UNUSED. Jos se jätetään pois, oletusarvo on DEFAULT, joka ohjaa parametrin ottamaan arvon add_sub-portista. Add_sub-porttia ei voi käyttää, jos LPM_DIRECTION on käytössä. Intel suosittelee, että määrität LPM_ADD_SUB-funktion toiminnan parametrilla LPM_DIRECTION sen sijaan, että määrität vakion add_sub-portille.
jatkui…
Intel FPGA Integer Aritmetic IP Cores -käyttöopas 24
Lähetä palautetta
5. LPM_ADD_SUB (summain/vähentäjä) 683490 | 2020.10.05
Parametrin nimi LPM_REPRESENTATION LPM_PIPELINE LPM_HINT LPM_TYPE ONE_INPUT_IS_CONSTANT MAXIMIZE_SPEED
INTENDED_DEVICE_FAMILY
Tyyppi Merkkijono Kokonaisluku Merkkijono Merkkijono Kokonaisluku
merkkijono
Pakollinen Ei Ei Ei Ei Ei Ei Ei
Ei
Kuvaus
Määrittää suoritetun lisäyksen tyypin. Arvot ovat ALLEKIRJOITTUJA ja ALLEKIRJOITTAmattomia. Jos se jätetään pois, oletusarvo on SIGNED. Kun tämä parametri on asetettu arvoon SIGNED, summain/vähentäjä tulkitsee syötetyn datan etumerkillisen kahden komplementiksi.
Määrittää tulos[]-lähtöön liittyvien latenssikellojaksojen määrän. Arvo nolla (0) osoittaa, että latenssia ei ole olemassa ja että puhtaasti yhdistelmäfunktio instantioidaan. Jos jätetään pois, oletusarvo on 0 (ei liukuhihnaa).
Mahdollistaa Intel-kohtaisten parametrien määrittämisen VHDL-suunnittelussa files (.vhd). Oletusarvo on UNUSED.
Tunnistaa parametrisoitujen moduulien (LPM) kirjaston entiteetin nimen VHDL-suunnittelussa files.
Intel-kohtainen parametri. Sinun on käytettävä LPM_HINT-parametria määrittääksesi parametrin ONE_INPUT_IS_CONSTANT VHDL-suunnittelussa files. Arvot ovat YES, NO ja UNUSED. Tarjoaa paremman optimoinnin, jos yksi tulo on vakio. Jos jätetään pois, oletusarvo on NO.
Intel-kohtainen parametri. Sinun on käytettävä LPM_HINT-parametria määrittääksesi MAXIMIZE_SPEED-parametrin VHDL-suunnittelussa files. Voit määrittää arvon välillä 0–10. Jos käytetään, Intel Quartus Prime -ohjelmisto yrittää optimoida tietyn LPM_ADD_SUB-toiminnon esiintymän nopeuden sijaan reititettävyyden vuoksi ja ohittaa Optimization Technique -logiikkaasetuksen. Jos MAXIMIZE_SPEED ei ole käytössä, sen sijaan käytetään Optimointitekniikka-vaihtoehdon arvoa. Jos MAXIMIZE_SPEED-asetus on 6 tai suurempi, kääntäjä optimoi LPM_ADD_SUB IP-ytimen suuremmalle nopeudelle käyttämällä kantoketjuja; jos asetus on 5 tai vähemmän, Compiler toteuttaa suunnittelun ilman kantoketjuja. Tämä parametri on määritettävä Cyclone-, Stratix- ja Stratix GX -laitteille vain, kun add_sub-porttia ei käytetä.
Tätä parametria käytetään mallintamiseen ja käyttäytymisen simulointiin. Parametrieditori laskee tämän parametrin arvon.
Lähetä palautetta
Intel FPGA Integer Aritmetic IP Cores -käyttöopas 25
683490 | 2020.10.05 Lähetä palautetta
6. LPM_COMPARE (vertailija)
Kuva 5.
LPM_COMPARE IP-ydin vertaa kahden tietojoukon arvoa määrittääkseen niiden välisen suhteen. Yksinkertaisimmassa muodossaan voit käyttää yksinomaista TAI-porttia määrittääksesi, ovatko kaksi databittiä samat.
Seuraava kuva näyttää LPM_COMPARE IP-ytimen portit.
LPM_COMPARE Portit
LPM_COMPARE
clken
alb
aeb
dataa[]
agb
datab[]
ikäb
kello
tai
aclr
aleb
inst
6.1. Ominaisuudet
LPM_COMPARE IP-ydin tarjoaa seuraavat ominaisuudet: · Luo vertailutoiminnon kahden tietojoukon vertaamiseksi · Tukee 1 bitin dataleveyttä · Tukee datan esitysmuotoa, kuten allekirjoitettua ja allekirjoittamatonta · Tuottaa seuraavat tulostustyypit:
— alb (tulo A on pienempi kuin tulo B) — aeb (tulo A on yhtä suuri kuin tulo B) — agb (tulo A on suurempi kuin tulo B) — ageb (tulo A on suurempi tai yhtä suuri kuin tulo B) — aneb ( tulo A ei ole sama kuin tulo B) — aleb (tulo A on pienempi tai yhtä suuri kuin tulo B) · Tukee valinnaisia asynkronisia tyhjennys- ja kellotuloportteja · Määrittää datab[]-tulon vakioksi · Tukee liukuhihnaa konfiguroitavalla ulostuloviiveellä
Intel Corporation. Kaikki oikeudet pidätetään. Intel, Intel-logo ja muut Intel-merkit ovat Intel Corporationin tai sen tytäryhtiöiden tavaramerkkejä. Intel takaa FPGA- ja puolijohdetuotteidensa suorituskyvyn nykyisten vaatimusten mukaisesti Intelin vakiotakuun mukaisesti, mutta pidättää oikeuden tehdä muutoksia tuotteisiin ja palveluihin milloin tahansa ilman erillistä ilmoitusta. Intel ei ota minkään tässä kuvatun tiedon, tuotteen tai palvelun soveltamisesta tai käytöstä johtuvaa vastuuta tai vastuuta, paitsi jos Intel on nimenomaisesti kirjallisesti hyväksynyt. Intelin asiakkaita kehotetaan hankkimaan uusin versio laitteen teknisistä tiedoista ennen kuin he luottavat julkaistuihin tietoihin ja ennen kuin he tilaavat tuotteita tai palveluita. *Muut nimet ja tuotemerkit voidaan väittää muiden omaisuudeksi.
ISO 9001: 2015 rekisteröity
6. LPM_COMPARE (Vertailu) 683490 | 2020.10.05
6.2. Verilog HDL -prototyyppi
Seuraava Verilog HDL -prototyyppi sijaitsee Verilog Designissa File (.v) lpm.v edasynthesis -hakemisto.
moduuli lpm_compare ( alb, aeb, agb, aleb, aneb, ageb, dataa, datab, kello, clken, aclr ); parametri lpm_type = "lpm_compare"; parametri lpm_width = 1; parametri lpm_representation = "ALLEKIRJOITTAmaton"; parametri lpm_pipeline = 0; parametri lpm_hint = "KÄYTTÄMÄTTÖMÄN"; input [lpm_width-1:0] dataa, datab; kello tulo; tulo clken; syöttö aclr; lähtö alb, aeb, agb, aleb, aneb, ageb; loppumoduuli
6.3. VHDL-komponenttien ilmoitus
VHDL-komponenttiilmoitus sijaitsee VHDL-suunnittelussa File (.vhd) LPM_PACK.vhd librariesvhdllpm-hakemisto.
komponentti LPM_COMPARE yleinen (LPM_WIDTH : luonnollinen;
LPM_REPRESENTATION : string := “UNSIGNED”; LPM_PIPELINE : luonnollinen := 0; LPM_TYYPPI: merkkijono := L_COMPARE; LPM_VIHJE : string := “KÄYTTÄMÄTÖN”); portti (DATAA : in std_logic_vector(LPM_WIDTH-1 alas 0); DATAB : in std_logic_vector(LPM_WIDTH-1 alas 0); ACLR : in std_logic := '0'; CLOCK : in std_logic: in std_logic' := EN := '0': out std_logic; out std_logic; lopussa komponentti;
6.4. VHDL LIBRARY_USE -ilmoitus
VHDL LIBRARY-USE -ilmoitusta ei vaadita, jos käytät VHDL-komponenttiilmoitusta.
KIRJASTO lpm; KÄYTÄ lpm.lpm_components.all;
6.5. Portit
Seuraavissa taulukoissa luetellaan LMP_COMPARE IP-ytimen tulo- ja lähtöportit.
Lähetä palautetta
Intel FPGA Integer Aritmetic IP Cores -käyttöopas 27
6. LPM_COMPARE (Vertailu) 683490 | 2020.10.05
Taulukko 18. LPM_COMPARE IP-ydintuloportit
Portin nimi
Pakollinen
Kuvaus
dataa[]
Kyllä
Datan syöttö. Tuloportin koko riippuu parametrin LPM_WIDTH arvosta.
datab[]
Kyllä
Datan syöttö. Tuloportin koko riippuu parametrin LPM_WIDTH arvosta.
kello
Ei
Kellotulo liukuhihnakäyttöön. Kelloportti tarjoaa kellotulon liukuhihnalle
operaatio. Jos LPM_PIPELINE-arvot ovat muita kuin 0 (oletus), kelloportin on oltava
käytössä.
clken
Ei
Kellon käyttöönotto liukuhihnakäyttöä varten. Kun clken-portti vahvistetaan korkeaksi,
vertailuoperaatio tapahtuu. Kun signaali on alhainen, toimintoa ei tapahdu. Jos
jätetty pois, oletusarvo on 1.
aclr
Ei
Asynkroninen kirkas liukuhihnakäyttöön. Liukuhihna alustetaan määrittelemättömään (X) logiikkaan
taso. Aclr-porttia voidaan käyttää milloin tahansa nollatakseen liukuhihnan kaikkiin noloihin,
asynkronisesti kellosignaalin kanssa.
Taulukko 19. LPM_COMPARE IP-ydinlähtöportit
Portin nimi
Pakollinen
Kuvaus
alb
Ei
Lähtöportti komparaattorille. Vahvistetaan, jos tulo A on pienempi kuin tulo B.
aeb
Ei
Lähtöportti komparaattorille. Vahvistetaan, jos tulo A on yhtä suuri kuin tulo B.
agb
Ei
Lähtöportti komparaattorille. Vahvistetaan, jos tulo A on suurempi kuin tulo B.
ikäb
Ei
Lähtöportti komparaattorille. Vahvistetaan, jos tulo A on suurempi tai yhtä suuri kuin tulo
B.
tai
Ei
Lähtöportti komparaattorille. Vahvistetaan, jos tulo A ei ole sama kuin tulo B.
aleb
Ei
Lähtöportti komparaattorille. Vahvistetaan, jos tulo A on pienempi tai yhtä suuri kuin tulo B.
6.6. parametrit
Seuraavassa taulukossa luetellaan LPM_COMPARE IP-ytimen parametrit.
Taulukko 20. LPM_COMPARE IP-ydinparametrit
Parametrin nimi
Tyyppi
Pakollinen
LPM_WIDTH
Kokonaisluku Kyllä
LPM_REPRESENTATION
merkkijono
Ei
LPM_PIPELINE
Kokonaisluku nro
LPM_HINT
merkkijono
Ei
Kuvaus
Määrittää dataa[]- ja datab[]-porttien leveydet.
Määrittää suoritetun vertailun tyypin. Arvot ovat ALLEKIRJOITTUJA ja ALLEKIRJOITTAmattomia. Jos se jätetään pois, oletusarvo on ALLEKIRJOITTAmaton. Kun tämän parametrin arvoksi on asetettu SIGNED, vertailija tulkitsee syötetyn datan etumerkillisen kahden komplementiksi.
Määrittää alb-, aeb-, agb-, ageb-, aleb- tai aneb-lähtöön liittyvien latenssijaksojen lukumäärän. Arvo nolla (0) osoittaa, että latenssia ei ole olemassa ja että puhtaasti yhdistelmäfunktio instantioidaan. Jos jätetään pois, oletusarvo on 0 (ei liukuhihnaa).
Mahdollistaa Intel-kohtaisten parametrien määrittämisen VHDL-suunnittelussa files (.vhd). Oletusarvo on UNUSED.
jatkui…
Intel FPGA Integer Aritmetic IP Cores -käyttöopas 28
Lähetä palautetta
6. LPM_COMPARE (Vertailu) 683490 | 2020.10.05
Parametrin nimi LPM_TYPE INTENDED_DEVICE_FAMILY
ONE_INPUT_IS_CONSTANT
Kirjoita merkkijono merkkijono
merkkijono
Pakollinen Ei Ei
Ei
Kuvaus
Tunnistaa parametrisoitujen moduulien (LPM) kirjaston entiteetin nimen VHDL-suunnittelussa files.
Tätä parametria käytetään mallintamiseen ja käyttäytymisen simulointiin. Parametrieditori laskee tämän parametrin arvon.
Intel-kohtainen parametri. Sinun on käytettävä LPM_HINT-parametria määrittääksesi parametrin ONE_INPUT_IS_CONSTANT VHDL-suunnittelussa files. Arvot ovat YES, NO tai UNUSED. Tarjoaa paremman optimoinnin, jos tulo on vakio. Jos jätetään pois, oletusarvo on NO.
Lähetä palautetta
Intel FPGA Integer Aritmetic IP Cores -käyttöopas 29
683490 | 2020.10.05 Lähetä palautetta
7. ALTECC (virheenkorjauskoodi: enkooderi/dekooderi) IP Core
Kuva 6.
Intel tarjoaa ALTECC IP -ytimen ECC-toiminnallisuuden toteuttamiseksi. ECC havaitsee vioittuneet tiedot, joita esiintyy vastaanottimen puolella tiedonsiirron aikana. Tämä virheenkorjausmenetelmä sopii parhaiten tilanteisiin, joissa virheet tapahtuvat satunnaisesti purskeiden sijaan.
ECC havaitsee virheet tietojen koodauksen ja dekoodauksen kautta. esimampKun ECC:tä käytetään lähetyssovelluksessa, lähteestä luetut tiedot koodataan ennen kuin ne lähetetään vastaanottimelle. Kooderin lähtö (koodisana) koostuu raakadatasta, johon on liitetty pariteettibittien määrä. Lisättyjen pariteettibittien tarkka määrä riippuu tulodatan bittien määrästä. Luotu koodisana lähetetään sitten määränpäähän.
Vastaanotin vastaanottaa koodisanan ja purkaa sen. Dekooderin saamat tiedot määrittää, onko virhe havaittu. Dekooderi havaitsee yksi- ja kaksibittiset virheet, mutta voi korjata vain yksibittiset virheet vioittuneessa tiedossa. Tämän tyyppinen ECC on yhden virheen korjauksen kaksoisvirheen havaitseminen (SECDED).
Voit määrittää ALTECC IP -ytimen kooderi- ja dekooderitoiminnot. Kooderiin syötetty data koodataan koodisanan generoimiseksi, joka on datasyötteen ja generoitujen pariteettibittien yhdistelmä. Luotu koodisana lähetetään dekooderimoduulille dekoodaamista varten juuri ennen kuin se saavuttaa kohdelohkonsa. Dekooderi generoi oireyhtymävektorin määrittääkseen, onko vastaanotetussa koodisanassa virhe. Dekooderi korjaa tiedot vain, jos yksibittinen virhe on peräisin databiteistä. Signaalia ei merkitä, jos yksibittinen virhe on peräisin pariteettibiteistä. Dekooderissa on myös lippusignaalit, jotka osoittavat vastaanotetun datan tilan ja dekooderin mahdolliset toimet.
Seuraavat kuvat näyttävät ALTECC IP -ytimen portit.
ALTECC Enkooderin portit
ALTECC_ENCODER
data[]
q[]
kello
kello
aclr
inst
Intel Corporation. Kaikki oikeudet pidätetään. Intel, Intel-logo ja muut Intel-merkit ovat Intel Corporationin tai sen tytäryhtiöiden tavaramerkkejä. Intel takaa FPGA- ja puolijohdetuotteidensa suorituskyvyn nykyisten vaatimusten mukaisesti Intelin vakiotakuun mukaisesti, mutta pidättää oikeuden tehdä muutoksia tuotteisiin ja palveluihin milloin tahansa ilman erillistä ilmoitusta. Intel ei ota minkään tässä kuvatun tiedon, tuotteen tai palvelun soveltamisesta tai käytöstä johtuvaa vastuuta tai vastuuta, paitsi jos Intel on nimenomaisesti kirjallisesti hyväksynyt. Intelin asiakkaita kehotetaan hankkimaan uusin versio laitteen teknisistä tiedoista ennen kuin he luottavat julkaistuihin tietoihin ja ennen kuin he tilaavat tuotteita tai palveluita. *Muut nimet ja tuotemerkit voidaan väittää muiden omaisuudeksi.
ISO 9001: 2015 rekisteröity
7. ALTECC (Virheenkorjauskoodi: Enkooderi/dekooderi) IP Core 683490 | 2020.10.05
Kuva 7. ALTECC-dekooderin portit
ALTECC_DECODER
data[] kello kello
q[] err_detected err_corrected
err_fatal
aclr
inst
7.1. ALTECC Enkooderin ominaisuudet
ALTECC-enkooderin IP-ydin tarjoaa seuraavat ominaisuudet: · Suorittaa datan koodauksen Hamming-koodausmenetelmällä · Tukee 2 bitin dataleveyttä · Tukee allekirjoitettua ja allekirjoittamatonta datan esitysmuotoa · Tukee liukuhihnaa joko yhden tai kahden kellojakson ulostulolatenssilla · Tukee valinnaista asynkroniset tyhjennys- ja kelloportit
ALTECC-enkooderin IP-ydin vastaanottaa ja koodaa tiedot käyttämällä Hamming-koodausmenetelmää. Hamming-koodausmenetelmä johtaa pariteettibitit ja liittää ne alkuperäiseen dataan tuottaakseen lähtökoodisanan. Lisättyjen pariteettibittien määrä riippuu datan leveydestä.
Seuraavassa taulukossa luetellaan eri dataleveysalueille lisättyjen pariteettibittien määrä. Yhteensä bitit -sarake edustaa syöttödatabittien ja lisättyjen pariteettibittien kokonaismäärää.
Taulukko 21.
Pariteettibittien määrä ja koodisana dataleveyden mukaan
Tietojen leveys
Pariteettibittien lukumäärä
Yhteensä bittejä (koodisana)
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
Pariteettibittien johtamisessa käytetään parillisen pariteetin tarkistusta. Ylimääräinen 1 bitti (näkyy taulukossa +1) liitetään pariteettibitteihin koodisanan MSB:nä. Tämä varmistaa, että koodisanassa on parillinen määrä ykkösiä. esimample, jos datan leveys on 4 bittiä, dataan lisätään 4 pariteettibittiä koodisanaksi, jossa on yhteensä 8 bittiä. Jos 7 bitillä 8-bittisen koodisanan LSB:stä on pariton määrä ykkösiä, koodisanan 1. bitti (MSB) on 8, mikä tekee koodisanan ykkösten kokonaismäärästä parillisen.
Seuraavassa kuvassa on esitetty generoitu koodisana sekä pariteettibittien ja databittien järjestely 8-bittisessä datasyötössä.
Lähetä palautetta
Intel FPGA Integer Aritmetic IP Cores -käyttöopas 31
7. ALTECC (Virheenkorjauskoodi: Enkooderi/dekooderi) IP Core 683490 | 2020.10.05
Kuva 8.
Pariteettibitit ja databittien järjestely 8-bittisessä generoidussa koodisanassa
MSB
LSB
4 pariteettibittiä
4 databittiä
8
1
ALTECC-enkooderin IP-ydin hyväksyy vain 2 - 64 bitin sisääntuloleveydet kerralla. 12 bitin, 29 bitin ja 64 bitin tuloleveydet, jotka sopivat ihanteellisesti Intel-laitteille, tuottavat vastaavasti 18 bitin, 36 bitin ja 72 bitin ulostulot. Voit säätää bittivalinnan rajoitusta parametrieditorissa.
7.2. Verilog HDL -prototyyppi (ALTECC_ENCODER)
Seuraava Verilog HDL -prototyyppi sijaitsee Verilog Designissa File (.v) lpm.v edasynthesis -hakemisto.
module altecc_encoder #( parametri tarkoitettu_device_family = "käyttämätön", parametri lpm_pipeline = 0, parametri width_codeword = 8, parametri width_dataword = 8, parametri lpm_type = "altecc_encoder", parametri lpm_hint = "käyttämätön") ( tulojohdon aclr, tulojohdon kello lankakello, syöttöjohto [width_dataword-1:0] data, output lanka [width_codeword-1:0] q); loppumoduuli
7.3. Verilog HDL -prototyyppi (ALTECC_DECODER)
Seuraava Verilog HDL -prototyyppi sijaitsee Verilog Designissa File (.v) lpm.v edasynthesis -hakemisto.
module altecc_decoder #( parametri tarkoitettu_device_family = "käyttämätön", parametri lpm_pipeline = 0, parametri width_codeword = 8, parametri width_dataword = 8, parametri lpm_type = "altecc_decoder", parametri lpm_hint = "käyttämätön") (tulojohdon aclr, tulojohdon kello lankakello, syöttöjohto [leveys_koodisana-1:0] data, lähtöjohto virhe_korjattu, lähtöjohto virhe_havaittu, lähtöjohto virheellinen_fatal, lähtöjohto [leveys_tietosana-1:0] q); loppumoduuli
Intel FPGA Integer Aritmetic IP Cores -käyttöopas 32
Lähetä palautetta
7. ALTECC (Virheenkorjauskoodi: Enkooderi/dekooderi) IP Core 683490 | 2020.10.05
7.4 VHDL-komponenttien ilmoitus (ALTECC_ENCODER)
VHDL-komponenttiilmoitus sijaitsee VHDL-suunnittelussa File (.vhd) altera_mf_components.vhd tiedostossa librariesvhdlaltera_mf-hakemisto.
komponentti altecc_encoder geneerinen ( tarkoitettu_laite_perhe:merkkijono := "käyttämätön"; lpm_pipeline:luonnollinen := 0; leveys_koodisana:luonnollinen := 8; leveys_tietosana:luonnollinen := 8; lpm_hint:string := "UNUSED"; lpmccen_coder ”); port( aclr:in std_logic := '0'; kello:in std_logic := '0'; clocken:in std_logic := '1'; data:in std_logic_vector(width_dataword-1 alas 0); q:out std_logic_vector -1 alas 0)); lopussa komponentti;
7.5 VHDL-komponenttien ilmoitus (ALTECC_DECODER)
VHDL-komponenttiilmoitus sijaitsee VHDL-suunnittelussa File (.vhd) altera_mf_components.vhd tiedostossa librariesvhdlaltera_mf-hakemisto.
komponentti altecc_decoder generic ( tarkoitettu_laite_perhe:merkkijono := "käyttämätön"; lpm_pipeline:luonnollinen := 0; leveys_koodisana:luonnollinen := 8; leveys_datasana:luonnollinen := 8; lpm_vint:merkkijono := "UNUSED"; lpmccde_alk.tyyppi: ”); port( aclr:in std_logic := '0'; clock:in std_logic := '0'; clocken:in std_logic := '1'; data:in std_logic_vector(width_codeword-1 downto 0); err_corrected_logic : deectedrdr_logic out; : out std_logic; q:out std_logic_vector(width_dataword-1 downto 0); lopussa komponentti;
7.6. VHDL LIBRARY_USE -ilmoitus
VHDL LIBRARY-USE -ilmoitusta ei vaadita, jos käytät VHDL-komponenttiilmoitusta.
KIRJASTO altera_mf; KÄYTÄ altera_mf.altera_mf_components.all;
7.7. Enkooderin portit
Seuraavissa taulukoissa on lueteltu ALTECC-enkooderin IP-ytimen tulo- ja lähtöportit.
Lähetä palautetta
Intel FPGA Integer Aritmetic IP Cores -käyttöopas 33
7. ALTECC (Virheenkorjauskoodi: Enkooderi/dekooderi) IP Core 683490 | 2020.10.05
Taulukko 22. ALTECC-enkooderin tuloportit
Portin nimi
Pakollinen
Kuvaus
data[]
Kyllä
Tietojen syöttöportti. Tuloportin koko riippuu WIDTH_DATAWORD:sta
parametrin arvo. Data[]-portti sisältää koodattavan raakadatan.
kello
Kyllä
Kellon tuloportti, joka antaa kellosignaalin koodaustoiminnon synkronoimiseksi.
Kelloportti vaaditaan, kun LPM_PIPELINE-arvo on suurempi kuin 0.
kello
Ei
Kello käytössä. Jos se jätetään pois, oletusarvo on 1.
aclr
Ei
Asynkroninen tyhjennystulo. Aktiivista korkeaa aclr-signaalia voidaan käyttää milloin tahansa
tyhjentää rekisterit asynkronisesti.
Taulukko 23. ALTECC-enkooderin lähtöportit
Portin nimi q[]
Pakollinen Kyllä
Kuvaus
Koodattu datalähtöportti. Lähtöportin koko riippuu WIDTH_CODEWORD-parametrin arvosta.
7.8 Dekooderin portit
Seuraavissa taulukoissa luetellaan ALTECC-dekooderin IP-ytimen tulo- ja lähtöportit.
Taulukko 24. ALTECC-dekooderin tuloportit
Portin nimi
Pakollinen
Kuvaus
data[]
Kyllä
Tietojen syöttöportti. Tuloportin koko riippuu parametrin WIDTH_CODEWORD arvosta.
kello
Kyllä
Kellon tuloportti, joka antaa kellosignaalin koodaustoiminnon synkronoimiseksi. Kelloportti vaaditaan, kun LPM_PIPELINE-arvo on suurempi kuin 0.
kello
Ei
Kello käytössä. Jos se jätetään pois, oletusarvo on 1.
aclr
Ei
Asynkroninen tyhjennystulo. Aktiivista korkeaa aclr-signaalia voidaan käyttää milloin tahansa rekisterien asynkroniseen tyhjentämiseen.
Taulukko 25. ALTECC-dekooderin lähtöportit
Portin nimi q[]
Pakollinen Kyllä
Kuvaus
Dekoodattu datalähtöportti. Lähtöportin koko riippuu WIDTH_DATAWORD-parametrin arvosta.
err_detected Kyllä
Lippusignaali heijastaa vastaanotettujen tietojen tilaa ja määrittää löydetyt virheet.
err_correcte Kyllä d
Lippusignaali vastaamaan vastaanotettujen tietojen tilaa. Tarkoittaa löydettyä ja korjattua yksibittistä virhettä. Voit käyttää tietoja, koska ne on jo korjattu.
err_fatal
Kyllä
Lippusignaali vastaamaan vastaanotettujen tietojen tilaa. Tarkoittaa kaksibitistä virhettä, joka on löydetty, mutta sitä ei ole korjattu. Et saa käyttää tietoja, jos tämä signaali vahvistetaan.
syn_e
Ei
Lähtösignaali, joka nousee korkeaksi aina, kun pariteetissa havaitaan yksibittinen virhe
bittiä.
7.9. Enkooderin parametrit
Seuraavassa taulukossa luetellaan ALTECC-enkooderin IP-ytimen parametrit.
Intel FPGA Integer Aritmetic IP Cores -käyttöopas 34
Lähetä palautetta
7. ALTECC (Virheenkorjauskoodi: Enkooderi/dekooderi) IP Core 683490 | 2020.10.05
Taulukko 26. ALTECC-enkooderin parametrit
Parametrin nimi
Tyyppi
Pakollinen
Kuvaus
WIDTH_DATAWORD
Kokonaisluku Kyllä
Määrittää raakatietojen leveyden. Arvot ovat 2 - 64. Jos se jätetään pois, oletusarvo on 8.
WIDTH_CODEWORD
Kokonaisluku Kyllä
Määrittää vastaavan koodisanan leveyden. Kelvolliset arvot ovat 6-72, pois lukien 9, 17, 33 ja 65. Jos arvot jätetään pois, oletusarvo on 13.
LPM_PIPELINE
Kokonaisluku nro
Määrittää putkilinjan piirille. Arvot ovat 0 - 2. Jos arvo on 0, portteja ei rekisteröidä. Jos arvo on 1, lähtöportit rekisteröidään. Jos arvo on 2, tulo- ja lähtöportit rekisteröidään. Jos se jätetään pois, oletusarvo on 0.
7.10. Dekooderin parametrit
Seuraavassa taulukossa luetellaan ALTECC-dekooderin IP-ydinparametrit.
Taulukko 27. ALTECC-dekooderin parametrit
Parametrin nimi WIDTH_DATAWORD
Kirjoita Kokonaisluku
Pakollinen
Kuvaus
Kyllä
Määrittää raakatietojen leveyden. Arvot ovat 2-64
oletusarvo on 8.
WIDTH_CODEWORD
Kokonaisluku
Kyllä
Määrittää vastaavan koodisanan leveyden. Arvot ovat 6
72, pois lukien 9, 17, 33 ja 65. Jos jätetään pois, oletusarvo
on 13.
LPM_PIPELINE
Kokonaisluku
Ei
Määrittää piirin rekisterin. Arvot ovat 0 - 2. Jos
arvo on 0, rekisteriä ei ole toteutettu. Jos arvo on 1,
lähtö on rekisteröity. Jos arvo on 2, sekä tulo että
lähtö on rekisteröity. Jos arvo on suurempi kuin 2, lisää
rekisterit toteutetaan lisälaitteen lähdössä
latenssit. Jos se jätetään pois, oletusarvo on 0.
Luo syn_e-portti
Kokonaisluku
Ei
Ota tämä parametri käyttöön luodaksesi syn_e-portin.
Lähetä palautetta
Intel FPGA Integer Aritmetic IP Cores -käyttöopas 35
683490 | 2020.10.05 Lähetä palautetta
8. Intel FPGA Multiply Adder IP Core
Kuva 9.
Intel FPGA Multiply Adder (Intel Stratix 10-, Intel Arria 10- ja Intel Cyclone 10 GX -laitteet) tai ALTERA_MULT_ADD (Arria V-, Stratix V- ja Cyclone V -laitteet) IP-ydin mahdollistaa kerroinsummaimen toteuttamisen.
Seuraavassa kuvassa näkyvät Intel FPGA Multiply Adder - tai ALTERA_MULT_ADD IP-ytimen portit.
Intel FPGA Multiply Adder tai ALTERA_MULT_ADD -portit
Intel FPGA Multiply Adder tai ALTERA_MULT_ADD
dataa[] signa datab[] signb datac[] coefsel0[] coefsel1[] coefsel2[] coefsel3[] addnsub1 addnsub3 aclr/sclr[] scanina[] kello0 kello1 kello2 ena0 ena1 ena2 sload_accum
accum_sload chainin[]
scanouta[] tulos[]
aclr0 aclr1
inst
Kertoja-summain hyväksyy syötteiden parit, kertoo arvot yhteen ja sitten lisää kaikkien muiden parien tuloihin tai vähentää niistä.
Jos kaikki tulodatan leveydet ovat 9 bittiä leveitä tai pienempiä, toiminto käyttää 9 x 9 bitin tulokertojan konfiguraatiota DSP-lohkossa laitteille, jotka tukevat 9 x 9 konfiguraatiota. Jos ei, DSP-lohko käyttää 18 × 18-bittisiä tulokertoja 10-18 bitin leveyden datan käsittelemiseen. Jos suunnittelussa esiintyy useita Intel FPGA Multiply Adder- tai ALTERA_MULT_ADD IP-ytimiä, toiminnot jaetaan
Intel Corporation. Kaikki oikeudet pidätetään. Intel, Intel-logo ja muut Intel-merkit ovat Intel Corporationin tai sen tytäryhtiöiden tavaramerkkejä. Intel takaa FPGA- ja puolijohdetuotteidensa suorituskyvyn nykyisten vaatimusten mukaisesti Intelin vakiotakuun mukaisesti, mutta pidättää oikeuden tehdä muutoksia tuotteisiin ja palveluihin milloin tahansa ilman erillistä ilmoitusta. Intel ei ota minkään tässä kuvatun tiedon, tuotteen tai palvelun soveltamisesta tai käytöstä johtuvaa vastuuta tai vastuuta, paitsi jos Intel on nimenomaisesti kirjallisesti hyväksynyt. Intelin asiakkaita kehotetaan hankkimaan uusin versio laitteen teknisistä tiedoista ennen kuin he luottavat julkaistuihin tietoihin ja ennen kuin he tilaavat tuotteita tai palveluita. *Muut nimet ja tuotemerkit voidaan väittää muiden omaisuudeksi.
ISO 9001: 2015 rekisteröity
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
mahdollisimman monia erilaisia DSP-lohkoja, jotta reititys näihin lohkoihin on joustavampaa. Vähemmän kertoimia per DSP-lohko mahdollistaa enemmän reititysvalintoja lohkoon minimoimalla polut muuhun laitteeseen.
Myös seuraavien signaalien rekisterit ja ylimääräiset liukuhihnarekisterit sijoitetaan DSP-lohkon sisään: · Tietosyöte · Merkitty tai etumerkitön valinta · Lisää tai vähennä valinta · Kertoimien tulot
Lähtötuloksen tapauksessa ensimmäinen rekisteri sijoitetaan DSP-lohkoon. Ylimääräiset latenssirekisterit sijoitetaan kuitenkin lohkon ulkopuolelle oleviin logiikkaelementteihin. DSP-lohkon oheislaitteet, mukaan lukien datatulot kertojalle, ohjaussignaalitulot ja summaimen lähdöt, käyttävät säännöllistä reititystä kommunikoidakseen muun laitteen kanssa. Kaikki toiminnon yhteydet käyttävät erityistä reititystä DSP-lohkon sisällä. Tämä omistettu reititys sisältää siirtorekisteriketjut, kun valitset vaihtoehdon siirtää kertojan rekisteröity syöttötieto yhdestä kertojasta viereiseen kertojaan.
Lisätietoja DSP-lohkoista kaikissa Stratix V- ja Arria V -laitesarjoissa on vastaavien käsikirjojen luvussa DSP Blocks Kirjallisuus ja tekninen dokumentaatio -sivulla.
Aiheeseen liittyvää tietoa AN 306: Kertoimien käyttöönotto FPGA-laitteissa
Tarjoaa lisätietoja DSP:tä ja muistilohkoja käyttävien kertoimien käyttöönotosta Intel FPGA -laitteissa.
8.1. Ominaisuudet
Intel FPGA Multiply Adder tai ALTERA_MULT_ADD IP-ydin tarjoaa seuraavat ominaisuudet: · Luo kertoimen kahden monimutkaisen kertolaskuoperaation suorittamiseksi
numerot Huomautus: Kun rakennat suurempia kertoimia kuin alkuperäisesti tuettu koko, saattaa/
on suorituskykyvaikutus, joka johtuu DSP-lohkojen kaskadista. · Tukee 1 256 bitin dataleveyksiä · Tukee etumerkillisen ja allekirjoittamattoman tiedon esitysmuotoa · Tukee liukuhihnaa konfiguroitavalla syöttöviiveellä · Tarjoaa mahdollisuuden vaihtaa dynaamisesti allekirjoitetun ja allekirjoittamattoman datan tuen välillä · Tarjoaa mahdollisuuden vaihtaa dynaamisesti yhteen- ja vähennystoiminnon välillä · Tukee valinnaiset asynkroniset ja synkroniset tyhjennys- ja kellotuloportit · Tukee systolisen viiveen rekisteritilaa · Tukee esisummainta, jossa on 8 esikuormituskerrointa per kertoja · Tukee esikuormitusvakiota täydentämään akun palautetta
Lähetä palautetta
Intel FPGA Integer Aritmetic IP Cores -käyttöopas 37
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
8.1.1. Esilisääjä
Esisummaimella yhteen- tai vähennyslaskelmat tehdään ennen kertoimen syöttämistä.
On olemassa viisi esisummaustilaa: · Yksinkertainen tila · Kerrointila · Syöttötila · Neliötila · Vakiotila
Huomautus:
Kun esisummainta käytetään (esisummakerroin/tulo/neliötila), kaikilla kertoimen datatuloilla on oltava sama kelloasetus.
8.1.1.1. Ennen lisäystä yksinkertainen tila
Tässä tilassa molemmat operandit ovat peräisin tuloporteista, eikä esisummainta käytetä tai ohiteta. Tämä on oletustila.
Kuva 10. Esilisääjän yksinkertainen tila
a0 b0
Multi0
tulos
8.1.1.2. Esisummauskerrointila
Tässä tilassa yksi kertojaoperandi on peräisin esisummaimesta ja toinen operandi sisäisestä kertoimen muistista. Kertoimen tallennus mahdollistaa jopa 8 esiasetettua vakiota. Kertoimen valintasignaalit ovat coefsel[0..3].
Tämä tila ilmaistaan seuraavassa yhtälössä.
Seuraavassa näkyy kertoimen esisummakerrointila.
Kuva 11. Esisummauskerrointila
Preadder
a0
Multi0
+/-
tulos
b0
coefsel0 kerroin
Intel FPGA Integer Aritmetic IP Cores -käyttöopas 38
Lähetä palautetta
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
8.1.1.3. Esisummaimen syöttötila Tässä tilassa yksi kertojaoperandi on peräisin esisummaimesta ja toinen operandi datac[]-tuloportista. Tämä tila ilmaistaan seuraavassa yhtälössä.
Seuraavassa näkyy kertoimen summaa edeltävä syöttötila.
Kuva 12. Esilisääjän syöttötila
a0 b0
Multi0
+/-
tulos
c0
8.1.1.4. Pre-adder Square Mode Tämä tila ilmaistaan seuraavassa yhtälössä.
Seuraavassa näkyy kahden kertoimen neliötila ennen yhteenlaskua.
Kuva 13. Esisummaimen neliötila
a0 b0
Multi0
+/-
tulos
8.1.1.5. Esilisääjän vakiotila
Tässä tilassa yksi kertojaoperandi on peräisin tuloportista ja toinen operandi sisäisestä kertoimen muistista. Kertoimen tallennus mahdollistaa jopa 8 esiasetettua vakiota. Kertoimen valintasignaalit ovat coefsel[0..3].
Tämä tila ilmaistaan seuraavassa yhtälössä.
Lähetä palautetta
Intel FPGA Integer Aritmetic IP Cores -käyttöopas 39
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
Seuraavassa kuvassa näkyy kertojan esisummausvakiotila.
Kuva 14. Esilisääjän vakiotila
a0
Multi0
tulos
coefsel0
kerroin
8.1.2. Systolinen viiverekisteri
Systolisessa arkkitehtuurissa syöttötiedot syötetään rekisterikaskadiin, joka toimii datapuskurina. Jokainen rekisteri toimittaa syötteen sample kertoimeen, jossa se kerrotaan vastaavalla kertoimella. Ketjusummain tallentaa asteittain yhdistetyt tulokset kertoimesta ja aiemmin rekisteröidyt tulokset chainin[]-tuloportista lopullisen tuloksen muodostamiseksi. Jokaista kerrottavan lisäyksen elementtiä on viivästettävä yhdellä jaksolla, jotta tulokset synkronoituvat asianmukaisesti, kun ne yhdistetään. Jokaista peräkkäistä viivettä käytetään osoittamaan sekä kerroinmuisti että niiden vastaavien kertolaskuelementtien datapuskuri. esimample, yksi viive toiselle kertolaskuelementille, kaksi viivettä kolmannelle kerroslisäelementille ja niin edelleen.
Kuva 15. Systoliset rekisterit
Systoliset rekisterit
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 v(t)
x(t) edustaa tuloksia jatkuvasta syötteen s virrastaamples ja y(t)
edustaa syötteiden s joukon summaaamples, ja ajan myötä kerrottuna heidän kanssaan
vastaavat kertoimet. Sekä tulo- että tulostulokset kulkevat vasemmalta oikealle. c(0) - c(N-1) ilmaisee kertoimia. Systoliset viiverekisterit on merkitty S-1:llä, kun taas 1 edustaa yhtä kelloviivettä. Systoliset viiverekisterit lisätään osoitteessa
tulot ja lähdöt liukuhihnakäsittelyä varten tavalla, joka varmistaa tulosten tulokset
kertoimen operandi ja kertyneet summat pysyvät tahdissa. Tämä käsittelyelementti
replikoidaan muodostamaan piiri, joka laskee suodatusfunktion. Tämä toiminto on
ilmaistaan seuraavassa yhtälössä.
Intel FPGA Integer Aritmetic IP Cores -käyttöopas 40
Lähetä palautetta
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
N edustaa akkuun syötettyjen datajaksojen määrää, y(t) edustaa lähtöä hetkellä t, A(t) edustaa syöttöä hetkellä t ja B(i) ovat kertoimia. Yhtälön t ja i vastaavat tiettyä ajanhetkeä, joten tulosten s laskemiseksiample y(t) hetkellä t, syötteiden s ryhmäamples N:llä eri ajanhetkellä tai vaaditaan A(n), A(n-1), A(n-2), … A(n-N+1). N tulon ryhmä samples kerrotaan N kertoimella ja lasketaan yhteen lopulliseksi tulokseksi y.
Systolisen rekisterin arkkitehtuuri on käytettävissä vain sum-of-2- ja sum-of-4-tiloissa. Kummassakin systolisen rekisterin arkkitehtuuritilassa ensimmäinen ketjutussignaali on sidottava nollaan.
Seuraava kuva esittää 2 kertoimen systolisen viiverekisterin toteutusta.
Kuva 16. Systolisen viiveen rekisterin toteutus 2 kertoimella
ketjussa
a0
Multi0
+/-
b0
a1
Multi1
+/-
b1
tulos
Kahden kertoimen summa ilmaistaan seuraavassa yhtälössä.
Seuraava kuva esittää 4 kertoimen systolisen viiverekisterin toteutusta.
Lähetä palautetta
Intel FPGA Integer Aritmetic IP Cores -käyttöopas 41
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
Kuva 17. Systolisen viiveen rekisterin toteutus 4 kertoimella
ketjussa
a0
Multi0
+/-
b0
a1
Multi1
+/-
b1
a2
Multi2
+/-
b2
a3
Multi3
+/-
b3
tulos
Neljän kertoimen summa ilmaistaan seuraavassa yhtälössä. Kuva 18. 4 kertoimen summa
Seuraavassa luetellaan Advantagsystolisen rekisterin toteutuksen esteet: · Vähentää DSP-resurssien käyttöä · Mahdollistaa tehokkaan kartoituksen DSP-lohkossa käyttämällä ketjusummainrakennetta
Intel FPGA Integer Aritmetic IP Cores -käyttöopas 42
Lähetä palautetta
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
8.1.3. Esilataus vakio
Esikuormitusvakio ohjaa akun operandia ja täydentää akun palautetta. Kelvollinen LOADCONST_VALUE vaihtelee välillä 0. Vakioarvo on yhtä suuri kuin 64N, missä N = LOADCONST_VALUE. Kun LOADCONST_VALUE on asetettu arvoon 2, vakioarvo on yhtä suuri kuin 64. Tätä toimintoa voidaan käyttää puolueettomana pyöristyksenä.
Seuraavassa kuvassa on esikuormituksen vakiototeutus.
Kuva 19. Esilatausvakio
Akun palaute
vakio
a0
Multi0
+/-
b0
a1
Multi1
+/b1
tulos
accum_sload sload_acum
Katso seuraavat IP-ytimet muista kertoimen toteutuksista: · ALTMULT_ACCUM · ALTMEMMULT · LPM_MULT
8.1.4. Kaksinkertainen akku
Kaksoisakkuominaisuus lisää ylimääräisen rekisterin akun palautepolulle. Kaksoisakkurekisteri seuraa lähtörekisteriä, joka sisältää kellon, kellon käyttöönoton ja aclr. Lisäakkurekisteri palauttaa tuloksen yhden jakson viiveellä. Tämän ominaisuuden avulla voit käyttää kahta akkukanavaa, joilla on sama resurssimäärä.
Seuraava kuva esittää kaksoisakun toteutusta.
Lähetä palautetta
Intel FPGA Integer Aritmetic IP Cores -käyttöopas 43
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
Kuva 20. Kaksoisakku
Kaksinkertainen akkurekisteri
Akun palaute
a0
Multi0
+/-
b0
a1
Multi1
+/b1
Tulostustulos Output Register
8.2. Verilog HDL -prototyyppi
Löydät Intel FPGA Multiply Adder- tai ALTERA_MULT_ADD Verilog HDL -prototyypin file (altera_mult_add_rtl.v) kohdassa librariesmegafunctions -hakemisto.
8.3. VHDL-komponenttien ilmoitus
VHDL-komponentin ilmoitus sijaitsee tiedostossa altera_lnsim_components.vhd librariesvhdl altera_lnsim -hakemisto.
8.4. VHDL LIBRARY_USE -ilmoitus
VHDL LIBRARY-USE -ilmoitusta ei vaadita, jos käytät VHDL-komponenttiilmoitusta.
KIRJASTO altera_mf; KÄYTÄ altera_mf.altera_mf_components.all;
8.5. Signaalit
Seuraavissa taulukoissa luetellaan Multiply Adder Intel FPGA IPor ALTERA_MULT_ADD IP-ytimen tulo- ja lähtösignaalit.
Taulukko 28. Kerroinsummain Intel FPGA IPor ALTERA_MULT_ADD -tulosignaalit
Signaali
Pakollinen
Kuvaus
dataa_0[]/dataa_1[]/
Kyllä
dataa_2[]/dataa_3[]
Tietojen syöttö kertoimelle. Tuloportti [NUMBER_OF_MULTIPLIERS * WIDTH_A – 1 … 0] leveä
jatkui…
Intel FPGA Integer Aritmetic IP Cores -käyttöopas 44
Lähetä palautetta
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
Signaali datab_0[]/datab_1[]/ datab_2[]/datab_3[] datac_0[] /datac_1[]/ datac_2[]/datac_3[] kello[1:0] aclr[1:0] sclr[1:0] en [1:0] merkki
merkkib
scanina[] accum_sload
Pakollinen Kyllä Ei
Ei Ei Ei Ei Ei Ei
Ei
Ei Ei
Kuvaus
Tämän IP:n simulaatiomalli tukee näiden signaalien määrittelemätöntä tuloarvoa (X). Kun annat X-arvon näille signaaleille, X-arvo leviää lähtösignaaleissa.
Tietojen syöttö kertoimelle. Tulosignaali [NUMBER_OF_MULTIPLIERS * WIDTH_B – 1 … 0] leveä Tämän IP:n simulaatiomalli tukee näiden signaalien määrittelemätöntä tuloarvoa (X). Kun annat X-arvon näille signaaleille, X-arvo etenee lähtösignaaleissa.
Tietojen syöttö kertoimelle. Tulosignaali [NUMBER_OF_MULTIPLIERS * WIDTH_C – 1, … 0] leveä Valitse INPUT kohdassa Select preadder mode -parametri ottaaksesi nämä signaalit käyttöön. Tämän IP:n simulaatiomalli tukee näiden signaalien määrittelemätöntä tuloarvoa (X). Kun annat X-arvon näille signaaleille, X-arvo etenee lähtösignaaleissa.
Kellon tuloportti vastaavaan rekisteriin. Tätä signaalia voi käyttää mikä tahansa IP-ytimen rekisteri. Tämän IP:n simulaatiomalli tukee näiden signaalien määrittelemätöntä tuloarvoa (X). Kun annat X-arvon näille signaaleille, X-arvo etenee lähtösignaaleissa.
Asynkroninen tyhjennyssyöttö vastaavaan rekisteriin. Tämän IP:n simulaatiomalli tukee näiden signaalien määrittelemätöntä tuloarvoa (X). Kun annat X-arvon näille signaaleille, X-arvo etenee lähtösignaaleissa.
Synkroninen tyhjennyssyöttö vastaavaan rekisteriin. Tämän IP:n simulointimalli tukee näille signaaleille määrittelemätöntä tuloarvoa X. Kun annat X-arvon näille signaaleille, X-arvo etenee lähtösignaaleissa
Ota signaalin syöttö käyttöön vastaavaan rekisteriin. Tämän IP:n simulaatiomalli tukee näiden signaalien määrittelemätöntä tuloarvoa (X). Kun annat X-arvon näille signaaleille, X-arvo etenee lähtösignaaleissa.
Määrittää kertojan tulon A numeerisen esityksen. Jos signaalisignaali on korkea, kertoja käsittelee kertoimen tulon A signaalia etumerkillisenä numerona. Jos signaalisignaali on alhainen, kertoja käsittelee kertojan tulon A signaalia etumerkittömänä numerona. Valitse MUUTTUJA kohtaan Mikä on kertoimien esitysmuoto A syöttää parametrin tämän signaalin mahdollistamiseksi. Tämän IP:n simulaatiomalli tukee tämän signaalin määrittelemätöntä tuloarvoa (X). Kun annat X-arvon tälle tulolle, X-arvo leviää lähtösignaaleissa.
Määrittää kertojan tulon B signaalin numeerisen esityksen. Jos merkkib-signaali on korkea, kertoja käsittelee kertojan tulon B signaalia etumerkillisenä kahden komplementtilukuna. Jos merkkib-signaali on alhainen, kertoja käsittelee kertojan tulon B signaalia etumerkittömänä numerona. Tämän IP:n simulaatiomalli tukee tämän signaalin määrittelemätöntä tuloarvoa (X). Kun annat X-arvon tälle tulolle, X-arvo leviää lähtösignaaleissa.
Tulo skannausketjulle A. Tulosignaali [WIDTH_A – 1, … 0] leveä. Kun parametrin INPUT_SOURCE_A arvo on SCANA, vaaditaan scanina[]-signaali.
Määrittää dynaamisesti, onko akun arvo vakio. Jos accum_sload-signaali on alhainen, niin kerroinlähtö ladataan akkuun. Älä käytä accum_sload ja sload_accum samanaikaisesti.
jatkui…
Lähetä palautetta
Intel FPGA Integer Aritmetic IP Cores -käyttöopas 45
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
Signaali sload_accum
chainin[] addnsub1
addnsub3
coefsel0[] coefsel1[] coefsel2[] coefsel3[]
Pakollinen nro
Ei Ei
Ei
Ei ei ei ei
Kuvaus
Tämän IP:n simulaatiomalli tukee tämän signaalin määrittelemätöntä tuloarvoa (X). Kun annat X-arvon tälle tulolle, X-arvo leviää lähtösignaaleissa.
Määrittää dynaamisesti, onko akun arvo vakio. Jos sload_accum-signaali on korkea, kerroinlähtö ladataan akkuun. Älä käytä accum_sload ja sload_accum samanaikaisesti. Tämän IP:n simulaatiomalli tukee tämän signaalin määrittelemätöntä tuloarvoa (X). Kun annat X-arvon tälle tulolle, X-arvo leviää lähtösignaaleissa.
Summatulosten syöttöväylä edellisestä s:stätage. Tulosignaali [WIDTH_CHAININ – 1, … 0] leveä.
Suorita yhteen- tai vähennyslasku ensimmäisen kertojaparin lähtöihin. Tulo 1 addnsub1-signaaliin, jotta voit lisätä lähdöt ensimmäisestä kertojaparista. Syötä 0 addnsub1-signaaliin vähentääksesi lähdöt ensimmäisestä kertojaparista. Tämän IP:n simulaatiomalli tukee tämän signaalin määrittelemätöntä tuloarvoa (X). Kun annat tälle tulolle X-arvon, X-arvo leviää lähtösignaaleissa.
Suorita yhteen- tai vähennyslasku ensimmäisen kertojaparin lähtöihin. Tulo 1 addnsub3-signaaliin lisätäksesi lähdöt toisesta kertojaparista. Syötä 0 addnsub3-signaaliin vähentääksesi lähdöt ensimmäisestä kertojaparista. Tämän IP:n simulaatiomalli tukee tämän signaalin määrittelemätöntä tuloarvoa (X). Kun annat X-arvon tälle tulolle, X-arvo leviää lähtösignaaleissa.
Kerrointulosignaali[0:3] ensimmäiselle kertoimelle. Tämän IP:n simulaatiomalli tukee tämän signaalin määrittelemätöntä tuloarvoa (X). Kun annat X-arvon tälle tulolle, X-arvo leviää lähtösignaaleissa.
Kerrointulosignaali[0:3]toiselle kertojalle. Tämän IP:n simulaatiomalli tukee tämän signaalin määrittelemätöntä tuloarvoa (X). Kun annat X-arvon tälle tulolle, X-arvo leviää lähtösignaaleissa.
Kerrointulosignaali[0:3]kolmannelle kertoimelle. Tämän IP:n simulaatiomalli tukee tämän signaalin määrittelemätöntä tuloarvoa (X). Kun annat X-arvon tälle tulolle, X-arvo leviää lähtösignaaleissa.
Kerrointulosignaali [0:3] neljännelle kertoimelle. Tämän IP:n simulaatiomalli tukee tämän signaalin määrittelemätöntä tuloarvoa (X). Kun annat X-arvon tälle tulolle, X-arvo leviää lähtösignaaleissa.
Taulukko 29. Kerroinsummain Intel FPGA IP -lähtösignaalit
Signaali
Pakollinen
Kuvaus
tulos []
Kyllä
Kerroinlähtösignaali. Lähtösignaali [WIDTH_RESULT – 1 … 0] leveä
Tämän IP:n simulaatiomalli tukee määrittelemätöntä lähtöarvoa (X). Kun syötät X-arvon tulona, X-arvo leviää tässä signaalissa.
scanouta []
Ei
Pyyhkäisyketjun A lähtö. Lähtösignaali [WIDTH_A – 1..0] leveä.
Valitse enemmän kuin 2 kertoimien lukumäärää varten ja valitse Skannausketjun sisäänmeno kohtaan Mikä on parametriin kytketyn kertojan tulo A tämän signaalin mahdollistamiseksi.
Intel FPGA Integer Aritmetic IP Cores -käyttöopas 46
Lähetä palautetta
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
8.6. parametrit
8.6.1. Yleiset-välilehti
Taulukko 30. Yleistä-välilehti
Parametri
IP:n luoma parametri
Arvo
Mikä on kertoimien lukumäärä?
m_lukumäärä 1 – 4 kertojaa
Kuinka leveitä A-leveys_a-tuloväylien tulee olla?
1-256
Kuinka leveitä B width_b -tuloväylän tulee olla?
1-256
Kuinka leveä tuloslähtöväylän tulee olla?
leveys_tulos
1-256
Luo kullekin kellolle liittyvä kellon käyttöönotto
gui_associate Päällä d_clock_enabl Pois e
8.6.2. Lisätilat-välilehti
Taulukko 31. Lisätilat-välilehti
Parametri
IP:n luoma parametri
Arvo
Lähtöjen konfigurointi
Rekisteröi summausyksikön lähtö
gui_output_re päällä
gister
Pois
Mikä on kellon tulolähde?
gui_output_re gister_clock
Kello0 Kello1 Kello2
Mikä on asynkronisen tyhjennyksen lähde?
gui_output_re gister_aclr
EI MITÄÄN ACLR0 ACLR1
Mikä on synkronisen tyhjennystulon lähde?
gui_output_re gister_sclr
EI MITÄÄN SCLR0 SCLR1
Lisälaitteen toiminta
Mikä toimenpide tulisi suorittaa ensimmäisen kertojaparin lähdöille?
gui_multiplier 1_direction
ADD, SUB, VARIABLE
Oletusarvo 1
16
Kuvaus
Yhteen laskettavien kertoimien määrä. Arvot ovat 1-4. Määritä dataa[]-portin leveys.
16
Määritä datab[]-portin leveys.
32
Määritä tulos[]-portin leveys.
Pois
Valitse tämä vaihtoehto, jos haluat ottaa kellon käyttöön
jokaiselle kellolle.
Oletusarvo
Kuvaus
Kello pois päältä0
EI MITÄÄN EI MITÄÄN
Valitse tämä vaihtoehto ottaaksesi lisämoduulin lähtörekisterin käyttöön.
Ota käyttöön ja määritä lähtörekisterien kellolähde valitsemalla Kello0 , Kello1 tai Kello2. Sinun on valittava Rekisteröi summausyksikön lähtö ottaaksesi tämän parametrin käyttöön.
Määrittää asynkronisen tyhjennyslähteen summaimen lähtörekisterille. Sinun on valittava Rekisteröi summausyksikön lähtö ottaaksesi tämän parametrin käyttöön.
Määrittää summaimen lähtörekisterin synkronisen tyhjennyslähteen. Sinun on valittava Rekisteröi summausyksikön lähtö ottaaksesi tämän parametrin käyttöön.
LISÄTÄ
Valitse ensimmäisen ja toisen kertoimen välisille lähdöille suoritettava yhteen- tai vähennystoiminto.
· Valitse ADD suorittaaksesi lisäystoiminnon.
· Suorita vähennyslasku valitsemalla SUB.
· Valitse MUUTTUJA, jos haluat käyttää addnsub1-porttia dynaamiseen yhteen-/vähennysohjaukseen.
jatkui…
Lähetä palautetta
Intel FPGA Integer Aritmetic IP Cores -käyttöopas 47
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
Parametri
IP:n luoma parametri
Arvo
Rekisteröi 'addnsub1'-tulo
gui_addnsub_ On multiplier_reg Off ister1
Mikä on kellon tulolähde?
gui_addnsub_ multiplier_reg ister1_clock
Kello0 Kello1 Kello2
Mikä on asynkronisen tyhjennyksen lähde?
gui_addnsub_ multiplier_aclr 1
EI MITÄÄN ACLR0 ACLR1
Mikä on synkronisen tyhjennystulon lähde?
gui_addnsub_ multiplier_sclr 1
EI MITÄÄN SCLR0 SCLR1
Mikä toimenpide tulisi suorittaa toisen kertojaparin lähdöille?
gui_multiplier 3_direction
ADD, SUB, VARIABLE
Rekisteröi 'addnsub3'-tulo
gui_addnsub_ On multiplier_reg Off ister3
Mikä on kellon tulolähde?
gui_addnsub_ multiplier_reg ister3_clock
Kello0 Kello1 Kello2
Oletusarvo
Off Clock0 EI MITÄÄN EI LISÄÄ
Kello pois päältä0
Kuvaus
Kun VARIABLE-arvo on valittu: · Ohjaa addnsub1-signaali korkeaksi
lisäystoiminto. · Ohjaa addnsub1-signaali alhaiseksi
vähennysoperaatio. Sinun on valittava enemmän kuin kaksi kerrointa ottaaksesi tämän parametrin käyttöön.
Valitse tämä vaihtoehto ottaaksesi tulorekisterin käyttöön addnsub1-portille. Sinun on valittava VARIABLE kohdassa Mikä toiminto tulee suorittaa ensimmäisen kertojaparin lähdöille, jotta tämä parametri otetaan käyttöön.
Valitse Kello0 , Kello1 tai Kello2 määrittääksesi tulokellosignaalin addnsub1-rekisterille. Sinun on valittava Rekisteröi 'addnsub1'-tulo ottaaksesi tämän parametrin käyttöön.
Määrittää asynkronisen tyhjennyslähteen addnsub1-rekisterille. Sinun on valittava Rekisteröi 'addnsub1'-tulo ottaaksesi tämän parametrin käyttöön.
Määrittää synkronisen tyhjennyslähteen addnsub1-rekisterille. Sinun on valittava Rekisteröi 'addnsub1'-tulo ottaaksesi tämän parametrin käyttöön.
Valitse kolmannen ja neljännen kertoimen välisille lähdöille suoritettava yhteen- tai vähennystoiminto. · Suorita lisäys valitsemalla LISÄÄ
operaatio. · Suorita vähennyslasku valitsemalla SUB
operaatio. · Valitse MUUTTUJA, jos haluat käyttää addnsub1:tä
portti dynaamiseen yhteen- ja vähennyslaskuohjaukseen. Kun VARIABLE-arvo on valittu: · Ohjaa addnsub1-signaali korkeaksi lisäystoimintoa varten. · Ohjaa addnsub1-signaali alhaiseksi vähennystoimintoa varten. Sinun on valittava arvo 4 kohtaan Mikä on kertoimien määrä? ottaaksesi tämän parametrin käyttöön.
Valitse tämä vaihtoehto ottaaksesi tulorekisterin käyttöön addnsub3-signaalille. Sinun on valittava VARIABLE kohdassa Mikä toiminto tulee suorittaa toisen kertojaparin lähdöille, jotta tämä parametri voidaan ottaa käyttöön.
Valitse Kello0 , Kello1 tai Kello2 määrittääksesi tulokellosignaalin addnsub3-rekisterille. Sinun on valittava Rekisteröi addnsub3-tulo ottaaksesi tämän parametrin käyttöön.
jatkui…
Intel FPGA Integer Aritmetic IP Cores -käyttöopas 48
Lähetä palautetta
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
Parametri
Mikä on asynkronisen tyhjennyksen lähde?
IP:n luoma parametri
Arvo
gui_addnsub_ multiplier_aclr 3
EI MITÄÄN ACLR0 ACLR1
Mikä on synkronisen tyhjennystulon lähde?
gui_addnsub_ multiplier_sclr 3
EI MITÄÄN SCLR0 SCLR1
Napaisuus Ota käyttöön `use_subadd'
gui_use_subn Päällä
lisätä
Pois
8.6.3. Kertoimet-välilehti
Taulukko 32. Kertoimet-välilehti
Parametri
IP:n luoma parametri
Arvo
Mikä on
gui_represent
esitysmuoto ation_a
kertoimien A tuloille?
ALLEKIRJOITTU, ALLEKIRJOITTAmaton, MUUTTUVA
Rekisteröi signa-syöttö
gui_register_s päällä
igna
Pois
Mikä on kellon tulolähde?
gui_register_s igna_clock
Kello0 Kello1 Kello2
Mikä on asynkronisen tyhjennyksen lähde?
gui_register_s igna_aclr
EI MITÄÄN ACLR0 ACLR1
Mikä on synkronisen tyhjennystulon lähde?
gui_register_s igna_sclr
EI MITÄÄN SCLR0 SCLR1
Mikä on
gui_represent
esitysmuoto ation_b
Kerrointen B tuloille?
ALLEKIRJOITTU, ALLEKIRJOITTAmaton, MUUTTUVA
Rekisteröi `signb'-syöttö
gui_register_s päällä
ignb
Pois
Oletusarvo EI MITÄÄN
EI MITÄÄN
Kuvaus
Määrittää asynkronisen tyhjennyslähteen addnsub3-rekisterille. Sinun on valittava Rekisteröi 'addnsub3'-tulo ottaaksesi tämän parametrin käyttöön.
Määrittää synkronisen tyhjennyslähteen addnsub3-rekisterille. Sinun on valittava Rekisteröi addnsub3-tulo ottaaksesi tämän parametrin käyttöön.
Pois
Valitse tämä vaihtoehto vaihtaaksesi toiminnon
addnsub-tuloportista.
Aja addnsub korkeaan vähennyslaskutoimintoa varten.
Aja addnsub matalaan lisäystoimintoa varten.
Oletusarvo
Kuvaus
ALLEKIRJOITTAmaton Määritä kertoimen A tulon esitysmuoto.
Pois
Ota signa käyttöön valitsemalla tämä vaihtoehto
rekisteröidy.
Sinun on valittava VARIABLE-arvo kohtaan Mikä on kertoimen A tulojen esitysmuoto? parametri ottaaksesi tämän vaihtoehdon käyttöön.
Kello 0
Valitse Kello0 , Kello1 tai Kello2 ottaaksesi käyttöön ja määrittääksesi signaalirekisterin tulokellosignaalin.
Sinun on valittava Rekisteröi signa-tulo ottaaksesi tämän parametrin käyttöön.
EI MITÄÄN
Määrittää allekirjoitusrekisterin asynkronisen tyhjennyslähteen.
Sinun on valittava Rekisteröi signa-tulo ottaaksesi tämän parametrin käyttöön.
EI MITÄÄN
Määrittää allekirjoitusrekisterin synkronisen tyhjennyslähteen.
Sinun on valittava Rekisteröi signa-tulo ottaaksesi tämän parametrin käyttöön.
ALLEKIRJOITTAmaton Määritä kertoimen B tulon esitysmuoto.
Pois
Valitse tämä vaihtoehto ottaaksesi signb käyttöön
rekisteröidy.
jatkui…
Lähetä palautetta
Intel FPGA Integer Aritmetic IP Cores -käyttöopas 49
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
Parametri
IP:n luoma parametri
Arvo
Oletusarvo
Mikä on kellon tulolähde?
gui_register_s ignb_clock
Kello0 Kello1 Kello2
Kello 0
Mikä on asynkronisen tyhjennyksen lähde?
gui_register_s ignb_aclr
EI MITÄÄN ACLR0 ACLR1
Mikä on synkronisen tyhjennystulon lähde?
gui_register_s ignb_sclr
EI MITÄÄN SCLR0 SCLR1
Syöttöasetukset
Rekisteröi kertoimen tulo A
Mikä on kellon tulolähde?
gui_input_reg päällä
ister_a
Pois
gui_input_reg ister_a_clock
Kello0 Kello1 Kello2
EI MITÄÄN EI MITÄÄN
Kello pois päältä0
Mikä on asynkronisen tyhjennyksen lähde?
gui_input_reg ister_a_aclr
EI MITÄÄN ACLR0 ACLR1
Mikä on synkronisen tyhjennystulon lähde?
gui_input_reg ister_a_sclr
EI MITÄÄN SCLR0 SCLR1
Rekisteröi kertoimen tulo B
Mikä on kellon tulolähde?
gui_input_reg päällä
ister_b
Pois
gui_input_reg ister_b_clock
Kello0 Kello1 Kello2
EI MITÄÄN Ei mitään Pois Kellosta0
Mikä on asynkronisen tyhjennyksen lähde?
gui_input_reg ister_b_aclr
EI MITÄÄN ACLR0 ACLR1
EI MITÄÄN
Mikä on synkronisen tyhjennystulon lähde?
gui_input_reg ister_b_sclr
EI MITÄÄN SCLR0 SCLR1
EI MITÄÄN
Mihin kertoimen tulo A on kytketty?
gui_multiplier Kerrointulo Kerroin
_a_syöttö
Skannausketjun syöttö
Kuvaus
Sinun on valittava VARIABLE-arvo kohtaan Mikä on kertoimien B tulojen esitysmuoto? parametri ottaaksesi tämän vaihtoehdon käyttöön.
Valitse Kello0 , Kello1 tai Kello2 ottaaksesi käyttöön ja määrittääksesi tulokellosignaalin signb-rekisterille. Sinun on valittava Rekisteröi signb-tulo ottaaksesi tämän parametrin käyttöön.
Määrittää signb-rekisterin asynkronisen tyhjennyslähteen. Sinun on valittava Rekisteröi signb-tulo ottaaksesi tämän parametrin käyttöön.
Määrittää synkronisen tyhjennyslähteen signb-rekisterille. Sinun on valittava Rekisteröi signb-tulo ottaaksesi tämän parametrin käyttöön.
Valitse tämä vaihtoehto ottaaksesi tulorekisterin käyttöön datatuloväylää varten.
Valitse Kello0 , Kello1 tai Kello2 ottaaksesi käyttöön ja määrittääksesi rekisteritulon kellosignaalin datatuloväylää varten. Sinun on valittava kertoimen rekisteröintitulo A ottaaksesi tämän parametrin käyttöön.
Määrittää rekisterin asynkronisen tyhjennyslähteen datatuloväylälle. Sinun on valittava kertoimen rekisteröintitulo A ottaaksesi tämän parametrin käyttöön.
Määrittää rekisterin synkronisen tyhjennyslähteen datatuloväylälle. Sinun on valittava kertoimen rekisteröintitulo A ottaaksesi tämän parametrin käyttöön.
Valitse tämä vaihtoehto ottaaksesi tietokannan tuloväylän tulorekisterin käyttöön.
Valitse Kello0 , Kello1 tai Kello2 ottaaksesi käyttöön ja määrittääksesi datab-tuloväylän rekisteritulokellosignaalin. Sinun on valittava kertoimen rekisteröintitulo B ottaaksesi tämän parametrin käyttöön.
Määrittää rekisterin asynkronisen tyhjennyslähteen datab-tuloväylälle. Sinun on valittava kertoimen rekisteröintitulo B ottaaksesi tämän parametrin käyttöön.
Määrittää rekisterin synkronisen tyhjennyslähteen datab-tuloväylälle. Sinun on valittava kertoimen rekisteröintitulo B ottaaksesi tämän parametrin käyttöön.
Valitse tulolähde kertoimen tulolle A.
jatkui…
Intel FPGA Integer Aritmetic IP Cores -käyttöopas 50
Lähetä palautetta
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
Parametri
IP:n luoma parametri
Arvo
Scanout A Rekisterin kokoonpano
Rekisteröi skannausketjun tulos
gui_scanouta Päällä
_rekisteröinti
Pois
Mikä on kellon tulolähde?
gui_scanouta _register_cloc k
Kello0 Kello1 Kello2
Mikä on asynkronisen tyhjennyksen lähde?
gui_scanouta _register_aclr
EI MITÄÄN ACLR0 ACLR1
Mikä on synkronisen tyhjennystulon lähde?
gui_scanouta _register_sclr
EI MITÄÄN SCLR0 SCLR1
8.6.4. Preadder-välilehti
Taulukko 33. Preadder-välilehti
Parametri
IP:n luoma parametri
Arvo
Valitse preadder-tila
preadder_mo de
YKSINKERTAINEN, KERTOINEN, SYÖTTÖ, NELIÖ, VAKIO
Oletusarvo
Kuvaus
Valitse Kerrointulo, jos haluat käyttää datatuloväylää kertoimen lähteenä. Valitse Skannausketjun syöttö, jos haluat käyttää skannaustuloväylää kertoimen lähteenä ja ottaa skannauslähtöväylän käyttöön. Tämä parametri on käytettävissä, kun valitset 2, 3 tai 4 kohdassa Mikä on kertoimien määrä? parametri.
Pois kellosta0 EI MITÄÄN EI MITÄÄN
Valitse tämä vaihtoehto ottaaksesi lähtörekisterin käyttöön scanouta-lähtöväylälle.
Sinun on valittava Skannausketjun tulo kohtaan Mihin kertoimen tulo A on kytketty? parametri ottaaksesi tämän vaihtoehdon käyttöön.
Valitse Kello0 , Kello1 tai Kello2 ottaaksesi käyttöön ja määrittääksesi rekisteritulon kellosignaalin skannauslähtöväylää varten.
Sinun on otettava käyttöön tarkistusketjuparametrin Rekisteröi tulos ottaaksesi tämän vaihtoehdon käyttöön.
Määrittää rekisterin asynkronisen tyhjennyslähteen scanouta-lähtöväylälle.
Sinun on otettava käyttöön tarkistusketjuparametrin Rekisteröi tulos ottaaksesi tämän vaihtoehdon käyttöön.
Määrittää rekisterin synkronisen tyhjennyslähteen scanouta-lähtöväylälle.
Sinun on valittava tarkistusketjuparametrin Rekisteröi tulos ottaaksesi tämän vaihtoehdon käyttöön.
Oletusarvo
YKSINKERTAINEN
Kuvaus
Määrittää preadder-moduulin toimintatilan. SIMPLE: Tämä tila ohittaa preadderin. Tämä on oletustila. COEF: Tämä tila käyttää preadderin ja coefsel-tuloväylän lähtöä kertoimen tuloina. INPUT: Tämä tila käyttää preadderin ja datac-tuloväylän lähtöä kertoimen tuloina. NELIÖ: Tämä tila käyttää preadderin lähtöä sekä kertoimen tuloina.
jatkui…
Lähetä palautetta
Intel FPGA Integer Aritmetic IP Cores -käyttöopas 51
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
Parametri
IP:n luoma parametri
Arvo
Valitse preadder-suunta
gui_preadder ADD,
_suunta
SUB
Kuinka leveitä C width_c -tuloväylien tulee olla?
1-256
Data C Input Register Configuration
Rekisteröi datasisääntulo
gui_datac_inp Käytössä
ut_register
Pois
Mikä on kellon tulolähde?
gui_datac_inp ut_register_cl ock
Kello0 Kello1 Kello2
Mikä on asynkronisen tyhjennyksen lähde?
gui_datac_inp ut_register_a clr
EI MITÄÄN ACLR0 ACLR1
Mikä on synkronisen tyhjennystulon lähde?
gui_datac_inp ut_register_sc lr
EI MITÄÄN SCLR0 SCLR1
Kertoimet
Kuinka leveä kertoimen leveyden tulisi olla?
leveys_kerroin
1-27
Coef-rekisterin konfigurointi
Rekisteröi coefsel-syöte
gui_coef_regi Käytössä
ster
Pois
Mikä on kellon tulolähde?
gui_coef_regi ster_clock
Kello0 Kello1 Kello2
Oletusarvo
LISÄTÄ
16
Kuvaus
VAKIO: Tämä tila käyttää dataa tuloväylää, jossa preadder on ohitettu, ja kerrointuloväylää kertoimen tuloina.
Määrittää preadderin toiminnan. Ota tämä parametri käyttöön valitsemalla Valitse preadder mode -asetukseksi seuraavat: · COEF · INPUT · SQUARE tai · VAKIO
Määrittää C-tuloväylän bittien määrän. Sinun on valittava INPUT kohdassa Select preadder mode ottaaksesi tämän parametrin käyttöön.
Kellossa0 EI MITÄÄN EI MITÄÄN
Valitse tämä vaihtoehto ottaaksesi tulorekisterin käyttöön datasisääntuloväylää varten. Sinun on asetettava INPUT kohtaan Select preadder mode -parametri ottaaksesi tämän vaihtoehdon käyttöön.
Valitse Kello0 , Kello1 tai Kello2 määrittääksesi kellosignaalin datasisääntulorekisterille. Sinun on valittava Register datac input ottaaksesi tämän parametrin käyttöön.
Määrittää datasisääntulorekisterin asynkronisen tyhjennyslähteen. Sinun on valittava Register datac input ottaaksesi tämän parametrin käyttöön.
Määrittää datasisääntulorekisterin synkronisen tyhjennyslähteen. Sinun on valittava Register datac input ottaaksesi tämän parametrin käyttöön.
18
Määrittää bittien määrän
coefsel-tuloväylä.
Sinun on valittava COEF tai CONSTANT preadder-tilaksi ottaaksesi tämän parametrin käyttöön.
Kellossa 0
Valitse tämä vaihtoehto ottaaksesi tulorekisterin käyttöön coefsel-tuloväylälle. Sinun on valittava COEF tai CONSTANT preadder-tilaksi ottaaksesi tämän parametrin käyttöön.
Valitse Kello0 , Kello1 tai Kello2 määrittääksesi tulokellosignaalin kertoimen tulorekisterille. Sinun on valittava Rekisteröi coefsel-tulo ottaaksesi tämän parametrin käyttöön.
jatkui…
Intel FPGA Integer Aritmetic IP Cores -käyttöopas 52
Lähetä palautetta
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
Parametri
Mikä on asynkronisen tyhjennyksen lähde?
IP:n luoma parametri
Arvo
gui_coef_regi ster_aclr
EI MITÄÄN ACLR0 ACLR1
Mikä on synkronisen tyhjennyksen lähde
gui_coef_regi ster_sclr
EI MITÄÄN SCLR0 SCLR1
Kerroin_0 Konfiguraatio
kerroin0_0 - kerroin0_7
0x00000 0xFFFFFF
Kerroin_1 Konfiguraatio
kerroin1_0 - kerroin1_7
0x00000 0xFFFFFF
Kerroin_2 Konfiguraatio
kerroin2_0 - kerroin2_7
0x00000 0xFFFFFF
Kerroin_3 Konfiguraatio
kerroin3_0 - kerroin3_7
0x00000 0xFFFFFF
8.6.5. Akku-välilehti
Taulukko 34. Akku-välilehti
Parametri
IP:n luoma parametri
Arvo
Otetaanko akku käyttöön?
akku
KYLLÄ EI
Mikä on akun toimintatyyppi?
accum_directi ADD,
on
SUB
Oletusarvo EI MITÄÄN
EI MITÄÄN
0x0000000 0
0x0000000 0
0x0000000 0
0x0000000 0
Kuvaus
Määrittää asynkronisen selkeän lähteen coefsel-tulorekisterille. Sinun on valittava Rekisteröi coefsel-tulo ottaaksesi tämän parametrin käyttöön.
Määrittää synkronisen tyhjennyslähteen coefsel-tulorekisterille. Sinun on valittava Rekisteröi coefsel-tulo ottaaksesi tämän parametrin käyttöön.
Määrittää kertoimen arvot tälle ensimmäiselle kertoimelle. Bittien lukumäärän on oltava sama kuin kohdassa Kuinka leveä kertoimen leveyden tulee olla? parametri. Sinun on valittava COEF tai CONSTANT preadder-tilaksi ottaaksesi tämän parametrin käyttöön.
Määrittää kertoimen arvot tälle toiselle kertoimelle. Bittien lukumäärän on oltava sama kuin kohdassa Kuinka leveä kertoimen leveyden tulee olla? parametri. Sinun on valittava COEF tai CONSTANT preadder-tilaksi ottaaksesi tämän parametrin käyttöön.
Määrittää kertoimen arvot tälle kolmannelle kertoimelle. Bittien lukumäärän on oltava sama kuin kohdassa Kuinka leveä kertoimen leveyden tulee olla? parametri. Sinun on valittava COEF tai CONSTANT preadder-tilaksi ottaaksesi tämän parametrin käyttöön.
Määrittää kertoimen arvot tälle neljännelle kertoimelle. Bittien lukumäärän on oltava sama kuin kohdassa Kuinka leveä kertoimen leveyden tulee olla? parametri. Sinun on valittava COEF tai CONSTANT preadder-tilaksi ottaaksesi tämän parametrin käyttöön.
Oletusarvo NO
LISÄTÄ
Kuvaus
Ota akku käyttöön valitsemalla KYLLÄ. Sinun on valittava Rekisteröi summausyksikön lähtö, kun käytät akkutoimintoa.
Määrittää akun toiminnan: · ADD yhteenlaskutoiminnolle · SUB vähennystoiminnolle. Sinun on valittava KYLLÄ kohtaan Otetaanko akku käyttöön? parametri ottaaksesi tämän vaihtoehdon käyttöön.
jatkui…
Lähetä palautetta
Intel FPGA Integer Aritmetic IP Cores -käyttöopas 53
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
Parametri
Esilatausvakio Ota esilatausvakio käyttöön
IP:n luoma parametri
Arvo
gui_ena_prelo Käytössä
ad_const
Pois
Mihin akkuportin tulo on kytketty?
gui_accumula ACCUM_SLOAD, te_port_select SLOAD_ACCUM
Valitse arvo esilataukselle loadconst_val 0–64
vakio
ue
Mikä on kellon tulolähde?
gui_accum_sl oad_register_ clock
Kello0 Kello1 Kello2
Mikä on asynkronisen tyhjennyksen lähde?
gui_accum_sl oad_register_ aclr
EI MITÄÄN ACLR0 ACLR1
Mikä on synkronisen tyhjennystulon lähde?
gui_accum_sl oad_register_ slr
EI MITÄÄN SCLR0 SCLR1
Ota kaksinkertainen akku käyttöön
gui_double_a Käytössä
ccum
Pois
Oletusarvo
Kuvaus
Pois
Ota käyttöön accum_sload tai
sload_accum signaalit ja rekisteritulo
valitaksesi tulon dynaamisesti
akku.
Kun accum_sload on pieni tai sload_accum, kertoimen lähtö syötetään akkuun.
Kun accum_sload on korkea tai sload_accum, käyttäjän määrittämä esilatausvakio syötetään akkuun.
Sinun on valittava KYLLÄ kohtaan Otetaanko akku käyttöön? parametri ottaaksesi tämän vaihtoehdon käyttöön.
ACCUM_SL OAD
Määrittää accum_sload/ sload_acum signaalin käyttäytymisen.
ACCUM_SLOAD: Aja accum_sload low ladataksesi kertoimen lähtö akkuun.
SLOAD_ACCUM: Aja sload_accum korkea ladataksesi kertoimen lähtö akkuun.
Sinun on valittava Ota esilatausvakio käyttöön -vaihtoehto ottaaksesi tämän parametrin käyttöön.
64
Määritä esiasetettu vakioarvo.
Tämä arvo voi olla 2N, jossa N on esiasetettu vakioarvo.
Kun N = 64, se edustaa vakionollaa.
Sinun on valittava Ota esilatausvakio käyttöön -vaihtoehto ottaaksesi tämän parametrin käyttöön.
Kello 0
Valitse Kello0 , Kello1 tai Kello2 määrittääksesi tulokellosignaalin accum_sload/sload_accum-rekisterille.
Sinun on valittava Ota esilatausvakio käyttöön -vaihtoehto ottaaksesi tämän parametrin käyttöön.
EI MITÄÄN
Määrittää asynkronisen tyhjennyslähteen accum_sload/sload_accum-rekisterille.
Sinun on valittava Ota esilatausvakio käyttöön -vaihtoehto ottaaksesi tämän parametrin käyttöön.
EI MITÄÄN
Määrittää synkronisen tyhjennyslähteen rekisterille accum_sload/sload_accum.
Sinun on valittava Ota esilatausvakio käyttöön -vaihtoehto ottaaksesi tämän parametrin käyttöön.
Pois
Ottaa käyttöön kaksoisakkurekisterin.
Intel FPGA Integer Aritmetic IP Cores -käyttöopas 54
Lähetä palautetta
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
8.6.6. Systolinen/Chainout-välilehti
Taulukko 35. Systolinen/ketjuttomuus-välilehti
Parametri Ota ketjutuslisäaine käyttöön
IP:n luoma parametri
Arvo
chainout_add KYLLÄ,
er
EI
Mikä on ketjutuslisäajan toimintatyyppi?
chainout_add ADD,
er_direction
SUB
Otetaanko 'negate'-syöte käyttöön ketjutussummaimelle?
Port_negate
PORT_USED, PORT_UNUSED
Rekisteröi 'negate'-syöttö? negate_regist er
EI REKISTERÖIDY, KELLO0, KELLO1, KELLO2, KELLO3
Mikä on asynkronisen tyhjennyksen lähde?
negate_aclr
EI MITÄÄN ACLR0 ACLR1
Mikä on synkronisen tyhjennystulon lähde?
negate_sclr
EI MITÄÄN SCLR0 SCLR1
Systolinen viive
Ota systoliset viiverekisterit käyttöön
gui_systolic_d Päällä
Elay
Pois
Mikä on kellon tulolähde?
gui_systolic_d CLOCK0,
elay_clock
KELLO1,
Oletusarvo
EI
Kuvaus
Valitse KYLLÄ ottaaksesi ketjutuslisäysmoduulin käyttöön.
LISÄTÄ
Määrittää ketjutussummaimen toiminnan.
Vähennystoimintoa varten SIGNED on valittava kohtaan Mikä on kertoimien A tulojen esitysmuoto? ja Mikä on kertoimien B tulojen esitysmuoto? Kerroinvälilehdellä.
PORT_UN KÄYTETTY
Valitse PORT_USED ottaaksesi negatiivisen tulosignaalin käyttöön.
Tämä parametri ei kelpaa, kun ketjutuslisäys on poistettu käytöstä.
REKISTERÖINTI ERED
Ottaa käyttöön tulorekisterin negatiiviselle tulosignaalille ja määrittää sisääntulokellosignaalin negatiiviselle rekisterille.
Valitse EI REKISTERÖIDY, jos negatiivista tulorekisteriä ei tarvita
Tämä parametri on virheellinen, kun valitset:
· EI, jos haluat ottaa käyttöön ketjutuslisäyksen tai
· PORT_UNUSED: Otetaanko ketjutuslisäimen negatiivinen syöttö käyttöön? parametri tai
EI MITÄÄN
Määrittää negatiivisen rekisterin asynkronisen tyhjennyslähteen.
Tämä parametri on virheellinen, kun valitset:
· EI, jos haluat ottaa käyttöön ketjutuslisäyksen tai
· PORT_UNUSED: Otetaanko ketjutuslisäimen negatiivinen syöttö käyttöön? parametri tai
EI MITÄÄN
Määrittää synkronisen tyhjennyslähteen negatiiviselle rekisterille.
Tämä parametri on virheellinen, kun valitset:
· EI, jos haluat ottaa käyttöön ketjutuslisäyksen tai
· PORT_UNUSED: Otetaanko ketjutuslisäimen negatiivinen syöttö käyttöön? parametri tai
Pois KELLO0
Valitse tämä vaihtoehto ottaaksesi systolisen tilan käyttöön. Tämä parametri on käytettävissä, kun valitset 2 tai 4 kohdassa Mikä on kertoimien määrä? parametri. Sinun on otettava käyttöön summausyksikön rekisterilähtö, jotta voit käyttää systolisen viiveen rekistereitä.
Määrittää systolisen viiverekisterin tulokellosignaalin.
jatkui…
Lähetä palautetta
Intel FPGA Integer Aritmetic IP Cores -käyttöopas 55
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
Parametri
IP:n luoma parametri
Arvo
KELLO2,
Mikä on asynkronisen tyhjennyksen lähde?
gui_systolic_d elay_aclr
EI MITÄÄN ACLR0 ACLR1
Mikä on synkronisen tyhjennystulon lähde?
gui_systolic_d elay_sclr
EI MITÄÄN SCLR0 SCLR1
Oletusarvo
EI MITÄÄN
EI MITÄÄN
Kuvaus
Sinun on valittava Ota systoliset viiverekisterit käyttöön ottaaksesi tämän vaihtoehdon käyttöön.
Määrittää systolisen viiverekisterin asynkronisen tyhjennyslähteen. Sinun on valittava Ota systoliset viiverekisterit käyttöön ottaaksesi tämän vaihtoehdon käyttöön.
Määrittää systolisen viiverekisterin synkronisen tyhjennyslähteen. Sinun on valittava Ota systoliset viiverekisterit käyttöön ottaaksesi tämän vaihtoehdon käyttöön.
8.6.7. Pipelining-välilehti
Taulukko 36. Liukuinti-välilehti
Parametrien liukuhihnamääritys
IP:n luoma parametri
Arvo
Haluatko lisätä putkirekisterin tuloon?
gui_pipelining Ei, kyllä
Oletusarvo
Ei
Määritä
latenssi
latenssikellon lukumäärä
syklit
Mikä tahansa arvo, joka on suurempi kuin 0
Mikä on kellon tulolähde?
gui_input_late ncy_clock
KELLO0, KELLO1, KELLO2
Mikä on asynkronisen tyhjennyksen lähde?
gui_input_late ncy_aclr
EI MITÄÄN ACLR0 ACLR1
Mikä on synkronisen tyhjennystulon lähde?
gui_input_late ncy_sclr
EI MITÄÄN SCLR0 SCLR1
KELLO0 EI MITÄÄN EI MITÄÄN
Kuvaus
Valitse Kyllä, jos haluat ottaa ylimääräisen liukuhihnarekisterin tason käyttöön tulosignaaleille. Sinun on määritettävä arvo, joka on suurempi kuin 0 Määritä viivekellon jaksojen määrä -parametrille.
Määrittää halutun latenssin kellojaksoissa. Yksi liukuhihnarekisterin taso = 1 latenssi kellojaksossa. Sinun on valittava KYLLÄ kohtaan Haluatko lisätä liukuhihnarekisterin tuloon? ottaaksesi tämän vaihtoehdon käyttöön.
Valitse Kello0 , Kello1 tai Kello2 ottaaksesi käyttöön ja määrittääksesi liukuhihnarekisterin tulokellosignaalin. Sinun on valittava KYLLÄ kohtaan Haluatko lisätä liukuhihnarekisterin tuloon? ottaaksesi tämän vaihtoehdon käyttöön.
Määrittää rekisterin asynkronisen tyhjennyslähteen lisäliukuhihnarekisterille. Sinun on valittava KYLLÄ kohtaan Haluatko lisätä liukuhihnarekisterin tuloon? ottaaksesi tämän vaihtoehdon käyttöön.
Määrittää rekisterin synkronisen tyhjennyslähteen lisäliukuhihnarekisterille. Sinun on valittava KYLLÄ kohtaan Haluatko lisätä liukuhihnarekisterin tuloon? ottaaksesi tämän vaihtoehdon käyttöön.
Intel FPGA Integer Aritmetic IP Cores -käyttöopas 56
Lähetä palautetta
683490 | 2020.10.05 Lähetä palautetta
9. ALTMEMMULT (muistipohjainen vakiokerroinkerroin) IP-ydin
Huomio:
Intel on poistanut tämän IP-osoitteen tuen Intel Quartus Prime Pro Edition -versiosta 20.3. Jos suunnittelusi IP-ydin on kohdistettu Intel Quartus Prime Pro Editionin laitteisiin, voit korvata IP:n LPM_MULT Intel FPGA IP:llä tai luoda IP-osoitteen uudelleen ja kääntää suunnittelusi Intel Quartus Prime Standard Edition -ohjelmistolla.
ALTMEMMULT IP-ydintä käytetään luomaan muistiin perustuvia kertoimia käyttämällä Intelin FPGA:issa olevia onchip-muistilohkoja (M512-, M4K-, M9K- ja MLAB-muistilohkoilla). Tämä IP-ydin on hyödyllinen, jos sinulla ei ole tarpeeksi resursseja toteuttaa kertoimia logiikkaelementeissä (LE) tai omistettuja kertojaresursseja.
ALTMEMMULT IP-ydin on synkroninen toiminto, joka vaatii kellon. ALTMEMMULT IP-ydin toteuttaa kertoimen, jolla on pienin mahdollinen suoritusteho ja latenssi tietylle parametrijoukolle ja spesifikaatioille.
Seuraava kuva näyttää portit ALTMEMMULT IP -ytimelle.
Kuva 21. ALTMEMMULT-portit
ALTMEMMULT
data_in[] sload_data coeff_in[]
tulos[] result_valid load_done
sload_coeff
sclr kello
inst
Aiheeseen liittyvät tietoominaisuudet sivulla 71
9.1. Ominaisuudet
ALTMEMMULT IP -ydin tarjoaa seuraavat ominaisuudet: · Luo vain muistiin perustuvia kertoimia käyttämällä sirussa olevia muistilohkoja, jotka löytyvät
Intel FPGA:t · Tukee 1 bitin dataleveyttä · Tukee allekirjoitetun ja allekirjoittamattoman tiedon esitysmuotoa · Tukee liukuhihnaa kiinteällä ulostuloviiveellä
Intel Corporation. Kaikki oikeudet pidätetään. Intel, Intel-logo ja muut Intel-merkit ovat Intel Corporationin tai sen tytäryhtiöiden tavaramerkkejä. Intel takaa FPGA- ja puolijohdetuotteidensa suorituskyvyn nykyisten vaatimusten mukaisesti Intelin vakiotakuun mukaisesti, mutta pidättää oikeuden tehdä muutoksia tuotteisiin ja palveluihin milloin tahansa ilman erillistä ilmoitusta. Intel ei ota minkään tässä kuvatun tiedon, tuotteen tai palvelun soveltamisesta tai käytöstä johtuvaa vastuuta tai vastuuta, paitsi jos Intel on nimenomaisesti kirjallisesti hyväksynyt. Intelin asiakkaita kehotetaan hankkimaan uusin versio laitteen teknisistä tiedoista ennen kuin he luottavat julkaistuihin tietoihin ja ennen kuin he tilaavat tuotteita tai palveluita. *Muut nimet ja tuotemerkit voidaan väittää muiden omaisuudeksi.
ISO 9001: 2015 rekisteröity
9. ALTMEMMULT (muistipohjainen vakiokerroinkerroin) IP Core 683490 | 2020.10.05
· Tallentaa useita vakioita satunnaismuistiin (RAM)
· Tarjoaa mahdollisuuden valita RAM-lohkotyypin
· Tukee valinnaisia synkronisia tyhjennys- ja kuormanhallintatuloportteja
9.2. Verilog HDL -prototyyppi
Seuraava Verilog HDL -prototyyppi sijaitsee Verilog Designissa File (.v) altera_mf.v eda synteesihakemisto.
module altmemmult #(parametri coeff_representation = "allekirjoitettu", parametrikerroin0 = "UNUSED", parametri data_representation = "allekirjoitettu", parametri tarkoitettu_device_family = "unused", parametri max_clock_cycles_per_result = 1, parametrikertoimien_määrä = 1, parametri = AUTOlock_type parametri "AUTOlock" total_latency = 1, parametri leveys_c = 1, parametri leveys_d = 1, parametri leveys_r = 1, parametri leveys_s = 1, parametri lpm_type = "altmemmult", parametri lpm_hint = "unused" (tulojohdon kello, tulojohto [width_c-1: 0]kerroin_sisään, tulojohto [leveys_d-1:0] data_in, lähtöjohto load_done, lähtöjohto [width_r-1:0] tulos, lähtöjohto tulos_pätevä, tulojohto sclr, tulojohto [leveys_s-1:0] sel, tulo lanka sload_coeff, syöttöjohto sload_data)/* synteesi syn_black_box=1 */; loppumoduuli
9.3. VHDL-komponenttien ilmoitus
VHDL-komponenttiilmoitus sijaitsee VHDL-suunnittelussa File (.vhd) altera_mf_components.vhd tiedostossa librariesvhdlaltera_mf-hakemisto.
komponentti altmemmult geneerinen ( coeff_representation:string := “allekirjoitettu”; kerroin0:merkkijono := “KÄYTTÄMÄTÖN”; data_representation:string := “ALLEKIRJOITTU”; tarkoitettu_laite_perhe:merkkijono := “käyttämätön”; max_clock_cycles_ural_perural_sultof:cooficial_nat; := 1; "altmemmult"); port(kello:in std_logic; coeff_in:in std_logic_vector(leveys_c-1 alas 1) := (muut => '1'); data_in:in std_logic_vector(width_d-0 alas 0);
Intel FPGA Integer Aritmetic IP Cores -käyttöopas 58
Lähetä palautetta
9. ALTMEMMULT (muistipohjainen vakiokerroinkerroin) IP Core 683490 | 2020.10.05
load_done:out std_logic; tulos:out std_logic_vector(width_r-1 alas 0); result_valid:out std_logic; slr:in std_logic := '0'; sel:in std_logic_vector(width_s-1 downto 0) := (muut => '0'); sload_coeff:in std_logic := '0'; sload_data:in std_logic := '0'); lopussa komponentti;
9.4. Portit
Seuraavissa taulukoissa on lueteltu ALTMEMMULT IP -ytimen tulo- ja lähtöportit.
Taulukko 37. ALTMEMMULT-tuloportit
Portin nimi
Pakollinen
Kuvaus
kello
Kyllä
Kellon syöttö kertoimelle.
kerroin[]
Ei
Kertoimen tuloportti kertoimelle. Tuloportin koko riippuu parametrin WIDTH_C arvosta.
data_in[]
Kyllä
Tietojen syöttöportti kertoimelle. Tuloportin koko riippuu parametrin WIDTH_D arvosta.
sclr
Ei
Synkroninen tyhjennystulo. Jos ei käytetä, oletusarvo on aktiivinen korkea.
sel[]
Ei
Kiinteän kertoimen valinta. Tuloportin koko riippuu WIDTH_S:stä
parametrin arvo.
sload_coeff
Ei
Synkroninen kuormituskertoimen tuloportti. Korvaa nykyisen valitun kertoimen arvon coeff_in-tulossa määritetyllä arvolla.
sload_data
Ei
Synkroninen lataustietojen syöttöportti. Signaali, joka määrittää uuden kertolaskutoiminnon ja peruuttaa kaikki olemassa olevat kertolaskutoiminnot. Jos parametrin MAX_CLOCK_CYCLES_PER_RESULT arvo on 1, sload_data-tuloportti ohitetaan.
Taulukko 38. ALTMEMMULT-lähtöportit
Portin nimi
Pakollinen
Kuvaus
tulos[]
Kyllä
Kerroinlähtöportti. Tuloportin koko riippuu parametrin WIDTH_R arvosta.
tulos_pätevä
Kyllä
Osoittaa, milloin tulos on täydellinen kertolasku. Jos parametrin MAX_CLOCK_CYCLES_PER_RESULT arvo on 1, result_valid-lähtöporttia ei käytetä.
load_done
Ei
Osoittaa, kun uusi kerroin on latautunut. Load_done-signaali vahvistaa, kun uusi kerroin on latautunut. Ellei load_done signaali ole korkea, mitään muuta kerroinarvoa ei voida ladata muistiin.
9.5. parametrit
Seuraavassa taulukossa luetellaan ALTMEMMULT IP-ytimen parametrit.
Taulukko 39.
WIDTH_D WIDTH_C
ALTMEMMULT Parametrit
Parametrin nimi
Tyyppi Pakollinen
Kuvaus
Kokonaisluku Kyllä
Määrittää data_in[]-portin leveyden.
Kokonaisluku Kyllä
Määrittää coeff_in[]-portin leveyden. jatkui…
Lähetä palautetta
Intel FPGA Integer Aritmetic IP Cores -käyttöopas 59
9. ALTMEMMULT (muistipohjainen vakiokerroinkerroin) IP Core 683490 | 2020.10.05
Parametrin nimi WIDTH_R WIDTH
Asiakirjat / Resurssit
![]() |
intel FPGA Integer Aritmetic IP-ytimet [pdfKäyttöopas FPGA kokonaislukuaritmeettiset IP-ytimet, kokonaislukuaritmeettiset IP-ytimet, aritmeettiset IP-ytimet, IP-ytimet |