FPGA geheel getal rekenkundige IP-kernen

Intel FPGA Integer Rekenkundige IP Cores Gebruikershandleiding
Bijgewerkt voor Intel® Quartus® Prime Design Suite: 20.3

Online versie Feedback verzenden

UG-01063

ID: 683490 Versie: 2020.10.05

Inhoud
Inhoud
1. Intel FPGA geheel getal rekenkundige IP-kernen.......................................................................................................... 5
2. LPM_COUNTER (teller) IP-kern.......................................................................................................................... 7 2.1. Kenmerken.................................................................................................7 2.2. Verilog HDL-prototype.......................................................................................................... 8 2.3. VHDL-bestanddeelverklaring.............................................................8 2.4. VHDL LIBRARY_USE Verklaring…………………………………………………………………… 9 2.5. Havens……................................................................................................................................................................9 2.6. Parameters……................................................................................................................................ 10
3. LPM_DIVIDE (Divider) Intel FPGA IP Core…………………………………………………….. 12 3.1. Functies………………………………………………………………………………………………. 12 3.2. Verilog HDL-prototype.......................................................................................................... 12 3.3. VHDL-bestanddeelverklaring…………………………………………………………….. 13 3.4. VHDL LIBRARY_USE-verklaring……………………………………………………………. 13 3.5. Havens…………………………………………………………………………………………… 13 3.6. Parameters……................................................................................................................................ 14
4. LPM_MULT (vermenigvuldiger) IP-kern……………………………………………………………………. 16 4.1. Functies………………………………………………………………………………………………. 16 4.2. Verilog HDL-prototype.......................................................................................................... 17 4.3. VHDL-bestanddeelverklaring…………………………………………………………….. 17 4.4. VHDL LIBRARY_USE-verklaring……………………………………………………………. 17 4.5. Signalen................................................................................................................................. 18 4.6. Parameters voor Stratix V-, Arria V-, Cyclone V- en Intel Cyclone 10 LP-apparaten…………… 18 4.6.1. Tabblad Algemeen……………………………………………………………………………18 4.6.2. Algemeen 2 Tabblad…………………………………………………………………… 19 4.6.3. Tabblad Pipelining.......................................................................................................... 19 4.7. Parameters voor Intel Stratix 10, Intel Arria 10 en Intel Cyclone 10 GX-apparaten.............. 20 4.7.1. Tabblad Algemeen……………………………………………………………………………20 4.7.2. Algemeen 2 Tabblad…………………………………………………………………… 20 4.7.3. Pijpleidingen..........................................................................................................................21
5. LPM_ADD_SUB (opteller/aftrekker)…………………………………………………………… 22 5.1. Functies………………………………………………………………………………………………. 22 5.2. Verilog HDL-prototype............................................................................................................. 23 5.3. VHDL-bestanddeelverklaring…………………………………………………………….. 23 5.4. VHDL LIBRARY_USE-verklaring……………………………………………………………. 23 5.5. Havens…………………………………………………………………………………………… 23 5.6. Parameters……................................................................................................................................ 24
6. LPM_COMPARE (vergelijker)…………………………………………………………………………… 26 6.1. Functies………………………………………………………………………………………………. 26 6.2. Verilog HDL-prototype............................................................................................................. 27 6.3. VHDL-bestanddeelverklaring…………………………………………………………….. 27 6.4. VHDL LIBRARY_USE-verklaring……………………………………………………………. 27 6.5. Havens…………………………………………………………………………………………… 27 6.6. Parameters……................................................................................................................................ 28

Intel FPGA Integer Rekenkundige IP Cores Gebruikershandleiding 2

Feedback verzenden

Inhoud

7. ALTECC (Foutcorrectiecode: Encoder/Decoder) IP Core…………………………………… 30
7.1. Functies van ALTCC-encoder……………………………………………………………………..31 7.2. Verilog HDL-prototype (ALTECC_ENCODER)……………………………………………………. 32 7.3. Verilog HDL-prototype (ALTECC_DECODER)……………………………………………………. 32 7.4. VHDL-componentverklaring (ALTECC_ENCODER)……………………………………………33 7.5. VHDL-componentdeclaratie (ALTECC_DECODER)……………………………………………33 7.6. VHDL LIBRARY_USE-verklaring……………………………………………………………. 33 7.7. Encoderpoorten…………………………………………………………………………………… 33 7.8. Decoderpoorten……................................................................................................................34 7.9. Encoderparameters…………………………………………………………………………… 34 7.10. Decoderparameters …………………………………………………………………… 35
8. Intel FPGA Multiply Adder IP-kern……………………………………………………………………. 36
8.1. Functies………………………………………………………………………………………………. 37 8.1.1. Pre-adder................................................................................................................. 38 8.1.2. Register systolische vertraging…………………………………………………………….. 40 8.1.3. Voorbelastingsconstante……................................................................................................................ 43 8.1.4. Dubbele accumulator............................................................................................. 43
8.2. Verilog HDL-prototype............................................................................................................. 44 8.3. VHDL-bestanddeelverklaring…………………………………………………………….. 44 8.4. VHDL LIBRARY_USE-verklaring……………………………………………………………. 44 8.5. Signalen................................................................................................................................. 44 8.6. Parameters……................................................................................................................................ 47
8.6.1. Tabblad Algemeen…………………………………………………………………… 47 8.6.2. Tabblad Extra Modi…………………………………………………………………….. 47 8.6.3. Tabblad Vermenigvuldigers…………………………………………………………………….. 49 8.6.4. Tabblad Preadder.......................................................................................................... 51 8.6.5. Tabblad Accumulator…………………………………………………………………….. 53 8.6.6. Tabblad Systolisch/Chainout .............................................................................................................. 55 8.6.7. Tabblad Pipelining............................................................................................. 56
9. ALTMEMMULT (op geheugen gebaseerde constante coëfficiëntvermenigvuldiger) IP Core…………………… 57
9.1. Functies………………………………………………………………………………………………. 57 9.2. Verilog HDL-prototype............................................................................................................. 58 9.3. VHDL-bestanddeelverklaring…………………………………………………………….. 58 9.4. Havens…………………………………………………………………………………………… 59 9.5. Parameters……................................................................................................................................ 59
10. ALTMULT_ACCUM (vermenigvuldig-accumuleer) IP-kern.......................................................................... 61
10.1. Kenmerken…………………………………………………………………………………………….. 62 10.2. Verilog HDL-prototype……………………………………………………………………..62 10.3. VHDL-bestanddeelverklaring…………………………………………………………… 63 10.4. VHDL LIBRARY_USE Verklaring……………………………………………………………63 10.5. Havens................................................................................................................. 63 10.6. Parameters.......................................................................................................................... 64
11. ALTMULT_ADD (vermenigvuldig-opteller) IP-kern……………………………………………………..69
11.1. Kenmerken…………………………………………………………………………………………….. 71 11.2. Verilog HDL-prototype……………………………………………………………………..72 11.3. VHDL-bestanddeelverklaring…………………………………………………………… 72 11.4. VHDL LIBRARY_USE-verklaring……………………………………………………………72

Feedback verzenden

Intel FPGA Integer Rekenkundige IP Cores Gebruikershandleiding 3

Inhoud
11.5. Havens................................................................................................................. 72 11.6. Parameters.......................................................................................................................... 73
12. ALTMULT_COMPLEX (complexe vermenigvuldiger) IP-kern.......................................................................... 86 12.1. Complexe vermenigvuldiging............................................................................. 86 12.2. Canonieke representatie…………………………………………………………………… 87 12.3. Conventionele representatie................................................................................................. 87 12.4. Kenmerken…………………………………………………………………………………………….. 88 12.5. Verilog HDL-prototype……………………………………………………………………..88 12.6. VHDL-bestanddeelverklaring…………………………………………………………… 89 12.7. VHDL LIBRARY_USE-verklaring……………………………………………………………89 12.8. Signalen.......................................................................................................................... 89 12.9. Parameters.......................................................................................................................... 90
13. ALTSQRT (geheel vierkantswortel) IP-kern……………………………………………………………92 13.1. Kenmerken…………………………………………………………………………………………….. 92 13.2. Verilog HDL-prototype……………………………………………………………………..92 13.3. VHDL-componentverklaring…………………………………………………………… 93 13.4. VHDL LIBRARY_USE Verklaring……………………………………………………………93 13.5. Havens................................................................................................................. 93 13.6. Parameters.......................................................................................................................... 94
14. PARALLEL_ADD (Parallelle opteller) IP Core…………………………………………………….. 95 14.1. Kenmerk …………………………………………………………………………………….95 14.2. Verilog HDL-prototype……………………………………………………………………..95 14.3. VHDL-bestanddeelverklaring…………………………………………………………… 96 14.4. VHDL LIBRARY_USE Verklaring……………………………………………………………96 14.5. Havens................................................................................................................. 96 14.6. Parameters.......................................................................................................................... 97
15. Gebruikershandleiding voor gehele rekenkundige IP-kernen Documentarchieven…………………………… 98
16. Documentrevisiegeschiedenis voor Intel FPGA Integer Arithmetic IP Cores Gebruikershandleiding…. 99

Intel FPGA Integer Rekenkundige IP Cores Gebruikershandleiding 4

Feedback verzenden

683490 | 2020.10.05 Feedback verzenden

1. Intel FPGA integer rekenkundige IP-kernen

U kunt de Intel® FPGA integer IP-kernen gebruiken om wiskundige bewerkingen in uw ontwerp uit te voeren.

Deze functies bieden een efficiëntere logische synthese en apparaatimplementatie dan het coderen van uw eigen functies. U kunt de IP-kernen aanpassen aan uw ontwerpvereisten.

Intel rekenkundige IP-kernen met gehele getallen zijn onderverdeeld in de volgende twee categorieën: · Bibliotheek met geparametriseerde modules (LPM) IP-kernen · Intel-specifieke (ALT) IP-kernen

De volgende tabel bevat de rekenkundige IP-kernen met gehele getallen.

Tabel 1.

Lijst met IP-kernen

IP-kernen

LPM IP-kernen

LPM_COUNTER

LPM_DIVIDE

LPM_MULT

LPM_ADD_SUB
LPM_COMPARE
Intel-specifieke (ALT) IP-kernen ALTECC

Functie voorbijview Tellerverdelervermenigvuldiger
Opteller of aftrekker Comparator
ECC-encoder/decoder

Ondersteund apparaat
Arria® II GX, Arria II GZ, Arria V, Intel Arria 10, Cyclone® IV E, Cyclone IV GX, Cyclone V, Intel Cyclone 10 LP,
Intel Cycloon 10 GX, MAX® II, MAX V, MAX 10, Stratix® IV, Stratix V
Arria II GX, Arria II GZ, Arria V, Intel Arria 10, Cycloon IV E, Cycloon IV GX,
Cycloon 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, Cycloon IV E, Cycloon IV GX,
Cycloon 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, Cycloon IV E, Cycloon IV GX, Cycloon V, Intel Cycloon 10 LP, MAX 10, MAX
II, MAX V, Stratix IV, Stratix V
Arria II GX, Arria II GZ, Arria V, Cycloon IV E, Cycloon IV GX, Cycloon V, Intel Cycloon 10 LP, MAX 10, MAX
II, MAX V, Stratix IV, Stratix V
Arria II GX, Arria II GZ, Arria V, Intel Arria 10, Cycloon IV E, Cycloon IV GX,
Cycloon V, Intel Cycloon 10 LP, Intel Cycloon 10 GX, MAX II, MAX V, MAX
10, Stratix IV, Stratix V vervolg…

Intel Corporation. Alle rechten voorbehouden. Intel, het Intel-logo en andere Intel-merken zijn handelsmerken van Intel Corporation of haar dochterondernemingen. Intel garandeert de prestaties van zijn FPGA- en halfgeleiderproducten volgens de huidige specificaties in overeenstemming met de standaardgarantie van Intel, maar behoudt zich het recht voor om op elk moment zonder voorafgaande kennisgeving wijzigingen aan te brengen in producten en diensten. Intel aanvaardt geen verantwoordelijkheid of aansprakelijkheid die voortvloeit uit de toepassing of het gebruik van informatie, producten of diensten die hierin worden beschreven, behalve zoals uitdrukkelijk schriftelijk overeengekomen door Intel. Intel-klanten wordt geadviseerd om de nieuwste versie van apparaatspecificaties te verkrijgen voordat ze vertrouwen op gepubliceerde informatie en voordat ze producten of diensten bestellen. *Andere namen en merken kunnen worden geclaimd als eigendom van anderen.

ISO 9001: 2015 geregistreerd

1. Intel FPGA geheel getal rekenkundige IP-kernen 683490 | 2020.10.05

IP-kernen Intel FPGA Multiply Adder of ALTERA_MULT_ADD ALTMEMMULT
ALTMULT_ACCUM ALTMULT_ADD ALTMULT_COMPLEX
ALTSQRT
PARALLEL_ADD

Functie voorbijview Vermenigvuldiger-opteller
Op geheugen gebaseerde constante coëfficiëntvermenigvuldiger
Vermenigvuldiger-accumulator Vermenigvuldiger-opteller
Complexe vermenigvuldiger
Geheel vierkantswortel
Parallelle opteller

Ondersteund apparaat
Arria V, Stratix V, Cycloon V, Intel Stratix 10, Intel Arria 10, Intel Cycloon
10GX
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
Cycloon 10 LP, MAX II, MAX V, MAX 10, Stratix IV, Stratix V
Arria II GX, Arria II GZ, Cycloon IV E, Cycloon IV GX, Intel Cycloon 10 LP, MAX 10, MAX II, MAX V, Stratix IV
Arria II GX, Arria II GZ, Cycloon IV E, Cycloon IV GX, Intel Cycloon 10 LP, MAX 10, MAX II, MAX V, Stratix IV
Arria II GX, Arria II GZ, Intel Arria 10, Arria V, Arria V GZ, Cycloon IV E, Cycloon IV GX, Cycloon V, Intel
Cycloon 10 GX, Intel Cycloon 10 LP, MAX 10, Stratix V, Intel Stratix 10
Arria II GX, Arria II GZ, Arria V, Intel Arria 10, Cycloon IV E, Cycloon IV GX,
Cycloon V, Intel Cycloon 10 LP, Intel Cycloon 10 GX, MAX II, MAX V, MAX
10, Stratix IV, Stratix V
Arria II GX, Arria II GZ, Arria V, Intel Arria 10, Cycloon IV E, Cycloon IV GX,
Cycloon V, Intel Cycloon 10 LP, Intel Cycloon 10 GX, MAX II, MAX V, MAX
10, Stratix IV, Stratix V

Gerelateerde informatie
· Releaseopmerkingen over Intel FPGA's en programmeerbare apparaten
· Inleiding tot Intel FPGA IP Cores Biedt meer informatie over Intel FPGA IP Cores.
· Gebruikershandleiding voor Floating-Point IP-kernen Biedt meer informatie over Intel FPGA Floating-Point IP-kernen.
· Inleiding tot Intel FPGA IP-cores Biedt algemene informatie over alle Intel FPGA IP-cores, inclusief het parametriseren, genereren, upgraden en simuleren van IP-cores.
· Versie-onafhankelijke IP- en Qsys-simulatiescripts maken Maak simulatiescripts die geen handmatige updates voor software- of IP-versie-upgrades vereisen.
· Projectmanagement Best Practices-richtlijnen voor efficiënt beheer en overdraagbaarheid van uw project en IP files.
· Gebruikershandleiding voor Integer Arithmetic IP-kernen Documentarchieven op pagina 98 Biedt een lijst met gebruikershandleidingen voor eerdere versies van de Integer Arithmetic IP-kernen.

Intel FPGA Integer Rekenkundige IP Cores Gebruikershandleiding 6

Feedback verzenden

683490 | 2020.10.05 Feedback verzenden

2. LPM_COUNTER (teller) IP-kern

Figuur 1.

De LPM_COUNTER IP-kern is een binaire teller die optellers, aftellers en op- of aftellers creëert met uitgangen tot 256 bits breed.

De volgende afbeelding toont de poorten voor de LPM_COUNTER IP-kern.

LPM_COUNTER Poorten

LPM_COUNTER

ssclr sset-gegevens laden[]

Q[]

op neer

boer

aclr laad aset

clk_nl cnt_nl cin
inst

2.1. Kenmerken
De LPM_COUNTER IP-kern biedt de volgende functies: · Genereert op-, af- en op/af-tellers · Genereert de volgende tellertypen:
— Gewoon binair: de teller loopt op vanaf nul of neemt af vanaf 255
— Modulus: de teller wordt verhoogd of verlaagd vanaf de door de gebruiker opgegeven moduluswaarde en wordt herhaald
· Ondersteunt optionele synchrone clear-, load- en set-invoerpoorten · Ondersteunt optionele asynchrone clear-, load- en set-invoerpoorten · Ondersteunt optionele count enable- en clock enable-invoerpoorten · Ondersteunt optionele carry-in- en carry-out-poorten

Intel Corporation. Alle rechten voorbehouden. Intel, het Intel-logo en andere Intel-merken zijn handelsmerken van Intel Corporation of haar dochterondernemingen. Intel garandeert de prestaties van zijn FPGA- en halfgeleiderproducten volgens de huidige specificaties in overeenstemming met de standaardgarantie van Intel, maar behoudt zich het recht voor om op elk moment zonder voorafgaande kennisgeving wijzigingen aan te brengen in producten en diensten. Intel aanvaardt geen verantwoordelijkheid of aansprakelijkheid die voortvloeit uit de toepassing of het gebruik van informatie, producten of diensten die hierin worden beschreven, behalve zoals uitdrukkelijk schriftelijk overeengekomen door Intel. Intel-klanten wordt geadviseerd om de nieuwste versie van apparaatspecificaties te verkrijgen voordat ze vertrouwen op gepubliceerde informatie en voordat ze producten of diensten bestellen. *Andere namen en merken kunnen worden geclaimd als eigendom van anderen.

ISO 9001: 2015 geregistreerd

2. LPM_COUNTER (teller) IP-kern
683490 | 2020.10.05
2.2. Verilog HDL-prototype
Het volgende Verilog HDL-prototype bevindt zich in het Verilog Design File (.v) lpm.v in de edasynthese map.
module lpm_counter (q, data, klok, cin, cout, clk_en, cnt_en, updown, aset, aclr, aload, sset, sclr, sload, eq); parameter lpm_type = “lpm_counter”; parameter lpm_width = 1; parameter lpm_modulus = 0; parameter lpm_direction = “ONGEBRUIKT”; parameter lpm_avalue = “ONGEBRUIKT”; parameter lpm_svalue = “ONGEBRUIKT”; parameter lpm_pvalue = “ONGEBRUIKT”; parameter lpm_port_updown = “POORT_CONNECTIVITEIT”; parameter lpm_hint = “ONGEBRUIKT”; uitvoer [lpm_width-1:0] q; uitgang; uitgang [15:0] eq; invoer cin; voer [lpm_width-1:0] gegevens in; invoerklok, clk_en, cnt_en, omhoog; invoer aset, aclr, aload; invoer sset, sclr, sload; eindmodule
2.3. VHDL-componentverklaring
De VHDL-componentdeclaratie bevindt zich in het VHDL-ontwerp File (.vhd) LPM_PACK.vhd in de bibliothekenvhdllpm map.
component LPM_COUNTER generiek ( LPM_WIDTH : natuurlijk; LPM_MODULUS : natuurlijk := 0; LPM_DIRECTION : string := “UNUSED”; LPM_AVALUE : string := “UNUSED”; LPM_SVALUE : string := “UNUSED”; LPM_PORT_UPDOWN : string := “PORT_CONNECTIVITY” ; LPM_PVALUE: string:= “ONGEBRUIKT”; LPM_TYPE: string:= L_COUNTER; LPM_HINT: string:= “ONGEBRUIKT”); poort (DATA: in std_logic_vector(LPM_WIDTH-1 tot 0):= (OTHERS =>
'0'); KLOK: in std_logic; CLK_EN: in std_logic := '1'; CNT_EN: in std_logic := '1'; UPDOWN: in std_logic:= '1'; SLOAD: in std_logic:= '0'; SSET: in std_logic:= '0'; SCLR: in std_logic:= '0'; ALOAD: in std_logic:= '0'; ASET: in std_logic:= '0'; ACLR: in std_logic:= '0'; CIN: in std_logic:= '1'; COUT: uit std_logic:= '0'; Q: uit std_logic_vector(LPM_WIDTH-1 tot 0); EQ: out std_logic_vector(15 tot 0));
eindcomponent;

Intel FPGA Integer Rekenkundige IP Cores Gebruikershandleiding 8

Feedback verzenden

2. LPM_COUNTER (teller) IP Core 683490 | 2020.10.05

2.4. VHDL LIBRARY_USE-verklaring
De VHDL LIBRARY-USE-declaratie is niet vereist als u de VHDL Component Declaration gebruikt.
BIBLIOTHEEK lpm; GEBRUIK lpm.lpm_components.all;

2.5. Havens

In de volgende tabellen worden de invoer- en uitvoerpoorten voor de LPM_COUNTER IP-kern vermeld.

Tabel 2.

LPM_COUNTER Invoerpoorten

Havennaam

Vereist

Beschrijving

gegevens[]

Nee

Parallelle gegevensinvoer naar de teller. De grootte van de invoerpoort is afhankelijk van de parameterwaarde LPM_WIDTH.

klok

Ja

Klokingang met positieve flank.

clk_nl

Nee

Klokinvoer om alle synchrone activiteiten in te schakelen. Als u dit weglaat, is de standaardwaarde 1.

cnt_nl

Nee

Invoer voor telling inschakelen om de telling uit te schakelen wanneer deze laag wordt beweerd, zonder dat dit invloed heeft op sload, sset of sclr. Als u dit weglaat, is de standaardwaarde 1.

op neer

Nee

Regelt de richting van de telling. Wanneer hoog (1) wordt beweerd, is de telrichting omhoog, en wanneer laag (0) wordt beweerd, is de telrichting omlaag. Als de parameter LPM_DIRECTION wordt gebruikt, kan de updown-poort niet worden aangesloten. Als LPM_DIRECTION niet wordt gebruikt, is de updown-poort optioneel. Als u dit weglaat, is de standaardwaarde hoger (1).

kan

Nee

Doorgaan naar het lage-orde bit. Voor optellers is het gedrag van de cin-ingang:

identiek aan het gedrag van de cnt_en-invoer. Als u dit weglaat, is de standaardwaarde 1

(VCC-nummer).

aclr

Nee

Asynchrone duidelijke invoer. Als zowel aset als aclr worden gebruikt en bevestigd, overschrijft aclr aset. Als u dit weglaat, is de standaardwaarde 0 (uitgeschakeld).

een bezit

Nee

Asynchrone ingestelde invoer. Specificeert de q[]-uitvoer als allemaal 1s, of met de waarde die is opgegeven door de parameter LPM_AVALUE. Als zowel de aset- als de aclr-poort worden gebruikt en bevestigd, overschrijft de waarde van de aclr-poort de waarde van de aset-poort. Indien weggelaten, is de standaardwaarde 0, uitgeschakeld.

een lading

Nee

Asynchrone laadinvoer die de teller asynchroon laadt met de waarde op de data-invoer. Wanneer de aload-poort wordt gebruikt, moet de data[]-poort zijn aangesloten. Indien weggelaten, is de standaardwaarde 0, uitgeschakeld.

sclr

Nee

Synchrone clear-ingang die de teller op de volgende actieve klokflank wist. Als zowel de sset- als de sclr-poort worden gebruikt en bevestigd, overschrijft de waarde van de sclr-poort de waarde van de sset-poort. Indien weggelaten, is de standaardwaarde 0, uitgeschakeld.

set

Nee

Synchrone set-ingang die de teller op de volgende actieve klokflank zet. Specificeert de waarde van de q-uitgangen als allemaal 1-en, of als de waarde die is opgegeven door de parameter LPM_SVALUE. Als zowel de sset- als de sclr-poorten worden gebruikt en bevestigd,
de waarde van de sclr-poort overschrijft de waarde van de sset-poort. Als u dit weglaat, is de standaardwaarde 0 (uitgeschakeld).

slokken

Nee

Synchrone laadingang die de teller laadt met data[] op de volgende actieve klokflank. Wanneer de sload-poort wordt gebruikt, moet de data[]-poort worden aangesloten. Als u dit weglaat, is de standaardwaarde 0 (uitgeschakeld).

Feedback verzenden

Intel FPGA Integer Rekenkundige IP Cores Gebruikershandleiding 9

2. LPM_COUNTER (teller) IP Core 683490 | 2020.10.05

Tabel 3.

LPM_COUNTER Uitvoerpoorten

Havennaam

Vereist

Beschrijving

Q[]

Nee

Gegevensuitvoer van de teller. De grootte van de uitgangspoort is afhankelijk van de

Parameterwaarde LPM_WIDTH. Ofwel q[] of ten minste één van de eq[15..0]-poorten

moet zijn aangesloten.

eq[15..0]

Nee

Tellerdecodeeruitgang. De eq[15..0]-poort is niet toegankelijk in de parametereditor omdat de parameter alleen AHDL ondersteunt.
De q[]-poort of de eq[]-poort moet zijn aangesloten. Er kunnen maximaal c eq-poorten worden gebruikt (0 <= c <= 15). Alleen de 16 laagste telwaarden worden gedecodeerd. Wanneer de telwaarde c is, wordt de eqc-uitvoer hoog verklaard (1). Bijvoorbeeldample, als de telling 0 is, eq0 = 1, als de telling 1 is, eq1 = 1, en als de telling 15 is, eq 15 = 1. Gedecodeerde uitvoer voor telwaarden van 16 of hoger vereist externe decodering. De eq[15..0]-uitgangen zijn asynchroon met de q[]-uitgang.

boer

Nee

Carry-out-poort van de MSB-bit van de teller. Het kan worden gebruikt om verbinding te maken met een andere balie om een ​​grotere balie te creëren.

2.6. parameters

De volgende tabel bevat de parameters voor de LPM_COUNTER IP-kern.

Tabel 4.

LPM_COUNTER-parameters

Parameternaam

Type

LPM_WIDTH

Geheel getal

LPM_DIRECTION

Snaar

LPM_MODULUS LPM_AVALUE

Geheel getal
Geheel getal/tekenreeks

LPM_SVALUE LPM_HINT

Geheel getal/tekenreeks
Snaar

LPM_TYPE

Snaar

Verplicht Ja Nee Nee Nee
Nee Nee
Nee

Beschrijving
Specificeert de breedte van de data[]- en q[]-poorten, als deze worden gebruikt.
Waarden zijn UP, DOWN en UNUSED. Als de parameter LPM_DIRECTION wordt gebruikt, kan de updown-poort niet worden aangesloten. Wanneer de updown-poort niet is aangesloten, is de standaardwaarde van de parameter LPM_DIRECTION UP.
Het maximale aantal, plus één. Aantal unieke toestanden in de cyclus van de teller. Als de belastingswaarde groter is dan de parameter LPM_MODULUS, wordt het gedrag van de teller niet gespecificeerd.
Constante waarde die wordt geladen wanneer een set hoog wordt beweerd. Als de opgegeven waarde groter is dan of gelijk is aan , het gedrag van de teller is een ongedefinieerd (X) logisch niveau, waarbij is LPM_MODULUS, indien aanwezig, of 2 ^ LPM_WIDTH. Intel raadt u aan deze waarde op te geven als een decimaal getal voor AHDL-ontwerpen.
Constante waarde die wordt geladen op de stijgende flank van de klokpoort wanneer de sset-poort hoog wordt beweerd. Intel raadt u aan deze waarde op te geven als een decimaal getal voor AHDL-ontwerpen.
Wanneer u een bibliotheek met geparametriseerde modules (LPM)-functie instantiëert in een VHDL-ontwerp File (.vhd), moet u de parameter LPM_HINT gebruiken om een ​​Intel-specifieke parameter op te geven. Bijvoorbeeldampbestand: LPM_HINT = “CHAIN_SIZE = 8, ONE_INPUT_IS_CONSTANT = JA”
De standaardwaarde is ONGEBRUIKT.
Identificeert de entiteitsnaam van de bibliotheek met geparametriseerde modules (LPM) in VHDL-ontwerp files.
voortgezet…

Intel FPGA Integer Rekenkundige IP Cores Gebruikershandleiding 10

Feedback verzenden

2. LPM_COUNTER (teller) IP Core 683490 | 2020.10.05

Parameternaam INTENDED_DEVICE_FAMILY CARRY_CNT_EN
LABWIDE_SCLR
LPM_PORT_UPDOWN

Typ Tekenreeks Tekenreeks
Snaar
Snaar

Vereist Nee Nee
Nee
Nee

Beschrijving
Deze parameter wordt gebruikt voor modellering en gedragssimulatiedoeleinden. Deze parameter wordt gebruikt voor modellering en gedragssimulatiedoeleinden. De parametereditor berekent de waarde voor deze parameter.
Intel-specifieke parameter. U moet de parameter LPM_HINT gebruiken om de parameter CARRY_CNT_EN in VHDL-ontwerp op te geven fileS. Waarden zijn SMART, ON, OFF en UNUSED. Schakelt de functie LPM_COUNTER in om het cnt_en-signaal door de carry-keten te verspreiden. In sommige gevallen kan de CARRY_CNT_EN parameterinstelling een kleine invloed hebben op de snelheid, dus misschien wilt u deze uitschakelen. De standaardwaarde is SMART, wat de beste balans biedt tussen grootte en snelheid.
Intel-specifieke parameter. U moet de parameter LPM_HINT gebruiken om de parameter LABWIDE_SCLR in VHDL-ontwerp op te geven fileS. Waarden zijn AAN, UIT of ONGEBRUIKT. De standaardwaarde is AAN. Hiermee kunt u het gebruik van de LABwide sclr-functie uitschakelen die aanwezig is in verouderde apparaatfamilies. Als u deze optie uitschakelt, vergroot u de kans dat de gedeeltelijk gevulde LAB's volledig worden gebruikt, en kan dus een hogere logische dichtheid mogelijk zijn wanneer SCLR niet van toepassing is op een volledig LAB. Deze parameter is beschikbaar voor achterwaartse compatibiliteit en Intel raadt u aan deze parameter niet te gebruiken.
Specificeert het gebruik van de updown-invoerpoort. Indien weggelaten is de standaardwaarde PORT_CONNECTIVITY. Wanneer de poortwaarde is ingesteld op PORT_USED, wordt de poort behandeld als gebruikt. Wanneer de poortwaarde is ingesteld op PORT_UNUSED, wordt de poort als ongebruikt beschouwd. Wanneer de poortwaarde is ingesteld op PORT_CONNECTIVITY, wordt het poortgebruik bepaald door de poortconnectiviteit te controleren.

Feedback verzenden

Intel FPGA Integer Rekenkundige IP Cores Gebruikershandleiding 11

683490 | 2020.10.05 Feedback verzenden

3. LPM_DIVIDE (verdeler) Intel FPGA IP Core

Figuur 2.

De LPM_DIVIDE Intel FPGA IP-kern implementeert een deler om een ​​tellerinvoerwaarde te delen door een noemerinvoerwaarde om een ​​quotiënt en een rest te produceren.

De volgende afbeelding toont de poorten voor de LPM_DIVIDE IP-kern.

LPM_DIVIDE-poorten

LPM_DIVIDE

numer[] denom[] klok

quotiënt[] blijven[]

klken acr

inst

3.1. Kenmerken
De LPM_DIVIDE IP-kern biedt de volgende functies: · Genereert een deler die een tellerinvoerwaarde deelt door een noemerinvoer
waarde om een ​​quotiënt en een rest te produceren. · Ondersteunt een databreedte van 1 bits. · Ondersteunt ondertekende en niet-ondertekende gegevensweergaveformaten voor zowel de teller
en noemerwaarden. · Ondersteunt oppervlakte- of snelheidsoptimalisatie. · Biedt een optie om een ​​positieve restuitvoer op te geven. · Ondersteunt configureerbare uitvoerlatentie door pipelining. · Ondersteunt optionele asynchrone clear- en clock-enable-poorten.

3.2. Verilog HDL-prototype
Het volgende Verilog HDL-prototype bevindt zich in het Verilog Design File (.v) lpm.v in de edasynthese map.
module lpm_divide (quotiënt, blijven, numer, denom, klok, clken, aclr); parameter lpm_type = “lpm_divide”; parameter lpm_widthn = 1; parameter lpm_widthd = 1; parameter lpm_nrepresentation = “NIET ONDERTEKEND”; parameter lpm_drepresentation = “NIET ONDERTEKEND”; parameter lpm_remainderpositive = “TRUE”; parameter lpm_pipeline = 0;

Intel Corporation. Alle rechten voorbehouden. Intel, het Intel-logo en andere Intel-merken zijn handelsmerken van Intel Corporation of haar dochterondernemingen. Intel garandeert de prestaties van zijn FPGA- en halfgeleiderproducten volgens de huidige specificaties in overeenstemming met de standaardgarantie van Intel, maar behoudt zich het recht voor om op elk moment zonder voorafgaande kennisgeving wijzigingen aan te brengen in producten en diensten. Intel aanvaardt geen verantwoordelijkheid of aansprakelijkheid die voortvloeit uit de toepassing of het gebruik van informatie, producten of diensten die hierin worden beschreven, behalve zoals uitdrukkelijk schriftelijk overeengekomen door Intel. Intel-klanten wordt geadviseerd om de nieuwste versie van apparaatspecificaties te verkrijgen voordat ze vertrouwen op gepubliceerde informatie en voordat ze producten of diensten bestellen. *Andere namen en merken kunnen worden geclaimd als eigendom van anderen.

ISO 9001: 2015 geregistreerd

3. LPM_DIVIDE (verdeler) Intel FPGA IP Core 683490 | 2020.10.05

parameter lpm_hint = “ONGEBRUIKT”; ingangsklok; invoer clken; invoer aclr; voer [lpm_widthn-1:0] getal in; invoer [lpm_widthd-1:0] denom; uitvoer [lpm_widthn-1:0] quotiënt; uitvoer [lpm_widthd-1:0] blijft; eindmodule

3.3. VHDL-componentverklaring
De VHDL-componentdeclaratie bevindt zich in het VHDL-ontwerp File (.vhd) LPM_PACK.vhd in de bibliothekenvhdllpm map.
component LPM_DIVIDE generiek (LPM_WIDTHN: natuurlijk; LPM_WIDTHD: natuurlijk;
LPM_NREPRESENTATION: string:= “NIET ONDERTEKEND”; LPM_DREPRESENTATION: string:= “NIET ONDERTEKEND”; LPM_PIPELINE: natuurlijk:= 0; LPM_TYPE: tekenreeks:= L_DIVIDE; LPM_HINT: string:= “ONGEBRUIKT”); poort (NUMER: in std_logic_vector(LPM_WIDTHN-1 tot 0); DENOM: in std_logic_vector(LPM_WIDTHD-1 tot 0); ACLR: in std_logic:= '0'; CLOCK: in std_logic:= '0'; CLKEN: in std_logic := '1'; QUOTIENT: uit std_logic_vector(LPM_WIDTHN-1 naar beneden naar 0)); eindcomponent;

3.4. VHDL LIBRARY_USE-verklaring
De VHDL LIBRARY-USE-declaratie is niet vereist als u de VHDL Component Declaration gebruikt.
BIBLIOTHEEK lpm; GEBRUIK lpm.lpm_components.all;

3.5. Havens

De volgende tabellen vermelden de invoer- en uitvoerpoorten voor de LPM_DIVIDE IP-kern.

Tabel 5.

LPM_DIVIDE Invoerpoorten

Havennaam

Vereist

nummer[]

Ja

denominatie[]

Ja

Beschrijving
Tellergegevensinvoer. De grootte van de invoerpoort is afhankelijk van de parameterwaarde LPM_WIDTHN.
Noemergegevensinvoer. De grootte van de invoerpoort is afhankelijk van de parameterwaarde LPM_WIDTHD.
voortgezet…

Feedback verzenden

Intel FPGA Integer Rekenkundige IP Cores Gebruikershandleiding 13

3. LPM_DIVIDE (verdeler) Intel FPGA IP Core 683490 | 2020.10.05

Poortnaam klok clken
aclr

Vereist Nee Nee
Nee

Beschrijving
Klokinvoer voor pijplijngebruik. Voor andere LPM_PIPELINE-waarden dan 0 (standaard) moet de klokpoort zijn ingeschakeld.
Klok maakt pijplijngebruik mogelijk. Wanneer de clken-poort hoog wordt gesteld, vindt de delingsoperatie plaats. Wanneer het signaal laag is, vindt er geen werking plaats. Als u dit weglaat, is de standaardwaarde 1.
Asynchrone clear-poort die op elk moment kan worden gebruikt om de pijplijn asynchroon met de klokingang opnieuw in te stellen op alle '0's.

Tabel 6.

LPM_DIVIDE Uitvoerpoorten

Havennaam

Vereist

Beschrijving

quotiënt[]

Ja

Gegevensuitvoer. De grootte van de uitvoerpoort is afhankelijk van de LPM_WIDTHN

parameterwaarde.

blijven[]

Ja

Gegevensuitvoer. De grootte van de uitvoerpoort is afhankelijk van de LPM_WIDTHD

parameterwaarde.

3.6. parameters

De volgende tabel bevat de parameters voor de LPM_DIVIDE Intel FPGA IP-kern.

Parameternaam

Type

Vereist

Beschrijving

LPM_WIDTHN

Geheel getal

Ja

Specificeert de breedte van het getal[] en

quotiënt[] poorten. Waarden zijn 1 tot 64.

LPM_WIDHD

Geheel getal

Ja

Specificeert de breedte van de denom[] en

blijven [] poorten. Waarden zijn 1 tot 64.

LPM_NREPRESENTATIE LPM_DREPRESENTATIE

Tekenreeks Tekenreeks

Nee

Tekenweergave van de tellerinvoer.

Waarden zijn SIGNED en UNSIGNED. Wanneer dit

parameter is ingesteld op SIGNED, de deler

interpreteert de numer[]-invoer als twee-tekens

aanvulling.

Nee

Tekenweergave van de noemerinvoer.

Waarden zijn SIGNED en UNSIGNED. Wanneer dit

parameter is ingesteld op SIGNED, de deler

interpreteert de invoer denom[] als ondertekende tweeën

aanvulling.

LPM_TYPE

Snaar

Nee

Identificeert de bibliotheek met geparametriseerde

modules (LPM) entiteitsnaam in VHDL-ontwerp

files (.vhd).

LPM_HINT

Snaar

Nee

Wanneer u een bibliotheek van

geparametriseerde modules (LPM) functioneren in a

VHDL-ontwerp File (.vhd), moet u de

LPM_HINT-parameter om een ​​Intel-

specifieke parameter. Bijvoorbeeldampbestand: LPM_HINT

= “KETEN_SIZE = 8,

ONE_INPUT_IS_CONSTANT = JA” De

de standaardwaarde is ONGEBRUIKT.

LPM_REMAINDERPOSITIVE

Snaar

Nee

Intel-specifieke parameter. Je moet gebruik maken van de

LPM_HINT-parameter om de

LPM_REMAINDERPOSITIVE-parameter in

VHDL-ontwerp fileS. Waarden zijn WAAR of ONWAAR.

Als deze parameter is ingesteld op TRUE, wordt de

waarde van de rest[]-poort moet groter zijn

voortgezet…

Intel FPGA Integer Rekenkundige IP Cores Gebruikershandleiding 14

Feedback verzenden

3. LPM_DIVIDE (verdeler) Intel FPGA IP Core 683490 | 2020.10.05

Parameternaam

Type

MAXIMIZE_SNELHEID

Geheel getal

LPM_PIPELINE

Geheel getal

INTENDED_DEVICE_FAMILY SKIP_BITS

Tekenreeks geheel getal

Vereist nr
Nee Nee Nee

Beschrijving
dan of gelijk aan nul. Als deze parameter is ingesteld op TRUE, is de waarde van de rest[]-poort nul, of is de waarde hetzelfde teken, positief of negatief, als de waarde van de numerieke poort. Om de oppervlakte te verkleinen en de snelheid te verbeteren, raadt Intel aan deze parameter op TRUE in te stellen bij bewerkingen waarbij de rest positief moet zijn of waarbij de rest onbelangrijk is.
Intel-specifieke parameter. U moet de parameter LPM_HINT gebruiken om de parameter MAXIMIZE_SPEED op te geven in het VHDL-ontwerp fileS. Waarden zijn [0..9]. Indien gebruikt, probeert de Intel Quartus Prime-software een specifiek exemplaar van de LPM_DIVIDE-functie te optimaliseren voor snelheid in plaats van routeerbaarheid, en overschrijft het de instelling van de logica-optie Optimization Technique. Als MAXIMIZE_SPEED ongebruikt is, wordt in plaats daarvan de waarde van de Optimization Technique-optie gebruikt. Als de waarde van MAXIMIZE_SPEED 6 of hoger is, optimaliseert de compiler de LPM_DIVIDE IP-kern voor hogere snelheid door gebruik te maken van carry-chains; als de waarde 5 of minder is, implementeert de compiler het ontwerp zonder carry-ketens.
Specificeert het aantal klokcycli van latentie geassocieerd met de quotiënt[] en rest[] uitgangen. Een waarde nul (0) geeft aan dat er geen latentie bestaat en dat er een puur combinatorische functie wordt geïnstantieerd. Als u dit weglaat, is de standaardwaarde 0 (niet-gepipelined). U kunt geen waarde opgeven voor de parameter LPM_PIPELINE die hoger is dan LPM_WIDTHN.
Deze parameter wordt gebruikt voor modellering en gedragssimulatiedoeleinden. De parametereditor berekent de waarde voor deze parameter.
Maakt een efficiëntere fractionele bitverdeling mogelijk om de logica op de leidende bits te optimaliseren door het aantal leidende GND aan de LPM_DIVIDE IP-kern te leveren. Specificeer het aantal leidende GND op de quotiëntuitvoer voor deze parameter.

Feedback verzenden

Intel FPGA Integer Rekenkundige IP Cores Gebruikershandleiding 15

683490 | 2020.10.05 Feedback verzenden

4. LPM_MULT (vermenigvuldiger) IP-kern

Figuur 3.

De LPM_MULT IP-kern implementeert een vermenigvuldiger om twee invoergegevenswaarden te vermenigvuldigen om een ​​product als uitvoer te produceren.

De volgende afbeelding toont de poorten voor de LPM_MULT IP-kern.

LPM_Mult-poorten

LPM_MULT klokdataa[] resultaat[] datab[] aclr/sclr clken
inst

Gerelateerde informatie Functies op pagina 71

4.1. Kenmerken
De LPM_MULT IP-kern biedt de volgende functies: · Genereert een vermenigvuldiger die twee invoergegevenswaarden vermenigvuldigt · Ondersteunt een gegevensbreedte van 1 bits · Ondersteunt ondertekende en niet-ondertekende gegevensweergaveformaten · Ondersteunt oppervlakte- of snelheidsoptimalisatie · Ondersteunt pipelining met configureerbare uitvoerlatentie · Biedt een optie voor implementatie in speciale digitale signaalverwerking (DSP)
blokcircuits of logische elementen (LE's) Opmerking: bij het bouwen van vermenigvuldigers die groter zijn dan de standaard ondersteunde grootte, kunnen/
zal een prestatie-impact zijn als gevolg van de cascadering van de DSP-blokken. · Ondersteunt optionele asynchrone clear- en clock-enable-invoerpoorten · Ondersteunt optionele synchroon clear voor Intel Stratix 10-, Intel Arria 10- en Intel Cyclone 10 GX-apparaten

Intel Corporation. Alle rechten voorbehouden. Intel, het Intel-logo en andere Intel-merken zijn handelsmerken van Intel Corporation of haar dochterondernemingen. Intel garandeert de prestaties van zijn FPGA- en halfgeleiderproducten volgens de huidige specificaties in overeenstemming met de standaardgarantie van Intel, maar behoudt zich het recht voor om op elk moment zonder voorafgaande kennisgeving wijzigingen aan te brengen in producten en diensten. Intel aanvaardt geen verantwoordelijkheid of aansprakelijkheid die voortvloeit uit de toepassing of het gebruik van informatie, producten of diensten die hierin worden beschreven, behalve zoals uitdrukkelijk schriftelijk overeengekomen door Intel. Intel-klanten wordt geadviseerd om de nieuwste versie van apparaatspecificaties te verkrijgen voordat ze vertrouwen op gepubliceerde informatie en voordat ze producten of diensten bestellen. *Andere namen en merken kunnen worden geclaimd als eigendom van anderen.

ISO 9001: 2015 geregistreerd

4. LPM_MULT (vermenigvuldiger) IP-kern 683490 | 2020.10.05
4.2. Verilog HDL-prototype
Het volgende Verilog HDL-prototype bevindt zich in het Verilog Design File (.v) lpm.v in de edasynthese map.
module lpm_mult (resultaat, dataa, datab, som, klok, clken, aclr) parameter lpm_type = “lpm_mult”; parameter lpm_widtha = 1; parameter lpm_widthb = 1; parameter lpm_widths = 1; parameter lpm_widthp = 1; parameter lpm_representation = “NIET ONDERTEKEND”; parameter lpm_pipeline = 0; parameter lpm_hint = “ONGEBRUIKT”; ingangsklok; invoer clken; invoer aclr; invoer [lpm_widtha-1:0] gegevensa; voer [lpm_widthb-1:0] datab in; voer [lpm_widths-1:0] som in; uitvoer [lpm_widthp-1:0] resultaat; eindmodule
4.3. VHDL-componentverklaring
De VHDL-componentdeclaratie bevindt zich in het VHDL-ontwerp File (.vhd) LPM_PACK.vhd in de bibliothekenvhdllpm map.
component LPM_MULT generiek ( LPM_WIDTHA: natuurlijk; LPM_WIDTHB: natuurlijk; LPM_WIDTHS: natuurlijk:= 1; LPM_WIDTHP: natuurlijk;
LPM_REPRESENTATION: string:= “NIET ONDERTEKEND”; LPM_PIPELINE: natuurlijk:= 0; LPM_TYPE: tekenreeks:= L_MULT; LPM_HINT: string:= “ONGEBRUIKT”); poort (DATAA: in std_logic_vector(LPM_WIDTHA-1 tot 0); DATAB: in std_logic_vector(LPM_WIDTHB-1 tot 0); ACLR: in std_logic:= '0'; CLOCK: in std_logic:= '0'; CLKEN: in std_logic := '1'; SOM: in std_logic_vector(LPM_WIDTHS-1 tot 0) := (ANDEREN => '0' RESULTAAT: uit std_logic_vector(LPM_WIDTHP-1 tot 0)); eindcomponent;
4.4. VHDL LIBRARY_USE-verklaring
De VHDL LIBRARY-USE-declaratie is niet vereist als u de VHDL Component Declaration gebruikt.
BIBLIOTHEEK lpm; GEBRUIK lpm.lpm_components.all;

Feedback verzenden

Intel FPGA Integer Rekenkundige IP Cores Gebruikershandleiding 17

4. LPM_MULT (vermenigvuldiger) IP-kern 683490 | 2020.10.05

4.5. Signalen

Tabel 7.

LPM_MULT Ingangssignalen

Signaalnaam

Vereist

Beschrijving

gegevens[]

Ja

Gegevensinvoer.

Voor Intel Stratix 10-, Intel Arria 10- en Intel Cyclone 10 GX-apparaten hangt de grootte van het ingangssignaal af van de Dataa-breedteparameterwaarde.

Voor oudere apparaten en Intel Cyclone 10 LP-apparaten hangt de grootte van het ingangssignaal af van de parameterwaarde LPM_WIDTHA.

gegevensbestand[]

Ja

Gegevensinvoer.

Voor Intel Stratix 10-, Intel Arria 10- en Intel Cyclone 10 GX-apparaten hangt de grootte van het ingangssignaal af van de waarde van de Datab-breedteparameter.

Voor oudere en Intel Cyclone 10 LP-apparaten is de grootte van het ingangssignaal afhankelijk

op de parameterwaarde LPM_WIDTHB.

klok

Nee

Klokinvoer voor pijplijngebruik.

Voor oudere apparaten en Intel Cyclone 10 LP-apparaten moet het kloksignaal zijn ingeschakeld voor andere LPM_PIPELINE-waarden dan 0 (standaard).

Voor Intel Stratix 10-, Intel Arria 10- en Intel Cyclone 10 GX-apparaten moet het kloksignaal worden ingeschakeld als de latentiewaarde anders is dan 1 (standaard).

klken

Nee

Klok inschakelen voor pijplijngebruik. Wanneer het clken-signaal hoog wordt beweerd, wordt de

Er vindt een optel-/aftrekkerbewerking plaats. Wanneer het signaal laag is, geen werking

komt voor. Als u dit weglaat, is de standaardwaarde 1.

aclr sclr

Nee

Asynchroon clear-signaal dat op elk moment kan worden gebruikt om de pijplijn opnieuw in te stellen op nul,

asynchroon met het kloksignaal. De pijplijn wordt geïnitialiseerd naar een ongedefinieerde (X)

logisch niveau. De uitvoer is consistent, maar niet nul.

Nee

Synchronisch helder signaal dat op elk moment kan worden gebruikt om de pijplijn opnieuw op nul te zetten,

synchroon met het kloksignaal. De pijplijn wordt geïnitialiseerd naar een ongedefinieerde (X)

logisch niveau. De uitvoer is consistent, maar niet nul.

Tabel 8.

LPM_MULT Uitgangssignalen

signaal Naam

Vereist

Beschrijving

resultaat[]

Ja

Gegevensuitvoer.

Voor oudere apparaten en Intel Cyclone 10 LP-apparaten hangt de grootte van het uitgangssignaal af van de parameterwaarde LPM_WIDTHP. Als LPM_WIDTHP < max (LPM_WIDTHA + LPM_WIDTHB, LPM_WIDTHS) of (LPM_WIDTHA + LPM_WIDTHS), zijn alleen de LPM_WIDTHP MSB's aanwezig.

Voor Intel Stratix 10, Intel Arria 10 en Intel Cyclone 10 GX hangt de grootte van de uitgangssignalen af ​​van de parameter Resultaatbreedte.

4.6. Parameters voor Stratix V-, Arria V-, Cyclone V- en Intel Cyclone 10 LP-apparaten

4.6.1. Algemeen tabblad

Tabel 9.

Tabblad Algemeen

Parameter

Waarde

Vermenigvuldigerconfiguratie

Vermenigvuldig 'dataa'-invoer met 'datab'-invoer

Standaardwaarde

Beschrijving

Vermenigvuldig 'dataa'-invoer met 'datab'-invoer

Selecteer de gewenste configuratie voor de vermenigvuldiger.
voortgezet…

Intel FPGA Integer Rekenkundige IP Cores Gebruikershandleiding 18

Feedback verzenden

4. LPM_MULT (vermenigvuldiger) IP-kern 683490 | 2020.10.05

Parameter
Hoe breed moet de 'dataa'-invoer zijn? Hoe breed moet de 'datab'-invoer zijn? Hoe moet de breedte van de 'resultaat'-uitvoer worden bepaald? Beperk de breedte

Waarde
Vermenigvuldig 'dataa'-invoer met zichzelf (kwadraatbewerking)
1 – 256 bits

Standaardwaarde

Beschrijving

8-bits

Specificeer de breedte van de dataa[]-poort.

1 – 256 bits

8-bits

Specificeer de breedte van de datab[]-poort.

Bereken automatisch de breedte. Beperk de breedte
1 – 512 bits

Bereken automatisch de breedte

Selecteer de gewenste methode om de breedte van de result[]-poort te bepalen.

16-bits

Specificeer de breedte van de result[]-poort.
Deze waarde is alleen effectief als u Beperk de breedte selecteert in de parameter Type.

4.6.2. Algemeen 2 Tab

Tabel 10. Algemeen 2 Tab

Parameter

Waarde

Datab-invoer

Heeft de 'datab'-invoerbus een constante waarde?

Nee Ja

Vermenigvuldigingstype

Welk type

Niet ondertekend

vermenigvuldigen wil je? Ondertekend

Uitvoering

Welke vermenigvuldigingsimplementatie moet worden gebruikt?

Gebruik de standaardimplementatie
Gebruik het speciale vermenigvuldigingscircuit (niet beschikbaar voor alle gezinnen)
Gebruik logische elementen

Standaardwaarde

Beschrijving

Nee

Selecteer Ja om de constante waarde van de op te geven

`datab'-invoerbus, indien aanwezig.

Niet ondertekend

Geef het representatieformaat op voor zowel dataa[]- als datab[]-invoer.

Gebruik de standaardimplementatie

Selecteer de gewenste methode om de breedte van de result[]-poort te bepalen.

4.6.3. Tabblad Pipelining

Tabel 11. Tabblad Pipelining

Parameter

Wilt u de nr

functie?

Ja

Waarde

Maak een 'aclr' aan

asynchrone duidelijke poort

Standaardwaarde

Beschrijving

Nee

Selecteer Ja om pijplijnregistratie in te schakelen voor de

de uitvoer van de vermenigvuldiger en specificeer het gewenste

uitgangslatentie in klokcyclus. Het inschakelen van de

pijplijnregister voegt extra latentie toe aan de

uitvoer.

Ongecontroleerd

Selecteer deze optie om ervoor te zorgen dat de aclr-poort asynchroon wissen gebruikt voor het pijplijnregister.
voortgezet…

Feedback verzenden

Intel FPGA Integer Rekenkundige IP Cores Gebruikershandleiding 19

4. LPM_MULT (vermenigvuldiger) IP-kern 683490 | 2020.10.05

Parameter
Maak een 'clken'-klok-inschakelklok
Optimalisatie
Welk type optimalisatie wilt u?

Waarde -
Standaard snelheidsgebied

Standaardwaarde

Beschrijving

Ongecontroleerd

Specificeert actieve hoge klokinschakeling voor de klokpoort van het pijplijnregister

Standaard

Geef de gewenste optimalisatie voor de IP-kern op.
Selecteer Standaard om Intel Quartus Prime-software de beste optimalisatie voor de IP-kern te laten bepalen.

4.7. Parameters voor Intel Stratix 10-, Intel Arria 10- en Intel Cyclone 10 GX-apparaten

4.7.1. Algemeen tabblad

Tabel 12. Tabblad Algemeen

Parameter

Waarde

Standaardwaarde

Beschrijving

Configuratietype vermenigvuldiger
Datapoortbreedtes

Vermenigvuldig 'dataa'-invoer met 'datab'-invoer
Vermenigvuldig 'dataa'-invoer met zichzelf (kwadraatbewerking)

Vermenigvuldig 'dataa'-invoer met 'datab'-invoer

Selecteer de gewenste configuratie voor de vermenigvuldiger.

Gegevensbreedte

1 – 256 bits

8-bits

Specificeer de breedte van de dataa[]-poort.

Datab-breedte

1 – 256 bits

8-bits

Specificeer de breedte van de datab[]-poort.

Hoe moet de breedte van de 'resultaat'-uitvoer worden bepaald?

Type

Bereken automatisch de breedte
Beperk de breedte

Bereken automatisch de breedte

Selecteer de gewenste methode om de breedte van de result[]-poort te bepalen.

Waarde

1 – 512 bits

16-bits

Specificeer de breedte van de result[]-poort.
Deze waarde is alleen effectief als u Beperk de breedte selecteert in de parameter Type.

Resultaat breedte

1 – 512 bits

Toont de effectieve breedte van de result[]-poort.

4.7.2. Algemeen 2 Tab

Tabel 13. Algemeen 2 Tab

Parameter

Datab-invoer

Heeft de 'datab'-invoerbus een constante waarde?

Nee Ja

Waarde

Standaardwaarde

Beschrijving

Nee

Selecteer Ja om de constante waarde van de op te geven

`datab'-invoerbus, indien aanwezig.

voortgezet…

Intel FPGA Integer Rekenkundige IP Cores Gebruikershandleiding 20

Feedback verzenden

4. LPM_MULT (vermenigvuldiger) IP-kern 683490 | 2020.10.05

Parameter

Waarde

Waarde

Elke waarde groter dan 0

Vermenigvuldigingstype

Welk type

Niet ondertekend

vermenigvuldigen wil je? Ondertekend

Implementatiestijl

Welke vermenigvuldigingsimplementatie moet worden gebruikt?

Gebruik de standaardimplementatie
Gebruik het speciale vermenigvuldigingscircuit
Gebruik logische elementen

Standaardwaarde

Beschrijving

0

Specificeer de constante waarde van datab[]-poort.

Niet ondertekend

Geef het representatieformaat op voor zowel dataa[]- als datab[]-invoer.

Gebruik de standaardimplementatie

Selecteer de gewenste methode om de breedte van de result[]-poort te bepalen.

4.7.3. Pijpleidingen

Tabel 14. Tabblad Pipelining

Parameter

Waarde

Wilt u de functie pijplijnen?

Pijpleiding

Nee Ja

Latentie Duidelijk signaaltype

Elke waarde groter dan 0.
GEEN ACLR SCLR

Maak een 'clken'-klok

klok inschakelen

Welk type optimalisatie wilt u?

Type

Standaard snelheidsgebied

Standaardwaarde

Beschrijving

Nee 1 GEEN

Selecteer Ja om pijplijnregistratie in te schakelen voor de uitvoer van de vermenigvuldiger. Het inschakelen van het pijplijnregister voegt extra latentie toe aan de uitvoer.
Specificeer de gewenste uitvoerlatentie in de klokcyclus.
Geef het type reset op voor het pijplijnregister. Selecteer GEEN als u geen pijplijnregister gebruikt. Selecteer ACLR om asynchroon wissen te gebruiken voor het pijplijnregister. Hierdoor wordt een ACLR-poort gegenereerd. Selecteer SCLR om synchroon wissen te gebruiken voor het pijplijnregister. Hierdoor wordt een SCLR-poort gegenereerd.
Specificeert actieve hoge klokinschakeling voor de klokpoort van het pijplijnregister

Standaard

Geef de gewenste optimalisatie voor de IP-kern op.
Selecteer Standaard om Intel Quartus Prime-software de beste optimalisatie voor de IP-kern te laten bepalen.

Feedback verzenden

Intel FPGA Integer Rekenkundige IP Cores Gebruikershandleiding 21

683490 | 2020.10.05 Feedback verzenden

5. LPM_ADD_SUB (opteller/aftrekker)

Figuur 4.

Met de LPM_ADD_SUB IP-kern kunt u een opteller of een aftrekker implementeren om sets gegevens op te tellen of af te trekken om een ​​uitvoer te produceren die de som of het verschil van de invoerwaarden bevat.

De volgende afbeelding toont de poorten voor de LPM_ADD_SUB IP-kern.

LPM_ADD_SUB-poorten

LPM_ADD_SUB add_sub cin

gegevens[]

klok clken datab[] aclr

resultaat[] overloop cout

inst

5.1. Kenmerken
De LPM_ADD_SUB IP-kern biedt de volgende functies: · Genereert opteller, aftrekker en dynamisch configureerbare opteller/aftrekker
functies. · Ondersteunt een databreedte van 1 bits. · Ondersteunt gegevensweergaveformaten zoals ondertekend en niet-ondertekend. · Ondersteunt optionele carry-in (lenen-uit), asynchroon wissen en klokinschakeling
invoerpoorten. · Ondersteunt optionele carry-out (lenen-in) en overflow-uitvoerpoorten. · Wijst een van de ingangsdatabussen toe aan een constante. · Ondersteunt pipelining met configureerbare uitvoerlatentie.

Intel Corporation. Alle rechten voorbehouden. Intel, het Intel-logo en andere Intel-merken zijn handelsmerken van Intel Corporation of haar dochterondernemingen. Intel garandeert de prestaties van zijn FPGA- en halfgeleiderproducten volgens de huidige specificaties in overeenstemming met de standaardgarantie van Intel, maar behoudt zich het recht voor om op elk moment zonder voorafgaande kennisgeving wijzigingen aan te brengen in producten en diensten. Intel aanvaardt geen verantwoordelijkheid of aansprakelijkheid die voortvloeit uit de toepassing of het gebruik van informatie, producten of diensten die hierin worden beschreven, behalve zoals uitdrukkelijk schriftelijk overeengekomen door Intel. Intel-klanten wordt geadviseerd om de nieuwste versie van apparaatspecificaties te verkrijgen voordat ze vertrouwen op gepubliceerde informatie en voordat ze producten of diensten bestellen. *Andere namen en merken kunnen worden geclaimd als eigendom van anderen.

ISO 9001: 2015 geregistreerd

5. LPM_ADD_SUB (optellen/aftrekken) 683490 | 2020.10.05
5.2. Verilog HDL-prototype
Het volgende Verilog HDL-prototype bevindt zich in het Verilog Design File (.v) lpm.v in de edasynthese map.
module lpm_add_sub (resultaat, cout, overflow,add_sub, cin, dataa, datab, clock, clken, aclr); parameter lpm_type = “lpm_add_sub”; parameter lpm_width = 1; parameter lpm_direction = “ONGEBRUIKT”; parameter lpm_representation = “ONDERTEKEND”; parameter lpm_pipeline = 0; parameter lpm_hint = “ONGEBRUIKT”; invoer [lpm_width-1:0] dataa, datab; voer add_sub, cin in; ingangsklok; invoer clken; invoer aclr; uitvoer [lpm_width-1:0] resultaat; uitgang cout, overloop; eindmodule
5.3. VHDL-componentverklaring
De VHDL-componentdeclaratie bevindt zich in het VHDL-ontwerp File (.vhd) LPM_PACK.vhd in de bibliothekenvhdllpm map.
component LPM_ADD_SUB generiek (LPM_WIDTH: natuurlijk;
LPM_DIRECTION: string:= “ONGEBRUIKT”; LPM_REPRESENTATION: string := “ONDERTEKEND”; LPM_PIPELINE: natuurlijk:= 0; LPM_TYPE: tekenreeks:= L_ADD_SUB; LPM_HINT: string:= “ONGEBRUIKT”); poort (DATAA: in std_logic_vector(LPM_WIDTH-1 tot 0); DATAB: in std_logic_vector(LPM_WIDTH-1 tot 0); ACLR: in std_logic:= '0'; CLOCK: in std_logic:= '0'; CLKEN: in std_logic := '1'; CIN: in std_logic:= 'Z'; in std_logic:= '1'; uit std_logic_vector(LPM_WIDTH-1 naar 0); eindcomponent;
5.4. VHDL LIBRARY_USE-verklaring
De VHDL LIBRARY-USE-declaratie is niet vereist als u de VHDL Component Declaration gebruikt.
BIBLIOTHEEK lpm; GEBRUIK lpm.lpm_components.all;
5.5. Havens
De volgende tabellen vermelden de invoer- en uitvoerpoorten voor de LPM_ADD_SUB IP-kern.

Feedback verzenden

Intel FPGA Integer Rekenkundige IP Cores Gebruikershandleiding 23

5. LPM_ADD_SUB (optellen/aftrekken) 683490 | 2020.10.05

Tabel 15. LPM_ADD_SUB IP-kerninvoerpoorten

Havennaam

Vereist

Beschrijving

kan

Nee

Doorgaan naar het lage-orde bit. Voor optelbewerkingen is de standaardwaarde 0. For

aftrekkingsbewerkingen is de standaardwaarde 1.

gegevens[]

Ja

Gegevensinvoer. De grootte van de invoerpoort is afhankelijk van de parameterwaarde LPM_WIDTH.

gegevensbestand[]

Ja

Gegevensinvoer. De grootte van de invoerpoort is afhankelijk van de parameterwaarde LPM_WIDTH.

voeg_sub toe

Nee

Optionele ingangspoort om dynamisch schakelen tussen opteller en aftrekker mogelijk te maken

functies. Als de parameter LPM_DIRECTION wordt gebruikt, kan add_sub niet worden gebruikt. Als

weggelaten, is de standaardwaarde ADD. Intel raadt u aan de

LPM_DIRECTION-parameter om de werking van de LPM_ADD_SUB-functie op te geven,

in plaats van een constante toe te wijzen aan de add_sub-poort.

klok

Nee

Invoer voor pijplijngebruik. De klokpoort levert de klokinvoer voor een pijplijn

operatie. Voor andere LPM_PIPELINE-waarden dan 0 (standaard) moet de klokpoort zijn

ingeschakeld.

klken

Nee

Klok inschakelen voor pijplijngebruik. Wanneer de clken-poort hoog wordt beweerd, wordt de opteller/

Er vindt een aftrekbewerking plaats. Wanneer het signaal laag is, vindt er geen werking plaats. Als

weggelaten, de standaardwaarde is 1.

aclr

Nee

Asynchroon wissen voor pijplijngebruik. De pijplijn wordt geïnitialiseerd naar een ongedefinieerde (X)

logisch niveau. De aclr-poort kan op elk moment worden gebruikt om de pijplijn opnieuw in te stellen op nullen,

asynchroon met het kloksignaal.

Tabel 16. LPM_ADD_SUB IP-kernuitvoerpoorten

Havennaam

Vereist

Beschrijving

resultaat[]

Ja

Gegevensuitvoer. De grootte van de uitvoerpoort is afhankelijk van de parameter LPM_WIDTH

waarde.

boer

Nee

Uitvoering (inlenen) van het meest significante bit (MSB). De cout-poort heeft een fysieke

interpretatie als de carry-out (lening-in) van de MSB. De cout-poort detecteert

overflow bij UNSIGNED-bewerkingen. De cout-poort werkt op dezelfde manier voor

SIGNED en UNSIGNED-bewerkingen.

overloop

Nee

Optionele overloopuitzonderingsuitgang. De overlooppoort heeft een fysieke interpretatie als

de XOR van de carry-in naar de MSB met de carry-out van de MSB. De overlooppoort

beweert wanneer de resultaten de beschikbare precisie overschrijden, en wordt alleen gebruikt wanneer de

De parameterwaarde LPM_REPRESENTATION is SIGNED.

5.6. parameters

De volgende tabel bevat de LPM_ADD_SUB IP-kernparameters.

Tabel 17. LPM_ADD_SUB IP-kernparameters

Parameternaam LPM_WIDTH

Typ geheel getal

Vereist Ja

Beschrijving
Specificeert de breedte van de dataa[]-, datab[]- en result[]-poorten.

LPM_DIRECTION

Snaar

Nee

Waarden zijn ADD, SUB en UNUSED. Als u dit weglaat, is de standaardwaarde DEFAULT, waardoor de parameter de waarde van de add_sub-poort overneemt. De add_sub-poort kan niet worden gebruikt als LPM_DIRECTION wordt gebruikt. Intel raadt u aan de parameter LPM_DIRECTION te gebruiken om de werking van de functie LPM_ADD_SUB te specificeren, in plaats van een constante toe te wijzen aan de add_sub-poort.
voortgezet…

Intel FPGA Integer Rekenkundige IP Cores Gebruikershandleiding 24

Feedback verzenden

5. LPM_ADD_SUB (optellen/aftrekken) 683490 | 2020.10.05

Parameternaam LPM_REPRESENTATION LPM_PIPELINE LPM_HINT LPM_TYPE ONE_INPUT_IS_CONSTANT MAXIMIZE_SPEED
INTENDED_DEVICE_FAMILY

Type Tekenreeks Geheel getal Tekenreeks Tekenreeks Geheel getal
Snaar

Verplicht Nee Nee Nee Nee Nee Nee
Nee

Beschrijving
Specificeert het type toevoeging dat wordt uitgevoerd. Waarden zijn SIGNED en UNSIGNED. Als u dit weglaat, is de standaardwaarde SIGNED. Wanneer deze parameter is ingesteld op SIGNED, interpreteert de opteller/aftrekker de gegevensinvoer als ondertekend twee-complement.
Specificeert het aantal latentieklokcycli dat is gekoppeld aan de result[]-uitvoer. Een waarde nul (0) geeft aan dat er geen latentie bestaat en dat een puur combinatorische functie zal worden geïnstantieerd. Als u dit weglaat, is de standaardwaarde 0 (niet-gepipelined).
Hiermee kunt u Intel-specifieke parameters opgeven in VHDL-ontwerp files (.vhd). De standaardwaarde is ONGEBRUIKT.
Identificeert de entiteitsnaam van de bibliotheek met geparametriseerde modules (LPM) in VHDL-ontwerp files.
Intel-specifieke parameter. U moet de parameter LPM_HINT gebruiken om de parameter ONE_INPUT_IS_CONSTANT in VHDL-ontwerp op te geven fileS. Waarden zijn JA, NEE en ONGEBRUIKT. Biedt een grotere optimalisatie als één invoer constant is. Als u dit weglaat, is de standaardwaarde NEE.
Intel-specifieke parameter. U moet de parameter LPM_HINT gebruiken om de parameter MAXIMIZE_SPEED op te geven in het VHDL-ontwerp fileS. U kunt een waarde opgeven tussen 0 en 10. Indien gebruikt, probeert de Intel Quartus Prime-software een specifiek exemplaar van de LPM_ADD_SUB-functie te optimaliseren op snelheid in plaats van op routeerbaarheid, en wordt de instelling van de logica-optie Optimization Technique overschreven. Als MAXIMIZE_SPEED ongebruikt is, wordt in plaats daarvan de waarde van de Optimization Technique-optie gebruikt. Als de instelling voor MAXIMIZE_SPEED 6 of hoger is, optimaliseert de compiler de LPM_ADD_SUB IP-kern voor hogere snelheid met behulp van carry-chains; als de instelling 5 of minder is, implementeert de compiler het ontwerp zonder draagkettingen. Deze parameter moet alleen worden opgegeven voor Cyclone-, Stratix- en Stratix GX-apparaten wanneer de add_sub-poort niet wordt gebruikt.
Deze parameter wordt gebruikt voor modellering en gedragssimulatiedoeleinden. De parametereditor berekent de waarde voor deze parameter.

Feedback verzenden

Intel FPGA Integer Rekenkundige IP Cores Gebruikershandleiding 25

683490 | 2020.10.05 Feedback verzenden

6. LPM_COMPARE (vergelijker)

Figuur 5.

De LPM_COMPARE IP-kern vergelijkt de waarde van twee gegevenssets om de relatie daartussen te bepalen. In de eenvoudigste vorm kunt u een exclusieve OF-poort gebruiken om te bepalen of twee gegevensbits gelijk zijn.

De volgende afbeelding toont de poorten voor de LPM_COMPARE IP-kern.

LPM_COMPARE-poorten

LPM_COMPARE

klken

alb

aeb

gegevens[]

agb

gegevensbestand[]

leeftijd

klok

aneb

aclr

aleb

inst

6.1. Kenmerken
De LPM_COMPARE IP-kern biedt de volgende kenmerken: · Genereert een comparatorfunctie om twee sets gegevens te vergelijken · Ondersteunt een gegevensbreedte van 1 bits · Ondersteunt gegevensrepresentatieformaten zoals ondertekend en niet-ondertekend · Produceert de volgende uitvoertypen:
— alb (ingang A is kleiner dan ingang B) — aeb (ingang A is gelijk aan ingang B) — agb (ingang A is groter dan ingang B) — ageb (ingang A is groter dan of gelijk aan ingang B) — aneb ( input A is niet gelijk aan input B) — aleb (input A is kleiner dan of gelijk aan input B) · Ondersteunt optionele asynchrone clear- en clock enable-invoerpoorten · Wijst de datab[]-invoer toe aan een constante · Ondersteunt pipelining met configureerbare uitvoerlatentie

Intel Corporation. Alle rechten voorbehouden. Intel, het Intel-logo en andere Intel-merken zijn handelsmerken van Intel Corporation of haar dochterondernemingen. Intel garandeert de prestaties van zijn FPGA- en halfgeleiderproducten volgens de huidige specificaties in overeenstemming met de standaardgarantie van Intel, maar behoudt zich het recht voor om op elk moment zonder voorafgaande kennisgeving wijzigingen aan te brengen in producten en diensten. Intel aanvaardt geen verantwoordelijkheid of aansprakelijkheid die voortvloeit uit de toepassing of het gebruik van informatie, producten of diensten die hierin worden beschreven, behalve zoals uitdrukkelijk schriftelijk overeengekomen door Intel. Intel-klanten wordt geadviseerd om de nieuwste versie van apparaatspecificaties te verkrijgen voordat ze vertrouwen op gepubliceerde informatie en voordat ze producten of diensten bestellen. *Andere namen en merken kunnen worden geclaimd als eigendom van anderen.

ISO 9001: 2015 geregistreerd

6. LPM_COMPARE (vergelijker) 683490 | 2020.10.05
6.2. Verilog HDL-prototype
Het volgende Verilog HDL-prototype bevindt zich in het Verilog Design File (.v) lpm.v in de edasynthese map.
module lpm_compare (alb, aeb, agb, aleb, aneb, ageb, dataa, datab, clock, clken, aclr); parameter lpm_type = “lpm_vergelijken”; parameter lpm_width = 1; parameter lpm_representation = “NIET ONDERTEKEND”; parameter lpm_pipeline = 0; parameter lpm_hint = “ONGEBRUIKT”; invoer [lpm_width-1:0] dataa, datab; ingangsklok; invoer clken; invoer aclr; uitvoer alb, aeb, agb, aleb, aneb, ageb; eindmodule
6.3. VHDL-componentverklaring
De VHDL-componentdeclaratie bevindt zich in het VHDL-ontwerp File (.vhd) LPM_PACK.vhd in de bibliothekenvhdllpm map.
component LPM_COMPARE generiek (LPM_WIDTH: natuurlijk;
LPM_REPRESENTATION: string:= “NIET ONDERTEKEND”; LPM_PIPELINE: natuurlijk:= 0; LPM_TYPE: tekenreeks:= L_COMPARE; LPM_HINT: string:= “ONGEBRUIKT”); poort (DATAA: in std_logic_vector(LPM_WIDTH-1 tot 0); DATAB: in std_logic_vector(LPM_WIDTH-1 tot 0); ACLR: in std_logic:= '0'; CLOCK: in std_logic:= '0'; CLKEN: in std_logic := '1'; AGB: uit std_logic; eindcomponent;
6.4. VHDL LIBRARY_USE-verklaring
De VHDL LIBRARY-USE-declaratie is niet vereist als u de VHDL Component Declaration gebruikt.
BIBLIOTHEEK lpm; GEBRUIK lpm.lpm_components.all;
6.5. Havens
In de volgende tabellen worden de invoer- en uitvoerpoorten voor de LMP_COMPARE IP-kern vermeld.

Feedback verzenden

Intel FPGA Integer Rekenkundige IP Cores Gebruikershandleiding 27

6. LPM_COMPARE (vergelijker) 683490 | 2020.10.05

Tabel 18. LPM_COMPARE IP-kerninvoerpoorten

Havennaam

Vereist

Beschrijving

gegevens[]

Ja

Gegevensinvoer. De grootte van de invoerpoort is afhankelijk van de parameterwaarde LPM_WIDTH.

gegevensbestand[]

Ja

Gegevensinvoer. De grootte van de invoerpoort is afhankelijk van de parameterwaarde LPM_WIDTH.

klok

Nee

Klokinvoer voor pijplijngebruik. De klokpoort levert de klokinvoer voor een pijplijn

operatie. Voor andere LPM_PIPELINE-waarden dan 0 (standaard) moet de klokpoort zijn

ingeschakeld.

klken

Nee

Klok inschakelen voor pijplijngebruik. Wanneer de clken-poort hoog wordt beweerd, wordt de

vergelijkingsoperatie plaatsvindt. Wanneer het signaal laag is, vindt er geen werking plaats. Als

weggelaten, de standaardwaarde is 1.

aclr

Nee

Asynchroon wissen voor pijplijngebruik. De pijplijn wordt geïnitialiseerd naar een ongedefinieerde (X) logica

niveau. De aclr-poort kan op elk moment worden gebruikt om de pijplijn opnieuw in te stellen op nullen,

asynchroon met het kloksignaal.

Tabel 19. LPM_COMPARE IP-kernuitvoerpoorten

Havennaam

Vereist

Beschrijving

alb

Nee

Uitgangspoort voor de comparator. Beweerd als ingang A kleiner is dan ingang B.

aeb

Nee

Uitgangspoort voor de comparator. Beweerd als ingang A gelijk is aan ingang B.

agb

Nee

Uitgangspoort voor de comparator. Beweerd als ingang A groter is dan ingang B.

leeftijd

Nee

Uitgangspoort voor de comparator. Beweerd als ingang A groter is dan of gelijk is aan ingang

B.

aneb

Nee

Uitgangspoort voor de comparator. Beweerd als ingang A niet gelijk is aan ingang B.

aleb

Nee

Uitgangspoort voor de comparator. Beweerd als ingang A kleiner is dan of gelijk is aan ingang B.

6.6. parameters

De volgende tabel bevat de parameters voor de LPM_COMPARE IP-kern.

Tabel 20. LPM_COMPARE IP-kernparameters

Parameternaam

Type

Vereist

LPM_WIDTH

Geheel getal Ja

LPM_REPRESENTATIE

Snaar

Nee

LPM_PIPELINE

geheel getal nr

LPM_HINT

Snaar

Nee

Beschrijving
Specificeert de breedte van de dataa[]- en datab[]-poorten.
Specificeert het type vergelijking dat wordt uitgevoerd. Waarden zijn SIGNED en UNSIGNED. Als u dit weglaat, is de standaardwaarde UNSIGNED. Wanneer deze parameterwaarde is ingesteld op SIGNED, interpreteert de comparator de gegevensinvoer als ondertekend twee-complement.
Specificeert het aantal klokcycli van latentie geassocieerd met de alb-, aeb-, agb-, ageb-, aleb- of aneb-uitvoer. Een waarde nul (0) geeft aan dat er geen latentie bestaat en dat een puur combinatorische functie zal worden geïnstantieerd. Als u dit weglaat, is de standaardwaarde 0 (niet-gepipelined).
Hiermee kunt u Intel-specifieke parameters opgeven in VHDL-ontwerp files (.vhd). De standaardwaarde is ONGEBRUIKT.
voortgezet…

Intel FPGA Integer Rekenkundige IP Cores Gebruikershandleiding 28

Feedback verzenden

6. LPM_COMPARE (vergelijker) 683490 | 2020.10.05
Parameternaam LPM_TYPE INTENDED_DEVICE_FAMILY
ONE_INPUT_IS_CONSTANT

Typ Tekenreeks Tekenreeks
Snaar

Vereist Nee Nee
Nee

Beschrijving
Identificeert de entiteitsnaam van de bibliotheek met geparametriseerde modules (LPM) in VHDL-ontwerp files.
Deze parameter wordt gebruikt voor modellering en gedragssimulatiedoeleinden. De parametereditor berekent de waarde voor deze parameter.
Intel-specifieke parameter. U moet de parameter LPM_HINT gebruiken om de parameter ONE_INPUT_IS_CONSTANT in VHDL-ontwerp op te geven fileS. Waarden zijn JA, NEE of ONGEBRUIKT. Biedt een grotere optimalisatie als een invoer constant is. Als u dit weglaat, is de standaardwaarde NEE.

Feedback verzenden

Intel FPGA Integer Rekenkundige IP Cores Gebruikershandleiding 29

683490 | 2020.10.05 Feedback verzenden

7. ALTECC (Foutcorrectiecode: Encoder/Decoder) IP Core

Figuur 6.

Intel levert de ALTECC IP-kern om de ECC-functionaliteit te implementeren. ECC detecteert beschadigde gegevens die tijdens de gegevensoverdracht aan de ontvangerzijde optreden. Deze foutcorrectiemethode is het meest geschikt voor situaties waarin fouten willekeurig optreden in plaats van in bursts.

De ECC detecteert fouten door het proces van gegevenscodering en -decodering. BijvoorbeeldampWanneer de ECC wordt toegepast in een transmissietoepassing, worden gegevens die uit de bron worden gelezen, gecodeerd voordat ze naar de ontvanger worden verzonden. De uitvoer (codewoord) van de encoder bestaat uit de ruwe data, aangevuld met het aantal pariteitsbits. Het exacte aantal toegevoegde pariteitsbits hangt af van het aantal bits in de invoergegevens. Het gegenereerde codewoord wordt vervolgens naar de bestemming verzonden.

De ontvanger ontvangt het codewoord en decodeert het. Informatie verkregen door de decoder bepaalt of er een fout wordt gedetecteerd. De decoder detecteert enkelbits- en dubbelbitsfouten, maar kan alleen enkelbitsfouten in de beschadigde gegevens herstellen. Dit type ECC is enkele foutcorrectie dubbele foutdetectie (SECDED).

U kunt de encoder- en decoderfuncties van de ALTCC IP-kern configureren. De data-invoer naar de encoder wordt gecodeerd om een ​​codewoord te genereren dat een combinatie is van de data-invoer en de gegenereerde pariteitsbits. Het gegenereerde codewoord wordt voor decodering naar de decodeermodule verzonden net voordat het zijn bestemmingsblok bereikt. De decoder genereert een syndroomvector om te bepalen of er een fout is in het ontvangen codewoord. De decoder corrigeert de gegevens alleen als de fout van één bit uit de databits komt. Er wordt geen signaal gemarkeerd als de fout van één bit afkomstig is van de pariteitsbits. De decoder beschikt ook over vlagsignalen om de status van de ontvangen gegevens weer te geven en, indien van toepassing, de actie die door de decoder is ondernomen.

De volgende afbeeldingen tonen de poorten voor de ALTCC IP-kern.

ALTEC-encoderpoorten

ALTCC_ENCODER

gegevens[]

Q[]

klok

klokken

aclr

inst

Intel Corporation. Alle rechten voorbehouden. Intel, het Intel-logo en andere Intel-merken zijn handelsmerken van Intel Corporation of haar dochterondernemingen. Intel garandeert de prestaties van zijn FPGA- en halfgeleiderproducten volgens de huidige specificaties in overeenstemming met de standaardgarantie van Intel, maar behoudt zich het recht voor om op elk moment zonder voorafgaande kennisgeving wijzigingen aan te brengen in producten en diensten. Intel aanvaardt geen verantwoordelijkheid of aansprakelijkheid die voortvloeit uit de toepassing of het gebruik van informatie, producten of diensten die hierin worden beschreven, behalve zoals uitdrukkelijk schriftelijk overeengekomen door Intel. Intel-klanten wordt geadviseerd om de nieuwste versie van apparaatspecificaties te verkrijgen voordat ze vertrouwen op gepubliceerde informatie en voordat ze producten of diensten bestellen. *Andere namen en merken kunnen worden geclaimd als eigendom van anderen.

ISO 9001: 2015 geregistreerd

7. ALTECC (foutcorrectiecode: encoder/decoder) IP Core 683490 | 2020.10.05

Figuur 7. ALTCC-decoderpoorten

ALTCC_DECODER

data[] klok klokken

q[] fout_gedetecteerd fout_gecorrigeerd
fout_fataal

aclr

inst

7.1. ALTCC-encoderfuncties

De ALTEC-encoder IP-kern biedt de volgende functies: · Voert datacodering uit met behulp van het Hamming Coding-schema · Ondersteunt een databreedte van 2 bits · Ondersteunt ondertekende en niet-ondertekende datarepresentatieformaten · Ondersteuning van pipelines met uitvoerlatentie van één of twee klokcycli · Ondersteunt optioneel asynchrone clear- en clock-enable-poorten

De ALTEC-encoder IP-kern neemt de gegevens op en codeert deze met behulp van het Hamming Coding-schema. Het Hamming-coderingsschema leidt de pariteitsbits af en voegt deze toe aan de originele gegevens om het uitvoercodewoord te produceren. Het aantal toegevoegde pariteitsbits hangt af van de breedte van de gegevens.

De volgende tabel geeft een overzicht van het aantal pariteitsbits dat is toegevoegd voor verschillende bereiken van databreedtes. De kolom Totaal bits vertegenwoordigt het totale aantal invoergegevensbits en toegevoegde pariteitsbits.

Tabel 21.

Aantal pariteitsbits en codewoord volgens gegevensbreedte

Gegevensbreedte

Aantal pariteitsbits

Totaal aantal bits (codewoord)

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

De pariteitsbitafleiding maakt gebruik van een even-pariteitscontrole. De extra 1-bit (in de tabel weergegeven als +1) wordt aan de pariteitsbits toegevoegd als de MSB van het codewoord. Dit zorgt ervoor dat het codewoord een even aantal enen heeft. BijvoorbeeldampAls de databreedte 4 bits is, worden er 4 pariteitsbits aan de data toegevoegd om een ​​codewoord te vormen met een totaal van 8 bits. Als 7 bits van de LSB van het 8-bits codewoord een oneven aantal enen hebben, is de 1e bit (MSB) van het codewoord 8, waardoor het totale aantal enen in het codewoord even is.
De volgende figuur toont het gegenereerde codewoord en de rangschikking van de pariteitsbits en databits in een 8-bits data-ingang.

Feedback verzenden

Intel FPGA Integer Rekenkundige IP Cores Gebruikershandleiding 31

7. ALTECC (foutcorrectiecode: encoder/decoder) IP Core 683490 | 2020.10.05

Figuur 8.

Pariteitsbits en databitsschikking in een 8-bits gegenereerd codewoord

MSB

LSB

4 pariteitsbits

4 databits

8

1

De ALTCC-encoder IP-kern accepteert alleen invoerbreedtes van 2 tot 64 bits tegelijk. Invoerbreedtes van 12 bits, 29 bits en 64 bits, die bij uitstek geschikt zijn voor Intel-apparaten, genereren outputs van respectievelijk 18 bits, 36 bits en 72 bits. U kunt de bitselectiebeperking regelen in de parametereditor.

7.2. Verilog HDL-prototype (ALTECC_ENCODER)
Het volgende Verilog HDL-prototype bevindt zich in het Verilog Design File (.v) lpm.v in de edasynthese map.
module altecc_encoder #( parameter bedoeld_device_family = “ongebruikt”, parameter lpm_pipeline = 0, parameter breedte_codewoord = 8, parameter breedte_datawoord = 8, parameter lpm_type = “altecc_encoder”, parameter lpm_hint = “ongebruikt”) (invoerdraad aclr, invoerdraadklok, invoer draadklokken, invoerdraad [breedte_datawoord-1:0] gegevens, uitvoerdraad [breedte_codewoord-1:0] q); eindmodule

7.3. Verilog HDL-prototype (ALTECC_DECODER)
Het volgende Verilog HDL-prototype bevindt zich in het Verilog Design File (.v) lpm.v in de edasynthese map.
module altecc_decoder #( parameter beoogde_device_family = “ongebruikt”, parameter lpm_pipeline = 0, parameter breedte_codewoord = 8, parameter breedte_datawoord = 8, parameter lpm_type = “altecc_decoder”, parameter lpm_hint = “ongebruikt”) (invoerdraad aclr, invoerdraadklok, invoer wire clocken, input wire [width_codeword-1:0] data, output wire err_corrected, output wire err_detected, output wire err_fatal, output wire [width_dataword-1:0] q); eindmodule

Intel FPGA Integer Rekenkundige IP Cores Gebruikershandleiding 32

Feedback verzenden

7. ALTECC (foutcorrectiecode: encoder/decoder) IP Core 683490 | 2020.10.05
7.4. VHDL-componentdeclaratie (ALTECC_ENCODER)
De VHDL-componentdeclaratie bevindt zich in het VHDL-ontwerp File (.vhd) altera_mf_components.vhd in de bibliothekenvhdlaltera_mf map.
component altecc_encoder generiek ( beoogde_device_family:string := “ongebruikt”; lpm_pipeline:natural := 0; width_codeword:natural := 8; width_dataword:natural := 8; lpm_hint:string := “ONGEBRUIKT”; lpm_type:string := “altecc_encoder ”); port( aclr:in std_logic := '0'; clock:in std_logic := '0'; clocken:in std_logic := '1'; data:in std_logic_vector(width_dataword-1 tot 0); q:out std_logic_vector(width_codeword -1 tot 0)); eindcomponent;
7.5. VHDL-componentdeclaratie (ALTECC_DECODER)
De VHDL-componentdeclaratie bevindt zich in het VHDL-ontwerp File (.vhd) altera_mf_components.vhd in de bibliothekenvhdlaltera_mf map.
component altecc_decoder generiek ( beoogde_device_family:string := “ongebruikt”; lpm_pipeline:natural := 0; width_codeword:natural := 8; width_dataword:natural := 8; lpm_hint:string := “ONGEBRUIKT”; lpm_type:string := “altecc_decoder ”); port( aclr:in std_logic := '0'; clock:in std_logic := '0'; clocken:in std_logic := '1'; data:in std_logic_vector(width_codeword-1 tot 0); err_corrected: out std_logic; err_detected : uit std_logic; q:uit std_logic_vector(width_dataword-1 tot 0); eindcomponent;
7.6. VHDL LIBRARY_USE-verklaring
De VHDL LIBRARY-USE-declaratie is niet vereist als u de VHDL Component Declaration gebruikt.
BIBLIOTHEEK altera_mf; GEBRUIK altera_mf.altera_mf_components.all;
7.7. Encoderpoorten
De volgende tabellen vermelden de invoer- en uitvoerpoorten voor de ALTCC-encoder IP-kern.

Feedback verzenden

Intel FPGA Integer Rekenkundige IP Cores Gebruikershandleiding 33

7. ALTECC (foutcorrectiecode: encoder/decoder) IP Core 683490 | 2020.10.05

Tabel 22. ALTCC-encoderingangspoorten

Havennaam

Vereist

Beschrijving

gegevens[]

Ja

Gegevensinvoerpoort. De grootte van de invoerpoort is afhankelijk van WIDTH_DATAWORD

parameterwaarde. De data[]-poort bevat de onbewerkte gegevens die moeten worden gecodeerd.

klok

Ja

Klokingangspoort die het kloksignaal levert om de codering te synchroniseren.

De klokpoort is vereist wanneer de LPM_PIPELINE-waarde groter is dan 0.

klokken

Nee

Klok inschakelen. Als u dit weglaat, is de standaardwaarde 1.

aclr

Nee

Asynchrone duidelijke invoer. Het actieve hoge ACLR-signaal kan op elk moment worden gebruikt

het asynchroon wissen van de registers.

Tabel 23. ALTECC-encoderuitgangspoorten

Poortnaam q[]

Vereist Ja

Beschrijving
Gecodeerde gegevensuitvoerpoort. De grootte van de uitvoerpoort is afhankelijk van de parameterwaarde WIDTH_CODEWORD.

7.8. Decoderpoorten

De volgende tabellen geven een overzicht van de invoer- en uitvoerpoorten voor de ALTCC-decoder IP-kern.

Tabel 24. ALTCC-decoderingangspoorten

Havennaam

Vereist

Beschrijving

gegevens[]

Ja

Gegevensinvoerpoort. De grootte van de invoerpoort is afhankelijk van de parameterwaarde WIDTH_CODEWORD.

klok

Ja

Klokingangspoort die het kloksignaal levert om de codering te synchroniseren. De klokpoort is vereist wanneer de LPM_PIPELINE-waarde groter is dan 0.

klokken

Nee

Klok inschakelen. Als u dit weglaat, is de standaardwaarde 1.

aclr

Nee

Asynchrone duidelijke invoer. Het actieve hoge ACLR-signaal kan op elk moment worden gebruikt om de registers asynchroon te wissen.

Tabel 25. ALTCC-decoderuitgangspoorten

Poortnaam q[]

Vereist Ja

Beschrijving
Gedecodeerde gegevensuitvoerpoort. De grootte van de uitvoerpoort is afhankelijk van de parameterwaarde WIDTH_DATAWORD.

err_detected Ja

Vlagsignaal dat de status van de ontvangen gegevens weergeeft en eventuele gevonden fouten specificeert.

err_correcte Ja d

Vlagsignaal om de status van de ontvangen gegevens weer te geven. Geeft aan dat er een fout van één bit is gevonden en gecorrigeerd. U kunt de gegevens gebruiken omdat deze al zijn gecorrigeerd.

fout_fataal

Ja

Vlagsignaal om de status van de ontvangen gegevens weer te geven. Geeft aan dat er een dubbelbitfout is gevonden, maar niet is gecorrigeerd. U mag de gegevens niet gebruiken als dit signaal wordt bevestigd.

syn_e

Nee

Een uitgangssignaal dat hoog wordt wanneer er een fout van één bit op de pariteit wordt gedetecteerd

beetjes.

7.9. Encoderparameters
De volgende tabel bevat de parameters voor de ALTCC-encoder IP-kern.

Intel FPGA Integer Rekenkundige IP Cores Gebruikershandleiding 34

Feedback verzenden

7. ALTECC (foutcorrectiecode: encoder/decoder) IP Core 683490 | 2020.10.05

Tabel 26. ALTECC-encoderparameters

Parameternaam

Type

Vereist

Beschrijving

WIDTH_DATAWORD

Geheel getal Ja

Specificeert de breedte van de onbewerkte gegevens. Waarden lopen van 2 tot 64. Als u dit weglaat, is de standaardwaarde 8.

WIDTH_CODEWORD

Geheel getal Ja

Specificeert de breedte van het corresponderende codewoord. Geldige waarden zijn van 6 tot 72, met uitzondering van 9, 17, 33 en 65. Indien weggelaten, is de standaardwaarde 13.

LPM_PIPELINE

geheel getal nr

Specificeert de pijplijn voor het circuit. Waarden lopen van 0 tot 2. Als de waarde 0 is, worden de poorten niet geregistreerd. Als de waarde 1 is, worden de uitgangspoorten geregistreerd. Als de waarde 2 is, worden de invoer- en uitvoerpoorten geregistreerd. Als u dit weglaat, is de standaardwaarde 0.

7.10. Decoderparameters

De volgende tabel bevat de IP-kernparameters van de ALTCC-decoder.

Tabel 27. ALTECC-decoderparameters

Parameternaam WIDTH_DATAWORD

Typ geheel getal

Vereist

Beschrijving

Ja

Specificeert de breedte van de onbewerkte gegevens. Waarden zijn 2 tot 64. De

standaardwaarde is 8.

WIDTH_CODEWORD

Geheel getal

Ja

Specificeert de breedte van het corresponderende codewoord. Waarden zijn 6

tot 72, exclusief 9, 17, 33 en 65. Indien weggelaten, wordt de standaardwaarde

bedraagt ​​13.

LPM_PIPELINE

Geheel getal

Nee

Specificeert het register van het circuit. Waarden lopen van 0 tot 2. Als de

waarde is 0, er is geen register geïmplementeerd. Als de waarde 1 is, wordt de

uitvoer wordt geregistreerd. Als de waarde 2 is, worden zowel de invoer als de

uitvoer worden geregistreerd. Als de waarde groter is dan 2, extra

registers zijn geïmplementeerd aan de uitgang voor de extra

latenties. Als u dit weglaat, is de standaardwaarde 0.

Maak een 'syn_e'-poort

Geheel getal

Nee

Schakel deze parameter in om een ​​syn_e-poort te maken.

Feedback verzenden

Intel FPGA Integer Rekenkundige IP Cores Gebruikershandleiding 35

683490 | 2020.10.05 Feedback verzenden

8. Intel FPGA Multiply Adder IP-kern

Figuur 9.

Met de Intel FPGA Multiply Adder (Intel Stratix 10, Intel Arria 10 en Intel Cyclone 10 GX-apparaten) of ALTERA_MULT_ADD (Arria V-, Stratix V- en Cyclone V-apparaten) IP-kern kunt u een multiplier-adder implementeren.

De volgende afbeelding toont de poorten voor de Intel FPGA Multiply Adder of ALTERA_MULT_ADD IP-kern.

Intel FPGA Multiply Adder of ALTERA_MULT_ADD-poorten

Intel FPGA Multiply Adder of ALTERA_MULT_ADD

dataa[] signa datab[] signb datac[] coefsel0[] coefsel1[] coefsel2[] coefsel3[] addnsub1 addnsub3 aclr/sclr[] scanina[] clock0 clock1 clock2 ena0 ena1 ena2 sload_accum
accum_sload chainin[]

scanouta[] resultaat[]

aclr0 aclr1

inst
Een vermenigvuldiger-opteller accepteert invoerparen, vermenigvuldigt de waarden met elkaar en telt vervolgens de producten van alle andere paren op of trekt deze af.
Als alle invoergegevensbreedten 9 bits breed of kleiner zijn, gebruikt de functie de 9 x 9 bit invoervermenigvuldigerconfiguratie in het DSP-blok voor apparaten die de 9 x 9-configuratie ondersteunen. Als dat niet het geval is, gebruikt het DSP-blok invoervermenigvuldigers van 18 x 18 bits om gegevens met een breedte tussen 10 bits en 18 bits te verwerken. Als er meerdere Intel FPGA Multiply Adder of ALTERA_MULT_ADD IP-cores in een ontwerp voorkomen, worden de functies gedistribueerd naar

Intel Corporation. Alle rechten voorbehouden. Intel, het Intel-logo en andere Intel-merken zijn handelsmerken van Intel Corporation of haar dochterondernemingen. Intel garandeert de prestaties van zijn FPGA- en halfgeleiderproducten volgens de huidige specificaties in overeenstemming met de standaardgarantie van Intel, maar behoudt zich het recht voor om op elk moment zonder voorafgaande kennisgeving wijzigingen aan te brengen in producten en diensten. Intel aanvaardt geen verantwoordelijkheid of aansprakelijkheid die voortvloeit uit de toepassing of het gebruik van informatie, producten of diensten die hierin worden beschreven, behalve zoals uitdrukkelijk schriftelijk overeengekomen door Intel. Intel-klanten wordt geadviseerd om de nieuwste versie van apparaatspecificaties te verkrijgen voordat ze vertrouwen op gepubliceerde informatie en voordat ze producten of diensten bestellen. *Andere namen en merken kunnen worden geclaimd als eigendom van anderen.

ISO 9001: 2015 geregistreerd

8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
zoveel mogelijk verschillende DSP-blokken mogelijk, zodat routering naar deze blokken flexibeler is. Minder vermenigvuldigers per DSP-blok maken meer routeringskeuzes naar het blok mogelijk door paden naar de rest van het apparaat te minimaliseren.
De registers en extra pijplijnregisters voor de volgende signalen worden ook in het DSP-blok geplaatst: · Gegevensinvoer · Selectie met of zonder teken · Selectie optellen of aftrekken · Producten van vermenigvuldigers
In het geval van het uitvoerresultaat wordt het eerste register in het DSP-blok geplaatst. De extra latentieregisters worden echter in logische elementen buiten het blok geplaatst. Randapparatuur voor het DSP-blok, inclusief data-ingangen naar de vermenigvuldiger, stuursignaalingangen en uitgangen van de opteller, gebruiken reguliere routering om met de rest van het apparaat te communiceren. Alle verbindingen in de functie gebruiken speciale routering binnen het DSP-blok. Deze speciale routering omvat de schuifregisterketens wanneer u de optie selecteert om de geregistreerde invoergegevens van een vermenigvuldiger van de ene vermenigvuldiger naar een aangrenzende vermenigvuldiger te verschuiven.
Voor meer informatie over DSP-blokken in de Stratix V- en Arria V-apparaatseries raadpleegt u het hoofdstuk DSP-blokken van de betreffende handboeken op de pagina Literatuur en technische documentatie.
Gerelateerde informatie AN 306: Multipliers implementeren in FPGA-apparaten
Biedt meer informatie over het implementeren van vermenigvuldigers met behulp van DSP en geheugenblokken in Intel FPGA-apparaten.
8.1. Kenmerken
De Intel FPGA Multiply Adder of ALTERA_MULT_ADD IP-kern biedt de volgende functies: · Genereert een vermenigvuldiger om vermenigvuldigingsbewerkingen uit te voeren van twee complexe
getallen Opmerking: bij het bouwen van vermenigvuldigers die groter zijn dan de standaard ondersteunde grootte, kan/
zal een prestatie-impact zijn als gevolg van de cascadering van de DSP-blokken. · Ondersteunt gegevensbreedtes van 1 bits · Ondersteunt ondertekende en niet-ondertekende gegevensrepresentatieformaten · Ondersteunt pipelining met configureerbare invoerlatentie · Biedt een optie om dynamisch te schakelen tussen ondertekende en niet-ondertekende gegevensondersteuning · Biedt een optie om dynamisch te schakelen tussen optellen en aftrekken · Ondersteunt optionele asynchrone en synchrone clear- en clock-enable-ingangspoorten · Ondersteunt systolische vertragingsregistermodus · Ondersteunt pre-adder met 256 pre-load-coëfficiënten per vermenigvuldiger · Ondersteunt pre-load-constante als aanvulling op accumulatorfeedback

Feedback verzenden

Intel FPGA Integer Rekenkundige IP Cores Gebruikershandleiding 37

8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05

8.1.1. Pre-adder
Bij pre-adder worden optellingen of aftrekkingen gedaan voordat de vermenigvuldiger wordt ingevoerd.
Er zijn vijf pre-optelmodi: · Eenvoudige modus · Coëfficiëntmodus · Invoermodus · Kwadratische modus · Constante modus

Opmerking:

Wanneer pre-adder wordt gebruikt (pre-adder-coëfficiënt/invoer/kwadraatmodus), moeten alle gegevensinvoer naar de vermenigvuldiger dezelfde klokinstelling hebben.

8.1.1.1. Eenvoudige modus vóór toevoeging

In deze modus zijn beide operanden afkomstig van de invoerpoorten en wordt de pre-adder niet gebruikt of omzeild. Dit is de standaardmodus.

Figuur 10. Eenvoudige modus vóór toevoeging
a0 b0

Meervoudig

resultaat

8.1.1.2. Coëfficiëntmodus vóór toevoeging
In deze modus is één vermenigvuldiger-operand afkomstig van de pre-adder, en de andere operand afkomstig van de interne coëfficiëntopslag. De coëfficiëntopslag maakt maximaal 8 vooraf ingestelde constanten mogelijk. De coëfficiëntselectiesignalen zijn coefsel[0..3].
Deze modus wordt uitgedrukt in de volgende vergelijking.

Het volgende toont de pre-adder-coëfficiëntmodus van een vermenigvuldiger.

Figuur 11. Coëfficiëntmodus vóór toevoeging

Preadder

a0

Meervoudig

+/-

resultaat

b0

coefsel0 coef

Intel FPGA Integer Rekenkundige IP Cores Gebruikershandleiding 38

Feedback verzenden

8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
8.1.1.3. Invoermodus vóór optelling In deze modus is één vermenigvuldiger-operand afkomstig van de pre-opteller, en de andere operand afkomstig van de datac[]-invoerpoort. Deze modus wordt uitgedrukt in de volgende vergelijking.

Hieronder ziet u de pre-adder-invoermodus van een vermenigvuldiger.

Figuur 12. Invoermodus vóór optelling
a0 b0

Meervoudig

+/-

resultaat

c0

8.1.1.4. Pre-adder Square-modus Deze modus wordt uitgedrukt in de volgende vergelijking.

Het volgende toont de pre-adder-kwadraatmodus van twee vermenigvuldigers.

Figuur 13. Pre-adder Square-modus
a0 b0

Meervoudig

+/-

resultaat

8.1.1.5. Constante modus vóór toevoeging
In deze modus is één vermenigvuldiger-operand afkomstig van de invoerpoort, en de andere operand afkomstig van de interne coëfficiëntopslag. De coëfficiëntopslag maakt maximaal 8 vooraf ingestelde constanten mogelijk. De coëfficiëntselectiesignalen zijn coefsel[0..3].
Deze modus wordt uitgedrukt in de volgende vergelijking.

Feedback verzenden

Intel FPGA Integer Rekenkundige IP Cores Gebruikershandleiding 39

8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05

De volgende afbeelding toont de pre-adder-constantemodus van een vermenigvuldiger.

Figuur 14. Constante modus vóór toevoeging
a0

Meervoudig

resultaat

coefsel0
coëfficient
8.1.2. Systolische vertragingsregister
In een systolische architectuur worden de invoergegevens ingevoerd in een cascade van registers die als gegevensbuffer fungeren. Elk register levert een ingang sample naar een vermenigvuldiger waar deze wordt vermenigvuldigd met de betreffende coëfficiënt. De ketenopteller slaat de geleidelijk gecombineerde resultaten van de vermenigvuldiger en het eerder geregistreerde resultaat van de chainin[]-invoerpoort op om het eindresultaat te vormen. Elk vermenigvuldig-optelelement moet met een enkele cyclus worden vertraagd, zodat de resultaten op de juiste manier worden gesynchroniseerd wanneer ze bij elkaar worden opgeteld. Elke opeenvolgende vertraging wordt gebruikt om zowel het coëfficiëntgeheugen als de databuffer van hun respectieve vermenigvuldig-optelelementen te adresseren. Bijvoorbeeldample, een enkele vertraging voor het tweede vermenigvuldig-optelelement, twee vertragingen voor het derde vermenigvuldig-optelelement, enzovoort.
Figuur 15. Systolische registers
Systolische registers

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 j(t)

x(t) vertegenwoordigt de resultaten van een continue stroom invoer samples en y(t)
vertegenwoordigt de sommatie van een reeks invoer samples, en na verloop van tijd vermenigvuldigd met hun
respectieve coëfficiënten. Zowel de invoer- als de uitvoerresultaten vloeien van links naar rechts. De c(0) tot c(N-1) geven de coëfficiënten aan. De systolische vertragingsregisters worden aangegeven met S-1, terwijl de 1 een enkele klokvertraging vertegenwoordigt. Systolische vertragingsregisters zijn toegevoegd op
de input en output voor pipelining op een manier die de resultaten van de
vermenigvuldiger-operand en de geaccumuleerde bedragen blijven synchroon. Dit verwerkingselement
wordt gerepliceerd om een ​​circuit te vormen dat de filterfunctie berekent. Deze functie is
uitgedrukt in de volgende vergelijking.

Intel FPGA Integer Rekenkundige IP Cores Gebruikershandleiding 40

Feedback verzenden

8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05

N vertegenwoordigt het aantal gegevenscycli dat in de accumulator is ingevoerd, y(t) vertegenwoordigt de uitvoer op tijdstip t, A(t) vertegenwoordigt de invoer op tijdstip t, en B(i) zijn de coëfficiënten. De t en i in de vergelijking komen overeen met een bepaald tijdstip, dus om de uitvoer s te berekenenample y(t) op tijdstip t, een groep invoer sampbestanden op N verschillende tijdstippen, of A(n), A(n-1), A(n-2), … A(n-N+1) is vereist. De groep van N invoer sampbestanden worden vermenigvuldigd met N-coëfficiënten en bij elkaar opgeteld om het eindresultaat y te vormen.
De systolische registerarchitectuur is alleen beschikbaar voor de som-van-2- en som-van-4-modi. Voor beide systolische registerarchitectuurmodi moet het eerste chainin-signaal aan 0 worden gekoppeld.
De volgende afbeelding toont de implementatie van het systolische vertragingsregister van 2 vermenigvuldigers.
Figuur 16. Implementatie van systolische vertragingsregister van 2 vermenigvuldigers
kettingin

a0

Meervoudig

+/-

b0

a1

Meervoudig

+/-

b1

resultaat
De som van twee vermenigvuldigers wordt uitgedrukt in de volgende vergelijking.
De volgende afbeelding toont de implementatie van het systolische vertragingsregister van 4 vermenigvuldigers.

Feedback verzenden

Intel FPGA Integer Rekenkundige IP Cores Gebruikershandleiding 41

8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05

Figuur 17. Implementatie van systolische vertragingsregister van 4 vermenigvuldigers
kettingin

a0

Meervoudig

+/-

b0

a1

Meervoudig

+/-

b1

a2

Meervoudig

+/-

b2

a3

Meervoudig

+/-

b3

resultaat
De som van vier vermenigvuldigers wordt uitgedrukt in de volgende vergelijking. Figuur 18. Som van 4 vermenigvuldigers
Hieronder vindt u de advantages van de implementatie van het systolische register: · Vermindert het gebruik van DSP-bronnen · Maakt efficiënte mapping in het DSP-blok mogelijk met behulp van de ketenoptellerstructuur

Intel FPGA Integer Rekenkundige IP Cores Gebruikershandleiding 42

Feedback verzenden

8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05

8.1.3. Voorbelastingsconstante
De voorbelastingsconstante bestuurt de accumulatoroperand en vormt een aanvulling op de accumulatorfeedback. De geldige LOADCONST_VALUE varieert van 0. De constante waarde is gelijk aan 64N, waarbij N = LOADCONST_VALUE. Wanneer de LOADCONST_VALUE is ingesteld op 2, is de constante waarde gelijk aan 64. Deze functie kan worden gebruikt als biased afronding.
De volgende afbeelding toont de implementatie van de pre-load-constante.
Figuur 19. Voorbelastingsconstante

Feedback van de accu

constante

a0

Meervoudig

+/-

b0

a1

Meervoudig

+/b1

resultaat

accum_sload sload_accum

Raadpleeg de volgende IP-kernen voor andere multiplier-implementaties: · ALTMULT_ACCUM · ALTMEMMULT · LPM_MULT
8.1.4. Dubbele accu
De dubbele accumulatorfunctie voegt een extra register toe aan het accumulatorfeedbackpad. Het dubbele accumulatorregister volgt het uitgangsregister, dat de klok, klokinschakeling en aclr omvat. Het extra accumulatorregister retourneert het resultaat met een vertraging van één cyclus. Met deze functie kunt u twee accumulatorkanalen hebben met hetzelfde aantal bronnen.
De volgende afbeelding toont de implementatie van de dubbele accumulator.

Feedback verzenden

Intel FPGA Integer Rekenkundige IP Cores Gebruikershandleiding 43

8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05

Figuur 20. Dubbele accumulator

Dubbele accumulator Register

Feedback van de accumulator

a0

Meervoudig

+/-

b0

a1

Meervoudig

+/b1

Uitvoerresultaat Uitvoerregister

8.2. Verilog HDL-prototype
U kunt het Intel FPGA Multiply Adder of ALTERA_MULT_ADD Verilog HDL-prototype vinden file (altera_mult_add_rtl.v) in de directory bibliothekenmegafunctions.
8.3. VHDL-componentverklaring
De VHDL-componentdeclaratie bevindt zich in de altera_lnsim_components.vhd in de bibliothekenvhdl altera_lnsim map.
8.4. VHDL LIBRARY_USE-verklaring
De VHDL LIBRARY-USE-declaratie is niet vereist als u de VHDL Component Declaration gebruikt.
BIBLIOTHEEK altera_mf; GEBRUIK altera_mf.altera_mf_components.all;

8.5. Signalen

De volgende tabellen geven een overzicht van de invoer- en uitvoersignalen van de Multiply Adder Intel FPGA IP of ALTERA_MULT_ADD IP-kern.

Tabel 28. Vermenigvuldig optel Intel FPGA IPof ALTERA_MULT_ADD ingangssignalen

Signaal

Vereist

Beschrijving

dataa_0[]/dataa_1[]/

Ja

dataa_2[]/dataa_3[]

Gegevensinvoer naar de vermenigvuldiger. Invoerpoort [NUMBER_OF_MULTIPLIERS * WIDTH_A – 1 … 0] breed
voortgezet…

Intel FPGA Integer Rekenkundige IP Cores Gebruikershandleiding 44

Feedback verzenden

8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05

Signaal datab_0[]/datab_1[]/ datab_2[]/datab_3[] datac_0[] /datac_1[]/ datac_2[]/datac_3[] clock[1:0] aclr[1:0] sclr[1:0] ena [1:0] teken
tekenb
scanina[] accum_sload

Verplicht Ja Nee
Nee Nee Nee Nee Nee
Nee
Nee Nee

Beschrijving
Het simulatiemodel voor dit IP ondersteunt een onbepaalde invoerwaarde (X) voor deze signalen. Wanneer u een X-waarde aan deze signalen geeft, wordt de X-waarde doorgegeven aan de uitgangssignalen.
Gegevensinvoer naar de vermenigvuldiger. Ingangssignaal [NUMBER_OF_MULTIPLIERS * WIDTH_B – 1 … 0] breed Het simulatiemodel voor dit IP ondersteunt onbepaalde invoerwaarde (X) voor deze signalen. Wanneer u een X-waarde aan deze signalen geeft, wordt de X-waarde doorgegeven aan de uitgangssignalen.
Gegevensinvoer naar de vermenigvuldiger. Ingangssignaal [NUMBER_OF_MULTIPLIERS * WIDTH_C – 1, … 0] breed Selecteer INPUT voor Selecteer preaddermodusparameter om deze signalen in te schakelen. Het simulatiemodel voor dit IP ondersteunt een onbepaalde invoerwaarde (X) voor deze signalen. Wanneer u een X-waarde aan deze signalen geeft, wordt de X-waarde doorgegeven aan de uitgangssignalen.
Klokinvoerpoort naar het overeenkomstige register. Dit signaal kan door elk register in de IP-kern worden gebruikt. Het simulatiemodel voor dit IP ondersteunt een onbepaalde invoerwaarde (X) voor deze signalen. Wanneer u een X-waarde aan deze signalen geeft, wordt de X-waarde doorgegeven aan de uitgangssignalen.
Asynchrone duidelijke invoer naar het overeenkomstige register. Het simulatiemodel voor dit IP ondersteunt een onbepaalde invoerwaarde (X) voor deze signalen. Wanneer u een X-waarde aan deze signalen geeft, wordt de X-waarde doorgegeven aan de uitgangssignalen.
Synchrone duidelijke invoer naar het overeenkomstige register. Het simulatiemodel voor dit IP ondersteunt onbepaalde invoerwaarde X voor deze signalen. Wanneer u een X-waarde aan deze signalen geeft, wordt de X-waarde doorgegeven aan de uitgangssignalen
Schakel signaalinvoer naar het overeenkomstige register in. Het simulatiemodel voor dit IP ondersteunt een onbepaalde invoerwaarde (X) voor deze signalen. Wanneer u een X-waarde aan deze signalen geeft, wordt de X-waarde doorgegeven aan de uitgangssignalen.
Specificeert de numerieke weergave van de vermenigvuldigeringang A. Als het signaalsignaal hoog is, behandelt de vermenigvuldiger het signaal van de vermenigvuldigeringang A als een getal met teken. Als het signaalsignaal laag is, behandelt de vermenigvuldiger het signaal van ingang A van de vermenigvuldiger als een getal zonder teken. Selecteer VARIABEL voor Wat is het representatieformaat voor vermenigvuldigers. Een invoerparameter om dit signaal in te schakelen. Het simulatiemodel voor dit IP ondersteunt een onbepaalde invoerwaarde (X) voor dit signaal. Wanneer u een X-waarde aan deze invoer invoert, wordt de X-waarde doorgegeven aan de uitgangssignalen.
Specificeert de numerieke representatie van het B-ingangssignaal van de vermenigvuldiger. Als het signb-signaal hoog is, behandelt de vermenigvuldiger het B-signaal van de vermenigvuldiger als een twee-complementgetal met teken. Als het signb-signaal laag is, behandelt de vermenigvuldiger het vermenigvuldigeringangssignaal B als een getal zonder teken. Het simulatiemodel voor dit IP ondersteunt een onbepaalde invoerwaarde (X) voor dit signaal. Wanneer u een X-waarde aan deze invoer invoert, wordt de X-waarde doorgegeven aan de uitgangssignalen.
Ingang voor scanketen A. Ingangssignaal [WIDTH_A – 1, … 0] breed. Wanneer de parameter INPUT_SOURCE_A de waarde SCANA heeft, is het signaal scanina[] vereist.
Specificeert dynamisch of de accumulatorwaarde constant is. Als het accum_sload-signaal laag is, wordt de vermenigvuldigeruitvoer in de accumulator geladen. Gebruik accum_sload en sload_accum niet tegelijkertijd.
voortgezet…

Feedback verzenden

Intel FPGA Integer Rekenkundige IP Cores Gebruikershandleiding 45

8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05

Signaal sload_accum
chainin[] addnsub1
addnsub3
coefsel0[] coefsel1[] coefsel2[] coefsel3[]

Vereist nr
Nee Nee
Nee
Nee nee nee nee

Beschrijving
Het simulatiemodel voor dit IP ondersteunt een onbepaalde invoerwaarde (X) voor dit signaal. Wanneer u een X-waarde aan deze invoer invoert, wordt de X-waarde doorgegeven aan de uitgangssignalen.
Specificeert dynamisch of de accumulatorwaarde constant is. Als het sload_accum-signaal hoog is, wordt de vermenigvuldigeruitvoer in de accumulator geladen. Gebruik accum_sload en sload_accum niet tegelijkertijd. Het simulatiemodel voor dit IP ondersteunt een onbepaalde invoerwaarde (X) voor dit signaal. Wanneer u een X-waarde aan deze invoer invoert, wordt de X-waarde doorgegeven aan de uitgangssignalen.
Optelresultaatinvoerbus van de voorgaande stage. Ingangssignaal [WIDTH_CHAININ – 1, … 0] breed.
Voer optellingen of aftrekkingen uit op de uitvoer van het eerste paar vermenigvuldigers. Ingang 1 naar addnsub1-signaal om de uitgangen van het eerste paar vermenigvuldigers op te tellen. Voer 0 in voor het optel-sub1-signaal om de uitgangen van het eerste paar vermenigvuldigers af te trekken. Het simulatiemodel voor dit IP ondersteunt een onbepaalde invoerwaarde (X) voor dit signaal. Wanneer u een X-waarde aan deze invoer invoert, wordt de X-waarde doorgegeven aan de uitgangssignalen.
Voer optellingen of aftrekkingen uit op de uitvoer van het eerste paar vermenigvuldigers. Ingang 1 naar addnsub3-signaal om de uitgangen van het tweede paar vermenigvuldigers op te tellen. Voer 0 in voor het addnsub3-signaal om de uitgangen van het eerste paar vermenigvuldigers af te trekken. Het simulatiemodel voor dit IP ondersteunt een onbepaalde invoerwaarde (X) voor dit signaal. Wanneer u een X-waarde aan deze invoer invoert, wordt de X-waarde doorgegeven aan de uitgangssignalen.
Coëfficiënt ingangssignaal [0:3] naar de eerste vermenigvuldiger. Het simulatiemodel voor dit IP ondersteunt een onbepaalde invoerwaarde (X) voor dit signaal. Wanneer u een X-waarde aan deze invoer invoert, wordt de X-waarde doorgegeven aan de uitgangssignalen.
Coëfficiënt ingangssignaal [0:3] naar de tweede vermenigvuldiger. Het simulatiemodel voor dit IP ondersteunt een onbepaalde invoerwaarde (X) voor dit signaal. Wanneer u een X-waarde aan deze invoer invoert, wordt de X-waarde doorgegeven aan de uitgangssignalen.
Coëfficiënt ingangssignaal[0:3] naar de derde vermenigvuldiger. Het simulatiemodel voor dit IP ondersteunt een onbepaalde invoerwaarde (X) voor dit signaal. Wanneer u een X-waarde aan deze invoer invoert, wordt de X-waarde doorgegeven aan de uitgangssignalen.
Coëfficiënt ingangssignaal [0:3] naar de vierde vermenigvuldiger. Het simulatiemodel voor dit IP ondersteunt een onbepaalde invoerwaarde (X) voor dit signaal. Wanneer u een X-waarde aan deze invoer invoert, wordt de X-waarde doorgegeven aan de uitgangssignalen.

Tabel 29. Vermenigvuldig optel Intel FPGA IP-uitvoersignalen

Signaal

Vereist

Beschrijving

resultaat []

Ja

Uitgangssignaal van de vermenigvuldiger. Uitgangssignaal [WIDTH_RESULT – 1 … 0] breed

Het simulatiemodel voor dit IP ondersteunt een onbepaalde uitvoerwaarde (X). Wanneer u de X-waarde als invoer opgeeft, wordt de X-waarde op dit signaal doorgegeven.

scannen []

Nee

Uitgang van scanketen A. Uitgangssignaal [WIDTH_A – 1..0] breed.

Selecteer meer dan 2 voor aantallen vermenigvuldigers en kies Scan keteningang voor Wat is de ingang A van de vermenigvuldiger aangesloten op parameter om dit signaal in te schakelen.

Intel FPGA Integer Rekenkundige IP Cores Gebruikershandleiding 46

Feedback verzenden

8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05

8.6. parameters

8.6.1. Algemeen tabblad

Tabel 30. Tabblad Algemeen

Parameter

IP-gegenereerde parameter

Waarde

Wat is het aantal vermenigvuldigers?

number_of_m 1 – 4 ultipliers

Hoe breed moeten de A width_a invoerbussen zijn?

1 – 256

Hoe breed moeten de B width_b invoerbussen zijn?

1 – 256

Hoe breed moet de 'resultaat'-uitgangsbus zijn?

breedte_resultaat

1 – 256

Maak voor elke klok een bijbehorende klokinschakeling

gui_associate Aan d_clock_enabl Uit e

8.6.2. Tabblad Extra modi

Tabel 31. Tabblad Extra modi

Parameter

IP-gegenereerde parameter

Waarde

Uitgangen configuratie

Registreer de uitvoer van de opteleenheid

gui_output_re Aan

gist

Uit

Wat is de bron voor klokinvoer?

gui_output_register_clock

Klok0 Klok1 Klok2

Wat is de bron voor asynchrone heldere invoer?

gui_output_register_aclr

GEEN ACLR0 ACLR1

Wat is de bron voor synchrone heldere invoer?

gui_output_register_sclr

GEEN SCLR0 SCLR1

Adder-operatie

Welke bewerking moet worden uitgevoerd op de uitgangen van het eerste paar vermenigvuldigers?

gui_vermenigvuldiger 1_richting

TOEVOEGEN, SUB, VARIABEL

Standaardwaarde 1
16

Beschrijving
Aantal vermenigvuldigers dat bij elkaar moet worden opgeteld. Waarden zijn 1 tot en met 4. Specificeer de breedte van de dataa[]-poort.

16

Specificeer de breedte van de datab[]-poort.

32

Specificeer de breedte van de result[]-poort.

Uit

Selecteer deze optie om klokinschakeling te creëren

voor elke klok.

Standaardwaarde

Beschrijving

Uit Klok0
GEEN GEEN

Selecteer deze optie om het uitvoerregister van de optelmodule in te schakelen.
Selecteer Clock0 , Clock1 of Clock2 om de klokbron voor uitgangsregisters in te schakelen en op te geven. U moet Uitvoer van opteleenheid registreren selecteren om deze parameter in te schakelen.
Specificeert de asynchrone wisbron voor het optelleruitvoerregister. U moet Uitvoer van de opteleenheid registreren selecteren om deze parameter in te schakelen.
Specificeert de synchrone wisbron voor het optelleruitvoerregister. U moet Uitvoer van de opteleenheid registreren selecteren om deze parameter in te schakelen.

TOEVOEGEN

Selecteer de optel- of aftrekkingsbewerking die moet worden uitgevoerd voor de uitvoer tussen de eerste en tweede vermenigvuldiger.
· Selecteer TOEVOEGEN om de optelling uit te voeren.
· Selecteer SUB om de aftrekking uit te voeren.
· Selecteer VARIABLE om de addnsub1-poort te gebruiken voor dynamisch optellen/aftrekken.
voortgezet…

Feedback verzenden

Intel FPGA Integer Rekenkundige IP Cores Gebruikershandleiding 47

8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05

Parameter

IP-gegenereerde parameter

Waarde

Registreer 'addnsub1'-invoer

gui_addnsub_ Aan multiplier_reg Uit ister1

Wat is de bron voor klokinvoer?

gui_addnsub_multiplier_reg ister1_clock

Klok0 Klok1 Klok2

Wat is de bron voor asynchrone heldere invoer?

gui_addnsub_multiplier_aclr 1

GEEN ACLR0 ACLR1

Wat is de bron voor synchrone heldere invoer?

gui_addnsub_multiplier_sclr 1

GEEN SCLR0 SCLR1

Welke bewerking moet worden uitgevoerd op de uitgangen van het tweede paar vermenigvuldigers?

gui_vermenigvuldiger 3_richting

TOEVOEGEN, SUB, VARIABEL

Registreer 'addnsub3'-invoer

gui_addnsub_ Aan multiplier_reg Uit ister3

Wat is de bron voor klokinvoer?

gui_addnsub_multiplier_reg ister3_clock

Klok0 Klok1 Klok2

Standaardwaarde
Uit Klok0 GEEN GEEN TOEVOEGEN
Uit Klok0

Beschrijving
Wanneer de VARIABELE waarde is geselecteerd: · Drive addnsub1-signaal te hoog voor
toevoeging operatie. · Drive addnsub1 signaal te laag voor
aftrekkingsoperatie. U moet meer dan twee vermenigvuldigers selecteren om deze parameter in te schakelen.
Selecteer deze optie om invoerregister voor addnsub1-poort in te schakelen. U moet VARIABEL selecteren voor Welke bewerking moet worden uitgevoerd op de uitgangen van het eerste paar vermenigvuldigers om deze parameter in te schakelen.
Selecteer Clock0 , Clock1 of Clock2 om het ingangskloksignaal voor addnsub1 register op te geven. U moet 'addnsub1'-invoer registreren selecteren om deze parameter in te schakelen.
Specificeert de asynchrone wisbron voor het addnsub1-register. U moet 'addnsub1'-invoer registreren selecteren om deze parameter in te schakelen.
Specificeert de synchrone wisbron voor het addnsub1-register. U moet 'addnsub1'-invoer registreren selecteren om deze parameter in te schakelen.
Selecteer de optel- of aftrekkingsbewerking die moet worden uitgevoerd voor de uitgangen tussen de derde en vierde vermenigvuldiger. · Selecteer TOEVOEGEN om de optelling uit te voeren
operatie. · Selecteer SUB om aftrekken uit te voeren
operatie. · Selecteer VARIABEL om addnsub1 te gebruiken
poort voor dynamische optel-/aftrekcontrole. Wanneer de VARIABELE waarde is geselecteerd: · Stuur het addnsub1-signaal naar hoog voor optelling. · Zet het addnsub1-signaal laag voor aftrekking. U moet de waarde 4 selecteren voor Wat is het aantal vermenigvuldigers? om deze parameter in te schakelen.
Selecteer deze optie om het ingangsregister voor het addnsub3-signaal in te schakelen. U moet VARIABEL selecteren voor Welke bewerking moet worden uitgevoerd op de uitgangen van het tweede paar vermenigvuldigers om deze parameter in te schakelen.
Selecteer Clock0 , Clock1 of Clock2 om het ingangskloksignaal voor het addnsub3-register op te geven. U moet Register 'addnsub3′-invoer selecteren om deze parameter in te schakelen.
voortgezet…

Intel FPGA Integer Rekenkundige IP Cores Gebruikershandleiding 48

Feedback verzenden

8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05

Parameter
Wat is de bron voor asynchrone heldere invoer?

IP-gegenereerde parameter

Waarde

gui_addnsub_multiplier_aclr 3

GEEN ACLR0 ACLR1

Wat is de bron voor synchrone heldere invoer?

gui_addnsub_multiplier_sclr 3

GEEN SCLR0 SCLR1

Polariteit Schakel 'use_subadd' in

gui_use_subn Aan

toevoegen

Uit

8.6.3. Tabblad Vermenigvuldigers

Tabel 32. Tabblad Vermenigvuldigers

Parameter

IP-gegenereerde parameter

Waarde

Wat is de

gui_represent

weergaveformaat_a

voor vermenigvuldigers A-ingangen?

ONDERTEKEND, NIET ONDERTEKEND, VARIABEL

Registreer 'signa'-invoer

gui_register_s Aan

ik ben

Uit

Wat is de bron voor klokinvoer?

gui_register_s igna_clock

Klok0 Klok1 Klok2

Wat is de bron voor asynchrone heldere invoer?

gui_register_s igna_aclr

GEEN ACLR0 ACLR1

Wat is de bron voor synchrone heldere invoer?

gui_register_s igna_sclr

GEEN SCLR0 SCLR1

Wat is de

gui_represent

weergaveformaat ation_b

voor Multipliers B-ingangen?

ONDERTEKEND, NIET ONDERTEKEND, VARIABEL

Registreer `signb'-invoer

gui_register_s Aan

ignb

Uit

Standaardwaarde GEEN
GEEN

Beschrijving
Specificeert de asynchrone wisbron voor het addnsub3-register. U moet 'addnsub3'-invoer registreren selecteren om deze parameter in te schakelen.
Specificeert de synchrone wisbron voor het addnsub3-register. U moet Register 'addnsub3′-invoer selecteren om deze parameter in te schakelen.

Uit

Selecteer deze optie om de functie om te keren

van de addnsub-invoerpoort.

Zet addnsub naar hoog voor aftrekking.

Zet de addnsub op laag voor optelling.

Standaardwaarde

Beschrijving

UNSIGNED Specificeer het representatieformaat voor de vermenigvuldiger A-invoer.

Uit

Selecteer deze optie om signa in te schakelen

register.

U moet de VARIABELE waarde selecteren voor Wat is het representatieformaat voor de invoer van Multipliers A? parameter om deze optie in te schakelen.

Klok0

Selecteer Clock0, Clock1 of Clock2 om het ingangskloksignaal voor het signa-register in te schakelen en op te geven.
U moet 'signa'-invoer registreren selecteren om deze parameter in te schakelen.

GEEN

Specificeert de asynchrone wisbron voor het signa-register.
U moet 'signa'-invoer registreren selecteren om deze parameter in te schakelen.

GEEN

Specificeert de synchrone wisbron voor het signaregister.
U moet 'signa'-invoer registreren selecteren om deze parameter in te schakelen.

UNSIGNED Specificeer het weergaveformaat voor de vermenigvuldiger B-invoer.

Uit

Selecteer deze optie om signb in te schakelen

register.

voortgezet…

Feedback verzenden

Intel FPGA Integer Rekenkundige IP Cores Gebruikershandleiding 49

8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05

Parameter

IP-gegenereerde parameter

Waarde

Standaardwaarde

Wat is de bron voor klokinvoer?

gui_register_s ignb_clock

Klok0 Klok1 Klok2

Klok0

Wat is de bron voor asynchrone heldere invoer?

gui_register_s ignb_aclr

GEEN ACLR0 ACLR1

Wat is de bron voor synchrone heldere invoer?

gui_register_s ignb_sclr

GEEN SCLR0 SCLR1

Invoerconfiguratie
Registreer ingang A van de vermenigvuldiger
Wat is de bron voor klokinvoer?

gui_input_reg Aan

zuster_a

Uit

gui_input_reg ister_a_clock

Klok0 Klok1 Klok2

GEEN GEEN
Uit Klok0

Wat is de bron voor asynchrone heldere invoer?

gui_input_reg ister_a_aclr

GEEN ACLR0 ACLR1

Wat is de bron voor synchrone heldere invoer?

gui_input_reg ister_a_sclr

GEEN SCLR0 SCLR1

Registreer ingang B van de vermenigvuldiger
Wat is de bron voor klokinvoer?

gui_input_reg Aan

zuster_b

Uit

gui_input_reg ister_b_clock

Klok0 Klok1 Klok2

GEEN GEEN Uit Klok0

Wat is de bron voor asynchrone heldere invoer?

gui_input_reg ister_b_aclr

GEEN ACLR0 ACLR1

GEEN

Wat is de bron voor synchrone heldere invoer?

gui_input_reg ister_b_sclr

GEEN SCLR0 SCLR1

GEEN

Waarop is ingang A van de vermenigvuldiger aangesloten?

gui_multiplier Vermenigvuldigerinvoer Vermenigvuldiger

_a_invoer

Scan keteninvoer

Beschrijving
U moet de VARIABELE waarde selecteren voor Wat is het representatieformaat voor invoer van vermenigvuldigers B? parameter om deze optie in te schakelen.
Selecteer Clock0 , Clock1 of Clock2 om het ingangskloksignaal voor signb-register in te schakelen en op te geven. U moet 'signb'-invoer registreren selecteren om deze parameter in te schakelen.
Specificeert de asynchrone wisbron voor het signb-register. U moet 'signb'-invoer registreren selecteren om deze parameter in te schakelen.
Specificeert de synchrone wisbron voor het signb-register. U moet 'signb'-invoer registreren selecteren om deze parameter in te schakelen.
Selecteer deze optie om het invoerregister voor de data-invoerbus in te schakelen.
Selecteer Clock0, Clock1 of Clock2 om het registeringangskloksignaal voor de data-ingangsbus in te schakelen en te specificeren. Om deze parameter in te schakelen, moet u Registeringang A van de vermenigvuldiger selecteren.
Specificeert de register-asynchrone wisbron voor de data-invoerbus. Om deze parameter in te schakelen, moet u Registeringang A van de vermenigvuldiger selecteren.
Specificeert de registersynchrone wisbron voor de data-invoerbus. Om deze parameter in te schakelen, moet u Registeringang A van de vermenigvuldiger selecteren.
Selecteer deze optie om het invoerregister voor de datab-invoerbus in te schakelen.
Selecteer Clock0, Clock1 of Clock2 om het registeringangskloksignaal voor de datab-ingangsbus in te schakelen en te specificeren. Om deze parameter in te schakelen, moet u Registeringang B van de vermenigvuldiger selecteren.
Specificeert de register-asynchrone wisbron voor de datab-invoerbus. Om deze parameter in te schakelen, moet u Registeringang B van de vermenigvuldiger selecteren.
Specificeert de registersynchrone wisbron voor de datab-invoerbus. Om deze parameter in te schakelen, moet u Registeringang B van de vermenigvuldiger selecteren.
Selecteer de ingangsbron voor ingang A van de vermenigvuldiger.
voortgezet…

Intel FPGA Integer Rekenkundige IP Cores Gebruikershandleiding 50

Feedback verzenden

8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05

Parameter

IP-gegenereerde parameter

Waarde

Scan een registerconfiguratie

Registreer de uitvoer van de scanketen

gui_scanouta Aan

_register

Uit

Wat is de bron voor klokinvoer?

gui_scanouta_register_cloc k

Klok0 Klok1 Klok2

Wat is de bron voor asynchrone heldere invoer?

gui_scanouta_register_aclr

GEEN ACLR0 ACLR1

Wat is de bron voor synchrone heldere invoer?

gui_scanouta_register_sclr

GEEN SCLR0 SCLR1

8.6.4. Tabblad Preadder

Tabel 33. Tabblad Preadder

Parameter

IP-gegenereerde parameter

Waarde

Selecteer preadder-modus

preadder_mo de

EENVOUDIG, COEF, INPUT, VIERKANT, CONSTANT

Standaardwaarde

Beschrijving
Selecteer Vermenigvuldigerinvoer om de data-invoerbus als bron voor de vermenigvuldiger te gebruiken. Selecteer Scanketeninvoer om de scaninvoerbus als bron voor de vermenigvuldiger te gebruiken en de scanuitvoerbus in te schakelen. Deze parameter is beschikbaar als u 2, 3 of 4 selecteert voor Wat is het aantal vermenigvuldigers? parameter.

Uit Klok0 GEEN GEEN

Selecteer deze optie om het uitgangsregister voor de scanouta-uitgangsbus in te schakelen.
U moet Scan keteningang selecteren voor Waar is ingang A van de vermenigvuldiger op aangesloten? parameter om deze optie in te schakelen.
Selecteer Clock0, Clock1 of Clock2 om het registeringangskloksignaal voor de scanouta-uitgangsbus in te schakelen en te specificeren.
U moet Registeruitvoer van de scanketenparameter inschakelen om deze optie in te schakelen.
Specificeert de register asynchrone wisbron voor de scanouta-uitvoerbus.
U moet Registeruitvoer van de scanketenparameter inschakelen om deze optie in te schakelen.
Specificeert de registersynchrone wisbron voor de scanouta-uitgangsbus.
U moet Uitvoer van de scanketenparameter registreren selecteren om deze optie in te schakelen.

Standaardwaarde
EENVOUDIG

Beschrijving
Specificeert de werkingsmodus voor de preaddermodule. EENVOUDIG: Deze modus omzeilt de preadder. Dit is de standaardmodus. COEF: Deze modus gebruikt de uitvoer van de preadder- en coefsel-invoerbus als invoer voor de vermenigvuldiger. INPUT: Deze modus gebruikt de uitvoer van de preadder- en datac-invoerbus als invoer voor de vermenigvuldiger. SQUARE: Deze modus gebruikt de uitvoer van de preadder als invoer voor de vermenigvuldiger.
voortgezet…

Feedback verzenden

Intel FPGA Integer Rekenkundige IP Cores Gebruikershandleiding 51

8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05

Parameter

IP-gegenereerde parameter

Waarde

Selecteer de richting van de preadder

gui_preadder TOEVOEGEN,

_richting

SUB

Hoe breed moeten de C width_c invoerbussen zijn?

1 – 256

Gegevens C Ingangsregisterconfiguratie

Registreer datac-invoer

gui_datac_inp Aan

ut_register

Uit

Wat is de bron voor klokinvoer?

gui_datac_inp ut_register_c lock

Klok0 Klok1 Klok2

Wat is de bron voor asynchrone heldere invoer?

gui_datac_inp ut_register_a clr

GEEN ACLR0 ACLR1

Wat is de bron voor synchrone heldere invoer?

gui_datac_inp ut_register_sc lr

GEEN SCLR0 SCLR1

Coëfficiënten
Hoe breed moet de coefbreedte zijn?

breedte_coef

1 – 27

Coef Register Configuratie

Registreer de coefselinvoer

gui_coef_regi Aan

ster

Uit

Wat is de bron voor klokinvoer?

gui_coef_regi ster_clock

Klok0 Klok1 Klok2

Standaardwaarde
TOEVOEGEN
16

Beschrijving
CONSTANT: Deze modus gebruikt data-invoerbus met omzeilde preadder en coefsel-invoerbus als invoer voor de vermenigvuldiger.
Specificeert de werking van de preadder. Om deze parameter in te schakelen, selecteert u het volgende voor Select preadder mode: · COEF · INPUT · SQUARE of · CONSTANT
Specificeert het aantal bits voor de C-ingangsbus. U moet INPUT selecteren voor Select preadder mode om deze parameter in te schakelen.

Op Klok0 GEEN GEEN

Selecteer deze optie om het invoerregister voor de datac-invoerbus in te schakelen. U moet INPUT instellen op Select preadder mode parameter om deze optie in te schakelen.
Selecteer Clock0, Clock1 of Clock2 om het ingangskloksignaal voor het datac-ingangsregister op te geven. U moet Datac-invoer registreren selecteren om deze parameter in te schakelen.
Specificeert de asynchrone wisbron voor het datac-invoerregister. U moet Datac-invoer registreren selecteren om deze parameter in te schakelen.
Specificeert de synchrone wisbron voor het datac-invoerregister. U moet Datac-invoer registreren selecteren om deze parameter in te schakelen.

18

Specificeert het aantal bits voor

coefsel-ingangsbus.

U moet COEF of CONSTANT selecteren voor de preaddermodus om deze parameter in te schakelen.

Op Klok0

Selecteer deze optie om het ingangsregister voor de Coefsel-ingangsbus in te schakelen. U moet COEF of CONSTANT selecteren voor de preaddermodus om deze parameter in te schakelen.
Selecteer Clock0, Clock1 of Clock2 om het ingangskloksignaal voor het Coefsel-ingangsregister op te geven. U moet Registreer de coefsel-invoer selecteren om deze parameter in te schakelen.
voortgezet…

Intel FPGA Integer Rekenkundige IP Cores Gebruikershandleiding 52

Feedback verzenden

8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05

Parameter
Wat is de bron voor asynchrone heldere invoer?

IP-gegenereerde parameter

Waarde

gui_coef_regi ster_aclr

GEEN ACLR0 ACLR1

Wat is de bron voor synchrone heldere invoer

gui_coef_regi ster_sclr

GEEN SCLR0 SCLR1

Coëfficiënt_0-configuratie

coef0_0 tot coef0_7

0x00000 0xFFFFFFFF

Coëfficiënt_1-configuratie

coef1_0 tot coef1_7

0x00000 0xFFFFFFFF

Coëfficiënt_2-configuratie

coef2_0 tot coef2_7

0x00000 0xFFFFFFFF

Coëfficiënt_3-configuratie

coef3_0 tot coef3_7

0x00000 0xFFFFFFFF

8.6.5. Tabblad Accumulator

Tabel 34. Tabblad Accumulator

Parameter

IP-gegenereerde parameter

Waarde

Accu inschakelen?

accumulator

JA NEE

Wat is het type accumulatorbewerking?

accum_directi TOEVOEGEN,

on

SUB

Standaardwaarde GEEN
GEEN
0x0000000 0
0x0000000 0
0x0000000 0
0x0000000 0

Beschrijving
Specificeert de asynchrone wisbron voor het coefsel-invoerregister. U moet Registreer de coefsel-invoer selecteren om deze parameter in te schakelen.
Specificeert de synchrone wisbron voor het coefsel-invoerregister. U moet Registreer de coefsel-invoer selecteren om deze parameter in te schakelen.
Specificeert de coëfficiëntwaarden voor deze eerste vermenigvuldiger. Het aantal bits moet hetzelfde zijn als gespecificeerd in Hoe breed moet de coefbreedte zijn? parameter. U moet COEF of CONSTANT selecteren voor de preaddermodus om deze parameter in te schakelen.
Specificeert de coëfficiëntwaarden voor deze tweede vermenigvuldiger. Het aantal bits moet hetzelfde zijn als gespecificeerd in Hoe breed moet de coefbreedte zijn? parameter. U moet COEF of CONSTANT selecteren voor de preaddermodus om deze parameter in te schakelen.
Specificeert de coëfficiëntwaarden voor deze derde vermenigvuldiger. Het aantal bits moet hetzelfde zijn als gespecificeerd in Hoe breed moet de coefbreedte zijn? parameter. U moet COEF of CONSTANT selecteren voor de preaddermodus om deze parameter in te schakelen.
Specificeert de coëfficiëntwaarden voor deze vierde vermenigvuldiger. Het aantal bits moet hetzelfde zijn als gespecificeerd in Hoe breed moet de coefbreedte zijn? parameter. U moet COEF of CONSTANT selecteren voor de preaddermodus om deze parameter in te schakelen.

Standaardwaarde NEE
TOEVOEGEN

Beschrijving
Selecteer JA om de accumulator in te schakelen. U moet Uitvoer van opteleenheid registreren selecteren wanneer u de accumulatorfunctie gebruikt.
Specificeert de werking van de accumulator: · ADD voor optellen · SUB voor aftrekken. U moet JA selecteren bij Accumulator inschakelen? parameter om deze optie in te schakelen.
voortgezet…

Feedback verzenden

Intel FPGA Integer Rekenkundige IP Cores Gebruikershandleiding 53

8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05

Parameter
Voorbelastingsconstante Schakel de voorbelastingsconstante in

IP-gegenereerde parameter

Waarde

gui_ena_prelo Aan

advertentie_const

Uit

Waar is de ingang van de accumulatiepoort mee verbonden?

gui_accumula ACCUM_SLOAD, te_port_select SLOAD_ACCUM

Selecteer waarde voor preload loadconst_val 0 – 64

constante

ue

Wat is de bron voor klokinvoer?

gui_accum_sl oad_register_ klok

Klok0 Klok1 Klok2

Wat is de bron voor asynchrone heldere invoer?

gui_accum_sl oad_register_aclr

GEEN ACLR0 ACLR1

Wat is de bron voor synchrone heldere invoer?

gui_accum_sl oad_register_ sclr

GEEN SCLR0 SCLR1

Dubbele accumulator inschakelen

gui_double_a Aan

cum

Uit

Standaardwaarde

Beschrijving

Uit

Schakel de accum_sload of in

sload_accum-signalen en registerinvoer

om de invoer voor de dynamisch te selecteren

accumulator.

Wanneer accum_sload laag is of sload_accum, wordt de vermenigvuldigeruitvoer naar de accumulator gevoerd.

Wanneer accum_sload hoog is of sload_accum, wordt een door de gebruiker gespecificeerde voorbelastingsconstante in de accumulator ingevoerd.

U moet JA selecteren bij Accumulator inschakelen? parameter om deze optie in te schakelen.

ACCUM_SL OAD

Specificeert het gedrag van het accum_sload/sload_accum-signaal.
ACCUM_SLOAD: Zet accum_sload laag om de vermenigvuldigeruitvoer naar de accumulator te laden.
SLOAD_ACCUM: Rijd sload_accum hoog om de vermenigvuldigeruitvoer naar de accumulator te laden.
U moet de optie Voorbelastingsconstante inschakelen selecteren om deze parameter in te schakelen.

64

Geef de vooraf ingestelde constante waarde op.

Deze waarde kan 2N zijn, waarbij N de vooraf ingestelde constante waarde is.

Wanneer N=64, vertegenwoordigt dit een constant nulpunt.

U moet de optie Voorbelastingsconstante inschakelen selecteren om deze parameter in te schakelen.

Klok0

Selecteer Clock0 , Clock1 of Clock2 om het ingangskloksignaal voor accum_sload/sload_accum register op te geven.
U moet de optie Voorbelastingsconstante inschakelen selecteren om deze parameter in te schakelen.

GEEN

Specificeert de asynchrone wisbron voor het register accum_sload/sload_accum.
U moet de optie Voorbelastingsconstante inschakelen selecteren om deze parameter in te schakelen.

GEEN

Specificeert de synchrone wisbron voor het register accum_sload/sload_accum.
U moet de optie Voorbelastingsconstante inschakelen selecteren om deze parameter in te schakelen.

Uit

Schakelt het dubbele accumulatorregister in.

Intel FPGA Integer Rekenkundige IP Cores Gebruikershandleiding 54

Feedback verzenden

8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05

8.6.6. Tabblad Systolisch/Chainout

Tabel 35. Tabblad Systolische/Chainout-opteller

Parameter Chainout-opteller inschakelen

IP-gegenereerde parameter

Waarde

chainout_add JA,

er

NEE

Wat is het type chainout-optelbewerking?

chainout_add TOEVOEGEN,

er_richting

SUB

'Negate'-invoer inschakelen voor chainout-adder?

Poort_negeren

PORT_USED, PORT_UNUSED

Negatieve invoer registreren? negate_registr er

NIET-GEREGISTREERD, KLOK0, KLOK1, KLOK2, KLOK3

Wat is de bron voor asynchrone heldere invoer?

negate_aclr

GEEN ACLR0 ACLR1

Wat is de bron voor synchrone heldere invoer?

negate_sclr

GEEN SCLR0 SCLR1

Systolische vertraging
Schakel systolische vertragingsregisters in

gui_systolisch_d Aan

Elay

Uit

Wat is de bron voor klokinvoer?

gui_systolische_d KLOK0,

elay_klok

KLOK1,

Standaardwaarde
NEE

Beschrijving
Selecteer JA om de chainout-optelmodule in te schakelen.

TOEVOEGEN

Specificeert de chainout-optelbewerking.
Voor aftrekkingen moet SIGNED worden geselecteerd voor Wat is het weergaveformaat voor invoer van vermenigvuldigers A? en Wat is het representatieformaat voor invoer van Multipliers B? op het tabblad Vermenigvuldigers.

PORT_UN GEBRUIKT

Selecteer PORT_USED om het negeren van het ingangssignaal in te schakelen.
Deze parameter is ongeldig als de chainout-opteller is uitgeschakeld.

AFMELDEN ERED

Om het ingangsregister in te schakelen voor het negeren van het ingangssignaal en specificeert het ingangskloksignaal voor het negeren van het register.
Selecteer UNREGISTERED als het negatieve invoerregister niet nodig is
Deze parameter is ongeldig als u selecteert:
· NEE voor Chainout-opteller inschakelen of
· PORT_UNUSED voor het inschakelen van 'negate'-invoer voor chainout-adder? parameter of

GEEN

Specificeert de asynchrone wisbron voor het negatieregister.
Deze parameter is ongeldig als u selecteert:
· NEE voor Chainout-opteller inschakelen of
· PORT_UNUSED voor het inschakelen van 'negate'-invoer voor chainout-adder? parameter of

GEEN

Specificeert de synchrone wisbron voor het negatieregister.
Deze parameter is ongeldig als u selecteert:
· NEE voor Chainout-opteller inschakelen of
· PORT_UNUSED voor het inschakelen van 'negate'-invoer voor chainout-adder? parameter of

Uit KLOK0

Selecteer deze optie om de systolische modus in te schakelen. Deze parameter is beschikbaar als u 2 of 4 selecteert voor Wat is het aantal vermenigvuldigers? parameter. U moet de registeruitgang van de opteleenheid inschakelen om de systolische vertragingsregisters te kunnen gebruiken.
Specificeert het ingangskloksignaal voor het systolische vertragingsregister.
voortgezet…

Feedback verzenden

Intel FPGA Integer Rekenkundige IP Cores Gebruikershandleiding 55

8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05

Parameter

IP-gegenereerde parameter

Waarde

KLOK2,

Wat is de bron voor asynchrone heldere invoer?

gui_systolic_d elay_aclr

GEEN ACLR0 ACLR1

Wat is de bron voor synchrone heldere invoer?

gui_systolic_d elay_sclr

GEEN SCLR0 SCLR1

Standaardwaarde
GEEN
GEEN

Beschrijving
U moet systolische vertragingsregisters inschakelen selecteren om deze optie in te schakelen.
Specificeert de asynchrone wisbron voor het systolische vertragingsregister. U moet systolische vertragingsregisters inschakelen selecteren om deze optie in te schakelen.
Specificeert de synchrone wisbron voor het systolische vertragingsregister. U moet systolische vertragingsregisters inschakelen selecteren om deze optie in te schakelen.

8.6.7. Tabblad Pipelining

Tabel 36. Tabblad Pipelining

Configuratie van parameterpijplijnen

IP-gegenereerde parameter

Waarde

Wilt u pijplijnregister toevoegen aan de invoer?

gui_pipelining Nee, ja

Standaardwaarde
Nee

Geef aan wat de

latentie

aantal latentieklok

cycli

Elke waarde groter dan 0

Wat is de bron voor klokinvoer?

gui_input_late ncy_clock

KLOK0, KLOK1, KLOK2

Wat is de bron voor asynchrone heldere invoer?

gui_input_late ncy_aclr

GEEN ACLR0 ACLR1

Wat is de bron voor synchrone heldere invoer?

gui_input_late ncy_sclr

GEEN SCLR0 SCLR1

KLOK0 GEEN GEEN

Beschrijving
Selecteer Ja om een ​​extra niveau van pijplijnregister voor de ingangssignalen in te schakelen. U moet een waarde groter dan 0 opgeven voor Geef het aantal latentieklokcycli op.
Specificeert de gewenste latentie in klokcycli. Eén niveau van pijplijnregister = 1 latentie in klokcyclus. U moet JA selecteren bij Wilt u pijplijnregister toevoegen aan de invoer? om deze optie in te schakelen.
Selecteer Clock0 , Clock1 of Clock2 om het ingangskloksignaal van het pijplijnregister in te schakelen en op te geven. U moet JA selecteren bij Wilt u pijplijnregister toevoegen aan de invoer? om deze optie in te schakelen.
Specificeert de register-asynchrone wisbron voor het extra pijplijnregister. U moet JA selecteren bij Wilt u pijplijnregister toevoegen aan de invoer? om deze optie in te schakelen.
Specificeert de registersynchrone wisbron voor het extra pijplijnregister. U moet JA selecteren bij Wilt u pijplijnregister toevoegen aan de invoer? om deze optie in te schakelen.

Intel FPGA Integer Rekenkundige IP Cores Gebruikershandleiding 56

Feedback verzenden

683490 | 2020.10.05 Feedback verzenden

9. ALTMEMMULT (op geheugen gebaseerde constante coëfficiëntvermenigvuldiger) IP Core

Aandacht:

Intel heeft de ondersteuning van dit IP-adres verwijderd in Intel Quartus Prime Pro Edition versie 20.3. Als de IP-kern in uw ontwerp zich richt op apparaten in Intel Quartus Prime Pro Edition, kunt u het IP-adres vervangen door LPM_MULT Intel FPGA IP of het IP-adres opnieuw genereren en uw ontwerp compileren met behulp van Intel Quartus Prime Standard Edition-software.

De ALTMEMMULT IP-kern wordt gebruikt om op geheugen gebaseerde vermenigvuldigers te creëren met behulp van de on-chip geheugenblokken die te vinden zijn in Intel FPGA's (met M512-, M4K-, M9K- en MLAB-geheugenblokken). Deze IP-kern is handig als u niet over voldoende middelen beschikt om de vermenigvuldigers in logische elementen (LE's) of speciale vermenigvuldigerbronnen te implementeren.
De ALTMEMMULT IP-kern is een synchrone functie waarvoor een klok vereist is. De ALTMEMMULT IP-kern implementeert een vermenigvuldiger met de kleinst mogelijke doorvoer en latentie voor een gegeven set parameters en specificaties.
De volgende afbeelding toont de poorten voor de ALTMEMMULT IP-kern.

Figuur 21. ALTMEMMULT-poorten

ALTMEMMULT

data_in[] sload_data coeff_in[]

resultaat[] resultaat_valid load_done

sload_coeff

scl klok
inst

Gerelateerde informatie Functies op pagina 71

9.1. Kenmerken
De ALTMEMMULT IP-kern biedt de volgende kenmerken: · Creëert alleen op geheugen gebaseerde vermenigvuldigers met behulp van on-chip geheugenblokken gevonden in
Intel FPGA's · Ondersteunt databreedte van 1 bits · Ondersteunt ondertekende en niet-ondertekende datarepresentatieformaten · Ondersteunt pipelining met vaste uitvoerlatentie

Intel Corporation. Alle rechten voorbehouden. Intel, het Intel-logo en andere Intel-merken zijn handelsmerken van Intel Corporation of haar dochterondernemingen. Intel garandeert de prestaties van zijn FPGA- en halfgeleiderproducten volgens de huidige specificaties in overeenstemming met de standaardgarantie van Intel, maar behoudt zich het recht voor om op elk moment zonder voorafgaande kennisgeving wijzigingen aan te brengen in producten en diensten. Intel aanvaardt geen verantwoordelijkheid of aansprakelijkheid die voortvloeit uit de toepassing of het gebruik van informatie, producten of diensten die hierin worden beschreven, behalve zoals uitdrukkelijk schriftelijk overeengekomen door Intel. Intel-klanten wordt geadviseerd om de nieuwste versie van apparaatspecificaties te verkrijgen voordat ze vertrouwen op gepubliceerde informatie en voordat ze producten of diensten bestellen. *Andere namen en merken kunnen worden geclaimd als eigendom van anderen.

ISO 9001: 2015 geregistreerd

9. ALTMEMMULT (op geheugen gebaseerde constante coëfficiëntvermenigvuldiger) IP Core 683490 | 2020.10.05
· Slaat meerdere constanten op in het Random Access Memory (RAM)
· Biedt een optie om het RAM-bloktype te selecteren
· Ondersteunt optionele synchrone clear- en load-control-invoerpoorten
9.2. Verilog HDL-prototype
Het volgende Verilog HDL-prototype bevindt zich in het Verilog Design File (.v) altera_mf.v in de eda-synthesemap.
module altmemmult #( parameter coeff_representation = “SIGNED”, parameter coëfficiënt0 = “UNUSED”, parameter data_representation = “SIGNED”, parameter beoogde_device_family = “unused”, parameter max_clock_cycles_per_result = 1, parameter number_of_coefficients = 1, parameter ram_block_type = “AUTO”, parameter total_latency = 1, parameter breedte_c = 1, parameter breedte_d = 1, parameter breedte_r = 1, parameter breedte_s = 1, parameter lpm_type = "altmemmult", parameter lpm_hint = "ongebruikt") (ingangsdraadklok, ingangsdraad [width_c-1: 0]coeff_in, invoerdraad [width_d-1:0] data_in, uitvoerdraad load_done, uitvoerdraad [width_r-1:0] resultaat, uitvoerdraad resultaat_valid, invoerdraad sclr, invoerdraad [width_s-1:0] sel, invoer wire sload_coeff, input wire sload_data)/* synthese syn_black_box=1 */; eindmodule
9.3. VHDL-componentverklaring
De VHDL-componentdeclaratie bevindt zich in het VHDL-ontwerp File (.vhd) altera_mf_components.vhd in de bibliothekenvhdlaltera_mf map.
component altmemmult generiek ( coeff_representation:string := “ONDERTEKEND”; coëfficiënt0:string := “UNUSED”; data_representation:string := “SIGNED”; beoogde_device_family:string := “ongebruikt”; max_clock_cycles_per_result:natural := 1; number_of_coefficients:natural := 1; ram_block_type:string:= “AUTO”; totale_latency:natuurlijk; breedte_d:natuurlijk; breedte_s:natuurlijk:= 1; “altmemmult”); port( clock:in std_logic; coeff_in:in std_logic_vector(width_c-1 downto 0) := (anderen => '0'); data_in:in std_logic_vector(width_d-1 downto 0);

Intel FPGA Integer Rekenkundige IP Cores Gebruikershandleiding 58

Feedback verzenden

9. ALTMEMMULT (op geheugen gebaseerde constante coëfficiëntvermenigvuldiger) IP Core 683490 | 2020.10.05

load_done:out std_logic; resultaat:out std_logic_vector(width_r-1 tot 0); resultaat_geldig:uit std_logic; sclr:in std_logic := '0'; sel:in std_logic_vector(width_s-1 tot 0) := (anderen => '0'); sload_coeff:in std_logic := '0'; sload_data:in std_logic := '0'); eindcomponent;

9.4. Havens

De volgende tabellen geven een overzicht van de invoer- en uitvoerpoorten voor de ALTMEMMULT IP-kern.

Tabel 37. ALTMEMMULT-invoerpoorten

Havennaam

Vereist

Beschrijving

klok

Ja

Klokingang naar de vermenigvuldiger.

coeff_in[]

Nee

Coëfficiëntinvoerpoort voor de vermenigvuldiger. De grootte van de invoerpoort is afhankelijk van de parameterwaarde WIDTH_C.

data_in[]

Ja

Gegevensinvoerpoort naar de vermenigvuldiger. De grootte van de invoerpoort is afhankelijk van de parameterwaarde WIDTH_D.

sclr

Nee

Synchrone duidelijke invoer. Indien niet gebruikt, is de standaardwaarde actief hoog.

sel[]

Nee

Vaste coëfficiëntselectie. De grootte van de invoerpoort is afhankelijk van de WIDTH_S

parameterwaarde.

sload_coeff

Nee

Synchrone invoerpoort voor belastingscoëfficiënt. Vervangt de huidige geselecteerde coëfficiëntwaarde door de waarde die is opgegeven in de coeff_in-invoer.

sload_data

Nee

Synchrone invoerpoort voor laadgegevens. Signaal dat een nieuwe vermenigvuldigingsbewerking specificeert en een bestaande vermenigvuldigingsbewerking annuleert. Als de parameter MAX_CLOCK_CYCLES_PER_RESULT de waarde 1 heeft, wordt de invoerpoort sload_data genegeerd.

Tabel 38. ALTMEMMULT-uitvoerpoorten

Havennaam

Vereist

Beschrijving

resultaat[]

Ja

Uitgangspoort van de vermenigvuldiger. De grootte van de invoerpoort is afhankelijk van de parameterwaarde WIDTH_R.

resultaat_geldig

Ja

Geeft aan wanneer de uitvoer het geldige resultaat is van een volledige vermenigvuldiging. Als de parameter MAX_CLOCK_CYCLES_PER_RESULT de waarde 1 heeft, wordt de result_valid-uitvoerpoort niet gebruikt.

laad_klaar

Nee

Geeft aan wanneer de nieuwe coëfficiënt geladen is. Het load_done-signaal geeft aan wanneer een nieuwe coëfficiënt is geladen. Tenzij het load_done-signaal hoog is, kan er geen andere coëfficiëntwaarde in het geheugen worden geladen.

9.5. parameters

De volgende tabel bevat de parameters voor de ALTMEMMULT IP-kern.

Tabel 39.
WIDTH_D WIDTH_C

ALTMEMMULT-parameters
Parameternaam

Type vereist

Beschrijving

Geheel getal Ja

Specificeert de breedte van de data_in[]-poort.

Geheel getal Ja

Specificeert de breedte van de coeff_in[]-poort. voortgezet…

Feedback verzenden

Intel FPGA Integer Rekenkundige IP Cores Gebruikershandleiding 59

9. ALTMEMMULT (op geheugen gebaseerde constante coëfficiëntvermenigvuldiger) IP Core 683490 | 2020.10.05

Parameternaam WIDTH_R WIDTH

Documenten / Bronnen

Intel FPGA geheel getal rekenkundige IP-kernen [pdf] Gebruikershandleiding
FPGA rekenkundige IP-kernen met geheel getal, rekenkundige IP-kernen met geheel getal, rekenkundige IP-kernen, IP-kernen

Referenties

Laat een reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd *