FPGA heltalls aritmetiske IP-kjerner

Intel FPGA Integer Arithmetic IP Cores brukerveiledning
Oppdatert for Intel® Quartus® Prime Design Suite: 20.3

Online versjon Send tilbakemelding

UG-01063

ID: 683490 Versjon: 2020.10.05

Innhold
Innhold
1. Intel FPGA Integer Aritmetic IP-kjerner……………………………………………………………………….. 5
2. LPM_COUNTER (Teller) IP-kjerne……………………………………………………………………………….. 7 2.1. Funksjoner………………………………………………………………………………………………………………7 2.2. Verilog HDL-prototype……………………………………………………………………………………….. 8 2.3. VHDL-komponenterklæring……………………………………………………………………………….8 2.4. VHDL LIBRARY_USE Erklæring………………………………………………………………………… 9 2.5. Havner………………………………………………………………………………………………………………………..9 2.6. Parametre……………………………………………………………………………………………………………… 10
3. LPM_DIVIDE (Divider) Intel FPGA IP Core……………………………………………………………………….. 12 3.1. Egenskaper………………………………………………………………………………………………. 12 3.2. Verilog HDL-prototype……………………………………………………………………………………… 12 3.3. VHDL-komponenterklæring………………………………………………………………………….. 13 3.4. VHDL LIBRARY_USE-erklæring………………………………………………………………………………. 13 3.5. Havner……………………………………………………………………………………………………………… 13 3.6. Parametre……………………………………………………………………………………………………………… 14
4. LPM_MULT (multiplikator) IP-kjerne………………………………………………………………………………………. 16 4.1. Egenskaper………………………………………………………………………………………………. 16 4.2. Verilog HDL-prototype……………………………………………………………………………………… 17 4.3. VHDL-komponenterklæring………………………………………………………………………….. 17 4.4. VHDL LIBRARY_USE-erklæring………………………………………………………………………………. 17 4.5. Signaler ………………………………………………………………………………………………………… 18 4.6. Parametre for Stratix V-, Arria V-, Cyclone V- og Intel Cyclone 10 LP-enheter………………… 18 4.6.1. Generelt-fanen…………………………………………………………………………………………18 4.6.2. Generelt 2 Fane……………………………………………………………………………………… 19 4.6.3. Rørledningsfane……………………………………………………………………………………… 19 4.7. Parametere for Intel Stratix 10, Intel Arria 10 og Intel Cyclone 10 GX-enheter……….. 20 4.7.1. Generelt-fanen…………………………………………………………………………………………20 4.7.2. Generelt 2 Fane……………………………………………………………………………………… 20 4.7.3. Rørføring………………………………………………………………………………………………………21
5. LPM_ADD_SUB (Adder/Subtraktør)………………………………………………………………………………… 22 5.1. Egenskaper………………………………………………………………………………………………. 22 5.2. Verilog HDL-prototype……………………………………………………………………………………… 23 5.3. VHDL-komponenterklæring………………………………………………………………………….. 23 5.4. VHDL LIBRARY_USE-erklæring………………………………………………………………………………. 23 5.5. Havner……………………………………………………………………………………………………………… 23 5.6. Parametere……………………………………………………………………………………………………………… 24
6. LPM_COMPARE (Komparator) ………………………………………………………………………………………… 26 6.1. Egenskaper………………………………………………………………………………………………. 26 6.2. Verilog HDL-prototype……………………………………………………………………………………… 27 6.3. VHDL-komponenterklæring………………………………………………………………………….. 27 6.4. VHDL LIBRARY_USE-erklæring………………………………………………………………………………. 27 6.5. Havner……………………………………………………………………………………………………………… 27 6.6. Parametre……………………………………………………………………………………………………………… 28

Intel FPGA Integer Arithmetic IP Cores brukerveiledning 2

Send tilbakemelding

Innhold

7. ALTECC (Feilrettingskode: Encoder/Decoder) IP Core………………………………………… 30
7.1. ALTECC-koderfunksjoner…………………………………………………………………………………..31 7.2. Verilog HDL-prototype (ALTECC_ENCODER)…………………………………………………………. 32 7.3. Verilog HDL-prototype (ALTECC_DECODER)…………………………………………………………. 32 7.4. VHDL-komponenterklæring (ALTECC_ENCODER)…………………………………………………33 7.5. VHDL-komponenterklæring (ALTECC_DECODER)…………………………………………………33 7.6. VHDL LIBRARY_USE-erklæring………………………………………………………………………………. 33 7.7. Enkoderporter……………………………………………………………………………………………………… 33 7.8. Dekoderporter………………………………………………………………………………………………………34 7.9. Koderparametere……………………………………………………………………………………… 34 7.10. Dekoderparametre ……………………………………………………………………………………… 35
8. Intel FPGA Multiply Adder IP Core…………………………………………………………………………………. 36
8.1. Egenskaper………………………………………………………………………………………………. 37 8.1.1. Pre-adder……………………………………………………………………………………………….. 38 8.1.2. Systolisk forsinkelsesregister……………………………………………………………………….. 40 8.1.3. Forbelastningskonstant……………………………………………………………………………… 43 8.1.4. Dobbel akkumulator……………………………………………………………………………… 43
8.2. Verilog HDL-prototype……………………………………………………………………………………… 44 8.3. VHDL-komponenterklæring………………………………………………………………………….. 44 8.4. VHDL LIBRARY_USE-erklæring………………………………………………………………………………. 44 8.5. Signaler ………………………………………………………………………………………………………… 44 8.6. Parametere……………………………………………………………………………………………………………… 47
8.6.1. Generelt-fanen…………………………………………………………………………………………47 8.6.2. Kategorien Ekstra modus………………………………………………………………………………….. 47 8.6.3. Multiplikatorfane……………………………………………………………………………………….. 49 8.6.4. Preadder-fane………………………………………………………………………………………. 51 8.6.5. Akkumulatorfane………………………………………………………………………………….. 53 8.6.6. Systolisk/kjedeuttak…………………………………………………………………………………. 55 8.6.7. Rørledningsflik……………………………………………………………………………………… 56
9. ALTMEMMULT (minnebasert konstant koeffisientmultiplikator) IP-kjerne………………………… 57
9.1. Egenskaper………………………………………………………………………………………………. 57 9.2. Verilog HDL-prototype……………………………………………………………………………………… 58 9.3. VHDL-komponenterklæring………………………………………………………………………….. 58 9.4. Havner……………………………………………………………………………………………………………… 59 9.5. Parametre……………………………………………………………………………………………………………… 59
10. ALTMULT_ACCUM (Multiply-Accumulate) IP Core……………………………………………………… 61
10.1. Funksjoner……………………………………………………………………………………………………………….. 62 10.2. Verilog HDL-prototype………………………………………………………………………………………………..62 10.3. VHDL-komponenterklæring………………………………………………………………………… 63 10.4. VHDL LIBRARY_USE Erklæring………………………………………………………………………………63 10.5. Havner………………………………………………………………………………………………………………. 63 10.6. Parametre………………………………………………………………………………………………………. 64
11. ALTMULT_ADD (Multiply-Adder) IP-kjerne…………………………………………………………………..69
11.1. Funksjoner……………………………………………………………………………………………………………….. 71 11.2. Verilog HDL-prototype………………………………………………………………………………………………..72 11.3. VHDL-komponenterklæring………………………………………………………………………… 72 11.4. VHDL LIBRARY_USE-erklæring………………………………………………………………………………72

Send tilbakemelding

Intel FPGA Integer Arithmetic IP Cores brukerveiledning 3

Innhold
11.5. Havner………………………………………………………………………………………………………………. 72 11.6. Parametre………………………………………………………………………………………………………. 73
12. ALTMULT_COMPLEX (kompleks multiplikator) IP-kjerne……………………………………………………… 86 12.1. Kompleks multiplikasjon………………………………………………………………………………………………. 86 12.2. Kanonisk representasjon………………………………………………………………………………… 87 12.3. Konvensjonell representasjon …………………………………………………………………………………. 87 12.4. Funksjoner……………………………………………………………………………………………………………….. 88 12.5. Verilog HDL-prototype………………………………………………………………………………………..88 12.6. VHDL-komponenterklæring………………………………………………………………………… 89 12.7. VHDL LIBRARY_USE Erklæring………………………………………………………………………………89 12.8. Signaler………………………………………………………………………………………………………. 89 12.9. Parametre………………………………………………………………………………………………………. 90
13. ALTSQRT (heltalls kvadratrot) IP-kjerne…………………………………………………………………………92 13.1. Funksjoner……………………………………………………………………………………………………………….. 92 13.2. Verilog HDL-prototype………………………………………………………………………………………..92 13.3. VHDL-komponenterklæring………………………………………………………………………… 93 13.4. VHDL LIBRARY_USE Erklæring………………………………………………………………………………93 13.5. Havner………………………………………………………………………………………………………………. 93 13.6. Parametre………………………………………………………………………………………………………. 94
14. PARALLEL_ADD (Parallell Adder) IP-kjerne………………………………………………………………….. 95 14.1. Funksjon……………………………………………………………………………………………………….95 14.2. Verilog HDL-prototype…………………………………………………………………………………………..95 14.3. VHDL-komponenterklæring………………………………………………………………………… 96 14.4. VHDL LIBRARY_USE Erklæring………………………………………………………………………………96 14.5. Havner………………………………………………………………………………………………………………. 96 14.6. Parametre………………………………………………………………………………………………………. 97
15. Integer Aritmetic IP Cores User Guide Document Archives………………………………… 98
16. Dokumentrevisjonshistorikk for Intel FPGA Integer Arithmetic IP Cores Brukerveiledning…. 99

Intel FPGA Integer Arithmetic IP Cores brukerveiledning 4

Send tilbakemelding

683490 | 2020.10.05 Send tilbakemelding

1. Intel FPGA Integer Aritmetic IP-kjerner

Du kan bruke Intel® FPGA heltalls IP-kjerner til å utføre matematiske operasjoner i designet.

Disse funksjonene tilbyr mer effektiv logikksyntese og enhetsimplementering enn å kode dine egne funksjoner. Du kan tilpasse IP-kjernene for å imøtekomme dine designkrav.

Intel heltalls aritmetiske IP-kjerner er delt inn i følgende to kategorier: · Bibliotek med parameteriserte moduler (LPM) IP-kjerner · Intel-spesifikke (ALT) IP-kjerner

Tabellen nedenfor viser heltalls aritmetiske IP-kjerner.

Tabell 1.

Liste over IP-kjerner

IP-kjerner

LPM IP-kjerner

LPM_COUNTER

LPM_DIVIDE

LPM_MULT

LPM_ADD_SUB
LPM_COMPARE
Intel-spesifikke (ALT) IP-kjerner ALTECC

Funksjon overview Counter Divider Multiplikator
Adder- eller subtraktorkomparator
ECC-koder/dekoder

Støttet enhet
Arria® II GX, Arria II GZ, Arria V, Intel Arria 10, Cyclone® IV E, Cyclone IV GX, Cyclone V, Intel Cyclone 10 LP,
Intel Cyclone 10 GX, MAX® II, MAX V, MAX 10, Stratix® IV, Stratix V
Arria II GX, Arria II GZ, Arria V, Intel Arria 10, Cyclone IV E, Cyclone IV GX,
Cyclone V, Intel Cyclone 10 LP, Intel Cyclone 10 GX, MAX II, MAX V, MAX 10, Stratix IV, Stratix V, Intel Stratix 10
Arria II GX, Arria II GZ, Arria V, Intel Arria 10, Cyclone IV E, Cyclone IV GX,
Cyclone V, Intel Cyclone 10 LP, Intel Cyclone 10 GX, MAX II, MAX V, MAX 10, Stratix IV, Stratix V, Intel Stratix 10
Arria II GX, Arria II GZ, Arria V, Cyclone IV E, Cyclone IV GX, Cyclone V, Intel Cyclone 10 LP, MAX 10, MAX
II, MAX V, Stratix IV, Stratix V
Arria II GX, Arria II GZ, Arria V, Cyclone IV E, Cyclone IV GX, Cyclone V, Intel Cyclone 10 LP, MAX 10, MAX
II, MAX V, Stratix IV, Stratix V
Arria II GX, Arria II GZ, Arria V, Intel Arria 10, Cyclone IV E, Cyclone IV GX,
Cyclone V, Intel Cyclone 10 LP, Intel Cyclone 10 GX, MAX II, MAX V, MAX
10, Stratix IV, Stratix V fortsatte...

Intel Corporation. Alle rettigheter forbeholdt. Intel, Intel-logoen og andre Intel-merker er varemerker for Intel Corporation eller dets datterselskaper. Intel garanterer ytelsen til sine FPGA- og halvlederprodukter i henhold til gjeldende spesifikasjoner i henhold til Intels standardgaranti, men forbeholder seg retten til å gjøre endringer i produkter og tjenester når som helst uten varsel. Intel påtar seg intet ansvar eller ansvar som oppstår som følge av applikasjonen eller bruken av informasjon, produkter eller tjenester som er beskrevet her, med mindre det er uttrykkelig skriftlig avtalt med Intel. Intel-kunder anbefales å få tak i den nyeste versjonen av enhetsspesifikasjonene før de stoler på publisert informasjon og før de bestiller produkter eller tjenester. *Andre navn og merker kan gjøres krav på som andres eiendom.

ISO 9001: 2015 Registrert

1. Intel FPGA Integer Aritmetic IP Cores 683490 | 2020.10.05

IP Cores Intel FPGA Multiply Adder eller ALTERA_MULT_ADD ALTMEMMULT
ALTMULT_ACCUM ALTMULT_ADD ALTMULT_COMPLEX
ALTSQRT
PARALLEL_ADD

Funksjon overview Multiplikator-adder
Minnebasert konstant koeffisientmultiplikator
Multiplikator-akkumulator Multiplikator-adder
Kompleks multiplikator
Heltall kvadratrot
Parallell hugger

Støttet enhet
Arria V, Stratix V, Cyclone V, Intel Stratix 10, Intel Arria 10, Intel Cyclone
10 GX
Arria II GX, Arria II GZ, Arria V, Intel Arria 10 (Intel Quartus® Prime Standard Edition), Cyclone IV E, Cyclone IV GX, Cyclone V, Intel
Cyclone 10 LP, MAX II, MAX V, MAX 10, Stratix IV, Stratix V
Arria II GX, Arria II GZ, Cyclone IV E, Cyclone IV GX, Intel Cyclone 10 LP, MAX 10, MAX II, MAX V, Stratix IV
Arria II GX, Arria II GZ, Cyclone IV E, Cyclone IV GX, Intel Cyclone 10 LP, MAX 10, MAX II, MAX V, Stratix IV
Arria II GX, Arria II GZ, Intel Arria 10, Arria V, Arria V GZ, Cyclone IV E, Cyclone IV GX, Cyclone V, Intel
Cyclone 10 GX, Intel Cyclone 10 LP, MAX 10, Stratix V, Intel Stratix 10
Arria II GX, Arria II GZ, Arria V, Intel Arria 10, Cyclone IV E, Cyclone IV GX,
Cyclone V, Intel Cyclone 10 LP, Intel Cyclone 10 GX, MAX II, MAX V, MAX
10, Stratix IV, Stratix V
Arria II GX, Arria II GZ, Arria V, Intel Arria 10, Cyclone IV E, Cyclone IV GX,
Cyclone V, Intel Cyclone 10 LP, Intel Cyclone 10 GX, MAX II, MAX V, MAX
10, Stratix IV, Stratix V

Relatert informasjon
· Versjonsmerknader for Intel FPGAer og programmerbare enheter
· Introduksjon til Intel FPGA IP-kjerner Gir mer informasjon om Intel FPGA IP-kjerner.
· Floating-Point IP Cores User Guide Gir mer informasjon om Intel FPGA Floating-Point IP-kjerner.
· Introduksjon til Intel FPGA IP-kjerner Gir generell informasjon om alle Intel FPGA IP-kjerner, inkludert parameterisering, generering, oppgradering og simulering av IP-kjerner.
· Lage versjonsuavhengige IP- og Qsys-simuleringsskript Lag simuleringsskript som ikke krever manuelle oppdateringer for programvare- eller IP-versjonsoppgraderinger.
· Retningslinjer for beste praksis for prosjektledelse for effektiv administrasjon og portabilitet av ditt prosjekt og IP files.
· Integer Arithmetic IP Cores User Guide Document Archives på side 98 Gir en liste over brukerveiledninger for tidligere versjoner av Integer Arithmetic IP-kjernene.

Intel FPGA Integer Arithmetic IP Cores brukerveiledning 6

Send tilbakemelding

683490 | 2020.10.05 Send tilbakemelding

2. LPM_COUNTER (Teller) IP-kjerne

Figur 1.

LPM_COUNTER IP-kjernen er en binær teller som lager opptellere, nedtellere og opp- eller nedtellere med utganger på opptil 256 bits brede.

Følgende figur viser portene for LPM_COUNTER IP-kjernen.

LPM_COUNTER porter

LPM_COUNTER

ssclr belastning sset data[]

q[]

opp ned

cout

aclr aload asset

clk_en cnt_en cin
inst

2.1. Funksjoner
LPM_COUNTER IP-kjernen tilbyr følgende funksjoner: · Genererer opp-, ned- og opp-/nedtellere · Genererer følgende tellertyper:
— Vanlig binær – telleren øker fra null eller minker fra 255
— Modulus – telleren øker til eller reduseres fra modulverdien spesifisert av brukeren og gjentas
· Støtter valgfrie synkrone clear-, load- og set-inngangsporter.

Intel Corporation. Alle rettigheter forbeholdt. Intel, Intel-logoen og andre Intel-merker er varemerker for Intel Corporation eller dets datterselskaper. Intel garanterer ytelsen til sine FPGA- og halvlederprodukter i henhold til gjeldende spesifikasjoner i henhold til Intels standardgaranti, men forbeholder seg retten til å gjøre endringer i produkter og tjenester når som helst uten varsel. Intel påtar seg intet ansvar eller ansvar som oppstår som følge av applikasjonen eller bruken av informasjon, produkter eller tjenester som er beskrevet her, med mindre det er uttrykkelig skriftlig avtalt med Intel. Intel-kunder anbefales å få tak i den nyeste versjonen av enhetsspesifikasjonene før de stoler på publisert informasjon og før de bestiller produkter eller tjenester. *Andre navn og merker kan gjøres krav på som andres eiendom.

ISO 9001: 2015 Registrert

2. LPM_COUNTER (Teller) IP-kjerne
683490 | 2020.10.05
2.2. Verilog HDL-prototype
Følgende Verilog HDL-prototype er plassert i Verilog Design File (.v) lpm.v i edasynthesis katalog.
modul lpm_counter (q, data, klokke, 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 = "UBRUKT"; parameter lpm_avalue = "UBRUKT"; parameter lpm_svalue = "UBRUKT"; parameter lpm_pvalue = "UBRUKT"; parameter lpm_port_updown = "PORT_CONNECTIVITY"; parameter lpm_hint = "UBRUKT"; utgang [lpm_width-1:0] q; utgang cout; utgang [15:0] ekv; input cin; input [lpm_width-1:0] data; input clock, clk_en, cnt_en, updown; input asset, aclr, aload; input sset, sclr, belastning; endemodul
2.3. VHDL-komponenterklæring
VHDL-komponentdeklarasjonen er plassert i VHDL-designet File (.vhd) LPM_PACK.vhd i biblioteksvhdllpm-katalogen.
komponent LPM_COUNTER generisk ( LPM_WIDTH : naturlig; LPM_MODULUS : naturlig := 0; LPM_DIRECTION : streng := «UNUSED»; LPM_AVALUE : streng := «UNUSED»; LPM_SVALUE : streng := «UNUSED»; LPM_PORT:CONT_PORT:_CONT. ; LPM_PVALUE : string := “UNUSED”; LPM_TYPE : string := L_COUNTER; LPM_HINT : string := “UNUSED”); port (DATA: i std_logic_vector(LPM_WIDTH-1 ned til 0):= (ANDRE =>
'0'); KLOKKE: i std_logic; CLK_EN : i std_logic := '1'; CNT_EN : i std_logic := '1'; UPDOWN: i std_logic:= '1'; SLOAD : i std_logic := '0'; SSET : i std_logic := '0'; SCLR : i std_logic := '0'; ALOAD : i std_logic := '0'; ASET : i std_logic := '0'; ACLR : i std_logic := '0'; CIN : i std_logic := '1'; COUT : ut std_logic := '0'; Q: ut std_logic_vector(LPM_WIDTH-1 ned til 0); EQ: ut std_logic_vector(15 ned til 0));
sluttkomponent;

Intel FPGA Integer Arithmetic IP Cores brukerveiledning 8

Send tilbakemelding

2. LPM_COUNTER (teller) IP-kjerne 683490 | 2020.10.05

2.4. VHDL LIBRARY_USE-erklæring
VHDL LIBRARY-USE-erklæringen er ikke nødvendig hvis du bruker VHDL-komponenterklæringen.
BIBLIOTEK lpm; BRUK lpm.lpm_components.all;

2.5. Porter

Følgende tabeller viser inngangs- og utgangsportene for LPM_COUNTER IP-kjernen.

Tabell 2.

LPM_COUNTER Inngangsporter

Portnavn

Obligatorisk

Beskrivelse

data[]

Ingen

Parallell datainngang til telleren. Størrelsen på inngangsporten avhenger av parameterverdien LPM_WIDTH.

klokke

Ja

Positiv kant-utløst klokkeinngang.

clk_no

Ingen

Klokkeaktiver input for å aktivere alle synkrone aktiviteter. Hvis den utelates, er standardverdien 1.

cnt_no

Ingen

Count aktiver inngang for å deaktivere tellingen når den er påstått lav uten å påvirke belastning, sset eller sclr. Hvis den utelates, er standardverdien 1.

opp ned

Ingen

Styrer retningen på tellingen. Når hevdet høy (1), er telleretningen opp, og når hevdet lav (0), er telleretningen ned. Hvis parameteren LPM_DIRECTION brukes, kan ikke opp-ned-porten kobles til. Hvis LPM_DIRECTION ikke brukes, er opp-ned-porten valgfri. Hvis den utelates, er standardverdien opp (1).

cin

Ingen

Bær inn til lavordensbiten. For opptellere er oppførselen til cin-inngangen

identisk med oppførselen til cnt_en-inngangen. Hvis den utelates, er standardverdien 1

(VCC).

aclr

Ingen

Asynkron klar inngang. Hvis både aset og aclr brukes og hevdes, overstyrer aclr asset. Hvis den utelates, er standardverdien 0 (deaktivert).

aset

Ingen

Asynkron sett inngang. Spesifiserer q[]-utgangene som alle 1-er, eller til verdien spesifisert av LPM_AVALUE-parameteren. Hvis både asset- og aclr-portene brukes og hevdes, overstyrer verdien av aclr-porten verdien til asset-porten. Hvis utelatt, er standardverdien 0, deaktivert.

mye

Ingen

Asynkron belastningsinngang som asynkront laster telleren med verdien på datainngangen. Når aload-porten brukes, må data[]-porten kobles til. Hvis utelatt, er standardverdien 0, deaktivert.

sclr

Ingen

Synkron klarinngang som sletter telleren på neste aktive klokkekant. Hvis både sset- og sclr-portene brukes og hevdes, overstyrer verdien til sclr-porten verdien til sset-porten. Hvis utelatt, er standardverdien 0, deaktivert.

sett

Ingen

Synkron sett inngang som setter telleren på neste aktive klokkekant. Spesifiserer verdien av q-utgangene som alle 1-er, eller til verdien spesifisert av LPM_SVALUE-parameteren. Hvis både sset- og sclr-portene brukes og hevdes,
verdien til sclr-porten overstyrer verdien til sset-porten. Hvis den utelates, er standardverdien 0 (deaktivert).

belastning

Ingen

Synkron belastningsinngang som laster telleren med data[] på neste aktive klokkekant. Når belastningsporten brukes, må data[]-porten kobles til. Hvis den utelates, er standardverdien 0 (deaktivert).

Send tilbakemelding

Intel FPGA Integer Arithmetic IP Cores brukerveiledning 9

2. LPM_COUNTER (teller) IP-kjerne 683490 | 2020.10.05

Tabell 3.

LPM_COUNTER utgangsporter

Portnavn

Obligatorisk

Beskrivelse

q[]

Ingen

Datautgang fra telleren. Størrelsen på utgangsporten avhenger av

LPM_WIDTH parameterverdi. Enten q[] eller minst én av eq[15..0]-portene

må være koblet til.

eq[15..0]

Ingen

Utgang for tellerdekode. eq[15..0]-porten er ikke tilgjengelig i parametereditoren fordi parameteren kun støtter AHDL.
Enten q[]-porten eller eq[]-porten må være tilkoblet. Opp til c eq-porter kan brukes (0 <= c <= 15). Bare de 16 laveste telleverdiene dekodes. Når telleverdien er c, hevdes eqc-utgangen høy (1). For eksample, når tellingen er 0, eq0 = 1, når tellingen er 1, eq1 = 1, og når tellingen er 15, eq 15 = 1. Dekodet utgang for telleverdier på 16 eller høyere krever ekstern dekoding. eq[15..0]-utgangene er asynkrone med q[]-utgangen.

cout

Ingen

Utfør port av tellerens MSB-bit. Den kan brukes til å koble til en annen teller for å lage en større teller.

2.6. parametere

Tabellen nedenfor viser parameterne for LPM_COUNTER IP-kjernen.

Tabell 4.

LPM_COUNTER parametere

Parameternavn

Type

LPM_WIDTH

Heltall

LPM_DIRECTION

String

LPM_MODULUS LPM_AVALUE

Heltall
Heltall/ streng

LPM_SVALUE LPM_HINT

Heltall/ streng
String

LPM_TYPE

String

Påkrevd Ja Nei Nei Nei
Nei Nei
Ingen

Beskrivelse
Angir bredden på data[]- og q[]-portene, hvis de brukes.
Verdiene er OPP, NED og UBRUKT. Hvis parameteren LPM_DIRECTION brukes, kan ikke opp-ned-porten kobles til. Når opp-ned-porten ikke er tilkoblet, er standardverdien for LPM_DIRECTION-parameteren OPP.
Maksimalt antall pluss én. Antall unike tilstander i tellerens syklus. Hvis belastningsverdien er større enn parameteren LPM_MODULUS, spesifiseres ikke tellerens oppførsel.
Konstant verdi som lastes når eiendelen hevdes høy. Hvis verdien som er spesifisert er større enn eller lik , er oppførselen til telleren et udefinert (X) logisk nivå, hvor er LPM_MODULUS, hvis den finnes, eller 2 ^ LPM_WIDTH. Intel anbefaler at du angir denne verdien som et desimaltall for AHDL-design.
Konstant verdi som lastes på den stigende kanten av klokkeporten når sset-porten er hevdet høy. Intel anbefaler at du angir denne verdien som et desimaltall for AHDL-design.
Når du instansierer et bibliotek med parameteriserte moduler (LPM) fungerer i en VHDL-design File (.vhd), må du bruke parameteren LPM_HINT for å spesifisere en Intel-spesifikk parameter. For eksample: LPM_HINT = "CHAIN_SIZE = 8, ONE_INPUT_IS_CONSTANT = YES"
Standardverdien er UNUSED.
Identifiserer biblioteket av parameteriserte moduler (LPM) enhetsnavn i VHDL-design files.
fortsatte...

Intel FPGA Integer Arithmetic IP Cores brukerveiledning 10

Send tilbakemelding

2. LPM_COUNTER (teller) IP-kjerne 683490 | 2020.10.05

Parameternavn INTENDED_DEVICE_FAMILY CARRY_CNT_EN
LABWIDE_SCLR
LPM_PORT_UPDOWN

Skriv inn strengstreng
String
String

Påkrevd Nei Nr
Ingen
Ingen

Beskrivelse
Denne parameteren brukes til modellering og atferdssimulering. Denne parameteren brukes til modellering og atferdssimulering. Parametereditoren beregner verdien for denne parameteren.
Intel-spesifikk parameter. Du må bruke LPM_HINT-parameteren for å spesifisere CARRY_CNT_EN-parameteren i VHDL-design files. Verdiene er SMART, PÅ, AV og UBRUKT. Aktiverer LPM_COUNTER-funksjonen for å spre cnt_en-signalet gjennom bærekjeden. I noen tilfeller kan parameterinnstillingen CARRY_CNT_EN ha en liten innvirkning på hastigheten, så det kan være lurt å slå den av. Standardverdien er SMART, som gir den beste avveiningen mellom størrelse og hastighet.
Intel-spesifikk parameter. Du må bruke LPM_HINT-parameteren for å spesifisere LABWIDE_SCLR-parameteren i VHDL-design files. Verdiene er PÅ, AV eller UBRUKTE. Standardverdien er PÅ. Lar deg deaktivere bruken av LABwide sclr-funksjonen som finnes i foreldede enhetsfamilier. Å slå av dette alternativet øker sjansene for å fullt ut bruke de delvis fylte LAB-ene, og kan dermed tillate høyere logikktetthet når SCLR ikke gjelder for en komplett LAB. Denne parameteren er tilgjengelig for bakoverkompatibilitet, og Intel anbefaler at du ikke bruker denne parameteren.
Spesifiserer bruken av opp-ned-inngangsporten. Hvis den utelates, er standardverdien PORT_CONNECTIVITY. Når portverdien er satt til PORT_USED, behandles porten som brukt. Når portverdien er satt til PORT_UNUSED, behandles porten som ubrukt. Når portverdien er satt til PORT_CONNECTIVITY, bestemmes portbruken ved å sjekke porttilkoblingen.

Send tilbakemelding

Intel FPGA Integer Arithmetic IP Cores brukerveiledning 11

683490 | 2020.10.05 Send tilbakemelding

3. LPM_DIVIDE (Divider) Intel FPGA IP Core

Figur 2.

LPM_DIVIDE Intel FPGA IP-kjernen implementerer en deler for å dele en tellerinndataverdi med en nevnerinndataverdi for å produsere en kvotient og en rest.

Følgende figur viser portene for LPM_DIVIDE IP-kjernen.

LPM_DIVIDE-porter

LPM_DIVIDE

tall[] denom[] klokke

kvotient[] forbli[]

clken aclr

inst

3.1. Funksjoner
LPM_DIVIDE IP-kjernen tilbyr følgende funksjoner: · Genererer en deler som deler en tellerinndataverdi med en nevnerinngang
verdi for å produsere en kvotient og en rest. · Støtter databredde på 1 biter. · Støtter signerte og usignerte datarepresentasjonsformater for både telleren
og nevnerverdier. · Støtter område- eller hastighetsoptimalisering. · Gir et alternativ for å spesifisere en positiv restutgang. · Støtter pipelining konfigurerbar output latency. · Støtter valgfrie asynkrone klare og klokkeaktiverte porter.

3.2. Verilog HDL-prototype
Følgende Verilog HDL-prototype er plassert i Verilog Design File (.v) lpm.v i edasynthesis katalog.
modul lpm_divide (kvotient, forbli, tall, denom, klokke, clken, aclr); parameter lpm_type = "lpm_divide"; parameter lpm_widthn = 1; parameter lpm_widthd = 1; parameter lpm_nrepresentation = "UNSIGNED"; parameter lpm_drepresentation = "UNSIGNED"; parameter lpm_remainderpositive = "TRUE"; parameter lpm_pipeline = 0;

Intel Corporation. Alle rettigheter forbeholdt. Intel, Intel-logoen og andre Intel-merker er varemerker for Intel Corporation eller dets datterselskaper. Intel garanterer ytelsen til sine FPGA- og halvlederprodukter i henhold til gjeldende spesifikasjoner i henhold til Intels standardgaranti, men forbeholder seg retten til å gjøre endringer i produkter og tjenester når som helst uten varsel. Intel påtar seg intet ansvar eller ansvar som oppstår som følge av applikasjonen eller bruken av informasjon, produkter eller tjenester som er beskrevet her, med mindre det er uttrykkelig skriftlig avtalt med Intel. Intel-kunder anbefales å få tak i den nyeste versjonen av enhetsspesifikasjonene før de stoler på publisert informasjon og før de bestiller produkter eller tjenester. *Andre navn og merker kan gjøres krav på som andres eiendom.

ISO 9001: 2015 Registrert

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

parameter lpm_hint = "UBRUKT"; input klokke; input clken; input aclr; skriv inn [lpm_widthn-1:0] tall; input [lpm_widthd-1:0] denom; utgang [lpm_widthn-1:0] kvotient; utgang [lpm_widthd-1:0] forblir; endemodul

3.3. VHDL-komponenterklæring
VHDL-komponentdeklarasjonen er plassert i VHDL-designet File (.vhd) LPM_PACK.vhd i biblioteksvhdllpm-katalogen.
komponent LPM_DIVIDE generisk (LPM_WIDTHN: naturlig; LPM_WIDTHD: naturlig;
LPM_NREPRESENTATION : string := “UNSIGNED”; LPM_DREPRESENTATION : string := “UNSIGNED”; LPM_PIPELINE : naturlig := 0; LPM_TYPE : streng := L_DIVIDE; LPM_HINT : string := “UNUSED”); port (NUMER: i std_logic_vector(LPM_WIDTHN-1 ned til 0); DENOM: i std_logic_vector(LPM_WIDTHD-1 ned til 0); ACLR: i std_logic:= '0'; KLOKKE: i std_logic:= '0'; std_logic: := '1'; QUOTIENT: ut std_logic_vector(LPM_WIDTHN-1 ned til 0); REMAIN: ut std_logic_vector(LPM_WIDTHD-1 ned til 0)); sluttkomponent;

3.4. VHDL LIBRARY_USE-erklæring
VHDL LIBRARY-USE-erklæringen er ikke nødvendig hvis du bruker VHDL-komponenterklæringen.
BIBLIOTEK lpm; BRUK lpm.lpm_components.all;

3.5. Porter

Følgende tabeller viser inngangs- og utgangsportene for LPM_DIVIDE IP-kjernen.

Tabell 5.

LPM_DIVIDE Inngangsporter

Portnavn

Obligatorisk

nummer[]

Ja

betegnelse[]

Ja

Beskrivelse
Inndata fra teller. Størrelsen på inngangsporten avhenger av parameterverdien LPM_WIDTHN.
Inndata for nevneren. Størrelsen på inngangsporten avhenger av parameterverdien LPM_WIDTHD.
fortsatte...

Send tilbakemelding

Intel FPGA Integer Arithmetic IP Cores brukerveiledning 13

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

Port Navn klokke clken
aclr

Påkrevd Nei Nr
Ingen

Beskrivelse
Klokkeinngang for bruk i pipeline. For andre LPM_PIPELINE-verdier enn 0 (standard), må klokkeporten være aktivert.
Klokke aktiver pipelined bruk. Når clken-porten er hevdet høy, finner delingsoperasjonen sted. Når signalet er lavt, skjer ingen operasjon. Hvis den utelates, er standardverdien 1.
Asynkron klarport brukes til enhver tid for å tilbakestille rørledningen til alle '0'er asynkront med klokkeinngangen.

Tabell 6.

LPM_DIVIDE utgangsporter

Portnavn

Obligatorisk

Beskrivelse

kvotient[]

Ja

Datautgang. Størrelsen på utgangsporten avhenger av LPM_WIDTHN

parameterverdi.

forbli[]

Ja

Datautgang. Størrelsen på utgangsporten avhenger av LPM_WIDTHD

parameterverdi.

3.6. parametere

Tabellen nedenfor viser parameterne for LPM_DIVIDE Intel FPGA IP-kjernen.

Parameternavn

Type

Obligatorisk

Beskrivelse

LPM_WIDTHN

Heltall

Ja

Angir breddene på tallet[] og

kvotient[] porter. Verdiene er 1 til 64.

LPM_WIDTHD

Heltall

Ja

Spesifiserer bredden på betegnelsen[] og

forbli[] porter. Verdiene er 1 til 64.

LPM_NREPRESENTATION LPM_DREPRESENTATION

String String

Ingen

Tegnrepresentasjon av tellerinndata.

Verdier er SIGNERT og USIGNERT. Når dette

parameteren er satt til SIGNED, skillelinjen

tolker tall[]-inngangen som to-tegn

komplement.

Ingen

Tegnrepresentasjon av nevnerens inngang.

Verdier er SIGNERT og USIGNERT. Når dette

parameteren er satt til SIGNED, skillelinjen

tolker denom[]-inngangen som to-tegn

komplement.

LPM_TYPE

String

Ingen

Identifiserer biblioteket til parameteriserte

moduler (LPM) enhetsnavn i VHDL-design

files (.vhd).

LPM_HINT

String

Ingen

Når du instansierer et bibliotek av

parameteriserte moduler (LPM) fungerer i en

VHDL-design File (.vhd), må du bruke

LPM_HINT-parameter for å spesifisere en Intel-

spesifikk parameter. For eksample: LPM_HINT

= "CHAIN_SIZE = 8,

ONE_INPUT_IS_CONSTANT = JA” Den

standardverdien er UNUSED.

LPM_REMAINDERPOSITIVE

String

Ingen

Intel-spesifikk parameter. Du må bruke

LPM_HINT parameter for å spesifisere

LPM_REMAINDERPOSITIVE parameter inn

VHDL-design files. Verdiene er TRUE eller FALSE.

Hvis denne parameteren er satt til TRUE, vil den

verdien av rest[]-porten må være større

fortsatte...

Intel FPGA Integer Arithmetic IP Cores brukerveiledning 14

Send tilbakemelding

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

Parameternavn

Type

MAXIMIZE_SPEED

Heltall

LPM_PIPELINE

Heltall

INTENDED_DEVICE_FAMILY SKIP_BITS

String heltall

Påkrevd nr
Nei Nei Nei

Beskrivelse
enn eller lik null. Hvis denne parameteren er satt til TRUE, er verdien for rest[]-porten enten null, eller verdien er det samme tegnet, enten positivt eller negativt, som verdien til tallporten. For å redusere arealet og forbedre hastigheten, anbefaler Intel å sette denne parameteren til TRUE i operasjoner der resten må være positiv eller hvor resten er uviktig.
Intel-spesifikk parameter. Du må bruke LPM_HINT-parameteren for å spesifisere MAXIMIZE_SPEED-parameteren i VHDL-design files. Verdiene er [0..9]. Hvis den brukes, prøver Intel Quartus Prime-programvaren å optimalisere en spesifikk forekomst av LPM_DIVIDE-funksjonen for hastighet i stedet for ruterbarhet, og overstyrer innstillingen for logikkalternativet for optimaliseringsteknikk. Hvis MAXIMIZE_SPEED er ubrukt, brukes verdien av alternativet Optimaliseringsteknikk i stedet. Hvis verdien av MAXIMIZE_SPEED er 6 eller høyere, optimaliserer kompilatoren LPM_DIVIDE IP-kjernen for høyere hastighet ved å bruke bærekjeder; hvis verdien er 5 eller mindre, implementerer kompilatoren designet uten bærekjeder.
Spesifiserer antall klokkesykluser med latens assosiert med kvotienten[] og rest[]-utgangene. En verdi på null (0) indikerer at ingen latens eksisterer, og at en ren kombinasjonsfunksjon er instansiert. Hvis den utelates, er standardverdien 0 (ikke-pipelined). Du kan ikke angi en verdi for LPM_PIPELINE-parameteren som er høyere enn LPM_WIDTHN.
Denne parameteren brukes til modellering og atferdssimulering. Parametereditoren beregner verdien for denne parameteren.
Tillater mer effektiv brøkbitdeling for å optimalisere logikken på de ledende bitene ved å gi antallet ledende GND til LPM_DIVIDE IP-kjernen. Spesifiser antall ledende GND på kvotientutgangen til denne parameteren.

Send tilbakemelding

Intel FPGA Integer Arithmetic IP Cores brukerveiledning 15

683490 | 2020.10.05 Send tilbakemelding

4. LPM_MULT (multiplikator) IP-kjerne

Figur 3.

LPM_MULT IP-kjernen implementerer en multiplikator for å multiplisere to inngangsdataverdier for å produsere et produkt som en utgang.

Følgende figur viser portene for LPM_MULT IP-kjernen.

LPM_Multporter

LPM_MULT klokkedataa[] resultat[] data[] aclr/sclr clken
inst

Relaterte informasjonsfunksjoner på side 71

4.1. Funksjoner
LPM_MULT IP-kjernen tilbyr følgende funksjoner: · Genererer en multiplikator som multipliserer to inngangsdataverdier · Støtter databredde på 1 biter · Støtter signerte og usignerte datarepresentasjonsformater · Støtter område- eller hastighetsoptimalisering · Støtter pipelining med konfigurerbar utdatalatens · Gir en mulighet for implementering i dedikert digital signalbehandling (DSP)
blokkkretser eller logiske elementer (LE-er) Merk: Når du bygger multiplikatorer som er større enn den opprinnelig støttede størrelsen, kan/
vil være en ytelsespåvirkning som følge av kaskaden av DSP-blokkene. · Støtter valgfrie asynkron clear og klokkeaktiverte inngangsporter · Støtter valgfri synkron clear for Intel Stratix 10, Intel Arria 10 og Intel Cyclone 10 GX-enheter

Intel Corporation. Alle rettigheter forbeholdt. Intel, Intel-logoen og andre Intel-merker er varemerker for Intel Corporation eller dets datterselskaper. Intel garanterer ytelsen til sine FPGA- og halvlederprodukter i henhold til gjeldende spesifikasjoner i henhold til Intels standardgaranti, men forbeholder seg retten til å gjøre endringer i produkter og tjenester når som helst uten varsel. Intel påtar seg intet ansvar eller ansvar som oppstår som følge av applikasjonen eller bruken av informasjon, produkter eller tjenester som er beskrevet her, med mindre det er uttrykkelig skriftlig avtalt med Intel. Intel-kunder anbefales å få tak i den nyeste versjonen av enhetsspesifikasjonene før de stoler på publisert informasjon og før de bestiller produkter eller tjenester. *Andre navn og merker kan gjøres krav på som andres eiendom.

ISO 9001: 2015 Registrert

4. LPM_MULT (Multiplier) IP-kjerne 683490 | 2020.10.05
4.2. Verilog HDL-prototype
Følgende Verilog HDL-prototype er plassert i Verilog Design File (.v) lpm.v i edasynthesis katalog.
modul lpm_mult (resultat, dataa, datab, sum, klokke, 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 = "UNSIGNED"; parameter lpm_pipeline = 0; parameter lpm_hint = "UBRUKT"; input klokke; input clken; input aclr; input [lpm_widtha-1:0] dataa; input [lpm_widthb-1:0] data; skriv inn [lpm_widths-1:0] sum; output [lpm_widthp-1:0] resultat; endemodul
4.3. VHDL-komponenterklæring
VHDL-komponentdeklarasjonen er plassert i VHDL-designet File (.vhd) LPM_PACK.vhd i biblioteksvhdllpm-katalogen.
komponent LPM_MULT generisk ( LPM_WIDTHA : naturlig; LPM_WIDTHB : naturlig; LPM_WIDTHS : naturlig := 1; LPM_WIDTHP : naturlig;
LPM_REPRESENTATION : string := “UNSIGNED”; LPM_PIPELINE : naturlig := 0; LPM_TYPE: streng := L_MULT; LPM_HINT : string := “UNUSED”); port ( DATAA: i std_logic_vector(LPM_WIDTHA-1 ned til 0); DATAB: i std_logic_vector(LPM_WIDTHB-1 ned til 0); ACLR: i std_logic:= '0'; KLOKKE: i std_logic:= '0 i'; std_logic: := '1'; SUM : i std_logic_vector(LPM_WIDTHS-1 ned til 0) := (ANDRE => '0'); RESULTAT: ut std_logic_vector(LPM_WIDTHP-1 ned til 0)); sluttkomponent;
4.4. VHDL LIBRARY_USE-erklæring
VHDL LIBRARY-USE-erklæringen er ikke nødvendig hvis du bruker VHDL-komponenterklæringen.
BIBLIOTEK lpm; BRUK lpm.lpm_components.all;

Send tilbakemelding

Intel FPGA Integer Arithmetic IP Cores brukerveiledning 17

4. LPM_MULT (Multiplier) IP-kjerne 683490 | 2020.10.05

4.5. Signaler

Tabell 7.

LPM_MULT Inngangssignaler

Signalnavn

Obligatorisk

Beskrivelse

dataa[]

Ja

Datainput.

For Intel Stratix 10-, Intel Arria 10- og Intel Cyclone 10 GX-enheter avhenger størrelsen på inngangssignalet av Dataa-breddeparameterverdien.

For eldre enheter og Intel Cyclone 10 LP-enheter avhenger størrelsen på inngangssignalet av parameterverdien LPM_WIDTHA.

data[]

Ja

Datainput.

For Intel Stratix 10-, Intel Arria 10- og Intel Cyclone 10 GX-enheter avhenger størrelsen på inngangssignalet av parameterverdien for databredde.

For eldre enheter og Intel Cyclone 10 LP-enheter avhenger størrelsen på inngangssignalet

på parameterverdien LPM_WIDTHB.

klokke

Ingen

Klokkeinngang for bruk i pipeline.

For eldre enheter og Intel Cyclone 10 LP-enheter må klokkesignalet være aktivert for andre LPM_PIPELINE-verdier enn 0 (standard).

For Intel Stratix 10-, Intel Arria 10- og Intel Cyclone 10 GX-enheter må klokkesignalet være aktivert hvis latensverdien er en annen enn 1 (standard).

clken

Ingen

Klokkeaktivert for bruk i pipeline. Når clken-signalet er hevdet høyt, vil

addisjons-/subtraktordrift finner sted. Når signalet er lavt, ingen operasjon

inntreffer. Hvis den utelates, er standardverdien 1.

aclr sclr

Ingen

Asynkront klarsignal brukes til enhver tid for å tilbakestille rørledningen til alle 0-er,

asynkront med klokkesignalet. Rørledningen initialiseres til en udefinert (X)

logisk nivå. Utgangene er en konsistent, men ikke-null verdi.

Ingen

Synkront klarsignal brukes til enhver tid for å tilbakestille rørledningen til alle 0-er,

synkront med klokkesignalet. Rørledningen initialiseres til en udefinert (X)

logisk nivå. Utgangene er en konsistent, men ikke-null verdi.

Tabell 8.

LPM_MULT Utgangssignaler

signal Navn

Obligatorisk

Beskrivelse

resultat[]

Ja

Datautgang.

For eldre enheter og Intel Cyclone 10 LP-enheter avhenger størrelsen på utgangssignalet av parameterverdien LPM_WIDTHP. Hvis LPM_WIDTHP < maks (LPM_WIDTHA + LPM_WIDTHB, LPM_WIDTHS) eller (LPM_WIDTHA + LPM_WIDTHS), er bare LPM_WIDTHP MSB-ene til stede.

For Intel Stratix 10, Intel Arria 10 og Intel Cyclone 10 GX avhenger størrelsen på utgangssignalene av parameteren Resultatbredde.

4.6. Parametre for Stratix V-, Arria V-, Cyclone V- og Intel Cyclone 10 LP-enheter

4.6.1. Generelt-fanen

Tabell 9.

Generelt-fanen

Parameter

Verdi

Multiplikatorkonfigurasjon

Multipliser 'dataa'-inndata med 'datab'-inndata

Standardverdi

Beskrivelse

Multipliser 'dataa'-inndata med 'datab'-inndata

Velg ønsket konfigurasjon for multiplikatoren.
fortsatte...

Intel FPGA Integer Arithmetic IP Cores brukerveiledning 18

Send tilbakemelding

4. LPM_MULT (Multiplier) IP-kjerne 683490 | 2020.10.05

Parameter
Hvor bred skal "dataa"-inngangen være? Hvor bred skal 'datab'-inngangen være? Hvordan skal bredden på "resultat"-utgangen bestemmes? Begrens bredden

Verdi
Multipliser 'dataa'-inndata av seg selv (kvadreringsoperasjon)
1 – 256 biter

Standardverdi

Beskrivelse

8 biter

Spesifiser bredden på dataa[]-porten.

1 – 256 biter

8 biter

Spesifiser bredden på dataab[]-porten.

Beregn automatisk bredden Begrens bredden
1 – 512 biter

Beregn automatisk bredden

Velg ønsket metode for å bestemme bredden på resultat[]-porten.

16 biter

Spesifiser bredden på resultat[]-porten.
Denne verdien vil bare være effektiv hvis du velger Begrens bredden i Type-parameteren.

4.6.2. Generelt 2 Tab

Tabell 10. Generelt 2 Tab

Parameter

Verdi

Datainngang

Har 'datab' inngangsbussen en konstant verdi?

Nei Ja

Multiplikasjonstype

Hvilken type

Usignert

multiplikasjon vil du ha? Signert

Implementering

Hvilken multiplikatorimplementering bør brukes?

Bruk standardimplementeringen
Bruk de dedikerte multiplikatorkretsene (ikke tilgjengelig for alle familier)
Bruk logiske elementer

Standardverdi

Beskrivelse

Ingen

Velg Ja for å angi den konstante verdien av

`datab' inngangsbuss, hvis noen.

Usignert

Spesifiser representasjonsformatet for både dataa[]- og data[]-inndata.

Bruk standardimplementeringen

Velg ønsket metode for å bestemme bredden på resultat[]-porten.

4.6.3. Rørledning Tab

Tabell 11. Rørføring Tab

Parameter

Ønsker du å rørlegge nr

funksjon?

Ja

Verdi

Opprett en 'aclr'

asynkron klar port

Standardverdi

Beskrivelse

Ingen

Velg Ja for å aktivere pipeline register til

multiplikatorens utgang og spesifiser ønsket

utgangslatens i klokkesyklus. Aktivering av

pipeline register legger til ekstra latens til

produksjon.

Ikke avmerket

Velg dette alternativet for å aktivere aclr-porten til å bruke asynkron sletting for rørledningsregisteret.
fortsatte...

Send tilbakemelding

Intel FPGA Integer Arithmetic IP Cores brukerveiledning 19

4. LPM_MULT (Multiplier) IP-kjerne 683490 | 2020.10.05

Parameter
Lag en "clken"-klokkeaktivert klokke
Optimalisering
Hvilken type optimalisering ønsker du?

Verdi -
Standard hastighetsområde

Standardverdi

Beskrivelse

Ikke avmerket

Spesifiserer aktiv høy klokkeaktivering for klokkeporten til rørledningsregisteret

Misligholde

Spesifiser ønsket optimalisering for IP-kjernen.
Velg Standard for å la Intel Quartus Prime-programvare finne den beste optimaliseringen for IP-kjernen.

4.7. Parametere for Intel Stratix 10, Intel Arria 10 og Intel Cyclone 10 GX-enheter

4.7.1. Generelt-fanen

Tabell 12. Generelt Tab

Parameter

Verdi

Standardverdi

Beskrivelse

Multiplikatorkonfigurasjonstype
Dataportbredder

Multipliser 'dataa'-inndata med 'datab'-inndata
Multipliser 'dataa'-inndata av seg selv (kvadreringsoperasjon)

Multipliser 'dataa'-inndata med 'datab'-inndata

Velg ønsket konfigurasjon for multiplikatoren.

Data en bredde

1 – 256 biter

8 biter

Spesifiser bredden på dataa[]-porten.

Datab bredde

1 – 256 biter

8 biter

Spesifiser bredden på dataab[]-porten.

Hvordan skal bredden på "resultat"-utgangen bestemmes?

Type

Beregn automatisk bredden
Begrens bredden

Beregn automatisk bredden

Velg ønsket metode for å bestemme bredden på resultat[]-porten.

Verdi

1 – 512 biter

16 biter

Spesifiser bredden på resultat[]-porten.
Denne verdien vil bare være effektiv hvis du velger Begrens bredden i Type-parameteren.

Resultatbredde

1 – 512 biter

Viser den effektive bredden til resultat[]-porten.

4.7.2. Generelt 2 Tab

Tabell 13. Generelt 2 Tab

Parameter

Datainngang

Har 'datab' inngangsbussen en konstant verdi?

Nei Ja

Verdi

Standardverdi

Beskrivelse

Ingen

Velg Ja for å angi den konstante verdien av

`datab' inngangsbuss, hvis noen.

fortsatte...

Intel FPGA Integer Arithmetic IP Cores brukerveiledning 20

Send tilbakemelding

4. LPM_MULT (Multiplier) IP-kjerne 683490 | 2020.10.05

Parameter

Verdi

Verdi

Enhver verdi større enn 0

Multiplikasjonstype

Hvilken type

Usignert

multiplikasjon vil du ha? Signert

Implementeringsstil

Hvilken multiplikatorimplementering bør brukes?

Bruk standardimplementeringen
Bruk de dedikerte multiplikatorkretsene
Bruk logiske elementer

Standardverdi

Beskrivelse

0

Spesifiser den konstante verdien for dataab[]-porten.

Usignert

Spesifiser representasjonsformatet for både dataa[]- og data[]-inndata.

Bruk standardimplementeringen

Velg ønsket metode for å bestemme bredden på resultat[]-porten.

4.7.3. Rørlegging

Tabell 14. Rørføring Tab

Parameter

Verdi

Ønsker du å pipeline funksjonen?

Rørledning

Nei Ja

Latency Clear Signal Type

Enhver verdi større enn 0.
INGEN ACLR SCLR

Lag en 'clken'-klokke

aktivere klokke

Hvilken type optimalisering ønsker du?

Type

Standard hastighetsområde

Standardverdi

Beskrivelse

Nei 1 INGEN

Velg Ja for å aktivere pipelineregister til multiplikatorens utgang. Aktivering av rørledningsregisteret gir ekstra latens til utgangen.
Spesifiser ønsket utgangslatens i klokkesyklus.
Spesifiser type tilbakestilling for rørledningsregisteret. Velg INGEN hvis du ikke bruker noe rørledningsregister. Velg ACLR for å bruke asynkron sletting for rørledningsregisteret. Dette vil generere ACLR-port. Velg SCLR for å bruke synkron sletting for rørledningsregisteret. Dette vil generere SCLR-port.
Spesifiserer aktiv høy klokkeaktivering for klokkeporten til rørledningsregisteret

Misligholde

Spesifiser ønsket optimalisering for IP-kjernen.
Velg Standard for å la Intel Quartus Prime-programvare finne den beste optimaliseringen for IP-kjernen.

Send tilbakemelding

Intel FPGA Integer Arithmetic IP Cores brukerveiledning 21

683490 | 2020.10.05 Send tilbakemelding

5. LPM_ADD_SUB (adder/subtraktor)

Figur 4.

LPM_ADD_SUB IP-kjernen lar deg implementere en adderer eller en subtraktor for å legge til eller subtrahere sett med data for å produsere en utgang som inneholder summen eller differansen av inngangsverdiene.

Følgende figur viser portene for LPM_ADD_SUB IP-kjernen.

LPM_ADD_SUB-porter

LPM_ADD_SUB add_sub cin

dataa[]

klokke clken datab[] aclr

result[] overflow cout

inst

5.1. Funksjoner
LPM_ADD_SUB IP-kjernen tilbyr følgende funksjoner: · Genererer adderer, subtraktor og dynamisk konfigurerbar adderer/subtraktor
funksjoner. · Støtter databredde på 1 biter. · Støtter datarepresentasjonsformat som signert og usignert. · Støtter valgfri innlevering (utlån), asynkron klar og klokkeaktivering
inngangsporter. · Støtter valgfrie utgangsporter (innlåning) og overløp. · Tilordner en av inngangsdatabussene til en konstant. · Støtter pipelining med konfigurerbar utdatalatens.

Intel Corporation. Alle rettigheter forbeholdt. Intel, Intel-logoen og andre Intel-merker er varemerker for Intel Corporation eller dets datterselskaper. Intel garanterer ytelsen til sine FPGA- og halvlederprodukter i henhold til gjeldende spesifikasjoner i henhold til Intels standardgaranti, men forbeholder seg retten til å gjøre endringer i produkter og tjenester når som helst uten varsel. Intel påtar seg intet ansvar eller ansvar som oppstår som følge av applikasjonen eller bruken av informasjon, produkter eller tjenester som er beskrevet her, med mindre det er uttrykkelig skriftlig avtalt med Intel. Intel-kunder anbefales å få tak i den nyeste versjonen av enhetsspesifikasjonene før de stoler på publisert informasjon og før de bestiller produkter eller tjenester. *Andre navn og merker kan gjøres krav på som andres eiendom.

ISO 9001: 2015 Registrert

5. LPM_ADD_SUB (Adder/Subtraktor) 683490 | 2020.10.05
5.2. Verilog HDL-prototype
Følgende Verilog HDL-prototype er plassert i Verilog Design File (.v) lpm.v i edasynthesis katalog.
modul lpm_add_sub (resultat, cout, overflow, add_sub, cin, dataa, datab, klokke, clken, aclr ); parameter lpm_type = "lpm_add_sub"; parameter lpm_width = 1; parameter lpm_direction = "UBRUKT"; parameter lpm_representation = "SIGNERT"; parameter lpm_pipeline = 0; parameter lpm_hint = "UBRUKT"; input [lpm_width-1:0] dataa, datab; input add_sub, cin; input klokke; input clken; input aclr; output [lpm_width-1:0] resultat; utgang cout, overløp; endemodul
5.3. VHDL-komponenterklæring
VHDL-komponentdeklarasjonen er plassert i VHDL-designet File (.vhd) LPM_PACK.vhd i biblioteksvhdllpm-katalogen.
komponent LPM_ADD_SUB generisk (LPM_WIDTH: naturlig;
LPM_DIRECTION : string := “UBRUKT”; LPM_REPRESENTATION: string := “SIGNERT”; LPM_PIPELINE : naturlig := 0; LPM_TYPE : streng := L_ADD_SUB; LPM_HINT : string := “UNUSED”); port (DATAA: i std_logic_vector(LPM_WIDTH-1 ned til 0); DATAB: i std_logic_vector(LPM_WIDTH-1 ned til 0); ACLR: i std_logic:= '0'; KLOKKE: i std_logic:= '0'; std_logic: := '1'; CIN: i std_logic:= 'Z'; ADD_SUB: i std_logic:= '1'; RESULTAT: ut std_logic_vector(LPM_WIDTH-1 ned til 0); COUT: ut std_logic; OVERFLØM: ut std_logic); sluttkomponent;
5.4. VHDL LIBRARY_USE-erklæring
VHDL LIBRARY-USE-erklæringen er ikke nødvendig hvis du bruker VHDL-komponenterklæringen.
BIBLIOTEK lpm; BRUK lpm.lpm_components.all;
5.5. Porter
Følgende tabeller viser inngangs- og utgangsportene for LPM_ADD_SUB IP-kjernen.

Send tilbakemelding

Intel FPGA Integer Arithmetic IP Cores brukerveiledning 23

5. LPM_ADD_SUB (Adder/Subtraktor) 683490 | 2020.10.05

Tabell 15. LPM_ADD_SUB IP-kjerneinngangsporter

Portnavn

Obligatorisk

Beskrivelse

cin

Ingen

Bær inn til lavordensbiten. For addisjonsoperasjoner er standardverdien 0. For

subtraksjonsoperasjoner, er standardverdien 1.

dataa[]

Ja

Datainput. Størrelsen på inngangsporten avhenger av parameterverdien LPM_WIDTH.

data[]

Ja

Datainput. Størrelsen på inngangsporten avhenger av parameterverdien LPM_WIDTH.

add_sub

Ingen

Valgfri inngangsport for å aktivere dynamisk veksling mellom adderer og subtraktor

funksjoner. Hvis parameteren LPM_DIRECTION brukes, kan ikke add_sub brukes. Hvis

utelatt, er standardverdien ADD. Intel anbefaler at du bruker

LPM_DIRECTION-parameter for å spesifisere operasjonen til LPM_ADD_SUB-funksjonen,

i stedet for å tilordne en konstant til add_sub-porten.

klokke

Ingen

Inndata for bruk i pipeline. Klokkeporten gir klokkeinngangen for en rørledning

operasjon. For andre LPM_PIPELINE-verdier enn 0 (standard), må klokkeporten være

aktivert.

clken

Ingen

Klokkeaktivert for bruk i pipeline. Når clken-porten er hevdet høy, adderer/

subtraktordrift finner sted. Når signalet er lavt, skjer ingen operasjon. Hvis

utelatt, er standardverdien 1.

aclr

Ingen

Asynkron klar for bruk i pipeline. Rørledningen initialiseres til en udefinert (X)

logisk nivå. aclr-porten kan brukes når som helst for å tilbakestille rørledningen til alle 0-er,

asynkront med klokkesignalet.

Tabell 16. LPM_ADD_SUB IP-kjerneutgangsporter

Portnavn

Obligatorisk

Beskrivelse

resultat[]

Ja

Datautgang. Størrelsen på utgangsporten avhenger av parameteren LPM_WIDTH

verdi.

cout

Ingen

Gjennomføring (lån inn) av den mest signifikante biten (MSB). Cout-porten har en fysisk

tolkning som utførelse (innlån) av MSB. Cout-porten oppdager

overløp i USIGNERT operasjoner. Cout-porten fungerer på samme måte for

SIGNERT og USIGNERT operasjoner.

flyte

Ingen

Valgfri overløpsunntaksutgang. Overløpsporten har en fysisk tolkning som

XOR for innlevering til MSB med utføring av MSB. Overløpsporten

hevder når resultatene overstiger tilgjengelig presisjon, og brukes bare når

LPM_REPRESENTATION-parameterverdien er SIGNERT.

5.6. parametere

Følgende tabell viser LPM_ADD_SUB IP-kjerneparametere.

Tabell 17. LPM_ADD_SUB IP-kjerneparametere

Parameternavn LPM_WIDTH

Skriv heltall

Påkrevd Ja

Beskrivelse
Spesifiserer breddene på dataa[], data[]- og resultat[]-portene.

LPM_DIRECTION

String

Ingen

Verdiene er ADD, SUB og UNUSED. Hvis den utelates, er standardverdien DEFAULT, som leder parameteren til å ta verdien fra add_sub-porten. Add_sub-porten kan ikke brukes hvis LPM_DIRECTION brukes. Intel anbefaler at du bruker parameteren LPM_DIRECTION for å spesifisere operasjonen til LPM_ADD_SUB-funksjonen, i stedet for å tilordne en konstant til add_sub-porten.
fortsatte...

Intel FPGA Integer Arithmetic IP Cores brukerveiledning 24

Send tilbakemelding

5. LPM_ADD_SUB (Adder/Subtraktor) 683490 | 2020.10.05

Parameternavn LPM_REPRESENTATION LPM_PIPELINE LPM_HINT LPM_TYPE ONE_INPUT_IS_CONSTANT MAXIMIZE_SPEED
INTENDED_DEVICE_FAMILY

Type String Integer String String String Integer
String

Påkrevd Nei Nei Nei Nei Nei Nei Nei
Ingen

Beskrivelse
Spesifiserer typen tillegg som utføres. Verdier er SIGNERT og USIGNERT. Hvis den utelates, er standardverdien SIGNERT. Når denne parameteren er satt til SIGNED, tolker addereren/subtrahereren datainngangen som fortegnet tos komplement.
Spesifiserer antall latensklokkesykluser knyttet til resultat[]-utgangen. En verdi på null (0) indikerer at ingen latens eksisterer, og at en ren kombinasjonsfunksjon vil bli instansiert. Hvis den utelates, er standardverdien 0 (ikke-pipelined).
Lar deg spesifisere Intel-spesifikke parametere i VHDL-design files (.vhd). Standardverdien er UNUSED.
Identifiserer biblioteket av parameteriserte moduler (LPM) enhetsnavn i VHDL-design files.
Intel-spesifikk parameter. Du må bruke parameteren LPM_HINT for å spesifisere parameteren ONE_INPUT_IS_CONSTANT i VHDL-design files. Verdiene er JA, NEI og UBRUKT. Gir større optimalisering hvis en inngang er konstant. Hvis den utelates, er standardverdien NEI.
Intel-spesifikk parameter. Du må bruke LPM_HINT-parameteren for å spesifisere MAXIMIZE_SPEED-parameteren i VHDL-design files. Du kan spesifisere en verdi mellom 0 og 10. Hvis den brukes, prøver Intel Quartus Prime-programvaren å optimalisere en spesifikk forekomst av LPM_ADD_SUB-funksjonen for hastighet i stedet for ruterbarhet, og overstyrer innstillingen for logikkalternativet for optimaliseringsteknikk. Hvis MAXIMIZE_SPEED er ubrukt, brukes verdien av alternativet Optimaliseringsteknikk i stedet. Hvis innstillingen for MAXIMIZE_SPEED er 6 eller høyere, optimaliserer kompilatoren LPM_ADD_SUB IP-kjernen for høyere hastighet ved bruk av bærekjeder; hvis innstillingen er 5 eller mindre, implementerer kompilatoren designet uten bærekjeder. Denne parameteren må spesifiseres for Cyclone-, Stratix- og Stratix GX-enheter bare når add_sub-porten ikke brukes.
Denne parameteren brukes til modellering og atferdssimulering. Parametereditoren beregner verdien for denne parameteren.

Send tilbakemelding

Intel FPGA Integer Arithmetic IP Cores brukerveiledning 25

683490 | 2020.10.05 Send tilbakemelding

6. LPM_COMPARE (komparator)

Figur 5.

LPM_COMPARE IP-kjernen sammenligner verdien av to sett med data for å bestemme forholdet mellom dem. I sin enkleste form kan du bruke en eksklusiv-ELLER-port for å finne ut om to databiter er like.

Følgende figur viser portene for LPM_COMPARE IP-kjernen.

LPM_COMPARE-porter

LPM_COMPARE

clken

alb

aeb

dataa[]

agb

data[]

ageb

klokke

aneb

aclr

aleb

inst

6.1. Funksjoner
LPM_COMPARE IP-kjernen tilbyr følgende funksjoner: · Genererer en komparatorfunksjon for å sammenligne to sett med data · Støtter databredde på 1 biter · Støtter datarepresentasjonsformat som signert og usignert · Produserer følgende utdatatyper:
— alb (inngang A er mindre enn inngang B) — aeb (inngang A er lik inngang B) — agb (inngang A er større enn inngang B) — ageb (inngang A er større enn eller lik inngang B) — aneb ( inngang A er ikke lik inngang B) — aleb (inngang A er mindre enn eller lik inngang B) · Støtter valgfrie asynkrone klar- og klokkeaktiverte inngangsporter · Tildeler data[]-inngangen til en konstant · Støtter pipelining med konfigurerbar utgangslatens

Intel Corporation. Alle rettigheter forbeholdt. Intel, Intel-logoen og andre Intel-merker er varemerker for Intel Corporation eller dets datterselskaper. Intel garanterer ytelsen til sine FPGA- og halvlederprodukter i henhold til gjeldende spesifikasjoner i henhold til Intels standardgaranti, men forbeholder seg retten til å gjøre endringer i produkter og tjenester når som helst uten varsel. Intel påtar seg intet ansvar eller ansvar som oppstår som følge av applikasjonen eller bruken av informasjon, produkter eller tjenester som er beskrevet her, med mindre det er uttrykkelig skriftlig avtalt med Intel. Intel-kunder anbefales å få tak i den nyeste versjonen av enhetsspesifikasjonene før de stoler på publisert informasjon og før de bestiller produkter eller tjenester. *Andre navn og merker kan gjøres krav på som andres eiendom.

ISO 9001: 2015 Registrert

6. LPM_COMPARE (Komparator) 683490 | 2020.10.05
6.2. Verilog HDL-prototype
Følgende Verilog HDL-prototype er plassert i Verilog Design File (.v) lpm.v i edasynthesis katalog.
modul lpm_compare ( alb, aeb, agb, aleb, aneb, ageb, dataa, datab, klokke, clken, aclr ); parameter lpm_type = "lpm_compare"; parameter lpm_width = 1; parameter lpm_representation = "UNSIGNED"; parameter lpm_pipeline = 0; parameter lpm_hint = "UBRUKT"; input [lpm_width-1:0] dataa, datab; input klokke; input clken; input aclr; utgang alb, aeb, agb, aleb, aneb, ageb; endemodul
6.3. VHDL-komponenterklæring
VHDL-komponentdeklarasjonen er plassert i VHDL-designet File (.vhd) LPM_PACK.vhd i biblioteksvhdllpm-katalogen.
komponent LPM_COMPARE generisk (LPM_WIDTH: naturlig;
LPM_REPRESENTATION : string := “UNSIGNED”; LPM_PIPELINE : naturlig := 0; LPM_TYPE: streng := L_COMPARE; LPM_HINT : string := “UNUSED”); port (DATAA: i std_logic_vector(LPM_WIDTH-1 ned til 0); DATAB: i std_logic_vector(LPM_WIDTH-1 ned til 0); ACLR: i std_logic:= '0'; KLOKKE: i std_logic:= '0'; std_logic: := '1'; AGB: ut std_logic; AGEB: ut std_logic; AEB: ut std_logic; ANEB: ut std_logic; ALB: ut std_logic; ALEB: ut std_logic); sluttkomponent;
6.4. VHDL LIBRARY_USE-erklæring
VHDL LIBRARY-USE-erklæringen er ikke nødvendig hvis du bruker VHDL-komponenterklæringen.
BIBLIOTEK lpm; BRUK lpm.lpm_components.all;
6.5. Porter
Følgende tabeller viser inngangs- og utgangsportene for LMP_COMPARE IP-kjernen.

Send tilbakemelding

Intel FPGA Integer Arithmetic IP Cores brukerveiledning 27

6. LPM_COMPARE (Komparator) 683490 | 2020.10.05

Tabell 18. LPM_COMPARE IP-kjerneinngangsporter

Portnavn

Obligatorisk

Beskrivelse

dataa[]

Ja

Datainput. Størrelsen på inngangsporten avhenger av parameterverdien LPM_WIDTH.

data[]

Ja

Datainput. Størrelsen på inngangsporten avhenger av parameterverdien LPM_WIDTH.

klokke

Ingen

Klokkeinngang for bruk i pipeline. Klokkeporten gir klokkeinngangen for en rørledning

operasjon. For andre LPM_PIPELINE-verdier enn 0 (standard), må klokkeporten være

aktivert.

clken

Ingen

Klokkeaktivert for bruk i pipeline. Når clken-porten er hevdet høy, vil

sammenligningsoperasjon finner sted. Når signalet er lavt, skjer ingen operasjon. Hvis

utelatt, er standardverdien 1.

aclr

Ingen

Asynkron klar for bruk i pipeline. Rørledningen initialiseres til en udefinert (X) logikk

nivå. aclr-porten kan brukes når som helst for å tilbakestille rørledningen til alle 0-er,

asynkront med klokkesignalet.

Tabell 19. LPM_COMPARE IP-kjerneutgangsporter

Portnavn

Obligatorisk

Beskrivelse

alb

Ingen

Utgangsport for komparatoren. Påstås hvis inngang A er mindre enn inngang B.

aeb

Ingen

Utgangsport for komparatoren. Påstås hvis inngang A er lik inngang B.

agb

Ingen

Utgangsport for komparatoren. Påstås hvis inngang A er større enn inngang B.

ageb

Ingen

Utgangsport for komparatoren. Påstås hvis inngang A er større enn eller lik inngang

B.

aneb

Ingen

Utgangsport for komparatoren. Påstått hvis inngang A ikke er lik inngang B.

aleb

Ingen

Utgangsport for komparatoren. Angitt hvis inngang A er mindre enn eller lik inngang B.

6.6. parametere

Tabellen nedenfor viser parameterne for LPM_COMPARE IP-kjernen.

Tabell 20. LPM_COMPARE IP-kjerneparametere

Parameternavn

Type

Obligatorisk

LPM_WIDTH

Heltall Ja

LPM_REPRESENTATION

String

Ingen

LPM_PIPELINE

Heltall nr

LPM_HINT

String

Ingen

Beskrivelse
Angir bredden på dataa[]- og dataab[]-portene.
Spesifiserer typen sammenligning som utføres. Verdier er SIGNERT og USIGNERT. Hvis den utelates, er standardverdien USIGNERT. Når denne parameterverdien er satt til SIGNED, tolker komparatoren datainngangen som fortegnet tos komplement.
Spesifiserer antall klokkesykluser med latens assosiert med alb, aeb, agb, ageb, alb eller aneb-utdata. En verdi på null (0) indikerer at ingen latens eksisterer, og at en ren kombinasjonsfunksjon vil bli instansiert. Hvis den utelates, er standardverdien 0 (ikke-pipelined).
Lar deg spesifisere Intel-spesifikke parametere i VHDL-design files (.vhd). Standardverdien er UNUSED.
fortsatte...

Intel FPGA Integer Arithmetic IP Cores brukerveiledning 28

Send tilbakemelding

6. LPM_COMPARE (Komparator) 683490 | 2020.10.05
Parameternavn LPM_TYPE INTENDED_DEVICE_FAMILY
ONE_INPUT_IS_CONSTANT

Skriv inn strengstreng
String

Påkrevd Nei Nr
Ingen

Beskrivelse
Identifiserer biblioteket av parameteriserte moduler (LPM) enhetsnavn i VHDL-design files.
Denne parameteren brukes til modellering og atferdssimulering. Parametereditoren beregner verdien for denne parameteren.
Intel-spesifikk parameter. Du må bruke parameteren LPM_HINT for å spesifisere parameteren ONE_INPUT_IS_CONSTANT i VHDL-design files. Verdiene er JA, NEI eller UBRUKT. Gir større optimalisering hvis en input er konstant. Hvis den utelates, er standardverdien NEI.

Send tilbakemelding

Intel FPGA Integer Arithmetic IP Cores brukerveiledning 29

683490 | 2020.10.05 Send tilbakemelding

7. ALTECC (Feilrettingskode: Encoder/Decoder) IP-kjerne

Figur 6.

Intel leverer ALTECC IP-kjernen for å implementere ECC-funksjonaliteten. ECC oppdager korrupte data som oppstår på mottakersiden under dataoverføring. Denne feilrettingsmetoden er best egnet for situasjoner der feil oppstår tilfeldig i stedet for i serier.

ECC oppdager feil gjennom prosessen med datakoding og dekoding. For eksample, når ECC brukes i en overføringsapplikasjon, blir data som leses fra kilden kodet før de sendes til mottakeren. Utgangen (kodeord) fra koderen består av rådataene vedlagt antall paritetsbiter. Det nøyaktige antallet paritetsbiter som legges til avhenger av antall biter i inngangsdataene. Det genererte kodeordet blir så overført til destinasjonen.

Mottakeren mottar kodeordet og dekoder det. Informasjon innhentet av dekoderen bestemmer om en feil oppdages. Dekoderen oppdager enkeltbits- og dobbelbitsfeil, men kan bare fikse enkeltbitsfeil i de ødelagte dataene. Denne typen ECC er single error correction double error detection (SECDED).

Du kan konfigurere koder- og dekoderfunksjonene til ALTECC IP-kjernen. Datainngangen til koderen er kodet for å generere et kodeord som er en kombinasjon av datainngangen og de genererte paritetsbitene. Det genererte kodeordet blir overført til dekodermodulen for dekoding like før det når sin destinasjonsblokk. Dekoderen genererer en syndromvektor for å bestemme om det er noen feil i det mottatte kodeordet. Dekoderen korrigerer dataene bare hvis enkeltbitsfeilen er fra databitene. Ingen signal blir flagget hvis enkeltbitsfeilen er fra paritetsbitene. Dekoderen har også flaggsignaler for å vise statusen til de mottatte dataene og handlingen som dekoderen tar, hvis noen.

Følgende figurer viser portene for ALTECC IP-kjernen.

ALTECC-koderporter

ALTECC_ENCODER

data[]

q[]

klokke

klokke

aclr

inst

Intel Corporation. Alle rettigheter forbeholdt. Intel, Intel-logoen og andre Intel-merker er varemerker for Intel Corporation eller dets datterselskaper. Intel garanterer ytelsen til sine FPGA- og halvlederprodukter i henhold til gjeldende spesifikasjoner i henhold til Intels standardgaranti, men forbeholder seg retten til å gjøre endringer i produkter og tjenester når som helst uten varsel. Intel påtar seg intet ansvar eller ansvar som oppstår som følge av applikasjonen eller bruken av informasjon, produkter eller tjenester som er beskrevet her, med mindre det er uttrykkelig skriftlig avtalt med Intel. Intel-kunder anbefales å få tak i den nyeste versjonen av enhetsspesifikasjonene før de stoler på publisert informasjon og før de bestiller produkter eller tjenester. *Andre navn og merker kan gjøres krav på som andres eiendom.

ISO 9001: 2015 Registrert

7. ALTECC (Feilrettingskode: Encoder/Decoder) IP Core 683490 | 2020.10.05

Figur 7. ALTECC-dekoderporter

ALTECC_DEKODER

data[] klokke klokke

q[] err_detected err_corrected
err_fatal

aclr

inst

7.1. ALTECC-koderfunksjoner

IP-kjernen for ALTECC-koderen tilbyr følgende funksjoner: · Utfører datakoding ved hjelp av Hamming-kodingsskjemaet · Støtter databredde på 2 biter · Støtter signerte og usignerte datarepresentasjonsformater · Støtter pipelining med utdatalatens på enten én eller to klokkesykluser · Støtter valgfritt asynkrone klare og klokkeaktiverte porter

ALTECC-koderens IP-kjerne tar inn og koder dataene ved hjelp av Hamming-kodingsskjemaet. Hamming-kodingsskjemaet utleder paritetsbitene og legger dem til de originale dataene for å produsere utgangskodeordet. Antallet paritetsbiter som legges til avhenger av bredden på dataene.

Følgende tabell viser antall paritetsbiter som er lagt til for forskjellige databredder. Kolonnen Totale biter representerer det totale antallet inndatabiter og tilføyde paritetsbiter.

Tabell 21.

Antall paritetsbiter og kodeord i henhold til databredde

Databredde

Antall paritetsbiter

Totale biter (kodeord)

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

Paritetsbitavledningen bruker en jevn paritetskontroll. Den ekstra 1 biten (vist i tabellen som +1) legges til paritetsbitene som MSB for kodeordet. Dette sikrer at kodeordet har et partall på 1-er. For eksample, hvis databredden er 4 biter, legges 4 paritetsbiter til dataene for å bli et kodeord med totalt 8 biter. Hvis 7 biter fra LSB til 8-bits kodeord har et oddetall på 1-er, er den åttende biten (MSB) i kodeordet 8, noe som gjør det totale antallet 1-ere i kodeordet partall.
Den følgende figuren viser det genererte kodeordet og arrangementet av paritetsbitene og databitene i en 8-bits datainngang.

Send tilbakemelding

Intel FPGA Integer Arithmetic IP Cores brukerveiledning 31

7. ALTECC (Feilrettingskode: Encoder/Decoder) IP Core 683490 | 2020.10.05

Figur 8.

Paritetsbiter og databitarrangement i et 8-bit generert kodeord

MSB

LSB

4 paritetsbiter

4 databiter

8

1

ALTECC-koderens IP-kjerne aksepterer kun inngangsbredder på 2 til 64 biter om gangen. Inngangsbredder på 12 biter, 29 biter og 64 biter, som er ideelt egnet for Intel-enheter, genererer utganger på henholdsvis 18 biter, 36 biter og 72 biter. Du kan kontrollere bitseleksjonsbegrensningen i parametereditoren.

7.2. Verilog HDL-prototype (ALTECC_ENCODER)
Følgende Verilog HDL-prototype er plassert i Verilog Design File (.v) lpm.v i edasynthesis katalog.
modul altecc_encoder #( parameter intended_device_family = "unused", parameter lpm_pipeline = 0, parameter width_codeword = 8, parameter width_dataword = 8, parameter lpm_type = "altecc_encoder", parameter lpm_hint = "unused") (inngang wire aclr, input wire aclr, input wire aclr wire clocken, input wire [width_dataword-1:0] data, output wire [width_codeword-1:0] q); endemodul

7.3. Verilog HDL-prototype (ALTECC_DECODER)
Følgende Verilog HDL-prototype er plassert i Verilog Design File (.v) lpm.v i edasynthesis katalog.
modul altecc_decoder #( parameter intended_device_family = "unused", parameter lpm_pipeline = 0, parameter width_codeword = 8, parameter width_dataword = 8, parameter lpm_type = "altecc_decoder", parameter lpm_hint = "unused") (inngang wire aclr, input wire aclr, input wire aclr wire clocken, input wire [width_codeword-1:0] data, output wire err_corrected, output wire err_detected, outout wire err_fatal, output wire [width_dataword-1:0] q); endemodul

Intel FPGA Integer Arithmetic IP Cores brukerveiledning 32

Send tilbakemelding

7. ALTECC (Feilrettingskode: Encoder/Decoder) IP Core 683490 | 2020.10.05
7.4. VHDL-komponenterklæring (ALTECC_ENCODER)
VHDL-komponentdeklarasjonen er plassert i VHDL-designet File (.vhd) altera_mf_components.vhd i librariesvhdlaltera_mf katalog.
component altecc_encoder generic ( intended_device_family:string := “unused”; lpm_pipeline:natural := 0; width_codeword:natural := 8; width_dataword:natural := 8; lpm_hint:string := “UNUSED: cc "); port(aclr:in std_logic:= '0'; klokke:in std_logic:= '0'; clocken:in std_logic:= '1'; data:in std_logic_vector(width_dataword-1 ned til 0); q:out std_logic_vector(width_codeword -1 ned til 0)); sluttkomponent;
7.5. VHDL-komponenterklæring (ALTECC_DECODER)
VHDL-komponentdeklarasjonen er plassert i VHDL-designet File (.vhd) altera_mf_components.vhd i librariesvhdlaltera_mf katalog.
component altecc_decoder generic ( intended_device_family:string := “unused”; lpm_pipeline:natural := 0; width_codeword:natural := 8; width_dataword:natural := 8; lpm_hint:string := “UNUSED”; _pm_coder "); port(aclr:in std_logic:= '0'; klokke:in std_logic:= '0'; clocken:in std_logic:= '1'; data:in std_logic_vector(width_codeword-1 ned til 0); err_corrected: out std_logic; err_detected : ut std_logic; q:out std_logic_vector(width_dataword-1 ned til 0); syn_e: out std_logic); sluttkomponent;
7.6. VHDL LIBRARY_USE-erklæring
VHDL LIBRARY-USE-erklæringen er ikke nødvendig hvis du bruker VHDL-komponenterklæringen.
BIBLIOTEK altera_mf; BRUK altera_mf.altera_mf_components.all;
7.7. Koderporter
Følgende tabeller viser inngangs- og utgangsportene for ALTECC-koderens IP-kjerner.

Send tilbakemelding

Intel FPGA Integer Arithmetic IP Cores brukerveiledning 33

7. ALTECC (Feilrettingskode: Encoder/Decoder) IP Core 683490 | 2020.10.05

Tabell 22. ALTECC-koderinngangsporter

Portnavn

Obligatorisk

Beskrivelse

data[]

Ja

Datainngangsport. Størrelsen på inngangsporten avhenger av WIDTH_DATAWORD

parameterverdi. Data[]-porten inneholder rådataene som skal kodes.

klokke

Ja

Klokkeinngangsport som gir klokkesignalet for å synkronisere kodingsoperasjonen.

Klokkeporten er nødvendig når LPM_PIPELINE-verdien er større enn 0.

klokke

Ingen

Klokkeaktivert. Hvis den utelates, er standardverdien 1.

aclr

Ingen

Asynkron klar inngang. Det aktive høye aclr-signalet kan brukes når som helst for å

tømme registrene asynkront.

Tabell 23. ALTECC-koderutgangsporter

Portnavn q[]

Påkrevd Ja

Beskrivelse
Utgangsport for kodet data. Størrelsen på utgangsporten avhenger av parameterverdien WIDTH_CODEWORD.

7.8. Dekoderporter

Følgende tabeller viser inngangs- og utgangsportene for ALTECC-dekoderens IP-kjerne.

Tabell 24. ALTECC-dekoderinngangsporter

Portnavn

Obligatorisk

Beskrivelse

data[]

Ja

Datainngangsport. Størrelsen på inngangsporten avhenger av parameterverdien WIDTH_CODEWORD.

klokke

Ja

Klokkeinngangsport som gir klokkesignalet for å synkronisere kodingsoperasjonen. Klokkeporten er nødvendig når LPM_PIPELINE-verdien er større enn 0.

klokke

Ingen

Klokkeaktivert. Hvis den utelates, er standardverdien 1.

aclr

Ingen

Asynkron klar inngang. Det aktive høye aclr-signalet kan brukes når som helst for asynkront å tømme registrene.

Tabell 25. ALTECC-dekoderutgangsporter

Portnavn q[]

Påkrevd Ja

Beskrivelse
Utgangsport for dekodet data. Størrelsen på utgangsporten avhenger av parameterverdien WIDTH_DATAWORD.

err_detected Ja

Flaggsignal for å gjenspeile statusen til mottatte data og spesifisere eventuelle feil funnet.

err_correcte Ja d

Flaggsignal for å gjenspeile statusen til mottatte data. Angir enkeltbitsfeil funnet og rettet. Du kan bruke dataene fordi de allerede er korrigert.

err_fatal

Ja

Flaggsignal for å gjenspeile statusen til mottatte data. Angir dobbeltbitfeil funnet, men ikke rettet. Du må ikke bruke dataene hvis dette signalet er hevdet.

syn_e

Ingen

Et utgangssignal som vil gå høyt hver gang en enkeltbits feil oppdages på pariteten

biter.

7.9. Koderparametere
Tabellen nedenfor viser parameterne for ALTECC-koderens IP-kjerner.

Intel FPGA Integer Arithmetic IP Cores brukerveiledning 34

Send tilbakemelding

7. ALTECC (Feilrettingskode: Encoder/Decoder) IP Core 683490 | 2020.10.05

Tabell 26. ALTECC Encoder Parameters

Parameternavn

Type

Obligatorisk

Beskrivelse

WIDTH_DATAWORD

Heltall Ja

Angir bredden på rådataene. Verdiene er fra 2 til 64. Hvis den utelates, er standardverdien 8.

WIDTH_CODEWORD

Heltall Ja

Angir bredden på det tilsvarende kodeordet. Gyldige verdier er fra 6 til 72, unntatt 9, 17, 33 og 65. Hvis de utelates, er standardverdien 13.

LPM_PIPELINE

Heltall nr

Spesifiserer rørledningen for kretsen. Verdiene er fra 0 til 2. Hvis verdien er 0, blir ikke portene registrert. Hvis verdien er 1, blir utgangsportene registrert. Hvis verdien er 2, registreres inngangs- og utgangsportene. Hvis den utelates, er standardverdien 0.

7.10. Dekoderparametere

Følgende tabell viser ALTECC-dekoderens IP-kjerneparametere.

Tabell 27. ALTECC-dekoderparametere

Parameternavn WIDTH_DATAWORD

Skriv heltall

Obligatorisk

Beskrivelse

Ja

Angir bredden på rådataene. Verdiene er 2 til 64. The

standardverdien er 8.

WIDTH_CODEWORD

Heltall

Ja

Angir bredden på det tilsvarende kodeordet. Verdiene er 6

til 72, unntatt 9, 17, 33 og 65. Hvis utelatt, standardverdien

er 13.

LPM_PIPELINE

Heltall

Ingen

Spesifiserer registeret til kretsen. Verdiene er fra 0 til 2. Hvis

verdien er 0, ingen register er implementert. Hvis verdien er 1, vil

utgang er registrert. Hvis verdien er 2, vil både inngangen og

utgang er registrert. Hvis verdien er større enn 2, tillegg

registre implementeres ved utgangen for tillegget

ventetider. Hvis den utelates, er standardverdien 0.

Opprett en 'syn_e'-port

Heltall

Ingen

Slå på denne parameteren for å opprette en syn_e-port.

Send tilbakemelding

Intel FPGA Integer Arithmetic IP Cores brukerveiledning 35

683490 | 2020.10.05 Send tilbakemelding

8. Intel FPGA Multiply Adder IP Core

Figur 9.

Intel FPGA Multiply Adder (Intel Stratix 10, Intel Arria 10 og Intel Cyclone 10 GX-enheter) eller ALTERA_MULT_ADD (Arria V-, Stratix V- og Cyclone V-enheter) IP-kjernen lar deg implementere en multiplikator-adder.

Følgende figur viser portene for Intel FPGA Multiply Adder eller ALTERA_MULT_ADD IP-kjerne.

Intel FPGA Multiply Adder eller ALTERA_MULT_ADD-porter

Intel FPGA Multiply Adder eller ALTERA_MULT_ADD

dataa[] signa datab[] signb datac[] coefsel0[] coefsel1[] coefsel2[] coefsel3[] addnsub1 addnsub3 aclr/sclr[] scanina[] klokke0 klokke1 klokke2 ena0 ena1 ena2 sload_accum
accum_sload chainin[]

scanouta[] resultat[]

aclr0 aclr1

inst
En multiplikator-adder aksepterer par med innganger, multipliserer verdiene sammen og legger deretter til eller trekker fra produktene til alle andre par.
Hvis alle inngangsdatabreddene er 9-biters brede eller mindre, bruker funksjonen 9 x 9-biters inngangsmultiplikatorkonfigurasjon i DSP-blokken for enheter som støtter 9 x 9-konfigurasjon. Hvis ikke, bruker DSP-blokken 18 × 18-bits inngangsmultiplikatorer for å behandle data med bredder mellom 10 biter og 18 biter. Hvis flere Intel FPGA Multiply Adder eller ALTERA_MULT_ADD IP-kjerner forekommer i en design, distribueres funksjonene til som

Intel Corporation. Alle rettigheter forbeholdt. Intel, Intel-logoen og andre Intel-merker er varemerker for Intel Corporation eller dets datterselskaper. Intel garanterer ytelsen til sine FPGA- og halvlederprodukter i henhold til gjeldende spesifikasjoner i henhold til Intels standardgaranti, men forbeholder seg retten til å gjøre endringer i produkter og tjenester når som helst uten varsel. Intel påtar seg intet ansvar eller ansvar som oppstår som følge av applikasjonen eller bruken av informasjon, produkter eller tjenester som er beskrevet her, med mindre det er uttrykkelig skriftlig avtalt med Intel. Intel-kunder anbefales å få tak i den nyeste versjonen av enhetsspesifikasjonene før de stoler på publisert informasjon og før de bestiller produkter eller tjenester. *Andre navn og merker kan gjøres krav på som andres eiendom.

ISO 9001: 2015 Registrert

8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
mange forskjellige DSP-blokker som mulig slik at ruting til disse blokkene er mer fleksibel. Færre multiplikatorer per DSP-blokk tillater flere rutevalg inn i blokken ved å minimere banene til resten av enheten.
Registrene og ekstra rørledningsregistre for følgende signaler er også plassert inne i DSP-blokken: · Datainngang · Signert eller usignert velg · Legg til eller subtraher velg · Produkter av multiplikatorer
Når det gjelder utgangsresultatet, plasseres det første registeret i DSP-blokken. Imidlertid er de ekstra latensregistrene plassert i logiske elementer utenfor blokken. Perifer til DSP-blokken, inkludert datainnganger til multiplikatoren, kontrollsignalinnganger og utganger til addereren, bruker vanlig ruting for å kommunisere med resten av enheten. Alle tilkoblinger i funksjonen bruker dedikert ruting inne i DSP-blokken. Denne dedikerte rutingen inkluderer skiftregisterkjedene når du velger alternativet for å skifte en multiplikators registrerte inngangsdata fra en multiplikator til en tilstøtende multiplikator.
For mer informasjon om DSP-blokker i noen av Stratix V- og Arria V-enhetsseriene, se kapittelet DSP Blocks i de respektive håndbøkene på siden Litteratur og teknisk dokumentasjon.
Relatert informasjon AN 306: Implementering av multiplikatorer i FPGA-enheter
Gir mer informasjon om implementering av multiplikatorer ved bruk av DSP og minneblokker i Intel FPGA-enheter.
8.1. Funksjoner
Intel FPGA Multiply Adder eller ALTERA_MULT_ADD IP-kjernen tilbyr følgende funksjoner: · Genererer en multiplikator for å utføre multiplikasjonsoperasjoner av to komplekse
tall Merk: Når du bygger multiplikatorer som er større enn den opprinnelig støttede størrelsen, kan/
vil være en ytelsespåvirkning som følge av kaskaden av DSP-blokkene. · Støtter databredder på 1 256 biter · Støtter signerte og usignerte datarepresentasjonsformater · Støtter pipelining med konfigurerbar inngangsforsinkelse · Gir et alternativ for dynamisk å bytte mellom signerte og usignerte datastøtte · Gir et alternativ for dynamisk å bytte mellom add- og subtrahering · Støtter valgfri asynkron og synkron klar- og klokkeaktiverte inngangsporter · Støtter systolisk forsinkelsesregistermodus · Støtter pre-adder med 8 pre-load koeffisienter per multiplikator · Støtter pre-load konstant for å komplementere akkumulatortilbakemelding

Send tilbakemelding

Intel FPGA Integer Arithmetic IP Cores brukerveiledning 37

8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05

8.1.1. Pre-adder
Med pre-adder gjøres addisjoner eller subtraksjoner før multiplikatoren mates.
Det er fem pre-adder-moduser: · Enkel modus · Koeffisientmodus · Inndatamodus · Firkantmodus · Konstant modus

Note:

Når pre-adder brukes (pre-adder koeffisient/inngang/kvadratmodus), må alle datainnganger til multiplikatoren ha samme klokkeinnstilling.

8.1.1.1. Enkel modus for forhåndsadder

I denne modusen stammer begge operandene fra inngangsportene og pre-adder blir ikke brukt eller forbigått. Dette er standardmodusen.

Figur 10. Enkel modus for forhåndsadder
a0 b0

Multi0

resultat

8.1.1.2. Pre-adder koeffisientmodus
I denne modusen avledes en multiplikatoroperand fra pre-adderen, og den andre operanden kommer fra den interne koeffisientlagringen. Koeffisientlagringen tillater opptil 8 forhåndsinnstilte konstanter. Koeffisientvalgsignalene er coefsel[0..3].
Denne modusen er uttrykt i følgende ligning.

Følgende viser pre-adder koeffisientmodusen til en multiplikator.

Figur 11. Pre-adder koeffisientmodus

Preadder

a0

Multi0

+/-

resultat

b0

coefsel0 coef

Intel FPGA Integer Arithmetic IP Cores brukerveiledning 38

Send tilbakemelding

8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
8.1.1.3. Pre-adder-inngangsmodus I denne modusen stammer en multiplikatoroperand fra pre-adderen, og den andre operanden stammer fra datac[]-inngangsporten. Denne modusen er uttrykt i følgende ligning.

Følgende viser pre-adder-inndatamodusen til en multiplikator.

Figur 12. Pre-adder Input Mode
a0 b0

Multi0

+/-

resultat

c0

8.1.1.4. Pre-adder Square Mode Denne modusen uttrykkes i følgende ligning.

Følgende viser pre-adder-kvadratmodus for to multiplikatorer.

Figur 13. Pre-adder Square Mode
a0 b0

Multi0

+/-

resultat

8.1.1.5. Pre-adder Constant Mode
I denne modusen stammer en multiplikatoroperand fra inngangsporten, og den andre operanden kommer fra den interne koeffisientlagringen. Koeffisientlagringen tillater opptil 8 forhåndsinnstilte konstanter. Koeffisientvalgsignalene er coefsel[0..3].
Denne modusen er uttrykt i følgende ligning.

Send tilbakemelding

Intel FPGA Integer Arithmetic IP Cores brukerveiledning 39

8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05

Følgende figur viser pre-adder konstant modus for en multiplikator.

Figur 14. Pre-adder Constant Mode
a0

Multi0

resultat

coefsel0
coef
8.1.2. Systolisk forsinkelsesregister
I en systolisk arkitektur mates inndataene inn i en kaskade av registre som fungerer som en databuffer. Hvert register leverer en inngang sample til en multiplikator hvor den multipliseres med den respektive koeffisienten. Kjedeaddereren lagrer de gradvis kombinerte resultatene fra multiplikatoren og det tidligere registrerte resultatet fra chainin[] inngangsporten for å danne det endelige resultatet. Hvert multipliser-add-element må forsinkes med en enkelt syklus slik at resultatene synkroniseres på riktig måte når de legges sammen. Hver påfølgende forsinkelse brukes til å adressere både koeffisientminnet og databufferen til deres respektive multiplikasjonsadderingselementer. For eksample, en enkelt forsinkelse for det andre multiplisere add-elementet, to forsinkelser for det tredje multiplisere-legge-elementet, og så videre.
Figur 15. Systoliske registre
Systoliske registre

x(t) c(0)

S -1

S -1

c(1)

S -1

S -1

c(2)

S -1

S -1

c(N-1)

S -1

S -1

S -1

S -1 y(t)

x(t) representerer resultatene fra en kontinuerlig strøm av input samples og y(t)
representerer summeringen av et sett med input samples, og med tiden multiplisert med deres
respektive koeffisienter. Både input- og outputresultatene flyter fra venstre til høyre. c(0) til c(N-1) angir koeffisientene. De systoliske forsinkelsesregistrene er betegnet med S-1, mens 1-en representerer en enkelt klokkeforsinkelse. Systoliske forsinkelsesregistre legges til kl
inngangene og utgangene for pipelining på en måte som sikrer resultatene fra
multiplikatoroperand og de akkumulerte summene forblir synkroniserte. Dette behandlingselementet
er replikert for å danne en krets som beregner filtreringsfunksjonen. Denne funksjonen er
uttrykt i følgende ligning.

Intel FPGA Integer Arithmetic IP Cores brukerveiledning 40

Send tilbakemelding

8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05

N representerer antall sykluser med data som er lagt inn i akkumulatoren, y(t) representerer utgangen på tidspunktet t, A(t) representerer inngangen på tidspunktet t, og B(i) er koeffisientene. t og i i ligningen tilsvarer et bestemt øyeblikk i tid, så for å beregne utgangen sample y(t) på tidspunktet t, en gruppe av inndata samples på N forskjellige tidspunkter, eller A(n), A(n-1), A(n-2), … A(n-N+1) kreves. Gruppen av N inngangeramples multipliseres med N koeffisienter og summeres sammen for å danne det endelige resultatet y.
Den systoliske registerarkitekturen er kun tilgjengelig for sum-av-2 og sum-av-4 moduser. For begge systoliske registerarkitekturmoduser må det første kjedesignalet være knyttet til 0.
Følgende figur viser den systoliske forsinkelsesregisterimplementeringen av 2 multiplikatorer.
Figur 16. Implementering av systolisk forsinkelsesregister av 2 multiplikatorer
kjetting

a0

Multi0

+/-

b0

a1

Multi1

+/-

b1

resultat
Summen av to multiplikatorer uttrykkes i følgende ligning.
Følgende figur viser den systoliske forsinkelsesregisterimplementeringen av 4 multiplikatorer.

Send tilbakemelding

Intel FPGA Integer Arithmetic IP Cores brukerveiledning 41

8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05

Figur 17. Implementering av systolisk forsinkelsesregister av 4 multiplikatorer
kjetting

a0

Multi0

+/-

b0

a1

Multi1

+/-

b1

a2

Multi2

+/-

b2

a3

Multi3

+/-

b3

resultat
Summen av fire multiplikatorer uttrykkes i følgende ligning. Figur 18. Sum av 4 multiplikatorer
Følgende lister opp advantage-er for systolisk registerimplementering: · Reduserer DSP-ressursbruk · Muliggjør effektiv kartlegging i DSP-blokken ved å bruke kjedeadderstrukturen

Intel FPGA Integer Arithmetic IP Cores brukerveiledning 42

Send tilbakemelding

8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05

8.1.3. Pre-load konstant
Forbelastningskonstanten kontrollerer akkumulatoroperanden og utfyller akkumulatortilbakemeldinger. Den gyldige LOADCONST_VALUE varierer fra 0. Den konstante verdien er lik 64N, hvor N = LOADCONST_VALUE. Når LOADCONST_VALUE er satt til 2, er konstantverdien lik 64. Denne funksjonen kan brukes som skjev avrunding.
Følgende figur viser pre-load konstant implementering.
Figur 19. Pre-load Constant

Akkumulator tilbakemelding

konstant

a0

Multi0

+/-

b0

a1

Multi1

+/b1

resultat

accum_sload sload_accum

Se følgende IP-kjerner for andre multiplikatorimplementeringer: · ALTMULT_ACCUM · ALTMEMMULT · LPM_MULT
8.1.4. Dobbel akkumulator
Dobbeltakkumulatorfunksjonen legger til et ekstra register i akkumulatortilbakemeldingsbanen. Det doble akkumulatorregisteret følger utgangsregisteret, som inkluderer klokken, klokkeaktivering og aclr. Det ekstra akkumulatorregisteret returnerer resultatet med en forsinkelse på én syklus. Denne funksjonen lar deg ha to akkumulatorkanaler med samme ressursantall.
Følgende figur viser implementeringen av dobbel akkumulator.

Send tilbakemelding

Intel FPGA Integer Arithmetic IP Cores brukerveiledning 43

8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05

Figur 20. Dobbel akkumulator

Doble Accu mulator Register

Akku mulator tilbakemelding

a0

Multi0

+/-

b0

a1

Multi1

+/b1

Utgangsresultat Utgangsregister

8.2. Verilog HDL-prototype
Du kan finne Intel FPGA Multiply Adder eller ALTERA_MULT_ADD Verilog HDL prototype file (altera_mult_add_rtl.v) i librariesmegafunctions-katalogen.
8.3. VHDL-komponenterklæring
VHDL-komponentdeklarasjonen er plassert i altera_lnsim_components.vhd i librariesvhdl altera_lnsim katalog.
8.4. VHDL LIBRARY_USE-erklæring
VHDL LIBRARY-USE-erklæringen er ikke nødvendig hvis du bruker VHDL-komponenterklæringen.
BIBLIOTEK altera_mf; BRUK altera_mf.altera_mf_components.all;

8.5. Signaler

Følgende tabeller viser inngangs- og utgangssignalene til Multiply Adder Intel FPGA IP- eller ALTERA_MULT_ADD IP-kjernen.

Tabell 28. Multiply Adder Intel FPGA IP eller ALTERA_MULT_ADD inngangssignaler

Signal

Obligatorisk

Beskrivelse

dataa_0[]/dataa_1[]/

Ja

dataa_2[]/dataa_3[]

Datainngang til multiplikatoren. Inngangsport [NUMBER_OF_MULTIPLIERS * WIDTH_A – 1 … 0] bred
fortsatte...

Intel FPGA Integer Arithmetic IP Cores brukerveiledning 44

Send tilbakemelding

8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05

Signal datab_0[]/datab_1[]/ datab_2[]/datab_3[] datac_0[] /datac_1[]/ datac_2[]/datac_3[] klokke[1:0] aclr[1:0] sclr[1:0] ena [1:0] signa
signb
scanina[] accum_sload

Påkrevd Ja Nei
Nei nei nei nei nei
Ingen
Nei Nei

Beskrivelse
Simuleringsmodellen for denne IP-en støtter ubestemt inngangsverdi (X) til disse signalene. Når du gir X-verdi til disse signalene, forplantes X-verdien på utgangssignalene.
Datainngang til multiplikatoren. Inngangssignal [NUMBER_OF_MULTIPLIERS * WIDTH_B – 1 … 0] bredt Simuleringsmodellen for denne IP støtter ubestemt inngangsverdi (X) til disse signalene. Når du gir X-verdi til disse signalene, forplantes X-verdien på utgangssignalene.
Datainngang til multiplikatoren. Inngangssignal [NUMBER_OF_MULTIPLIERS * WIDTH_C – 1, … 0] bredt Velg INPUT for parameteren Velg forhåndsaddermodus for å aktivere disse signalene. Simuleringsmodellen for denne IP-en støtter ubestemt inngangsverdi (X) til disse signalene. Når du gir X-verdi til disse signalene, forplantes X-verdien på utgangssignalene.
Klokkeinngangsport til det tilsvarende registeret. Dette signalet kan brukes av ethvert register i IP-kjernen. Simuleringsmodellen for denne IP-en støtter ubestemt inngangsverdi (X) til disse signalene. Når du gir X-verdi til disse signalene, forplantes X-verdien på utgangssignalene.
Asynkron sletteinngang til tilsvarende register. Simuleringsmodellen for denne IP-en støtter ubestemt inngangsverdi (X) til disse signalene. Når du gir X-verdi til disse signalene, forplantes X-verdien på utgangssignalene.
Synkron klarinngang til tilsvarende register. Simuleringsmodellen for denne IP-en støtter ubestemt inngangsverdi X til disse signalene. Når du gir X-verdi til disse signalene, forplantes X-verdien på utgangssignalene
Aktiver signalinngang til det tilsvarende registeret. Simuleringsmodellen for denne IP-en støtter ubestemt inngangsverdi (X) til disse signalene. Når du gir X-verdi til disse signalene, forplantes X-verdien på utgangssignalene.
Spesifiserer den numeriske representasjonen av multiplikatorinngang A. Hvis signalsignalet er høyt, behandler multiplikatoren multiplikatorinngang A-signalet som et fortegnet tall. Hvis signalet er lavt, behandler multiplikatoren multiplikatorinngangssignalet A som et tall uten fortegn. Velg VARIABLE for Hva er representasjonsformatet for Multiplikator A-inngangsparameter for å aktivere dette signalet. Simuleringsmodellen for denne IP-en støtter ubestemt inngangsverdi (X) til dette signalet. Når du gir X-verdi til denne inngangen, forplantes X-verdien på utgangssignalene.
Spesifiserer den numeriske representasjonen av multiplikatorinngangssignalet B. Hvis fortegnb-signalet er høyt, behandler multiplikatoren multiplikatorinngang B-signalet som et fortegnet tos komplementnummer. Hvis fortegnssignalet er lavt, behandler multiplikatoren multiplikatorinngangssignalet B som et tall uten fortegn. Simuleringsmodellen for denne IP-en støtter ubestemt inngangsverdi (X) til dette signalet. Når du gir X-verdi til denne inngangen, forplantes X-verdien på utgangssignalene.
Inngang for skannekjede A. Inngangssignal [WIDTH_A – 1, … 0] bredt. Når INPUT_SOURCE_A-parameteren har verdien SCANA, kreves scanina[]-signalet.
Spesifiserer dynamisk om akkumulatorverdien er konstant. Hvis accum_sload-signalet er lavt, blir multiplikatorutgangen lastet inn i akkumulatoren. Ikke bruk accum_sload og sload_accum samtidig.
fortsatte...

Send tilbakemelding

Intel FPGA Integer Arithmetic IP Cores brukerveiledning 45

8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05

Signalbelastning_akkum
chainin[] addnsub1
addnsub3
coefsel0[] coefsel1[] coefsel2[] coefsel3[]

Påkrevd nr
Nei Nei
Ingen
Nei nei nei nei

Beskrivelse
Simuleringsmodellen for denne IP-en støtter ubestemt inngangsverdi (X) til dette signalet. Når du gir X-verdi til denne inngangen, forplantes X-verdien på utgangssignalene.
Spesifiserer dynamisk om akkumulatorverdien er konstant. Hvis sload_accum-signalet er høyt, blir multiplikatorutgangen lastet inn i akkumulatoren. Ikke bruk accum_sload og sload_accum samtidig. Simuleringsmodellen for denne IP-en støtter ubestemt inngangsverdi (X) til dette signalet. Når du gir X-verdi til denne inngangen, forplantes X-verdien på utgangssignalene.
Adder resultat input buss fra de foregående stage. Inngangssignal [WIDTH_CHAININ – 1, … 0] bredt.
Utfør addisjon eller subtraksjon til utdataene fra det første multiplikatorparet. Inngang 1 til addnsub1-signal for å legge til utgangene fra det første multiplikatorparet. Inngang 0 til addnsub1-signal for å subtrahere utgangene fra det første multiplikatorparet. Simuleringsmodellen for denne IP-en støtter ubestemt inngangsverdi (X) til dette signalet. Når du gir X-verdi til denne inngangen, forplantes X-verdien på utgangssignalene.
Utfør addisjon eller subtraksjon til utdataene fra det første multiplikatorparet. Inngang 1 til addnsub3-signal for å legge til utgangene fra det andre multiplikatorparet. Inngang 0 til addnsub3-signal for å subtrahere utgangene fra det første multiplikatorparet. Simuleringsmodellen for denne IP-en støtter ubestemt inngangsverdi (X) til dette signalet. Når du gir X-verdi til denne inngangen, forplantes X-verdien på utgangssignalene.
Koeffisientinngangssignal[0:3] til den første multiplikatoren. Simuleringsmodellen for denne IP-en støtter ubestemt inngangsverdi (X) til dette signalet. Når du gir X-verdi til denne inngangen, forplantes X-verdien på utgangssignalene.
Koeffisientinngangssignal[0:3] til den andre multiplikatoren. Simuleringsmodellen for denne IP-en støtter ubestemt inngangsverdi (X) til dette signalet. Når du gir X-verdi til denne inngangen, forplantes X-verdien på utgangssignalene.
Koeffisientinngangssignal[0:3] til den tredje multiplikatoren. Simuleringsmodellen for denne IP-en støtter ubestemt inngangsverdi (X) til dette signalet. Når du gir X-verdi til denne inngangen, forplantes X-verdien på utgangssignalene.
Koeffisientinngangssignal [0:3] til den fjerde multiplikatoren. Simuleringsmodellen for denne IP-en støtter ubestemt inngangsverdi (X) til dette signalet. Når du gir X-verdi til denne inngangen, forplantes X-verdien på utgangssignalene.

Tabell 29. Multiply Adder Intel FPGA IP-utgangssignaler

Signal

Obligatorisk

Beskrivelse

resultat []

Ja

Multiplikator utgangssignal. Utgangssignal [WIDTH_RESULT – 1 … 0] bredt

Simuleringsmodellen for denne IP-en støtter ubestemt utgangsverdi (X). Når du oppgir X-verdi som inngang, forplantes X-verdien på dette signalet.

scanouta []

Ingen

Utgang fra skannekjede A. Utgangssignal [WIDTH_A – 1..0] bredt.

Velg mer enn 2 for antall multiplikatorer og velg Skann kjedeinngang for Hva er inngangen A til multiplikatoren koblet til parameteren for å aktivere dette signalet.

Intel FPGA Integer Arithmetic IP Cores brukerveiledning 46

Send tilbakemelding

8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05

8.6. parametere

8.6.1. Generelt-fanen

Tabell 30. Generelt Tab

Parameter

IP generert parameter

Verdi

Hva er antallet multiplikatorer?

antall_m 1 – 4 ultiplikatorer

Hvor brede skal A width_a-inngangsbussene være?

1 – 256

Hvor brede skal B width_b inngangsbussene være?

1 – 256

Hvor bred skal "resultat"-utgangsbussen være?

width_result

1 – 256

Opprett en tilknyttet klokkeaktivering for hver klokke

gui_associate På d_clock_enabl Av e

8.6.2. Kategorien Ekstra moduser

Tabell 31. Kategorien Ekstra Modi

Parameter

IP generert parameter

Verdi

Konfigurasjon av utganger

Registrer utdata fra addererenheten

gui_output_re På

i går

Av

Hva er kilden for klokkeinngang?

gui_output_re gister_clock

Klokke0 Klokke1 Klokke2

Hva er kilden for asynkron klar input?

gui_output_re gister_aclr

INGEN ACLR0 ACLR1

Hva er kilden for synkron klar input?

gui_output_re gister_sclr

INGEN SCLR0 SCLR1

Adderoperasjon

Hvilken operasjon skal utføres på utgangene til det første multiplikatorparet?

gui_multiplikator 1_retning

ADD, SUB, VARIABLE

Standardverdi 1
16

Beskrivelse
Antall multiplikatorer som skal legges sammen. Verdiene er 1 til 4. Spesifiser bredden på dataa[]-porten.

16

Spesifiser bredden på dataab[]-porten.

32

Spesifiser bredden på resultat[]-porten.

Av

Velg dette alternativet for å opprette klokkeaktivering

for hver klokke.

Standardverdi

Beskrivelse

Av klokken 0
INGEN INGEN

Velg dette alternativet for å aktivere utgangsregister for adderermodulen.
Velg Klokke0 , Klokke1 eller Klokke2 for å aktivere og spesifisere klokkekilden for utgangsregistre. Du må velge Registrer utgang for adderingsenheten for å aktivere denne parameteren.
Spesifiserer den asynkrone slettekilden for adderutgangsregisteret. Du må velge Registrer utgang for adderingsenheten for å aktivere denne parameteren.
Spesifiserer den synkrone slettekilden for adderutgangsregisteret. Du må velge Registrer utgang for adderingsenheten for å aktivere denne parameteren.

LEGGE TIL

Velg addisjons- eller subtraksjonsoperasjon som skal utføres for utgangene mellom den første og andre multiplikatoren.
· Velg ADD for å utføre tilleggsoperasjon.
· Velg SUB for å utføre subtraksjonsoperasjoner.
· Velg VARIABLE for å bruke addnsub1-porten for dynamisk addisjons-/subtraksjonskontroll.
fortsatte...

Send tilbakemelding

Intel FPGA Integer Arithmetic IP Cores brukerveiledning 47

8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05

Parameter

IP generert parameter

Verdi

Registrer 'addnsub1'-inngang

gui_addnsub_ On multiplier_reg Off ister1

Hva er kilden for klokkeinngang?

gui_addnsub_ multiplier_reg ister1_clock

Klokke0 Klokke1 Klokke2

Hva er kilden for asynkron klar input?

gui_addnsub_ multiplier_aclr 1

INGEN ACLR0 ACLR1

Hva er kilden for synkron klar input?

gui_addnsub_ multiplier_sclr 1

INGEN SCLR0 SCLR1

Hvilken operasjon skal utføres på utgangene til det andre multiplikatorparet?

gui_multiplikator 3_retning

ADD, SUB, VARIABLE

Registrer 'addnsub3'-inngang

gui_addnsub_ On multiplier_reg Off ister3

Hva er kilden for klokkeinngang?

gui_addnsub_ multiplier_reg ister3_clock

Klokke0 Klokke1 Klokke2

Standardverdi
Av Klokke0 INGEN INGEN LEGG TIL
Av klokken 0

Beskrivelse
Når VARIABEL-verdien er valgt: · Kjør addnsub1-signalet til høyt for
tilleggsoperasjon. · Kjør addnsub1-signalet til lavt for
subtraksjonsoperasjon. Du må velge mer enn to multiplikatorer for å aktivere denne parameteren.
Velg dette alternativet for å aktivere inngangsregister for addnsub1-port. Du må velge VARIABLE for hvilken operasjon som skal utføres på utgangene til det første multiplikatorparet for å aktivere denne parameteren.
Velg Klokke0, Klokke1 eller Klokke2 for å spesifisere inngangsklokkesignalet for addnsub1-registeret. Du må velge Register 'addnsub1'-inngang for å aktivere denne parameteren.
Spesifiserer den asynkrone slettekilden for addnsub1-registeret. Du må velge Register 'addnsub1'-inngang for å aktivere denne parameteren.
Spesifiserer den synkrone slettekilden for addnsub1-registeret. Du må velge Register 'addnsub1'-inngang for å aktivere denne parameteren.
Velg addisjons- eller subtraksjonsoperasjon som skal utføres for utgangene mellom den tredje og fjerde multiplikatoren. · Velg ADD for å utføre tillegg
operasjon. · Velg SUB for å utføre subtraksjon
operasjon. · Velg VARIABLE for å bruke addnsub1
port for dynamisk addisjons-/subtraksjonskontroll. Når VARIABEL-verdien er valgt: · Drive addnsub1-signalet til høyt for addisjonsdrift. · Kjør addnsub1-signalet til lavt for subtraksjonsdrift. Du må velge verdien 4 for Hva er antall multiplikatorer? for å aktivere denne parameteren.
Velg dette alternativet for å aktivere inngangsregister for addnsub3-signal. Du må velge VARIABLE for hvilken operasjon som skal utføres på utgangene til det andre multiplikatorparet for å aktivere denne parameteren.
Velg Clock0 , Clock1 eller Clock2 for å spesifisere inngangsklokkesignalet for addnsub3-registeret. Du må velge Register 'addnsub3'-inngang for å aktivere denne parameteren.
fortsatte...

Intel FPGA Integer Arithmetic IP Cores brukerveiledning 48

Send tilbakemelding

8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05

Parameter
Hva er kilden for asynkron klar input?

IP generert parameter

Verdi

gui_addnsub_ multiplier_aclr 3

INGEN ACLR0 ACLR1

Hva er kilden for synkron klar input?

gui_addnsub_ multiplier_sclr 3

INGEN SCLR0 SCLR1

Polaritet Aktiver `use_subadd'

gui_use_subn På

legge til

Av

8.6.3. Multiplikatorer Tab

Tabell 32. Multiplikatorer Tab

Parameter

IP generert parameter

Verdi

Hva er

gui_represent

representasjonsformat ation_a

for multiplikator A-innganger?

SIGNERT, USIGNERT, VARIABEL

Registrer `signa'-inngang

gui_register_s På

igna

Av

Hva er kilden for klokkeinngang?

gui_register_s igna_clock

Klokke0 Klokke1 Klokke2

Hva er kilden for asynkron klar input?

gui_register_s igna_aclr

INGEN ACLR0 ACLR1

Hva er kilden for synkron klar input?

gui_register_s igna_sclr

INGEN SCLR0 SCLR1

Hva er

gui_represent

representasjonsformat ation_b

for multiplikator B-innganger?

SIGNERT, USIGNERT, VARIABEL

Registrer `signb'-inngang

gui_register_s På

ignb

Av

Standardverdi INGEN
INGEN

Beskrivelse
Spesifiserer den asynkrone slettekilden for addnsub3-registeret. Du må velge Register 'addnsub3'-inngang for å aktivere denne parameteren.
Spesifiserer den synkrone slettekilden for addnsub3-registeret. Du må velge Register 'addnsub3'-inngang for å aktivere denne parameteren.

Av

Velg dette alternativet for å reversere funksjonen

av addnsub-inngangsporten.

Kjør addnsub til høy for subtraksjonsoperasjon.

Kjør addnsub til lav for tilleggsoperasjon.

Standardverdi

Beskrivelse

USIGNERT Spesifiser representasjonsformatet for multiplikator A-inngangen.

Av

Velg dette alternativet for å aktivere signering

register.

Du må velge VARIABEL verdi for Hva er representasjonsformatet for multiplikator A-innganger? parameter for å aktivere dette alternativet.

Klokke 0

Velg Clock0 , Clock1 eller Clock2 for å aktivere og spesifisere inngangsklokkesignalet for signaregister.
Du må velge Register `signa'-inngang for å aktivere denne parameteren.

INGEN

Spesifiserer den asynkrone klare kilden for signaregisteret.
Du må velge Register `signa'-inngang for å aktivere denne parameteren.

INGEN

Spesifiserer den synkrone klare kilden for signaregisteret.
Du må velge Register `signa'-inngang for å aktivere denne parameteren.

USIGNERT Spesifiser representasjonsformatet for multiplikator B-inngangen.

Av

Velg dette alternativet for å aktivere signb

register.

fortsatte...

Send tilbakemelding

Intel FPGA Integer Arithmetic IP Cores brukerveiledning 49

8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05

Parameter

IP generert parameter

Verdi

Standardverdi

Hva er kilden for klokkeinngang?

gui_register_s ignb_clock

Klokke0 Klokke1 Klokke2

Klokke 0

Hva er kilden for asynkron klar input?

gui_register_s ignb_aclr

INGEN ACLR0 ACLR1

Hva er kilden for synkron klar input?

gui_register_s ignb_sclr

INGEN SCLR0 SCLR1

Inngangskonfigurasjon
Registrer inngang A til multiplikatoren
Hva er kilden for klokkeinngang?

gui_input_reg På

ister_a

Av

gui_input_reg ister_a_clock

Klokke0 Klokke1 Klokke2

INGEN INGEN
Av klokken 0

Hva er kilden for asynkron klar input?

gui_input_reg ister_a_aclr

INGEN ACLR0 ACLR1

Hva er kilden for synkron klar input?

gui_input_reg ister_a_sclr

INGEN SCLR0 SCLR1

Registrer inngang B til multiplikatoren
Hva er kilden for klokkeinngang?

gui_input_reg På

ister_b

Av

gui_input_reg ister_b_clock

Klokke0 Klokke1 Klokke2

INGEN INGEN Av klokke0

Hva er kilden for asynkron klar input?

gui_input_reg ister_b_aclr

INGEN ACLR0 ACLR1

INGEN

Hva er kilden for synkron klar input?

gui_input_reg ister_b_sclr

INGEN SCLR0 SCLR1

INGEN

Hva er inngangen A til multiplikatoren koblet til?

gui_multiplier Multiplikator input Multiplikator

_a_inngang

Skann kjedeinngang

Beskrivelse
Du må velge VARIABEL verdi for Hva er representasjonsformatet for Multiplikator B-innganger? parameter for å aktivere dette alternativet.
Velg Klokke0 , Klokke1 eller Klokke2 for å aktivere og spesifisere inngangsklokkesignalet for skiltregister. Du må velge Register `signb'-inngang for å aktivere denne parameteren.
Spesifiserer den asynkrone klare kilden for signb-registeret. Du må velge Register `signb'-inngang for å aktivere denne parameteren.
Spesifiserer den synkrone klare kilden for signb-registeret. Du må velge Register `signb'-inngang for å aktivere denne parameteren.
Velg dette alternativet for å aktivere inngangsregister for data en inngangsbuss.
Velg Klokke0 , Klokke1 eller Klokke2 for å aktivere og spesifisere registerinngangsklokkesignalet for data en inngangsbuss. Du må velge Registrer inngang A til multiplikatoren for å aktivere denne parameteren.
Spesifiserer den asynkrone registerkilden for datainndatabussen. Du må velge Registrer inngang A til multiplikatoren for å aktivere denne parameteren.
Spesifiserer den synkrone tømmekilden for registeret for datainngangsbussen. Du må velge Registrer inngang A til multiplikatoren for å aktivere denne parameteren.
Velg dette alternativet for å aktivere inngangsregister for datainngangsbuss.
Velg Klokke0, Klokke1 eller Klokke2 for å aktivere og spesifisere registerinngangsklokkesignalet for datainngangsbussen. Du må velge Registrer inngang B til multiplikatoren for å aktivere denne parameteren.
Spesifiserer den asynkrone registerkilden for datainndatabussen. Du må velge Registrer inngang B til multiplikatoren for å aktivere denne parameteren.
Spesifiserer den synkrone tømmekilden for registeret for datainngangsbussen. Du må velge Registrer inngang B til multiplikatoren for å aktivere denne parameteren.
Velg inngangskilden for inngang A til multiplikatoren.
fortsatte...

Intel FPGA Integer Arithmetic IP Cores brukerveiledning 50

Send tilbakemelding

8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05

Parameter

IP generert parameter

Verdi

Scanout A Register Configuration

Registrer utdata fra skannekjeden

gui_scanouta På

_register

Av

Hva er kilden for klokkeinngang?

gui_scanouta _register_clock k

Klokke0 Klokke1 Klokke2

Hva er kilden for asynkron klar input?

gui_scanouta _register_aclr

INGEN ACLR0 ACLR1

Hva er kilden for synkron klar input?

gui_scanouta _register_sclr

INGEN SCLR0 SCLR1

8.6.4. Preadder-fanen

Tabell 33. Preadder Tab

Parameter

IP generert parameter

Verdi

Velg preadder-modus

preadder_mo de

ENKEL, COEF, INNPUT, KVADRAT, KONSTANT

Standardverdi

Beskrivelse
Velg Multiplikatorinngang for å bruke dataen en inngangsbuss som kilde til multiplikatoren. Velg Skann kjedeinngang for å bruke skanningsinngangsbussen som kilden til multiplikatoren og aktivere skanningsutgangsbussen. Denne parameteren er tilgjengelig når du velger 2, 3 eller 4 for Hva er antallet multiplikatorer? parameter.

Av klokke0 INGEN INGEN

Velg dette alternativet for å aktivere utgangsregister for scanouta utgangsbuss.
Du må velge Scan chain input for Hva er inngangen A på multiplikatoren koblet til? parameter for å aktivere dette alternativet.
Velg Klokke0 , Klokke1 eller Klokke2 for å aktivere og spesifisere registerinngangsklokkesignalet for scanouta-utgangsbussen.
Du må slå på Registrer utgang for skannekjedeparameteren for å aktivere dette alternativet.
Spesifiserer den asynkrone registerkilden for scanouta-utgangsbussen.
Du må slå på Registrer utgang for skannekjedeparameteren for å aktivere dette alternativet.
Spesifiserer registersynkron clearing-kilde for scanouta-utgangsbussen.
Du må velge Registrer utdata for skannekjedeparameteren for å aktivere dette alternativet.

Standardverdi
ENKEL

Beskrivelse
Spesifiserer driftsmodus for preadder-modulen. ENKEL: Denne modusen omgår preadderen. Dette er standardmodusen. COEF: Denne modusen bruker utgangen fra preadder- og coefsel-inngangsbussen som innganger til multiplikatoren. INPUT: Denne modusen bruker utgangen fra preadderen og datainngangsbussen som innganger til multiplikatoren. SQUARE: Denne modusen bruker utgangen fra preadderen som begge inngangene til multiplikatoren.
fortsatte...

Send tilbakemelding

Intel FPGA Integer Arithmetic IP Cores brukerveiledning 51

8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05

Parameter

IP generert parameter

Verdi

Velg preader-retning

gui_preadder ADD,

_retning

SUB

Hvor brede skal C width_c-inngangsbussene være?

1 – 256

Data C Input Register Configuration

Registrer datainngang

gui_datac_inp På

ut_register

Av

Hva er kilden for klokkeinngang?

gui_datac_inp ut_register_cl ock

Klokke0 Klokke1 Klokke2

Hva er kilden for asynkron klar input?

gui_datac_inp ut_register_a clr

INGEN ACLR0 ACLR1

Hva er kilden for synkron klar input?

gui_datac_inp ut_register_sc lr

INGEN SCLR0 SCLR1

Koeffisienter
Hvor bred skal coef-bredden være?

width_coef

1 – 27

Coef Register Konfigurasjon

Registrer coefsel-inngangen

gui_coef_regi På

ster

Av

Hva er kilden for klokkeinngang?

gui_coef_regi ster_clock

Klokke0 Klokke1 Klokke2

Standardverdi
LEGGE TIL
16

Beskrivelse
KONSTANT: Denne modusen bruker data en inngangsbuss med forbikoblet preadder og coefsel inngangsbuss som innganger til multiplikatoren.
Spesifiserer operasjonen til preadderen. For å aktivere denne parameteren, velg følgende for Velg preadder-modus: · COEF · INPUT · SQUARE eller · CONSTANT
Angir antall biter for C-inngangsbuss. Du må velge INPUT for Select preadder-modus for å aktivere denne parameteren.

På Klokke0 INGEN INGEN

Velg dette alternativet for å aktivere inngangsregister for datainngangsbuss. Du må sette INPUT til Select preadder mode parameter for å aktivere dette alternativet.
Velg Klokke0 , Klokke1 eller Klokke2 for å spesifisere inngangsklokkesignalet for datainngangsregisteret. Du må velge Registrer datainngang for å aktivere denne parameteren.
Spesifiserer den asynkrone slettekilden for datainndataregisteret. Du må velge Registrer datainngang for å aktivere denne parameteren.
Spesifiserer den synkrone slettekilden for datainndataregisteret. Du må velge Registrer datainngang for å aktivere denne parameteren.

18

Angir antall biter for

coefsel inngangsbuss.

Du må velge COEF eller CONSTANT for preadder-modus for å aktivere denne parameteren.

På Klokke0

Velg dette alternativet for å aktivere inngangsregister for coefsel inngangsbuss. Du må velge COEF eller CONSTANT for preadder-modus for å aktivere denne parameteren.
Velg Klokke0 , Klokke1 eller Klokke2 for å spesifisere inngangsklokkesignalet for koefselinngangsregisteret. Du må velge Registrer coefsel-inngangen for å aktivere denne parameteren.
fortsatte...

Intel FPGA Integer Arithmetic IP Cores brukerveiledning 52

Send tilbakemelding

8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05

Parameter
Hva er kilden for asynkron klar input?

IP generert parameter

Verdi

gui_coef_regi ster_aclr

INGEN ACLR0 ACLR1

Hva er kilden for synkron klar input

gui_coef_regi ster_sclr

INGEN SCLR0 SCLR1

Koeffisient_0-konfigurasjon

coef0_0 til coef0_7

0x00000 0xFFFFFFF

Koeffisient_1-konfigurasjon

coef1_0 til coef1_7

0x00000 0xFFFFFFF

Koeffisient_2-konfigurasjon

coef2_0 til coef2_7

0x00000 0xFFFFFFF

Koeffisient_3-konfigurasjon

coef3_0 til coef3_7

0x00000 0xFFFFFFF

8.6.5. Akkumulator Tab

Tabell 34. Akkumulator Tab

Parameter

IP generert parameter

Verdi

Vil du aktivere akkumulator?

akkumulator

JA NEI

Hva er akkumulatordriftstypen?

accum_directi ADD,

on

SUB

Standardverdi INGEN
INGEN
0x0000000 0
0x0000000 0
0x0000000 0
0x0000000 0

Beskrivelse
Spesifiserer den asynkrone clear-kilden for coefsel-inndataregisteret. Du må velge Registrer coefsel-inngangen for å aktivere denne parameteren.
Spesifiserer den synkrone clear-kilden for coefsel-inndataregisteret. Du må velge Registrer coefsel-inngangen for å aktivere denne parameteren.
Spesifiserer koeffisientverdiene for denne første multiplikatoren. Antall bits skal være det samme som spesifisert i Hvor bred skal koefbredden være? parameter. Du må velge COEF eller CONSTANT for preadder-modus for å aktivere denne parameteren.
Spesifiserer koeffisientverdiene for denne andre multiplikatoren. Antall bits skal være det samme som spesifisert i Hvor bred skal koefbredden være? parameter. Du må velge COEF eller CONSTANT for preadder-modus for å aktivere denne parameteren.
Spesifiserer koeffisientverdiene for denne tredje multiplikatoren. Antall bits skal være det samme som spesifisert i Hvor bred skal koefbredden være? parameter. Du må velge COEF eller CONSTANT for preadder-modus for å aktivere denne parameteren.
Spesifiserer koeffisientverdiene for denne fjerde multiplikatoren. Antall bits skal være det samme som spesifisert i Hvor bred skal koefbredden være? parameter. Du må velge COEF eller CONSTANT for preadder-modus for å aktivere denne parameteren.

Standardverdi NO
LEGGE TIL

Beskrivelse
Velg JA for å aktivere akkumulatoren. Du må velge Register output of adder unit når du bruker akkumulatorfunksjonen.
Spesifiserer operasjonen til akkumulatoren: · ADD for addisjonsoperasjon · SUB for subtraksjonsoperasjon. Du må velge JA for Aktiver akkumulator? parameter for å aktivere dette alternativet.
fortsatte...

Send tilbakemelding

Intel FPGA Integer Arithmetic IP Cores brukerveiledning 53

8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05

Parameter
Preload Constant Aktiver preload konstant

IP generert parameter

Verdi

gui_ena_prelo På

ad_const

Av

Hva er inngangen til akkumuleringsporten koblet til?

gui_accumula ACCUM_SLOAD, te_port_select SLOAD_ACCUM

Velg verdi for preload loadconst_val 0 – 64

konstant

ue

Hva er kilden for klokkeinngang?

gui_accum_sl oad_register_ klokke

Klokke0 Klokke1 Klokke2

Hva er kilden for asynkron klar input?

gui_accum_sl oad_register_ aclr

INGEN ACLR0 ACLR1

Hva er kilden for synkron klar input?

gui_accum_sl oad_register_ sclr

INGEN SCLR0 SCLR1

Aktiver dobbel akkumulator

gui_double_a På

cum

Av

Standardverdi

Beskrivelse

Av

Aktiver accum_sload eller

sload_accum-signaler og registerinngang

for å dynamisk velge inngangen til

akkumulator.

Når accum_sload er lav eller sload_accum, mates multiplikatorutgangen inn i akkumulatoren.

Når accum_sload er høy eller sload_accum, mates en brukerspesifisert forhåndsbelastningskonstant inn i akkumulatoren.

Du må velge JA for Aktiver akkumulator? parameter for å aktivere dette alternativet.

ACCUM_SL OAD

Spesifiserer oppførselen til accum_sload/sload_accum-signalet.
ACCUM_SLOAD: Drive accum_sload lav for å laste multiplikatorutgangen til akkumulatoren.
SLOAD_ACCUM: Kjør sload_accum høy for å laste multiplikatorutgangen til akkumulatoren.
Du må velge alternativet Aktiver forhåndsinnlastingskonstant for å aktivere denne parameteren.

64

Spesifiser den forhåndsinnstilte konstantverdien.

Denne verdien kan være 2N hvor N er den forhåndsinnstilte konstantverdien.

Når N=64, representerer det en konstant null.

Du må velge alternativet Aktiver forhåndsinnlastingskonstant for å aktivere denne parameteren.

Klokke 0

Velg Clock0 , Clock1 eller Clock2 for å spesifisere inngangsklokkesignalet for registeret accum_sload/sload_accum.
Du må velge alternativet Aktiver forhåndsinnlastingskonstant for å aktivere denne parameteren.

INGEN

Spesifiserer den asynkrone slettekilden for registeret accum_sload/sload_accum.
Du må velge alternativet Aktiver forhåndsinnlastingskonstant for å aktivere denne parameteren.

INGEN

Spesifiserer den synkrone slettekilden for registeret accum_sload/sload_accum.
Du må velge alternativet Aktiver forhåndsinnlastingskonstant for å aktivere denne parameteren.

Av

Aktiverer dobbeltakkumulatorregisteret.

Intel FPGA Integer Arithmetic IP Cores brukerveiledning 54

Send tilbakemelding

8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05

8.6.6. Systolisk/kjedeuttak

Tabell 35. Systolisk/Chainout Adder Tab

Parameter Aktiver chainout adder

IP generert parameter

Verdi

chainout_add JA,

er

INGEN

Hva er operasjonstypen chainout adder?

chainout_add ADD,

er_retning

SUB

Vil du aktivere "neger"-inngang for chainout adder?

Port_negate

PORT_USED, PORT_UNUSED

Vil du registrere "nekte"-inndata? negate_register er

UREGISTERT, KLOKKE0, KLOKKE1, KLOKKE2, KLOKKE3

Hva er kilden for asynkron klar input?

negate_aclr

INGEN ACLR0 ACLR1

Hva er kilden for synkron klar input?

negate_sclr

INGEN SCLR0 SCLR1

Systolisk forsinkelse
Aktiver systoliske forsinkelsesregistre

gui_systolic_d På

Elay

Av

Hva er kilden for klokkeinngang?

gui_systolic_d CLOCK0,

elay_clock

KLOKKE1,

Standardverdi
INGEN

Beskrivelse
Velg JA for å aktivere chainout adder-modul.

LEGGE TIL

Spesifiserer operasjonen for chainout adder.
For subtraksjonsoperasjon må SIGNED velges for Hva er representasjonsformatet for multiplikator A-innganger? og Hva er representasjonsformatet for multiplikator B-innganger? i Multiplikatorer-fanen.

PORT_UN BRUKT

Velg PORT_USED for å aktivere negert inngangssignal.
Denne parameteren er ugyldig når chainout adder er deaktivert.

UREGISTER ER

For å aktivere inngangsregisteret for negert inngangssignal og spesifisere inngangsklokkesignalet for negert register.
Velg UNREGISTERED hvis det ikke er nødvendig med nege input register til
Denne parameteren er ugyldig når du velger:
· NEI for Aktiver chainout adder eller
· PORT_UNUSED for Aktiver "neger"-inngang for chainout adder? parameter eller

INGEN

Spesifiserer den asynkrone klare kilden for det negative registeret.
Denne parameteren er ugyldig når du velger:
· NEI for Aktiver chainout adder eller
· PORT_UNUSED for Aktiver "neger"-inngang for chainout adder? parameter eller

INGEN

Spesifiserer den synkrone klare kilden for det negative registeret.
Denne parameteren er ugyldig når du velger:
· NEI for Aktiver chainout adder eller
· PORT_UNUSED for Aktiver "neger"-inngang for chainout adder? parameter eller

Av KLOKKE0

Velg dette alternativet for å aktivere systolisk modus. Denne parameteren er tilgjengelig når du velger 2 eller 4 for Hva er antallet multiplikatorer? parameter. Du må aktivere registerutgangen til adderenheten for å bruke de systoliske forsinkelsesregistrene.
Spesifiserer inngangsklokkesignalet for systolisk forsinkelsesregister.
fortsatte...

Send tilbakemelding

Intel FPGA Integer Arithmetic IP Cores brukerveiledning 55

8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05

Parameter

IP generert parameter

Verdi

KLOKKE2,

Hva er kilden for asynkron klar input?

gui_systolic_d elay_aclr

INGEN ACLR0 ACLR1

Hva er kilden for synkron klar input?

gui_systolic_d elay_sclr

INGEN SCLR0 SCLR1

Standardverdi
INGEN
INGEN

Beskrivelse
Du må velge aktiver systoliske forsinkelsesregistre for å aktivere dette alternativet.
Spesifiserer den asynkrone slettekilden for det systoliske forsinkelsesregisteret. Du må velge aktiver systoliske forsinkelsesregistre for å aktivere dette alternativet.
Spesifiserer den synkrone slettekilden for det systoliske forsinkelsesregisteret. Du må velge aktiver systoliske forsinkelsesregistre for å aktivere dette alternativet.

8.6.7. Rørledning Tab

Tabell 36. Rørføring Tab

Parameter Rørledningskonfigurasjon

IP generert parameter

Verdi

Vil du legge til rørledningsregister til inngangen?

gui_pipelining Nei, ja

Standardverdi
Ingen

Vennligst spesifiser

ventetid

antall latensklokker

sykluser

Enhver verdi større enn 0

Hva er kilden for klokkeinngang?

gui_input_late ncy_clock

CLOCK0, CLOCK1, CLOCK2

Hva er kilden for asynkron klar input?

gui_input_late ncy_aclr

INGEN ACLR0 ACLR1

Hva er kilden for synkron klar input?

gui_input_late ncy_sclr

INGEN SCLR0 SCLR1

KLOKKE0 INGEN INGEN

Beskrivelse
Velg Ja for å aktivere et ekstra nivå av rørledningsregister til inngangssignalene. Du må spesifisere en verdi som er større enn 0 for Vennligst spesifiser parameteren antall latensklokkesykluser.
Spesifiserer ønsket ventetid i klokkesykluser. Ett nivå av rørledningsregister = 1 latens i klokkesyklus. Du må velge JA for Vil du legge til rørledningsregister til inngangen? for å aktivere dette alternativet.
Velg Klokke0 , Klokke1 eller Klokke2 for å aktivere og spesifisere inngangsklokkesignalet for rørledningsregisteret. Du må velge JA for Vil du legge til rørledningsregister til inngangen? for å aktivere dette alternativet.
Spesifiserer den asynkrone registerkilden for det ekstra rørledningsregisteret. Du må velge JA for Vil du legge til rørledningsregister til inngangen? for å aktivere dette alternativet.
Spesifiserer den synkrone tømmekilden for registeret for det ekstra rørledningsregisteret. Du må velge JA for Vil du legge til rørledningsregister til inngangen? for å aktivere dette alternativet.

Intel FPGA Integer Arithmetic IP Cores brukerveiledning 56

Send tilbakemelding

683490 | 2020.10.05 Send tilbakemelding

9. ALTMEMMULT (minnebasert konstant koeffisientmultiplikator) IP-kjerne

Oppmerksomhet:

Intel har fjernet støtten for denne IP-en i Intel Quartus Prime Pro Edition versjon 20.3. Hvis IP-kjernen i designet er rettet mot enheter i Intel Quartus Prime Pro Edition, kan du erstatte IP-en med LPM_MULT Intel FPGA IP eller generere IP-en på nytt og kompilere designet ved hjelp av programvaren Intel Quartus Prime Standard Edition.

ALTMEMMULT IP-kjernen brukes til å lage minnebaserte multiplikatorer ved å bruke onchip-minneblokkene som finnes i Intel FPGA-er (med M512, M4K, M9K og MLAB minneblokker). Denne IP-kjernen er nyttig hvis du ikke har tilstrekkelige ressurser til å implementere multiplikatorene i logiske elementer (LEs) eller dedikerte multiplikatorressurser.
ALTMEMMULT IP-kjernen er en synkron funksjon som krever en klokke. ALTMEMMULT IP-kjernen implementerer en multiplikator med minst mulig gjennomstrømning og latens for et gitt sett med parametere og spesifikasjoner.
Følgende figur viser portene for ALTMEMMULT IP-kjernen.

Figur 21. ALTMEMMULT-porter

ALTMEMMULT

data_in[] sload_data coeff_in[]

resultat[] resultat_gyldig lastet_ferdig

sload_coeff

sclr klokke
inst

Relaterte informasjonsfunksjoner på side 71

9.1. Funksjoner
ALTMEMMULT IP-kjernen tilbyr følgende funksjoner: · Oppretter kun minnebaserte multiplikatorer ved å bruke minneblokker på brikken som finnes i
Intel FPGAer · Støtter databredde på 1 biter · Støtter signerte og usignerte datarepresentasjonsformater · Støtter pipelining med fast utdatalatens

Intel Corporation. Alle rettigheter forbeholdt. Intel, Intel-logoen og andre Intel-merker er varemerker for Intel Corporation eller dets datterselskaper. Intel garanterer ytelsen til sine FPGA- og halvlederprodukter i henhold til gjeldende spesifikasjoner i henhold til Intels standardgaranti, men forbeholder seg retten til å gjøre endringer i produkter og tjenester når som helst uten varsel. Intel påtar seg intet ansvar eller ansvar som oppstår som følge av applikasjonen eller bruken av informasjon, produkter eller tjenester som er beskrevet her, med mindre det er uttrykkelig skriftlig avtalt med Intel. Intel-kunder anbefales å få tak i den nyeste versjonen av enhetsspesifikasjonene før de stoler på publisert informasjon og før de bestiller produkter eller tjenester. *Andre navn og merker kan gjøres krav på som andres eiendom.

ISO 9001: 2015 Registrert

9. ALTMEMMULT (Minnebasert Constant Coefficient Multiplier) IP-kjerne 683490 | 2020.10.05
· Lagrer multipler konstanter i tilfeldig tilgangsminne (RAM)
· Gir et alternativ for å velge RAM-blokktype
· Støtter valgfrie synkrone klare og lastkontrollerende inngangsporter
9.2. Verilog HDL-prototype
Følgende Verilog HDL-prototype er plassert i Verilog Design File (.v) altera_mf.v i eda syntesekatalog.
modul altmemmult #( parameter coeff_representation = "SIGNED", parameter coefficient0 = "UNUSED", parameter data_representation = "SIGNED", parameter intended_device_family = "unused", parameter max_clock_cycles_per_result = 1, parameter number_of_coefficients = 1, parameter ram_block", parameter = "AUTO total_latency = 1, parameter width_c = 1, parameter width_d = 1, parameter width_r = 1, parameter width_s = 1, parameter lpm_type = "altmemmult", parameter lpm_hint = "unused") (inngangsklokke, inngangsledning [width_c-1: 0]coeff_in, input wire [width_d-1:0] data_in, output wire load_done, output wire [width_r-1:0] result, output wire result_valid, input wire sclr, input wire [width_s-1:0] sel, input wire sload_coeff, input wire sload_data)/* syntese syn_black_box=1 */; endemodul
9.3. VHDL-komponenterklæring
VHDL-komponentdeklarasjonen er plassert i VHDL-designet File (.vhd) altera_mf_components.vhd i librariesvhdlaltera_mf katalog.
komponent altmemmult generisk ( coeff_representation:string := «SIGNED»; koeffisient0:string:= «UNUSED»; data_representation:string := «SIGNED»; intended_device_family:string:= «unused»; max_clock_cycles_per_result1;natural_of_al_coefficient := := 1; ram_block_type:string := “AUTO”; total_latency:natural; width_c:natural; width_d:natural; width_r:natural; width_s:natural := 1; lpm_hint:string := “UNUSED”; lpm_type:string := "altmemmult"); port(klokke:in std_logic; coeff_in:in std_logic_vector(width_c-1 ned til 0) := (andre => '0'); data_in:in std_logic_vector(width_d-1 ned til 0);

Intel FPGA Integer Arithmetic IP Cores brukerveiledning 58

Send tilbakemelding

9. ALTMEMMULT (Minnebasert Constant Coefficient Multiplier) IP-kjerne 683490 | 2020.10.05

load_done:out std_logic; result:out std_logic_vector(width_r-1 ned til 0); result_valid:out std_logic; sclr:in std_logic := '0'; sel:in std_logic_vector(width_s-1 ned til 0) := (andre => '0'); sload_coeff:in std_logic := '0'; sload_data:in std_logic := '0'); sluttkomponent;

9.4. Porter

Følgende tabeller viser inngangs- og utgangsportene for ALTMEMMULT IP-kjernen.

Tabell 37. ALTMEMMULT inngangsporter

Portnavn

Obligatorisk

Beskrivelse

klokke

Ja

Klokkeinngang til multiplikatoren.

coeff_in[]

Ingen

Koeffisientinngangsport for multiplikatoren. Størrelsen på inngangsporten avhenger av parameterverdien WIDTH_C.

data_in[]

Ja

Datainngangsport til multiplikatoren. Størrelsen på inngangsporten avhenger av parameterverdien WIDTH_D.

sclr

Ingen

Synkron klar inngang. Hvis den ikke brukes, er standardverdien aktiv høy.

sel[]

Ingen

Fast koeffisientvalg. Størrelsen på inngangsporten avhenger av WIDTH_S

parameterverdi.

sload_coeff

Ingen

Inngangsport for synkron belastningskoeffisient. Erstatter gjeldende valgte koeffisientverdi med verdien spesifisert i coeff_in-inngangen.

sload_data

Ingen

Inngangsport for synkron belastningsdata. Signal som spesifiserer ny multiplikasjonsoperasjon og kansellerer enhver eksisterende multiplikasjonsoperasjon. Hvis parameteren MAX_CLOCK_CYCLES_PER_RESULT har en verdi på 1, ignoreres sload_data inngangsporten.

Tabell 38. ALTMEMMULT utgangsporter

Portnavn

Obligatorisk

Beskrivelse

resultat[]

Ja

Multiplikator utgangsport. Størrelsen på inngangsporten avhenger av parameterverdien WIDTH_R.

resultat_gyldig

Ja

Indikerer når utgangen er det gyldige resultatet av en fullstendig multiplikasjon. Hvis parameteren MAX_CLOCK_CYCLES_PER_RESULT har en verdi på 1, brukes ikke resultat_gyldig utgangsport.

last_ferdig

Ingen

Indikerer når den nye koeffisienten er ferdig lastet. load_done-signalet hevder når en ny koeffisient er ferdig lastet. Med mindre load_done-signalet er høyt, kan ingen annen koeffisientverdi lastes inn i minnet.

9.5. parametere

Tabellen nedenfor viser parameterne for ALTMEMMULT IP-kjernen.

Tabell 39.
WIDTH_D WIDTH_C

ALTMEMMULT Parametere
Parameternavn

Type påkrevd

Beskrivelse

Heltall Ja

Angir bredden på data_in[]-porten.

Heltall Ja

Angir bredden på coeff_in[]-porten. fortsatte...

Send tilbakemelding

Intel FPGA Integer Arithmetic IP Cores brukerveiledning 59

9. ALTMEMMULT (Minnebasert Constant Coefficient Multiplier) IP-kjerne 683490 | 2020.10.05

Parameternavn WIDTH_R WIDTH

Dokumenter / Ressurser

intel FPGA Integer Aritmetic IP-kjerner [pdfBrukerhåndbok
FPGA heltalls aritmetiske IP-kjerner, heltallsaritmetiske IP-kjerner, aritmetiske IP-kjerner, IP-kjerner

Referanser

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket *