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

Viitteet

Jätä kommentti

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *