FPGA Nuclis IP aritmètics enters

Guia d'usuari de nuclis IP aritmètics d'integer FPGA Intel
Actualitzat per a Intel® Quartus® Prime Design Suite: 20.3

Versió en línia Enviar comentaris

UG-01063

ID: 683490 Versió: 2020.10.05

Continguts
Continguts
1. Nuclis IP aritmètics d'integer FPGA d'Intel……………………………………………………………….. 5
2. LPM_COUNTER (Comptador) IP Core……………………………………………………………………………….. 7 2.1. Característiques………………………………………………………………………………………………………………7 2.2. Prototip Verilog HDL…………………………………………………………………………………………….. 8 2.3. Declaració del component VHDL……………………………………………………………………………….8 2.4. Declaració VHDL LIBRARY_USE………………………………………………………………… 9 2.5. Ports………………………………………………………………………………………………………………..9 2.6. Paràmetres…………………………………………………………………………………………… 10
3. LPM_DIVIDE (Divisor) Intel FPGA IP Core………………………………………………………….. 12 3.1. Característiques………………………………………………………………………………………………. 12 3.2. Prototip Verilog HDL……………………………………………………………………………… 12 3.3. Declaració del component VHDL…………………………………………………………………….. 13 3.4. Declaració VHDL LIBRARY_USE…………………………………………………………………. 13 3.5. Ports…………………………………………………………………………………………………………… 13 3.6. Paràmetres…………………………………………………………………………………………… 14
4. LPM_MULT (multiplicador) IP Core………………………………………………………………………………………. 16 4.1. Característiques………………………………………………………………………………………………. 16 4.2. Prototip Verilog HDL……………………………………………………………………………… 17 4.3. Declaració del component VHDL…………………………………………………………………….. 17 4.4. Declaració VHDL LIBRARY_USE…………………………………………………………………. 17 4.5. Senyals …………………………………………………………………………………………………………… 18 4.6. Paràmetres per als dispositius Stratix V, Arria V, Cyclone V i Intel Cyclone 10 LP…………… 18 4.6.1. Pestanya General…………………………………………………………………………………18 4.6.2. General 2 Pestanya……………………………………………………………………………… 19 4.6.3. Pestanya Pipelineing……………………………………………………………………………… 19 4.7. Paràmetres per a dispositius Intel Stratix 10, Intel Arria 10 i Intel Cyclone 10 GX……….. 20 4.7.1. Pestanya General…………………………………………………………………………………20 4.7.2. General 2 Pestanya……………………………………………………………………………… 20 4.7.3. Conduccions…………………………………………………………………………………………… 21
5. LPM_ADD_SUB (Sumador/Restaur)……………………………………………………………………………… 22 5.1. Característiques………………………………………………………………………………………………. 22 5.2. Prototip Verilog HDL……………………………………………………………………………… 23 5.3. Declaració del component VHDL………………………………………………………………….. 23 5.4. Declaració VHDL LIBRARY_USE…………………………………………………………………. 23 5.5. Ports…………………………………………………………………………………………………………… 23 5.6. Paràmetres…………………………………………………………………………………………… 24
6. LPM_COMPARE (Comparador)…………………………………………………………………………………………… 26 6.1. Característiques………………………………………………………………………………………………. 26 6.2. Prototip Verilog HDL……………………………………………………………………………… 27 6.3. Declaració del component VHDL……………………………………………………………………………….. 27 6.4. Declaració VHDL LIBRARY_USE…………………………………………………………………. 27 6.5. Ports…………………………………………………………………………………………………………… 27 6.6. Paràmetres…………………………………………………………………………………………… 28

Guia d'usuari de nuclis IP aritmètics d'integer FPGA Intel 2

Envia comentaris

Continguts

7. ALTEC (Codi de correcció d'errors: codificador/descodificador) IP Core……………………………………………… 30
7.1. Característiques del codificador ALTECC………………………………………………………………………..31 7.2. Prototip Verilog HDL (ALTECC_ENCODER)……………………………………………………. 32 7.3. Prototip Verilog HDL (ALTECC_DECODER)……………………………………………………. 32 7.4. Declaració del component VHDL (ALTECC_ENCODER)………………………………………………33 7.5. Declaració del component VHDL (ALTECC_DECODER)……………………………………………33 7.6. Declaració VHDL LIBRARY_USE…………………………………………………………………. 33 7.7. Ports del codificador………………………………………………………………………………………………… 33 7.8. Ports del descodificador……………………………………………………………………………………………………34 7.9. Paràmetres del codificador……………………………………………………………………………… 34 7.10. Paràmetres del descodificador ……………………………………………………………………………… 35
8. Intel FPGA Multiply Adder IP Core…………………………………………………………………. 36
8.1. Característiques………………………………………………………………………………………………. 37 8.1.1. Presumador…………………………………………………………………………………………….. 38 8.1.2. Registre de retard sistòlic………………………………………………………………….. 40 8.1.3. Constant de precàrrega……………………………………………………………………………… 43 8.1.4. Doble acumulador……………………………………………………………………………… 43
8.2. Prototip Verilog HDL……………………………………………………………………………… 44 8.3. Declaració del component VHDL…………………………………………………………………….. 44 8.4. Declaració VHDL LIBRARY_USE…………………………………………………………………. 44 8.5. Senyals………………………………………………………………………………………………………… 44 8.6. Paràmetres…………………………………………………………………………………………… 47
8.6.1. Pestanya General…………………………………………………………………………………47 8.6.2. Pestanya Modes addicionals………………………………………………………………………………….. 47 8.6.3. Pestanya Multiplicadors…………………………………………………………………………………….. 49 8.6.4. Pestanya Preader………………………………………………………………………………. 51 8.6.5. Pestanya Acumulador………………………………………………………………………………….. 53 8.6.6. Pestanya Sistòlica/Chainout…………………………………………………………………. 55 8.6.7. Pestanya de canalització……………………………………………………………………………… 56
9. ALTMEMMULT (multiplicador de coeficients constants basat en memòria) IP Core………… 57
9.1. Característiques………………………………………………………………………………………………. 57 9.2. Prototip Verilog HDL……………………………………………………………………………… 58 9.3. Declaració del component VHDL…………………………………………………………………….. 58 9.4. Ports…………………………………………………………………………………………………………… 59 9.5. Paràmetres…………………………………………………………………………………………… 59
10. Nucli IP ALTMULT_ACCUM (acumulació múltiple) ………………………………………………… 61
10.1. Característiques………………………………………………………………………………………………………….. 62 10.2. Prototip Verilog HDL………………………………………………………………………………………………..62 10.3. Declaració del component VHDL………………………………………………………………… 63 10.4. Declaració VHDL LIBRARY_USE…………………………………………………………………63 10.5. Ports………………………………………………………………………………………………………………. 63 10.6. Paràmetres………………………………………………………………………………………………………………. 64
11. ALTMULT_ADD (Multiplicador de sumador) IP Core…………………………………………………………..69
11.1. Característiques………………………………………………………………………………………………………….. 71 11.2. Prototip Verilog HDL………………………………………………………………………………………..72 11.3. Declaració del component VHDL………………………………………………………………… 72 11.4. Declaració VHDL LIBRARY_USE……………………………………………………………………72

Envia comentaris

Guia d'usuari de nuclis IP aritmètics d'integer FPGA Intel 3

Continguts
11.5. Ports………………………………………………………………………………………………………………. 72 11.6. Paràmetres………………………………………………………………………………………………………………. 73
12. ALTMULT_COMPLEX (Multiplicador de complexos) IP Core……………………………………………… 86 12.1. Multiplicació complexa……………………………………………………………………………………. 86 12.2. Representació canònica……………………………………………………………………………… 87 12.3. Representació convencional …………………………………………………………………………………. 87 12.4. Característiques………………………………………………………………………………………………………….. 88 12.5. Prototip Verilog HDL……………………………………………………………………………………………..88 12.6. Declaració del component VHDL………………………………………………………………… 89 12.7. Declaració VHDL LIBRARY_USE………………………………………………………………… 89 12.8. Senyals ……………………………………………………………………………………………………………. 89 12.9. Paràmetres………………………………………………………………………………………………………………. 90
13. Nucli IP ALTSQRT (arrel quadrada entera)………………………………………………………………92 13.1. Característiques………………………………………………………………………………………………………….. 92 13.2. Prototip Verilog HDL……………………………………………………………………………………………..92 13.3. Declaració del component VHDL………………………………………………………………… 93 13.4. Declaració VHDL LIBRARY_USE…………………………………………………………………93 13.5. Ports………………………………………………………………………………………………………………. 93 13.6. Paràmetres………………………………………………………………………………………………………………. 94
14. PARALLEL_ADD (Sumador paral·lel) IP Core………………………………………………………….. 95 14.1. Característica………………………………………………………………………………………………………….95 14.2. Prototip Verilog HDL……………………………………………………………………………………………..95 14.3. Declaració del component VHDL………………………………………………………………… 96 14.4. Declaració VHDL LIBRARY_USE…………………………………………………………………96 14.5. Ports………………………………………………………………………………………………………………. 96 14.6. Paràmetres………………………………………………………………………………………………………………. 97
15. Guia d'usuari de nuclis IP d'aritmètica entera Arxius de documents………………………………… 98
16. Historial de revisions de documents per a la Guia d'usuari de nuclis IP aritmètics d'Intel FPGA... 99

Guia d'usuari de nuclis IP aritmètics d'integer FPGA Intel 4

Envia comentaris

683490 | 2020.10.05/XNUMX/XNUMX Envia comentaris

1. Nuclis IP aritmètics d'integer FPGA Intel

Podeu utilitzar els nuclis IP d'integer Intel® FPGA per realitzar operacions matemàtiques en el vostre disseny.

Aquestes funcions ofereixen una síntesi lògica i una implementació de dispositius més eficients que codificar les vostres pròpies funcions. Podeu personalitzar els nuclis IP per adaptar-vos als vostres requisits de disseny.

Els nuclis IP aritmètics d'Intel sencers es divideixen en les dues categories següents: · Nuclis IP de biblioteca de mòduls parametritzats (LPM) · Nuclis IP específics d'Intel (ALT)

La taula següent enumera els nuclis IP aritmètics enters.

Taula 1.

Llista de nuclis IP

Nuclis IP

Nuclis IP LPM

LPM_COUNTER

LPM_DIVIDE

LPM_MULT

LPM_ADD_SUB
LPM_COMPARE
Nuclis IP específics d'Intel (ALT) ALTEC

Funció acabadaview Multiplicador del divisor del comptador
Comparador sumador o restador
Codificador/descodificador ECC

Dispositiu compatible
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 continuat...

Intel Corporation. Tots els drets reservats. Intel, el logotip d'Intel i altres marques d'Intel són marques comercials d'Intel Corporation o de les seves filials. Intel garanteix el rendiment dels seus productes FPGA i semiconductors amb les especificacions actuals d'acord amb la garantia estàndard d'Intel, però es reserva el dret de fer canvis a qualsevol producte i servei en qualsevol moment sense previ avís. Intel no assumeix cap responsabilitat derivada de l'aplicació o l'ús de qualsevol informació, producte o servei descrit aquí, tret que Intel ho acordi expressament per escrit. Es recomana als clients d'Intel que obtinguin la darrera versió de les especificacions del dispositiu abans de confiar en qualsevol informació publicada i abans de fer comandes de productes o serveis. * Altres noms i marques es poden reclamar com a propietat d'altres.

Registre ISO 9001:2015

1. Nuclis IP aritmètics d'integer FPGA Intel 683490 | 2020.10.05/XNUMX/XNUMX

Nuclis IP Intel FPGA Multiply Adder o ALTERA_MULT_ADD ALTMEMMULT
ALTMULT_ACCUM ALTMULT_ADD ALTMULT_COMPLEX
ALTSQRT
PARALLEL_ADD

Funció acabadaview Multiplicador-sumador
Multiplicador de coeficients constants basat en memòria
Multiplicador-acumulador Multiplicador-sumador
Multiplicador complex
Arrel quadrada entera
Adder paral·lel

Dispositiu compatible
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

Informació relacionada
· Notes de la versió de FPGA i dispositius programables d'Intel
· Introducció als nuclis IP Intel FPGA Proporciona més informació sobre els nuclis IP Intel FPGA.
· Guia d'usuari de nuclis IP de coma flotant Proporciona més informació sobre els nuclis IP de coma flotant d'Intel FPGA.
· Introducció als nuclis IP Intel FPGA Proporciona informació general sobre tots els nuclis IP Intel FPGA, incloent parametrització, generació, actualització i simulació de nuclis IP.
· Creació d'scripts de simulació IP i Qsys independents de la versió Creeu scripts de simulació que no requereixin actualitzacions manuals per al programari o actualitzacions de la versió IP.
· Directrius de bones pràctiques de gestió de projectes per a una gestió eficient i portabilitat del vostre projecte i IP files.
· Guia d'usuari de nuclis d'IP d'Arithmetic Integer Arxius de documents a la pàgina 98 Proporciona una llista de guies d'usuari per a versions anteriors dels nuclis d'IP d'Integer Arithmetic.

Guia d'usuari de nuclis IP aritmètics d'integer FPGA Intel 6

Envia comentaris

683490 | 2020.10.05/XNUMX/XNUMX Envia comentaris

2. LPM_COUNTER (Comptador) IP Core

Figura 1.

El nucli IP LPM_COUNTER és un comptador binari que crea comptadors amunt, comptadors avall i comptadors amunt o avall amb sortides de fins a 256 bits d'ample.

La figura següent mostra els ports per al nucli IP LPM_COUNTER.

LPM_COUNTER ports

LPM_COUNTER

ssclr sload sset data[]

q[]

amunt avall

cout

aclr carrega actiu

clk_en cnt_en cin
inst

2.1. Característiques
El nucli IP de LPM_COUNTER ofereix les funcions següents: · Genera comptadors ascendents, descendents i amunt/baixant · Genera els tipus de comptadors següents:
— Binari normal: el comptador augmenta a partir de zero o disminueix a partir de 255
— Mòdul: el comptador augmenta o disminueix del valor del mòdul especificat per l'usuari i es repeteix
· Admet ports d'entrada opcionals de neteja, càrrega i configuració síncrons · Admet ports d'entrada de neteja, càrrega i configuració asíncrons opcionals · Admet ports d'entrada d'habilitació de recompte i rellotge opcionals · Admet ports d'entrada i sortida opcionals

Intel Corporation. Tots els drets reservats. Intel, el logotip d'Intel i altres marques d'Intel són marques comercials d'Intel Corporation o de les seves filials. Intel garanteix el rendiment dels seus productes FPGA i semiconductors amb les especificacions actuals d'acord amb la garantia estàndard d'Intel, però es reserva el dret de fer canvis a qualsevol producte i servei en qualsevol moment sense previ avís. Intel no assumeix cap responsabilitat derivada de l'aplicació o l'ús de qualsevol informació, producte o servei descrit aquí, tret que Intel ho acordi expressament per escrit. Es recomana als clients d'Intel que obtinguin la darrera versió de les especificacions del dispositiu abans de confiar en qualsevol informació publicada i abans de fer comandes de productes o serveis. * Altres noms i marques es poden reclamar com a propietat d'altres.

Registre ISO 9001:2015

2. LPM_COUNTER (Comptador) IP Core
683490 | 2020.10.05
2.2. Prototip Verilog HDL
El següent prototip Verilog HDL es troba al disseny de Verilog File (.v) lpm.v al directori d'edasíntesi.
mòdul lpm_counter (q, dades, rellotge, cin, cout, clk_en, cnt_en, updown, aset, aclr, aload, sset, sclr, sload, eq); paràmetre lpm_type = "lpm_counter"; paràmetre lpm_width = 1; paràmetre lpm_modulus = 0; paràmetre lpm_direction = "NO ÚS"; paràmetre lpm_avalue = "NO ÚS"; paràmetre lpm_svalue = "NO ÚS"; paràmetre lpm_pvalue = "NO ÚS"; paràmetre lpm_port_updown = "PORT_CONNECTIVITAT"; paràmetre lpm_hint = "NO ÚS"; sortida [lpm_width-1:0] q; cost de sortida; sortida [15:0] eq; entrada cin; dades d'entrada [lpm_width-1:0]; rellotge d'entrada, clk_en, cnt_en, updown; entrada asset, aclr, aload; entrada sset, sclr, sload; mòdul final
2.3. Declaració de components VHDL
La declaració del component VHDL es troba al disseny de VHDL File (.vhd) LPM_PACK.vhd al fitxer directori librariesvhdllpm.
component LPM_COUNTER genèric ( LPM_WIDTH : natural; LPM_MODULUS : natural := 0; LPM_DIRECTION : cadena := “UNUSED”; LPM_AVALUE : string := “UNUSED”; LPM_SVALUE : string := “UNUSED”; LPM_PORT_UPDOWN : “string” :_CONNECTIVITY : _CONNECTIVITY ; LPM_PVALUE : cadena := “SIN UTILITZAR”; port (DADES: a std_logic_vector (LPM_WIDTH-1 fins a 0):= (ALTRES =>
'0'); CLOCK : a std_logic ; CLK_EN : a std_logic := '1'; CNT_EN : a std_logic := '1'; PUJAR : a std_logic := '1'; SLOAD : a std_logic := '0'; SSET: a std_logic:= '0'; SCLR: a std_logic:= '0'; ALOAD : a std_logic := '0'; ASET: a std_logic:= '0'; ACLR: a std_logic:= '0'; CIN: a std_logic:= '1'; COUT: fora std_logic:= '0'; Q: out std_logic_vector (LPM_WIDTH-1 fins a 0); EQ: out std_logic_vector (15 fins a 0));
component final;

Guia d'usuari de nuclis IP aritmètics d'integer FPGA Intel 8

Envia comentaris

2. LPM_COUNTER (Comptador) IP Core 683490 | 2020.10.05/XNUMX/XNUMX

2.4. Declaració VHDL LIBRARY_USE
La declaració VHDL LIBRARY-USE no és necessària si utilitzeu la declaració de components VHDL.
BIBLIOTECA lpm; UTILITZA LPM.lpm_components.all;

2.5. Ports

Les taules següents mostren els ports d'entrada i sortida del nucli IP LPM_COUNTER.

Taula 2.

LPM_COUNTER Ports d'entrada

Nom del port

Obligatori

Descripció

dades[]

No

Entrada de dades en paral·lel al comptador. La mida del port d'entrada depèn del valor del paràmetre LPM_WIDTH.

rellotge

Entrada de rellotge activada per front positiu.

clk_en

No

Entrada d'activació del rellotge per habilitar totes les activitats sincròniques. Si s'omet, el valor per defecte és 1.

cnt_en

No

Count enable input per desactivar el recompte quan s'afirma baix sense afectar sload, sset o sclr. Si s'omet, el valor per defecte és 1.

amunt avall

No

Controla la direcció del recompte. Quan s'afirma alta (1), la direcció del recompte és amunt, i quan s'afirma baixa (0), la direcció del recompte és baixa. Si s'utilitza el paràmetre LPM_DIRECTION, no es pot connectar el port updown. Si no s'utilitza LPM_DIRECTION, el port amunt avall és opcional. Si s'omet, el valor per defecte és superior (1).

cin

No

Portar a la bit de comanda baixa. Per als comptadors alça, el comportament de l'entrada cin és

idèntic al comportament de l'entrada cnt_en. Si s'omet, el valor per defecte és 1

(VCC).

aclr

No

Entrada clara asíncrona. Si s'utilitzen i s'afirmen tant asset com aclr, aclr substitueix asset. Si s'omet, el valor per defecte és 0 (desactivat).

actiu

No

Entrada de conjunt asíncron. Especifica les sortides q[] com a tots 1 o al valor especificat pel paràmetre LPM_AVALUE. Si s'utilitzen i s'afirmen tant els ports asset com aclr, el valor del port aclr anul·la el valor del port asset. Si s'omet, el valor per defecte és 0, desactivat.

carregat

No

Entrada de càrrega asíncrona que carrega de manera asíncrona el comptador amb el valor de l'entrada de dades. Quan s'utilitza el port de càrrega, el port de dades[] ha d'estar connectat. Si s'omet, el valor per defecte és 0, desactivat.

sclr

No

Entrada clara sincrònica que esborra el comptador a la vora del rellotge actiu següent. Si s'utilitzen i s'afirmen tant els ports sset com sclr, el valor del port sclr anul·la el valor del port sset. Si s'omet, el valor per defecte és 0, desactivat.

set

No

Entrada de conjunt sincrònica que estableix el comptador a la vora del rellotge actiu següent. Especifica el valor de les sortides q com a tots els 1, o al valor especificat pel paràmetre LPM_SVALUE. Si s'utilitzen i s'afirmen tant els ports sset com sclr,
el valor del port sclr anul·la el valor del port sset. Si s'omet, el valor per defecte és 0 (desactivat).

carregar

No

Entrada de càrrega síncrona que carrega el comptador amb dades[] a la vora del rellotge actiu següent. Quan s'utilitza el port de càrrega, el port de dades[] ha d'estar connectat. Si s'omet, el valor per defecte és 0 (desactivat).

Envia comentaris

Guia d'usuari de nuclis IP aritmètics d'integer FPGA Intel 9

2. LPM_COUNTER (Comptador) IP Core 683490 | 2020.10.05/XNUMX/XNUMX

Taula 3.

LPM_COUNTER Ports de sortida

Nom del port

Obligatori

Descripció

q[]

No

Sortida de dades del comptador. La mida del port de sortida depèn de

Valor del paràmetre LPM_WIDTH. O q[] o almenys un dels ports eq[15..0].

ha d'estar connectat.

eq[15..0]

No

Sortida de descodificació del comptador. El port eq[15..0] no és accessible a l'editor de paràmetres perquè el paràmetre només admet AHDL.
Cal connectar el port q[] o el port eq[]. Es poden utilitzar fins a ports c eq (0 <= c <= 15). Només es descodifiquen els 16 valors de recompte més baixos. Quan el valor de recompte és c, la sortida eqc s'afirma alta (1). Per exampsi el recompte és 0, eq0 = 1, quan el recompte és 1, eq1 = 1, i quan el recompte és 15, eq 15 = 1. La sortida descodificada per a valors de recompte de 16 o més requereix descodificació externa. Les sortides eq[15..0] són asíncrones a la sortida q[].

cout

No

Port d'execució del bit MSB del comptador. Es pot utilitzar per connectar-se a un altre comptador per crear un comptador més gran.

2.6 Paràmetres

La taula següent enumera els paràmetres per al nucli IP LPM_COUNTER.

Taula 4.

LPM_COUNTER Paràmetres

Nom del paràmetre

Tipus

LPM_WIDTH

Nombre sencer

LPM_DIRECTION

Corda

LPM_MODULUS LPM_AVALUE

Nombre sencer
Sencer/cadena

LPM_SVALUE LPM_HINT

Sencer/cadena
Corda

LPM_TYPE

Corda

Obligatori Sí No No No
No No
No

Descripció
Especifica l'amplada dels ports de dades[] i q[], si s'utilitzen.
Els valors són UP, DOWN i UNUSED. Si s'utilitza el paràmetre LPM_DIRECTION, no es pot connectar el port updown. Quan el port updown no està connectat, el valor predeterminat del paràmetre LPM_DIRECTION és UP.
El recompte màxim, més un. Nombre d'estats únics en el cicle del comptador. Si el valor de càrrega és més gran que el paràmetre LPM_MODULUS, no s'especifica el comportament del comptador.
Valor constant que es carrega quan l'actiu s'afirma com a alt. Si el valor especificat és superior o igual a , el comportament del comptador és un nivell lògic (X) indefinit, on és LPM_MODULUS, si n'hi ha, o 2 ^ LPM_WIDTH. Intel recomana que especifiqueu aquest valor com a nombre decimal per als dissenys d'AHDL.
Valor constant que es carrega a la vora ascendent del port del rellotge quan el port sset s'afirma com a alt. Intel recomana que especifiqueu aquest valor com a nombre decimal per als dissenys d'AHDL.
Quan creeu una funció de biblioteca de mòduls parametritzats (LPM) en un disseny VHDL File (.vhd), heu d'utilitzar el paràmetre LPM_HINT per especificar un paràmetre específic d'Intel. Per exampfitxer: LPM_HINT = "CHAIN_SIZE = 8, ONE_INPUT_IS_CONSTANT = YES"
El valor predeterminat és NO UTILITZAT.
Identifica el nom de l'entitat de la biblioteca de mòduls parametritzats (LPM) en el disseny VHDL files.
continuat…

Guia d'usuari de nuclis IP aritmètics d'integer FPGA Intel 10

Envia comentaris

2. LPM_COUNTER (Comptador) IP Core 683490 | 2020.10.05/XNUMX/XNUMX

Nom del paràmetre INTENDED_DEVICE_FAMILY CARRY_CNT_EN
LABWIDE_SCLR
LPM_PORT_UPDOWN

Escriviu String String
Corda
Corda

Obligatori No No
No
No

Descripció
Aquest paràmetre s'utilitza amb finalitats de modelització i simulació de comportament. Aquest paràmetre s'utilitza amb finalitats de modelització i simulació de comportament. L'editor de paràmetres calcula el valor d'aquest paràmetre.
Paràmetre específic d'Intel. Heu d'utilitzar el paràmetre LPM_HINT per especificar el paràmetre CARRY_CNT_EN al disseny VHDL files. Els valors són SMART, ON, OFF i UNUSED. Habilita la funció LPM_COUNTER per propagar el senyal cnt_en a través de la cadena de transport. En alguns casos, la configuració del paràmetre CARRY_CNT_EN pot tenir un lleuger impacte en la velocitat, de manera que potser voldreu desactivar-la. El valor predeterminat és SMART, que proporciona el millor compromís entre mida i velocitat.
Paràmetre específic d'Intel. Heu d'utilitzar el paràmetre LPM_HINT per especificar el paràmetre LABWIDE_SCLR al disseny VHDL files. Els valors són ON, OFF o UNUSED. El valor predeterminat és ON. Us permet desactivar l'ús de la funció LABwide sclr que es troba a les famílies de dispositius obsoletes. Desactivar aquesta opció augmenta les possibilitats d'utilitzar completament els LAB parcialment plens i, per tant, pot permetre una densitat lògica més alta quan SCLR no s'aplica a un LAB complet. Aquest paràmetre està disponible per a la compatibilitat enrere i Intel us recomana que no utilitzeu aquest paràmetre.
Especifica l'ús del port d'entrada amunt avall. Si s'omet, el valor predeterminat és PORT_CONNECTIVITY. Quan el valor del port s'estableix en PORT_USED, el port es tracta com a utilitzat. Quan el valor del port s'estableix en PORT_UNUSED, el port es tracta com a no utilitzat. Quan el valor del port s'estableix a PORT_CONNECTIVITY, l'ús del port es determina comprovant la connectivitat del port.

Envia comentaris

Guia d'usuari de nuclis IP aritmètics d'integer FPGA Intel 11

683490 | 2020.10.05/XNUMX/XNUMX Envia comentaris

3. LPM_DIVIDE (Divisor) Intel FPGA IP Core

Figura 2.

El nucli IP LPM_DIVIDE Intel FPGA implementa un divisor per dividir el valor d'entrada del numerador per un valor d'entrada del denominador per produir un quocient i un residu.

La figura següent mostra els ports per al nucli IP LPM_DIVIDE.

LPM_DIVIDE Ports

LPM_DIVIDE

nombre[] denom[] rellotge

quocient[] roman[]

clken aclr

inst

3.1. Característiques
El nucli IP LPM_DIVIDE ofereix les següents característiques: · Genera un divisor que divideix el valor d'entrada del numerador per una entrada del denominador
valor per produir un quocient i un residu. · Admet una amplada de dades de 1 bits. · Admet el format de representació de dades signades i sense signar tant per al numerador
i valors del denominador. · Admet l'optimització d'àrea o velocitat. · Proporciona una opció per especificar una sortida positiva de la resta. · Admet latència de sortida configurable de pipeline. · Admet ports opcionals de clarificació asíncron i activació de rellotge.

3.2. Prototip Verilog HDL
El següent prototip Verilog HDL es troba al disseny de Verilog File (.v) lpm.v al directori d'edasíntesi.
mòdul lpm_divide ( quocient, resta, nombre, denom, rellotge, clken, aclr); paràmetre lpm_type = "lpm_divide"; paràmetre lpm_widthn = 1; paràmetre lpm_widthd = 1; paràmetre lpm_nrepresentation = "SENSE signa"; paràmetre lpm_drepresentation = "SENSE signa"; paràmetre lpm_remainderpositive = "TRUE"; paràmetre lpm_pipeline = 0;

Intel Corporation. Tots els drets reservats. Intel, el logotip d'Intel i altres marques d'Intel són marques comercials d'Intel Corporation o de les seves filials. Intel garanteix el rendiment dels seus productes FPGA i semiconductors amb les especificacions actuals d'acord amb la garantia estàndard d'Intel, però es reserva el dret de fer canvis a qualsevol producte i servei en qualsevol moment sense previ avís. Intel no assumeix cap responsabilitat derivada de l'aplicació o l'ús de qualsevol informació, producte o servei descrit aquí, tret que Intel ho acordi expressament per escrit. Es recomana als clients d'Intel que obtinguin la darrera versió de les especificacions del dispositiu abans de confiar en qualsevol informació publicada i abans de fer comandes de productes o serveis. * Altres noms i marques es poden reclamar com a propietat d'altres.

Registre ISO 9001:2015

3. LPM_DIVIDE (Divisor) Intel FPGA IP Core 683490 | 2020.10.05/XNUMX/XNUMX

paràmetre lpm_hint = "NO ÚS"; rellotge d'entrada; entrada clken; entrada aclr; entrada [lpm_widthn-1:0] nombre; entrada [lpm_widthd-1:0] denom; quocient de sortida [lpm_widthn-1:0]; la sortida [lpm_widthd-1:0] roman; mòdul final

3.3. Declaració de components VHDL
La declaració del component VHDL es troba al disseny de VHDL File (.vhd) LPM_PACK.vhd al fitxer directori librariesvhdllpm.
component LPM_DIVIDE genèric (LPM_WIDTHN : natural; LPM_WIDTHD : natural;
LPM_NREPRESENTATION : string := “SENSE signa”; LPM_DREPRESENTATION : string := “SENSE signa”; LPM_PIPELINE : natural := 0; LPM_TYPE : cadena := L_DIVIDE; LPM_HINT : cadena := “SIN UTILITZAR”); port (NUMER: a std_logic_vector(LPM_WIDTHN-1 fins a 0); DENOM: a std_logic_vector (LPM_WIDTHD-1 a 0); ACLR: a std_logic:= '0'; CLOCK: a std_logic:= '0'; CLKEN: a std_logic := '1'; QUOTIENT: out std_logic_vector (LPM_WIDTHN-1 a 0 REMAIN: out std_logic_vector (LPM_WIDTHD-1 a 0)); component final;

3.4. Declaració VHDL LIBRARY_USE
La declaració VHDL LIBRARY-USE no és necessària si utilitzeu la declaració de components VHDL.
BIBLIOTECA lpm; UTILITZA LPM.lpm_components.all;

3.5. Ports

Les taules següents mostren els ports d'entrada i sortida del nucli IP LPM_DIVIDE.

Taula 5.

LPM_DIVIDE Ports d'entrada

Nom del port

Obligatori

número[]

denom[]

Descripció
Entrada de dades del numerador. La mida del port d'entrada depèn del valor del paràmetre LPM_WIDTHN.
Entrada de dades del denominador. La mida del port d'entrada depèn del valor del paràmetre LPM_WIDTHD.
continuat…

Envia comentaris

Guia d'usuari de nuclis IP aritmètics d'integer FPGA Intel 13

3. LPM_DIVIDE (Divisor) Intel FPGA IP Core 683490 | 2020.10.05/XNUMX/XNUMX

Nom del port rellotge clken
aclr

Obligatori No No
No

Descripció
Entrada de rellotge per a ús canalitzat. Per a valors LPM_PIPELINE diferents de 0 (per defecte), el port del rellotge ha d'estar habilitat.
El rellotge permet l'ús canalitzat. Quan el port clken s'afirma com a alt, es produeix l'operació de divisió. Quan el senyal és baix, no es produeix cap operació. Si s'omet, el valor per defecte és 1.
Port net asíncron que s'utilitza en qualsevol moment per restablir la canalització a tots els '0' de manera asíncrona a l'entrada del rellotge.

Taula 6.

LPM_DIVIDE Ports de sortida

Nom del port

Obligatori

Descripció

quocient[]

Sortida de dades. La mida del port de sortida depèn de LPM_WIDTHN

valor del paràmetre.

romandre[]

Sortida de dades. La mida del port de sortida depèn de LPM_WIDTHD

valor del paràmetre.

3.6 Paràmetres

La taula següent enumera els paràmetres per al nucli IP LPM_DIVIDE Intel FPGA.

Nom del paràmetre

Tipus

Obligatori

Descripció

LPM_WIDTHN

Nombre sencer

Especifica l'amplada del nombre[] i

ports de quocient[]. Els valors van de l'1 al 64.

LPM_WIDTHD

Nombre sencer

Especifica les amplades del denom[] i

romanen [] ports. Els valors van de l'1 al 64.

LPM_NREPRESENTATION LPM_DREPRESENTATION

Cadena Cadena

No

Representació per signe de l'entrada del numerador.

Els valors són SIGNED i UNSIGNED. Quan això

el paràmetre s'estableix en SIGNED, el divisor

interpreta l'entrada numèrica[] com a dos amb signe

complement.

No

Representació per signe de l'entrada del denominador.

Els valors són SIGNED i UNSIGNED. Quan això

el paràmetre s'estableix en SIGNED, el divisor

interpreta l'entrada denom[] com a dos amb signe

complement.

LPM_TYPE

Corda

No

Identifica la biblioteca de parametritzat

nom de l'entitat modules (LPM) en el disseny VHDL

files (.vhd).

LPM_HINT

Corda

No

Quan instància una biblioteca de

els mòduls parametritzats (LPM) funcionen en a

Disseny VHDL File (.vhd), heu d'utilitzar el fitxer

Paràmetre LPM_HINT per especificar un Intel-

paràmetre específic. Per example: LPM_HINT

= "CHAIN_SIZE = 8,

ONE_INPUT_IS_CONSTANT = YES” El

el valor predeterminat és NO UTILITZAT.

LPM_REMAINDERPOSITIVE

Corda

No

Paràmetre específic d'Intel. Heu d'utilitzar el

Paràmetre LPM_HINT per especificar

El paràmetre LPM_REMAINDERPOSITIVE entra

Disseny VHDL files. Els valors són VERDADERS o FALS.

Si aquest paràmetre s'estableix en TRUE, aleshores

el valor del port restant[] ha de ser més gran

continuat…

Guia d'usuari de nuclis IP aritmètics d'integer FPGA Intel 14

Envia comentaris

3. LPM_DIVIDE (Divisor) Intel FPGA IP Core 683490 | 2020.10.05/XNUMX/XNUMX

Nom del paràmetre

Tipus

MAXIMIZE_SPEED

Nombre sencer

LPM_PIPELINE

Nombre sencer

INTENDED_DEVICE_FAMILY SKIP_BITS

Cadena Entera

Núm. obligatori
No No No

Descripció
superior o igual a zero. Si aquest paràmetre s'estableix en TRUE, aleshores el valor del port restant[] és zero o el valor és el mateix signe, ja sigui positiu o negatiu, que el valor del port numèric. Per tal de reduir l'àrea i millorar la velocitat, Intel recomana establir aquest paràmetre a TRUE en operacions on la resta ha de ser positiva o on la resta no és important.
Paràmetre específic d'Intel. Heu d'utilitzar el paràmetre LPM_HINT per especificar el paràmetre MAXIMIZE_SPEED al disseny VHDL files. Els valors són [0..9]. Si s'utilitza, el programari Intel Quartus Prime intenta optimitzar una instància específica de la funció LPM_DIVIDE per a la velocitat en comptes de l'encaminament, i anul·la la configuració de l'opció lògica de la tècnica d'optimització. Si no s'utilitza MAXIMIZE_SPEED, s'utilitza el valor de l'opció Tècnica d'optimització. Si el valor de MAXIMIZE_SPEED és 6 o superior, el compilador optimitza el nucli IP LPM_DIVIDE per a una velocitat més alta mitjançant cadenes de transport; si el valor és 5 o menys, el compilador implementa el disseny sense cadenes de transport.
Especifica el nombre de cicles de rellotge de latència associats a les sortides de quocient[] i de resta[]. Un valor de zero (0) indica que no hi ha latència i que s'instancia una funció purament combinacional. Si s'omet, el valor per defecte és 0 (no canalitzat). No podeu especificar un valor per al paràmetre LPM_PIPELINE que sigui superior a LPM_WIDTHN.
Aquest paràmetre s'utilitza amb finalitats de modelització i simulació de comportament. L'editor de paràmetres calcula el valor d'aquest paràmetre.
Permet una divisió de bits fraccionada més eficient per optimitzar la lògica dels bits principals proporcionant el nombre de GND principal al nucli IP LPM_DIVIDE. Especifiqueu el nombre de GND inicial a la sortida del quocient d'aquest paràmetre.

Envia comentaris

Guia d'usuari de nuclis IP aritmètics d'integer FPGA Intel 15

683490 | 2020.10.05/XNUMX/XNUMX Envia comentaris

4. LPM_MULT (multiplicador) IP Core

Figura 3.

El nucli IP LPM_MULT implementa un multiplicador per multiplicar dos valors de dades d'entrada per produir un producte com a sortida.

La figura següent mostra els ports per al nucli IP LPM_MULT.

LPM_Ports múltiples

LPM_MULT dades del rellotgea[] resultat[] datab[] aclr/sclr clken
inst

Informació relacionada Funcions a la pàgina 71

4.1. Característiques
El nucli IP LPM_MULT ofereix les característiques següents: · Genera un multiplicador que multiplica dos valors de dades d'entrada · Admet una amplada de dades de 1 bits · Admet formats de representació de dades signades i sense signe · Admet optimització d'àrea o velocitat · Admet canalització amb latència de sortida configurable · Proporciona un opció per a la implementació en processament de senyal digital dedicat (DSP)
circuits de blocs o elements lògics (LE) Nota: quan es construeixen multiplicadors més grans que la mida suportada de manera nativa, pot ser/
tindrà un impacte en el rendiment resultant de la cascada dels blocs DSP. · Admet ports d'entrada de clarificació asíncrona i activació del rellotge opcionals · Admet claredat síncrona opcional per a dispositius Intel Stratix 10, Intel Arria 10 i Intel Cyclone 10 GX

Intel Corporation. Tots els drets reservats. Intel, el logotip d'Intel i altres marques d'Intel són marques comercials d'Intel Corporation o de les seves filials. Intel garanteix el rendiment dels seus productes FPGA i semiconductors amb les especificacions actuals d'acord amb la garantia estàndard d'Intel, però es reserva el dret de fer canvis a qualsevol producte i servei en qualsevol moment sense previ avís. Intel no assumeix cap responsabilitat derivada de l'aplicació o l'ús de qualsevol informació, producte o servei descrit aquí, tret que Intel ho acordi expressament per escrit. Es recomana als clients d'Intel que obtinguin la darrera versió de les especificacions del dispositiu abans de confiar en qualsevol informació publicada i abans de fer comandes de productes o serveis. * Altres noms i marques es poden reclamar com a propietat d'altres.

Registre ISO 9001:2015

4. LPM_MULT (multiplicador) IP Core 683490 | 2020.10.05/XNUMX/XNUMX
4.2. Prototip Verilog HDL
El següent prototip Verilog HDL es troba al disseny de Verilog File (.v) lpm.v al directori d'edasíntesi.
mòdul lpm_mult ( resultat, dataa, datab, sum, clock, clken, aclr ) paràmetre lpm_type = "lpm_mult"; paràmetre lpm_widtha = 1; paràmetre lpm_widthb = 1; paràmetre lpm_widths = 1; paràmetre lpm_widthp = 1; paràmetre lpm_representation = "SENSE signa"; paràmetre lpm_pipeline = 0; paràmetre lpm_hint = "NO ÚS"; rellotge d'entrada; entrada clken; entrada aclr; entrada [lpm_widtha-1:0] dadesa; entrada [lpm_widthb-1:0] datab; entrada [lpm_widths-1:0] suma; resultat [lpm_widthp-1:0] de sortida; mòdul final
4.3. Declaració de components VHDL
La declaració del component VHDL es troba al disseny de VHDL File (.vhd) LPM_PACK.vhd al fitxer directori librariesvhdllpm.
component LPM_MULT genèric ( LPM_WIDTHA : natural; LPM_WIDTHB : natural; LPM_WIDTHS : natural := 1; LPM_WIDTHP : natural;
LPM_REPRESENTATION : string := “SENSE signa”; LPM_PIPELINE : natural := 0; LPM_TYPE: cadena:= L_MULT; LPM_HINT : cadena := “SIN UTILITZAR”); port (DATAA: a std_logic_vector(LPM_WIDTHA-1 fins a 0); DATAB: a std_logic_vector (LPM_WIDTHB-1 a 0); ACLR: a std_logic:= '0'; CLOCK: a std_logic:= '0'; CLKEN: a std_logic := '1'; SUMA : a std_logic_vector (LPM_WIDTHS-1 fins a 0) := (ALTRES => '0': out std_logic_vector (LPM_WIDTHP-1 a 0)); component final;
4.4. Declaració VHDL LIBRARY_USE
La declaració VHDL LIBRARY-USE no és necessària si utilitzeu la declaració de components VHDL.
BIBLIOTECA lpm; UTILITZA LPM.lpm_components.all;

Envia comentaris

Guia d'usuari de nuclis IP aritmètics d'integer FPGA Intel 17

4. LPM_MULT (multiplicador) IP Core 683490 | 2020.10.05/XNUMX/XNUMX

4.5. Senyals

Taula 7.

Senyals d'entrada LPM_MULT

Nom del senyal

Obligatori

Descripció

dadesa[]

Entrada de dades.

Per als dispositius Intel Stratix 10, Intel Arria 10 i Intel Cyclone 10 GX, la mida del senyal d'entrada depèn del valor del paràmetre d'amplada de Dataa.

Per als dispositius antics i Intel Cyclone 10 LP, la mida del senyal d'entrada depèn del valor del paràmetre LPM_WIDTHA.

base de dades[]

Entrada de dades.

Per als dispositius Intel Stratix 10, Intel Arria 10 i Intel Cyclone 10 GX, la mida del senyal d'entrada depèn del valor del paràmetre d'amplada de Datab.

Per a dispositius antics i Intel Cyclone 10 LP, depèn de la mida del senyal d'entrada

al valor del paràmetre LPM_WIDTHB.

rellotge

No

Entrada de rellotge per a ús canalitzat.

Per als dispositius antics i Intel Cyclone 10 LP, el senyal del rellotge ha d'estar habilitat per a valors LPM_PIPELINE diferents de 0 (per defecte).

Per als dispositius Intel Stratix 10, Intel Arria 10 i Intel Cyclone 10 GX, el senyal del rellotge s'ha d'activar si el valor de latència és diferent d'1 (per defecte).

clken

No

Rellotge activat per a l'ús canalitzat. Quan el senyal clken s'afirma alt, el

té lloc l'operació sumadora/restadora. Quan el senyal és baix, no hi ha cap operació

es produeix. Si s'omet, el valor per defecte és 1.

aclr sclr

No

Senyal clar asíncron que s'utilitza en qualsevol moment per restablir la canonada a tots els 0,

de manera asíncrona al senyal del rellotge. La canalització s'inicia a un indefinit (X)

nivell lògic. Les sortides són un valor coherent, però diferent de zero.

No

Senyal clar sincrònic que s'utilitza en qualsevol moment per restablir la canonada a tots els 0,

sincrònicament amb el senyal del rellotge. La canalització s'inicia a un indefinit (X)

nivell lògic. Les sortides són un valor coherent, però diferent de zero.

Taula 8.

LPM_MULT Senyals de sortida

Nom del senyal

Obligatori

Descripció

resultat[]

Sortida de dades.

Per als dispositius antics i Intel Cyclone 10 LP, la mida del senyal de sortida depèn del valor del paràmetre LPM_WIDTHP. Si LPM_WIDTHP < màxim (LPM_WIDTHA + LPM_WIDTHB, LPM_WIDTHS) o (LPM_WIDTHA + LPM_WIDTHS), només els MSB LPM_WIDTHP estan presents.

Per a Intel Stratix 10, Intel Arria 10 i Intel Cyclone 10 GX, la mida dels senyals de sortida depèn del paràmetre d'amplada del resultat.

4.6. Paràmetres per als dispositius Stratix V, Arria V, Cyclone V i Intel Cyclone 10 LP

4.6.1. Pestanya General

Taula 9.

Pestanya General

Paràmetre

Valor

Configuració del multiplicador

Multipliqueu l'entrada 'dataa' per l'entrada 'datab'

Valor per defecte

Descripció

Multipliqueu l'entrada 'dataa' per l'entrada 'datab'

Seleccioneu la configuració desitjada per al multiplicador.
continuat…

Guia d'usuari de nuclis IP aritmètics d'integer FPGA Intel 18

Envia comentaris

4. LPM_MULT (multiplicador) IP Core 683490 | 2020.10.05/XNUMX/XNUMX

Paràmetre
Quina amplitud hauria de tenir l'entrada "dataa"? Quina amplitud hauria de tenir l'entrada "datab"? Com s'ha de determinar l'amplada de la sortida del "resultat"? Restringeix l'amplada

Valor
Multiplica l'entrada "dataa" per si mateixa (operació de quadrat)
1-256 bits

Valor per defecte

Descripció

8 bits

Especifiqueu l'amplada del port de dadesa[].

1-256 bits

8 bits

Especifiqueu l'amplada del port datab[].

Calcula automàticament l'amplada Restringeix l'amplada
1-512 bits

Calcula automàticament l'amplada

Seleccioneu el mètode desitjat per determinar l'amplada del port del resultat[].

16 bits

Especifiqueu l'amplada del port del resultat[].
Aquest valor només serà efectiu si seleccioneu Restringeix l'amplada al paràmetre Tipus.

4.6.2. General 2 Tab

Taula 10. General 2 Tab

Paràmetre

Valor

Entrada de dades

El bus d'entrada 'datab' té un valor constant?

No Sí

Tipus de multiplicació

Quin tipus de

Sense signar

la multiplicació vols? Signat

Implementació

Quina implementació del multiplicador s'ha d'utilitzar?

Utilitzeu la implementació predeterminada
Utilitzeu el circuit multiplicador dedicat (no disponible per a totes les famílies)
Utilitzar elements lògics

Valor per defecte

Descripció

No

Seleccioneu Sí per especificar el valor constant de

Bus d'entrada `datab', si n'hi ha.

Sense signar

Especifiqueu el format de representació per a les entrades dataa[] i datab[].

Utilitzeu la implementació predeterminada

Seleccioneu el mètode desitjat per determinar l'amplada del port del resultat[].

4.6.3. Pestanya de canalització

Taula 11. Pestanya Pipelined

Paràmetre

Voleu canalitzar el núm

funció?

Valor

Crea un "aclr"

port clar asíncron

Valor per defecte

Descripció

No

Seleccioneu Sí per habilitar el registre de canalització al

la sortida del multiplicador i especifiqueu el desitjat

latència de sortida en el cicle del rellotge. Habilitant el

El registre de pipeline afegeix una latència addicional al fitxer

sortida.

Sense marcar

Seleccioneu aquesta opció per habilitar el port aclr per utilitzar l'esborrat asíncron per al registre de canalització.
continuat…

Envia comentaris

Guia d'usuari de nuclis IP aritmètics d'integer FPGA Intel 19

4. LPM_MULT (multiplicador) IP Core 683490 | 2020.10.05/XNUMX/XNUMX

Paràmetre
Creeu un rellotge "clken" per activar el rellotge
Optimització
Quin tipus d'optimització voleu?

Valor —
Àrea de velocitat per defecte

Valor per defecte

Descripció

Sense marcar

Especifica l'activació activa de rellotge alt per al port de rellotge del registre de canalització

Per defecte

Especifiqueu l'optimització desitjada per al nucli IP.
Seleccioneu Per defecte per permetre que el programari Intel Quartus Prime determini la millor optimització per al nucli IP.

4.7. Paràmetres per a dispositius Intel Stratix 10, Intel Arria 10 i Intel Cyclone 10 GX

4.7.1. Pestanya General

Taula 12. Pestanya General

Paràmetre

Valor

Valor per defecte

Descripció

Tipus de configuració del multiplicador
Amplades del port de dades

Multipliqueu l'entrada 'dataa' per l'entrada 'datab'
Multiplica l'entrada "dataa" per si mateixa (operació de quadrat)

Multipliqueu l'entrada 'dataa' per l'entrada 'datab'

Seleccioneu la configuració desitjada per al multiplicador.

Ample de dades

1-256 bits

8 bits

Especifiqueu l'amplada del port de dadesa[].

Amplada de la base de dades

1-256 bits

8 bits

Especifiqueu l'amplada del port datab[].

Com s'ha de determinar l'amplada de la sortida del "resultat"?

Tipus

Calcula automàticament l'amplada
Restringeix l'amplada

Calcula automàticament l'amplada

Seleccioneu el mètode desitjat per determinar l'amplada del port del resultat[].

Valor

1-512 bits

16 bits

Especifiqueu l'amplada del port del resultat[].
Aquest valor només serà efectiu si seleccioneu Restringeix l'amplada al paràmetre Tipus.

Amplada del resultat

1-512 bits

Mostra l'amplada efectiva del port del resultat[].

4.7.2. General 2 Tab

Taula 13. General 2 Tab

Paràmetre

Entrada de dades

El bus d'entrada 'datab' té un valor constant?

No Sí

Valor

Valor per defecte

Descripció

No

Seleccioneu Sí per especificar el valor constant de

Bus d'entrada `datab', si n'hi ha.

continuat…

Guia d'usuari de nuclis IP aritmètics d'integer FPGA Intel 20

Envia comentaris

4. LPM_MULT (multiplicador) IP Core 683490 | 2020.10.05/XNUMX/XNUMX

Paràmetre

Valor

Valor

Qualsevol valor superior a 0

Tipus de multiplicació

Quin tipus de

Sense signar

la multiplicació vols? Signat

Estil d'implementació

Quina implementació del multiplicador s'ha d'utilitzar?

Utilitzeu la implementació predeterminada
Utilitzeu el circuit multiplicador dedicat
Utilitzar elements lògics

Valor per defecte

Descripció

0

Especifiqueu el valor constant del port datab[].

Sense signar

Especifiqueu el format de representació per a les entrades dataa[] i datab[].

Utilitzeu la implementació predeterminada

Seleccioneu el mètode desitjat per determinar l'amplada del port del resultat[].

4.7.3. Canalització

Taula 14. Pestanya Pipelined

Paràmetre

Valor

Voleu canalitzar la funció?

Gasoducte

No Sí

Tipus de senyal esborrat de latència

Qualsevol valor superior a 0.
CAP ACLR SCLR

Creeu un rellotge "clken".

habilitar el rellotge

Quin tipus d'optimització voleu?

Tipus

Àrea de velocitat per defecte

Valor per defecte

Descripció

No 1 NINGÚ

Seleccioneu Sí per habilitar el registre de canalització a la sortida del multiplicador. Habilitar el registre de canalització afegeix una latència addicional a la sortida.
Especifiqueu la latència de sortida desitjada en el cicle del rellotge.
Especifiqueu el tipus de restabliment del registre de canalització. Seleccioneu CAP si no feu servir cap registre de canalització. Seleccioneu ACLR per utilitzar la neteja asíncrona per al registre de canalització. Això generarà el port ACLR. Seleccioneu SCLR per utilitzar la neteja síncrona per al registre de canalització. Això generarà el port SCLR.
Especifica l'activació activa de rellotge alt per al port de rellotge del registre de canalització

Per defecte

Especifiqueu l'optimització desitjada per al nucli IP.
Seleccioneu Per defecte per permetre que el programari Intel Quartus Prime determini la millor optimització per al nucli IP.

Envia comentaris

Guia d'usuari de nuclis IP aritmètics d'integer FPGA Intel 21

683490 | 2020.10.05/XNUMX/XNUMX Envia comentaris

5. LPM_ADD_SUB (sumador/subtractor)

Figura 4.

El nucli IP LPM_ADD_SUB us permet implementar un sumador o un restador per afegir o restar conjunts de dades per produir una sortida que contingui la suma o diferència dels valors d'entrada.

La figura següent mostra els ports per al nucli IP LPM_ADD_SUB.

Ports LPM_ADD_SUB

LPM_ADD_SUB add_sub cin

dadesa[]

rellotge clken datab[] aclr

resultat[] desbordament cout

inst

5.1. Característiques
El nucli IP LPM_ADD_SUB ofereix les funcions següents: · Genera sumador, restador i sumador/restador configurable dinàmicament
funcions. · Admet una amplada de dades de 1 bits. · Admet el format de representació de dades, com ara signat i sense signar. · Admet l'entrada opcional (prestació), la neteja asíncrona i l'habilitació del rellotge
ports d'entrada. · Admet ports de sortida opcionals (préstec) i desbordament. · Assigna qualsevol dels busos de dades d'entrada a una constant. · Admet la canalització amb latència de sortida configurable.

Intel Corporation. Tots els drets reservats. Intel, el logotip d'Intel i altres marques d'Intel són marques comercials d'Intel Corporation o de les seves filials. Intel garanteix el rendiment dels seus productes FPGA i semiconductors amb les especificacions actuals d'acord amb la garantia estàndard d'Intel, però es reserva el dret de fer canvis a qualsevol producte i servei en qualsevol moment sense previ avís. Intel no assumeix cap responsabilitat derivada de l'aplicació o l'ús de qualsevol informació, producte o servei descrit aquí, tret que Intel ho acordi expressament per escrit. Es recomana als clients d'Intel que obtinguin la darrera versió de les especificacions del dispositiu abans de confiar en qualsevol informació publicada i abans de fer comandes de productes o serveis. * Altres noms i marques es poden reclamar com a propietat d'altres.

Registre ISO 9001:2015

5. LPM_ADD_SUB (sumador/subtractador) 683490 | 2020.10.05/XNUMX/XNUMX
5.2. Prototip Verilog HDL
El següent prototip Verilog HDL es troba al disseny de Verilog File (.v) lpm.v al directori d'edasíntesi.
mòdul lpm_add_sub ( resultat, cout, overflow, add_sub, cin, dataa, datab, clock, clken, aclr ); paràmetre lpm_type = "lpm_add_sub"; paràmetre lpm_width = 1; paràmetre lpm_direction = "NO ÚS"; paràmetre lpm_representation = "SIGNAT"; paràmetre lpm_pipeline = 0; paràmetre lpm_hint = "NO ÚS"; entrada [lpm_width-1:0] dataa, datab; entrada add_sub, cin; rellotge d'entrada; entrada clken; entrada aclr; resultat [lpm_width-1:0] de sortida; sortida cout, desbordament; mòdul final
5.3. Declaració de components VHDL
La declaració del component VHDL es troba al disseny de VHDL File (.vhd) LPM_PACK.vhd al fitxer directori librariesvhdllpm.
component LPM_ADD_SUB genèric (LPM_WIDTH: natural;
LPM_DIRECTION : cadena := “SIN UTILITZAR”; LPM_REPRESENTATION: string := “SIGNED”; LPM_PIPELINE : natural := 0; LPM_TYPE : cadena := L_ADD_SUB; LPM_HINT : cadena := “SIN UTILITZAR”); port (DATAA: a std_logic_vector(LPM_WIDTH-1 fins a 0); DATAB: a std_logic_vector (LPM_WIDTH-1 a 0); ACLR: a std_logic:= '0'; CLOCK: a std_logic:= '0'; CLKEN: a std_logic := '1'; CIN : in std_logic := 'Z' : in std_logic := '1' : out std_logic_vector (LPM_WIDTH-1: out std_logic); component final;
5.4. Declaració VHDL LIBRARY_USE
La declaració VHDL LIBRARY-USE no és necessària si utilitzeu la declaració de components VHDL.
BIBLIOTECA lpm; UTILITZA LPM.lpm_components.all;
5.5. Ports
Les taules següents mostren els ports d'entrada i sortida del nucli IP LPM_ADD_SUB.

Envia comentaris

Guia d'usuari de nuclis IP aritmètics d'integer FPGA Intel 23

5. LPM_ADD_SUB (sumador/subtractador) 683490 | 2020.10.05/XNUMX/XNUMX

Taula 15. Ports d'entrada del nucli IP LPM_ADD_SUB

Nom del port

Obligatori

Descripció

cin

No

Portar a la bit de comanda baixa. Per a les operacions d'addició, el valor per defecte és 0. Per

operacions de resta, el valor per defecte és 1.

dadesa[]

Entrada de dades. La mida del port d'entrada depèn del valor del paràmetre LPM_WIDTH.

base de dades[]

Entrada de dades. La mida del port d'entrada depèn del valor del paràmetre LPM_WIDTH.

afegir_sub

No

Port d'entrada opcional per permetre la commutació dinàmica entre el sumador i el restador

funcions. Si s'utilitza el paràmetre LPM_DIRECTION, no es pot utilitzar add_sub. Si

s'omet, el valor per defecte és ADD. Intel recomana que utilitzeu

Paràmetre LPM_DIRECTION per especificar el funcionament de la funció LPM_ADD_SUB,

en lloc d'assignar una constant al port add_sub.

rellotge

No

Entrada per a ús canalitzat. El port de rellotge proporciona l'entrada de rellotge per a una canalització

funcionament. Per a valors LPM_PIPELINE diferents de 0 (per defecte), el port del rellotge ha de ser-ho

habilitat.

clken

No

Rellotge activat per a l'ús canalitzat. Quan el port clken s'afirma com a alt, el sumador/

té lloc l'operació del subtractor. Quan el senyal és baix, no es produeix cap operació. Si

s'omet, el valor per defecte és 1.

aclr

No

Esborrat asíncron per a ús canalitzat. La canalització s'inicia a un indefinit (X)

nivell lògic. El port aclr es pot utilitzar en qualsevol moment per restablir la canonada a tots els 0,

de manera asíncrona al senyal del rellotge.

Taula 16. Ports de sortida del nucli IP LPM_ADD_SUB

Nom del port

Obligatori

Descripció

resultat[]

Sortida de dades. La mida del port de sortida depèn del paràmetre LPM_WIDTH

valor.

cout

No

Execució (préstec) del bit més significatiu (MSB). El port de cout té un físic

interpretació com la realització (préstec) de la MSB. El port cout detecta

desbordament en operacions sense signar. El port de cout funciona de la mateixa manera per

Operacions SIGNADES i NO SIGNADES.

desbordament

No

Sortida d'excepció de desbordament opcional. El port de desbordament té una interpretació física com

el XOR de l'entrada a l'MSB amb la sortida de l'MSB. El port de desbordament

afirma quan els resultats superen la precisió disponible i només s'utilitza quan el

El valor del paràmetre LPM_REPRESENTATION està SIGNED.

5.6 Paràmetres

La taula següent enumera els paràmetres bàsics de la IP LPM_ADD_SUB.

Taula 17. Paràmetres bàsics d'IP LPM_ADD_SUB

Nom del paràmetre LPM_WIDTH

Escriviu Enter

Obligatori Sí

Descripció
Especifica l'amplada dels ports dataa[], datab[] i resultat[].

LPM_DIRECTION

Corda

No

Els valors són ADD, SUB i UNUSED. Si s'omet, el valor per defecte és DEFAULT, que indica que el paràmetre prengui el seu valor del port add_sub. El port add_sub no es pot utilitzar si s'utilitza LPM_DIRECTION. Intel recomana que utilitzeu el paràmetre LPM_DIRECTION per especificar el funcionament de la funció LPM_ADD_SUB, en lloc d'assignar una constant al port add_sub.
continuat…

Guia d'usuari de nuclis IP aritmètics d'integer FPGA Intel 24

Envia comentaris

5. LPM_ADD_SUB (sumador/subtractador) 683490 | 2020.10.05/XNUMX/XNUMX

Nom del paràmetre LPM_REPRESENTATION LPM_PIPELINE LPM_HINT LPM_TYPE ONE_INPUT_IS_CONSTANT MAXIMIZE_SPEED
INTENDED_DEVICE_FAMILY

Tipus String Integer String String String Enter
Corda

Obligatori No No No No No No
No

Descripció
Especifica el tipus d'addició realitzada. Els valors són SIGNED i UNSIGNED. Si s'omet, el valor per defecte és SIGNED. Quan aquest paràmetre s'estableix en SIGNED, el sumador/restador interpreta l'entrada de dades com a complement de dos amb signe.
Especifica el nombre de cicles de rellotge de latència associats a la sortida del resultat[]. Un valor de zero (0) indica que no hi ha latència i que s'instanciarà una funció purament combinacional. Si s'omet, el valor per defecte és 0 (no canalitzat).
Us permet especificar paràmetres específics d'Intel en el disseny VHDL files (.vhd). El valor predeterminat és NO UTILITZAT.
Identifica el nom de l'entitat de la biblioteca de mòduls parametritzats (LPM) en el disseny VHDL files.
Paràmetre específic d'Intel. Heu d'utilitzar el paràmetre LPM_HINT per especificar el paràmetre ONE_INPUT_IS_CONSTANT al disseny VHDL files. Els valors són YES, NO i UNUSED. Proporciona una millor optimització si una entrada és constant. Si s'omet, el valor per defecte és NO.
Paràmetre específic d'Intel. Heu d'utilitzar el paràmetre LPM_HINT per especificar el paràmetre MAXIMIZE_SPEED al disseny VHDL files. Podeu especificar un valor entre 0 i 10. Si s'utilitza, el programari Intel Quartus Prime intenta optimitzar una instància específica de la funció LPM_ADD_SUB per a la velocitat en comptes de l'encaminament, i anul·la la configuració de l'opció lògica de la tècnica d'optimització. Si no s'utilitza MAXIMIZE_SPEED, s'utilitza el valor de l'opció Tècnica d'optimització. Si la configuració de MAXIMIZE_SPEED és 6 o superior, el compilador optimitza el nucli IP LPM_ADD_SUB per a una velocitat més alta mitjançant cadenes de transport; si la configuració és 5 o menys, el compilador implementa el disseny sense cadenes de transport. Aquest paràmetre s'ha d'especificar per als dispositius Cyclone, Stratix i Stratix GX només quan no s'utilitza el port add_sub.
Aquest paràmetre s'utilitza amb finalitats de modelització i simulació de comportament. L'editor de paràmetres calcula el valor d'aquest paràmetre.

Envia comentaris

Guia d'usuari de nuclis IP aritmètics d'integer FPGA Intel 25

683490 | 2020.10.05/XNUMX/XNUMX Envia comentaris

6. LPM_COMPARE (comparador)

Figura 5.

El nucli IP LPM_COMPARE compara el valor de dos conjunts de dades per determinar la relació entre ells. En la seva forma més senzilla, podeu utilitzar una porta OR exclusiva per determinar si dos bits de dades són iguals.

La figura següent mostra els ports per al nucli IP LPM_COMPARE.

Ports LPM_COMPARE

LPM_COMPARE

clken

alb

aeb

dadesa[]

agb

base de dades[]

ageb

rellotge

aneb

aclr

aleb

inst

6.1. Característiques
El nucli IP LPM_COMPARE ofereix les següents característiques: · Genera una funció de comparació per comparar dos conjunts de dades · Admet una amplada de dades de 1 bits · Admet formats de representació de dades com ara signat i sense sign · Produeix els tipus de sortida següents:
— alb (l'entrada A és menor que l'entrada B) — aeb (l'entrada A és igual a l'entrada B) — agb (l'entrada A és més gran que l'entrada B) — ageb (l'entrada A és major o igual a l'entrada B) — aneb ( l'entrada A no és igual a l'entrada B) — aleb (l'entrada A és inferior o igual a l'entrada B) · Admet ports d'entrada d'activació de rellotge i de claredat asincrònics opcionals · Assigna l'entrada datab[] a una constant · Admet la canalització amb latència de sortida configurable

Intel Corporation. Tots els drets reservats. Intel, el logotip d'Intel i altres marques d'Intel són marques comercials d'Intel Corporation o de les seves filials. Intel garanteix el rendiment dels seus productes FPGA i semiconductors amb les especificacions actuals d'acord amb la garantia estàndard d'Intel, però es reserva el dret de fer canvis a qualsevol producte i servei en qualsevol moment sense previ avís. Intel no assumeix cap responsabilitat derivada de l'aplicació o l'ús de qualsevol informació, producte o servei descrit aquí, tret que Intel ho acordi expressament per escrit. Es recomana als clients d'Intel que obtinguin la darrera versió de les especificacions del dispositiu abans de confiar en qualsevol informació publicada i abans de fer comandes de productes o serveis. * Altres noms i marques es poden reclamar com a propietat d'altres.

Registre ISO 9001:2015

6. LPM_COMPARE (Comparador) 683490 | 2020.10.05/XNUMX/XNUMX
6.2. Prototip Verilog HDL
El següent prototip Verilog HDL es troba al disseny de Verilog File (.v) lpm.v al directori d'edasíntesi.
mòdul lpm_compare ( alb, aeb, agb, aleb, aneb, ageb, dataa, datab, clock, clken, aclr ); paràmetre lpm_type = "lpm_compare"; paràmetre lpm_width = 1; paràmetre lpm_representation = "SENSE signa"; paràmetre lpm_pipeline = 0; paràmetre lpm_hint = "NO ÚS"; entrada [lpm_width-1:0] dataa, datab; rellotge d'entrada; entrada clken; entrada aclr; sortida alb, aeb, agb, aleb, aneb, ageb; mòdul final
6.3. Declaració de components VHDL
La declaració del component VHDL es troba al disseny de VHDL File (.vhd) LPM_PACK.vhd al fitxer directori librariesvhdllpm.
component LPM_COMPARE genèric (LPM_WIDTH: natural;
LPM_REPRESENTATION : string := “SENSE signa”; LPM_PIPELINE : natural := 0; LPM_TYPE: cadena:= L_COMPARE; LPM_HINT : cadena := “SIN UTILITZAR”); port (DATAA: a std_logic_vector(LPM_WIDTH-1 fins a 0); DATAB: a std_logic_vector (LPM_WIDTH-1 a 0); ACLR: a std_logic:= '0'; CLOCK: a std_logic:= '0'; CLKEN: a std_logic := '1': out std_logic; out std_logic; component final;
6.4. Declaració VHDL LIBRARY_USE
La declaració VHDL LIBRARY-USE no és necessària si utilitzeu la declaració de components VHDL.
BIBLIOTECA lpm; UTILITZA LPM.lpm_components.all;
6.5. Ports
Les taules següents mostren els ports d'entrada i sortida del nucli IP LMP_COMPARE.

Envia comentaris

Guia d'usuari de nuclis IP aritmètics d'integer FPGA Intel 27

6. LPM_COMPARE (Comparador) 683490 | 2020.10.05/XNUMX/XNUMX

Taula 18. Ports d'entrada del nucli IP LPM_COMPARE

Nom del port

Obligatori

Descripció

dadesa[]

Entrada de dades. La mida del port d'entrada depèn del valor del paràmetre LPM_WIDTH.

base de dades[]

Entrada de dades. La mida del port d'entrada depèn del valor del paràmetre LPM_WIDTH.

rellotge

No

Entrada de rellotge per a ús canalitzat. El port de rellotge proporciona l'entrada de rellotge per a una canalització

funcionament. Per a valors LPM_PIPELINE diferents de 0 (per defecte), el port del rellotge ha de ser-ho

habilitat.

clken

No

Rellotge activat per a l'ús canalitzat. Quan el port clken s'afirma alt, el

té lloc l'operació de comparació. Quan el senyal és baix, no es produeix cap operació. Si

s'omet, el valor per defecte és 1.

aclr

No

Esborrat asíncron per a ús canalitzat. La canalització s'inicia a una lògica indefinida (X).

nivell. El port aclr es pot utilitzar en qualsevol moment per restablir la canonada a tots els 0,

de manera asíncrona al senyal del rellotge.

Taula 19. Ports de sortida del nucli IP LPM_COMPARE

Nom del port

Obligatori

Descripció

alb

No

Port de sortida per al comparador. S'afirma si l'entrada A és menor que l'entrada B.

aeb

No

Port de sortida per al comparador. S'afirma si l'entrada A és igual a l'entrada B.

agb

No

Port de sortida per al comparador. S'afirma si l'entrada A és més gran que l'entrada B.

ageb

No

Port de sortida per al comparador. S'afirma si l'entrada A és superior o igual a l'entrada

B.

aneb

No

Port de sortida per al comparador. S'afirma si l'entrada A no és igual a l'entrada B.

aleb

No

Port de sortida per al comparador. S'afirma si l'entrada A és menor o igual que l'entrada B.

6.6 Paràmetres

La taula següent enumera els paràmetres per al nucli IP LPM_COMPARE.

Taula 20. Paràmetres del nucli IP LPM_COMPARE

Nom del paràmetre

Tipus

Obligatori

LPM_WIDTH

Enter Sí

LPM_REPRESENTACIÓ

Corda

No

LPM_PIPELINE

Enter núm

LPM_HINT

Corda

No

Descripció
Especifica l'amplada dels ports dataa[] i datab[].
Especifica el tipus de comparació realitzada. Els valors són SIGNED i UNSIGNED. Si s'omet, el valor per defecte és UNSIGNED. Quan aquest valor de paràmetre s'estableix en SIGNED, el comparador interpreta l'entrada de dades com a complement de dos amb signe.
Especifica el nombre de cicles de latència de rellotge associats a la sortida alb, aeb, agb, ageb, aleb o aneb. Un valor de zero (0) indica que no hi ha latència i que s'instarà una funció purament combinacional. Si s'omet, el valor per defecte és 0 (no canalitzat).
Us permet especificar paràmetres específics d'Intel en el disseny VHDL files (.vhd). El valor predeterminat és NO UTILITZAT.
continuat…

Guia d'usuari de nuclis IP aritmètics d'integer FPGA Intel 28

Envia comentaris

6. LPM_COMPARE (Comparador) 683490 | 2020.10.05/XNUMX/XNUMX
Nom del paràmetre LPM_TYPE INTENDED_DEVICE_FAMILY
ONE_INPUT_IS_CONSTANT

Escriviu String String
Corda

Obligatori No No
No

Descripció
Identifica el nom de l'entitat de la biblioteca de mòduls parametritzats (LPM) en el disseny VHDL files.
Aquest paràmetre s'utilitza amb finalitats de modelització i simulació de comportament. L'editor de paràmetres calcula el valor d'aquest paràmetre.
Paràmetre específic d'Intel. Heu d'utilitzar el paràmetre LPM_HINT per especificar el paràmetre ONE_INPUT_IS_CONSTANT al disseny VHDL files. Els valors són YES, NO o UNUSED. Proporciona una major optimització si una entrada és constant. Si s'omet, el valor per defecte és NO.

Envia comentaris

Guia d'usuari de nuclis IP aritmètics d'integer FPGA Intel 29

683490 | 2020.10.05/XNUMX/XNUMX Envia comentaris

7. ALTEC (Codi de correcció d'errors: codificador/descodificador) IP Core

Figura 6.

Intel proporciona el nucli IP ALTEC per implementar la funcionalitat ECC. ECC detecta dades corruptes que es produeixen al costat del receptor durant la transmissió de dades. Aquest mètode de correcció d'errors és el més adequat per a situacions en què els errors es produeixen a l'atzar i no en ràfegues.

L'ECC detecta errors mitjançant el procés de codificació i descodificació de dades. Per exampPer exemple, quan l'ECC s'aplica en una aplicació de transmissió, les dades llegides de la font es codifiquen abans d'enviar-se al receptor. La sortida (paraula de codi) del codificador consisteix en les dades en brut afegides amb el nombre de bits de paritat. El nombre exacte de bits de paritat afegits depèn del nombre de bits de les dades d'entrada. A continuació, la paraula de codi generada es transmet a la destinació.

El receptor rep la paraula de codi i la descodifica. La informació obtinguda pel descodificador determina si es detecta un error. El descodificador detecta errors d'un bit i de doble bit, però només pot corregir errors d'un bit a les dades danyades. Aquest tipus d'ECC és la detecció d'error doble de correcció d'errors únics (SECDED).

Podeu configurar les funcions de codificador i descodificador del nucli IP d'ALTECC. L'entrada de dades al codificador es codifica per generar una paraula de codi que és una combinació de l'entrada de dades i els bits de paritat generats. La paraula de codi generada es transmet al mòdul descodificador per a la descodificació just abans d'arribar al seu bloc de destinació. El descodificador genera un vector de síndrome per determinar si hi ha algun error en la paraula de codi rebuda. El descodificador corregeix les dades només si l'error d'un bit és dels bits de dades. No es marca cap senyal si l'error d'un bit és dels bits de paritat. El descodificador també té senyals de senyalització per mostrar l'estat de les dades rebudes i l'acció realitzada pel descodificador, si n'hi ha.

Les figures següents mostren els ports per al nucli IP d'ALTECC.

Ports del codificador ALTECC

ALTEC_ENCODER

dades[]

q[]

rellotge

rellotge

aclr

inst

Intel Corporation. Tots els drets reservats. Intel, el logotip d'Intel i altres marques d'Intel són marques comercials d'Intel Corporation o de les seves filials. Intel garanteix el rendiment dels seus productes FPGA i semiconductors amb les especificacions actuals d'acord amb la garantia estàndard d'Intel, però es reserva el dret de fer canvis a qualsevol producte i servei en qualsevol moment sense previ avís. Intel no assumeix cap responsabilitat derivada de l'aplicació o l'ús de qualsevol informació, producte o servei descrit aquí, tret que Intel ho acordi expressament per escrit. Es recomana als clients d'Intel que obtinguin la darrera versió de les especificacions del dispositiu abans de confiar en qualsevol informació publicada i abans de fer comandes de productes o serveis. * Altres noms i marques es poden reclamar com a propietat d'altres.

Registre ISO 9001:2015

7. ALTEC (Codi de correcció d'errors: codificador/descodificador) IP Core 683490 | 2020.10.05/XNUMX/XNUMX

Figura 7. Ports del descodificador ALTECC

ALTEC_DECODER

dades[] rellotge rellotge

q[] err_detected err_corrected
err_fatal

aclr

inst

7.1. Característiques del codificador ALTEC

El nucli IP del codificador ALTECC ofereix les següents característiques: · Realitza la codificació de dades mitjançant l'esquema de codificació Hamming · Admet una amplada de dades de 2 bits · Admet formats de representació de dades signades i sense sign · Admet canalització amb latència de sortida d'un o dos cicles de rellotge · Admet opcionals ports d'activació de rellotge i de claredat asíncrons

El nucli IP del codificador ALTECC recull i codifica les dades mitjançant l'esquema de codificació Hamming. L'esquema de codificació de Hamming deriva els bits de paritat i els afegeix a les dades originals per produir la paraula de codi de sortida. El nombre de bits de paritat afegits depèn de l'amplada de les dades.

La taula següent enumera el nombre de bits de paritat afegits per a diferents rangs d'amplada de dades. La columna Bits totals representa el nombre total de bits de dades d'entrada i bits de paritat afegits.

Taula 21.

Nombre de bits de paritat i paraula de codi segons l'amplada de les dades

Amplada de dades

Nombre de bits de paritat

Bits totals (paraula de codi)

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

La derivació de bits de paritat utilitza una comprovació de paritat. L'1 bit addicional (que es mostra a la taula com a +1) s'afegeix als bits de paritat com a MSB de la paraula de codi. Això garanteix que la paraula de codi tingui un nombre parell d'1. Per exampsi l'amplada de les dades és de 4 bits, s'afegeixen 4 bits de paritat a les dades per convertir-se en una paraula de codi amb un total de 8 bits. Si 7 bits de l'LSB de la paraula de codi de 8 bits tenen un nombre senar d'1, el 8è bit (MSB) de la paraula de codi és 1, fent que el nombre total d'1 de la paraula de codi sigui parell.
La figura següent mostra la paraula de codi generada i la disposició dels bits de paritat i dels bits de dades en una entrada de dades de 8 bits.

Envia comentaris

Guia d'usuari de nuclis IP aritmètics d'integer FPGA Intel 31

7. ALTEC (Codi de correcció d'errors: codificador/descodificador) IP Core 683490 | 2020.10.05/XNUMX/XNUMX

Figura 8.

Bits de paritat i disposició de bits de dades en una paraula de codi generada de 8 bits

MSB

LSB

4 bits de paritat

4 bits de dades

8

1

El nucli IP del codificador ALTECC només accepta amplades d'entrada de 2 a 64 bits alhora. Les amplades d'entrada de 12 bits, 29 bits i 64 bits, que són ideals per als dispositius Intel, generen sortides de 18 bits, 36 bits i 72 bits respectivament. Podeu controlar la limitació de selecció de bits a l'editor de paràmetres.

7.2. Prototip Verilog HDL (ALTECC_ENCODER)
El següent prototip Verilog HDL es troba al disseny de Verilog File (.v) lpm.v al directori d'edasíntesi.
mòdul altecc_encoder #( paràmetre destinat_device_family = "no utilitzat", paràmetre lpm_pipeline = 0, paràmetre width_codeword = 8, paràmetre width_dataword = 8, paràmetre lpm_type = "altecc_encoder", paràmetre lpm_hint = "no utilitzat") (entrada de cable aclr, entrada de cable d'entrada rellotge de cable, cable d'entrada [width_dataword-1:0] dades, cable de sortida [width_codeword-1:0] q); mòdul final

7.3. Prototip Verilog HDL (ALTECC_DECODER)
El següent prototip Verilog HDL es troba al disseny de Verilog File (.v) lpm.v al directori d'edasíntesi.
mòdul altecc_decoder #( paràmetre destinat_device_family = "no utilitzat", paràmetre lpm_pipeline = 0, paràmetre width_codeword = 8, paràmetre width_dataword = 8, paràmetre lpm_type = "altecc_decoder", paràmetre lpm_hint = "no utilitzat") (entrada clock cable d'entrada, entrada aclr del cable, entrada rellotge de filferro, cable d'entrada [width_codeword-1:0] dades, cable de sortida err_corrected, cable de sortida err_detected, cable de sortida err_fatal, cable de sortida [width_dataword-1:0] q); mòdul final

Guia d'usuari de nuclis IP aritmètics d'integer FPGA Intel 32

Envia comentaris

7. ALTEC (Codi de correcció d'errors: codificador/descodificador) IP Core 683490 | 2020.10.05/XNUMX/XNUMX
7.4. Declaració de components VHDL (ALTECC_ENCODER)
La declaració del component VHDL es troba al disseny de VHDL File (.vhd) altera_mf_components.vhd al fitxer directori librariesvhdlaltera_mf.
component altecc_encoder genèric ( destinat_device_family:string := “no utilitzat”; lpm_pipeline:natural := 0; width_codeword:natural := 8; width_dataword:natural := 8; lpm_hint:string := “UNUSED”; lpm_type:string := “altecc_encoder ”); port( aclr:in std_logic := '0'; clock:in std_logic := '0'; clocken:in std_logic := '1'; dades:in std_logic_vector (width_dataword-1 downto 0); q:out std_logic_vector (width_codeword -1 fins a 0)); component final;
7.5. Declaració de components VHDL (ALTECC_DECODER)
La declaració del component VHDL es troba al disseny de VHDL File (.vhd) altera_mf_components.vhd al fitxer directori librariesvhdlaltera_mf.
component altecc_decoder genèric ( destinat_device_family:string := “no utilitzat”; lpm_pipeline:natural := 0; width_codeword:natural := 8; width_dataword:natural := 8; lpm_hint:string := “UNUSED”; lpm_type:string := “altecc_decoder ”); port( aclr:in std_logic:= '0'; clock:in std_logic:= '0'; clocken:in std_logic:= '1'; dades:in std_logic_vector(width_codeword-1 downto 0); err_corrected: out std_logic; err_detected : out std_logic q: out std_logic_vector (width_dataword-1 fins a 0); component final;
7.6. Declaració VHDL LIBRARY_USE
La declaració VHDL LIBRARY-USE no és necessària si utilitzeu la declaració de components VHDL.
BIBLIOTECA altera_mf; UTILITZA altera_mf.altera_mf_components.all;
7.7. Ports del codificador
Les taules següents mostren els ports d'entrada i sortida del nucli IP del codificador ALTECC.

Envia comentaris

Guia d'usuari de nuclis IP aritmètics d'integer FPGA Intel 33

7. ALTEC (Codi de correcció d'errors: codificador/descodificador) IP Core 683490 | 2020.10.05/XNUMX/XNUMX

Taula 22. Ports d'entrada del codificador ALTECC

Nom del port

Obligatori

Descripció

dades[]

Port d'entrada de dades. La mida del port d'entrada depèn del WIDTH_DATAWORD

valor del paràmetre. El port de dades[] conté les dades en brut que s'han de codificar.

rellotge

Port d'entrada del rellotge que proporciona el senyal del rellotge per sincronitzar l'operació de codificació.

El port del rellotge és necessari quan el valor de LPM_PIPELINE és superior a 0.

rellotge

No

Activació del rellotge. Si s'omet, el valor per defecte és 1.

aclr

No

Entrada clara asíncrona. El senyal d'aclr alt actiu es pot utilitzar en qualsevol moment per

esborra els registres de manera asíncrona.

Taula 23. Ports de sortida del codificador ALTECC

Nom del port q[]

Obligatori Sí

Descripció
Port de sortida de dades codificades. La mida del port de sortida depèn del valor del paràmetre WIDTH_CODEWORD.

7.8. Ports del descodificador

Les taules següents mostren els ports d'entrada i sortida del nucli IP del descodificador ALTECC.

Taula 24. Ports d'entrada del descodificador ALTECC

Nom del port

Obligatori

Descripció

dades[]

Port d'entrada de dades. La mida del port d'entrada depèn del valor del paràmetre WIDTH_CODEWORD.

rellotge

Port d'entrada del rellotge que proporciona el senyal del rellotge per sincronitzar l'operació de codificació. El port del rellotge és necessari quan el valor de LPM_PIPELINE és superior a 0.

rellotge

No

Activació del rellotge. Si s'omet, el valor per defecte és 1.

aclr

No

Entrada clara asíncrona. El senyal d'aclr alt actiu es pot utilitzar en qualsevol moment per esborrar els registres de manera asíncrona.

Taula 25. Ports de sortida del descodificador ALTECC

Nom del port q[]

Obligatori Sí

Descripció
Port de sortida de dades descodificades. La mida del port de sortida depèn del valor del paràmetre WIDTH_DATAWORD.

err_detected Sí

Senyal de marca per reflectir l'estat de les dades rebudes i especifica els errors trobats.

err_correcte Sí d

Senyal de senyalització per reflectir l'estat de les dades rebudes. Indica un error d'un bit trobat i corregit. Podeu utilitzar les dades perquè ja s'han corregit.

err_fatal

Senyal de senyalització per reflectir l'estat de les dades rebudes. Indica un error de doble bit trobat, però no corregit. No heu d'utilitzar les dades si s'afirma aquest senyal.

syn_e

No

Un senyal de sortida que augmentarà cada vegada que es detecti un error d'un sol bit a la paritat

bits.

7.9. Paràmetres del codificador
La taula següent enumera els paràmetres del nucli IP del codificador ALTECC.

Guia d'usuari de nuclis IP aritmètics d'integer FPGA Intel 34

Envia comentaris

7. ALTEC (Codi de correcció d'errors: codificador/descodificador) IP Core 683490 | 2020.10.05/XNUMX/XNUMX

Taula 26. Paràmetres del codificador ALTECC

Nom del paràmetre

Tipus

Obligatori

Descripció

WIDTH_DATAWORD

Enter Sí

Especifica l'amplada de les dades en brut. Els valors van del 2 al 64. Si s'omet, el valor predeterminat és 8.

WIDTH_CODEWORD

Enter Sí

Especifica l'amplada de la paraula de codi corresponent. Els valors vàlids són de 6 a 72, exclosos 9, 17, 33 i 65. Si s'omet, el valor predeterminat és 13.

LPM_PIPELINE

Enter núm

Especifica la canonada per al circuit. Els valors són de 0 a 2. Si el valor és 0, els ports no estan registrats. Si el valor és 1, es registren els ports de sortida. Si el valor és 2, es registren els ports d'entrada i sortida. Si s'omet, el valor per defecte és 0.

7.10. Paràmetres del descodificador

La taula següent enumera els paràmetres bàsics de la IP del descodificador ALTEC.

Taula 27. Paràmetres del descodificador ALTEC

Nom del paràmetre WIDTH_DATAWORD

Escriviu Enter

Obligatori

Descripció

Especifica l'amplada de les dades en brut. Els valors són del 2 al 64. El

el valor per defecte és 8.

WIDTH_CODEWORD

Nombre sencer

Especifica l'amplada de la paraula de codi corresponent. Els valors són 6

a 72, exclosos 9, 17, 33 i 65. Si s'omet, el valor predeterminat

és 13.

LPM_PIPELINE

Nombre sencer

No

Especifica el registre del circuit. Els valors són de 0 a 2. Si el

el valor és 0, no s'implementa cap registre. Si el valor és 1, el

la sortida està registrada. Si el valor és 2, tant l'entrada com el

les sortides estan registrades. Si el valor és superior a 2, addicional

registres s'implementen a la sortida de l'addicional

latències. Si s'omet, el valor per defecte és 0.

Creeu un port "syn_e".

Nombre sencer

No

Activeu aquest paràmetre per crear un port syn_e.

Envia comentaris

Guia d'usuari de nuclis IP aritmètics d'integer FPGA Intel 35

683490 | 2020.10.05/XNUMX/XNUMX Envia comentaris

8. Intel FPGA Multiply Adder IP Core

Figura 9.

El nucli IP Intel FPGA Multiply Adder (dispositius Intel Stratix 10, Intel Arria 10 i Intel Cyclone 10 GX) o ALTERA_MULT_ADD (dispositius Arria V, Stratix V i Cyclone V) us permet implementar un sumador multiplicador.

La figura següent mostra els ports per al nucli IP Intel FPGA Multiply Adder o ALTERA_MULT_ADD.

Ports Intel FPGA Multiply Adder o ALTERA_MULT_ADD

Intel FPGA Multiply Adder o ALTERA_MULT_ADD

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

Scanouta[] resultat[]

aclr0 aclr1

inst
Un multiplicador-sumador accepta parells d'entrades, multiplica els valors junts i després suma o resta dels productes de tots els altres parells.
Si totes les amplades de dades d'entrada són de 9 bits d'amplada o més petites, la funció utilitza la configuració del multiplicador d'entrada de 9 x 9 bits al bloc DSP per als dispositius que admeten la configuració de 9 x 9. Si no, el bloc DSP utilitza multiplicadors d'entrada de 18 × 18 bits per processar dades amb amplades entre 10 i 18 bits. Si es produeixen diversos nuclis IP Intel FPGA Multiply Adder o ALTERA_MULT_ADD en un disseny, les funcions es distribueixen com a

Intel Corporation. Tots els drets reservats. Intel, el logotip d'Intel i altres marques d'Intel són marques comercials d'Intel Corporation o de les seves filials. Intel garanteix el rendiment dels seus productes FPGA i semiconductors amb les especificacions actuals d'acord amb la garantia estàndard d'Intel, però es reserva el dret de fer canvis a qualsevol producte i servei en qualsevol moment sense previ avís. Intel no assumeix cap responsabilitat derivada de l'aplicació o l'ús de qualsevol informació, producte o servei descrit aquí, tret que Intel ho acordi expressament per escrit. Es recomana als clients d'Intel que obtinguin la darrera versió de les especificacions del dispositiu abans de confiar en qualsevol informació publicada i abans de fer comandes de productes o serveis. * Altres noms i marques es poden reclamar com a propietat d'altres.

Registre ISO 9001:2015

8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05/XNUMX/XNUMX
molts blocs DSP diferents possibles perquè l'encaminament a aquests blocs sigui més flexible. Menys multiplicadors per bloc DSP permeten més opcions d'encaminament al bloc minimitzant els camins a la resta del dispositiu.
Els registres i registres de pipeline addicionals per als senyals següents també es col·loquen dins del bloc DSP: · Entrada de dades · Selecció signada o sense signe · Afegir o restar seleccionar · Productes de multiplicadors
En el cas del resultat de sortida, el primer registre es col·loca al bloc DSP. Tanmateix, els registres de latència addicionals es col·loquen en elements lògics fora del bloc. Els perifèrics del bloc DSP, incloses les entrades de dades al multiplicador, les entrades de senyal de control i les sortides del sumador, utilitzen l'encaminament habitual per comunicar-se amb la resta del dispositiu. Totes les connexions de la funció utilitzen un encaminament dedicat dins del bloc DSP. Aquest encaminament dedicat inclou les cadenes de registre de desplaçament quan seleccioneu l'opció de desplaçar les dades d'entrada registrades d'un multiplicador d'un multiplicador a un multiplicador adjacent.
Per obtenir més informació sobre els blocs DSP de qualsevol de les sèries de dispositius Stratix V i Arria V, consulteu el capítol Blocs DSP dels manuals respectius a la pàgina Literatura i documentació tècnica.
Informació relacionada AN 306: Implementació de multiplicadors en dispositius FPGA
Proporciona més informació sobre la implementació de multiplicadors mitjançant DSP i blocs de memòria en dispositius Intel FPGA.
8.1. Característiques
El nucli IP Intel FPGA Multiply Adder o ALTERA_MULT_ADD ofereix les següents característiques: · Genera un multiplicador per realitzar operacions de multiplicació de dos complexos
nombres Nota: quan es construeixen multiplicadors més grans que la mida suportada de manera nativa, pot ser/
tindrà un impacte en el rendiment resultant de la cascada dels blocs DSP. · Admet amplades de dades de 1 bits · Admet formats de representació de dades signades i sense signar · Admet canalització amb latència d'entrada configurable · Ofereix una opció per canviar dinàmicament entre suport de dades signades i sense signar · Proporciona una opció per canviar dinàmicament entre l'operació d'afegir i restar · Admet Ports d'entrada d'activació de rellotge i clarificació asíncrona i síncrona opcionals · Admet el mode de registre de retard sistòlic · Admet pre-sumador amb 256 coeficients de precàrrega per multiplicador · Admet constant de precàrrega per complementar la retroalimentació de l'acumulador

Envia comentaris

Guia d'usuari de nuclis IP aritmètics d'integer FPGA Intel 37

8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05/XNUMX/XNUMX

8.1.1. Pre-sumador
Amb el pre-sumador, les sumes o restes es fan abans d'alimentar el multiplicador.
Hi ha cinc modes de pre-sumador: · Mode simple · Mode coeficient · Mode d'entrada · Mode quadrat · Mode constant

Nota:

Quan s'utilitza un pre-sumador (mode coeficient de pre-sumador/entrada/quadrat), totes les entrades de dades al multiplicador han de tenir la mateixa configuració de rellotge.

8.1.1.1. Mode simple de pre-sumador

En aquest mode, ambdós operands deriven dels ports d'entrada i el pre-sumador no s'utilitza ni s'omet. Aquest és el mode predeterminat.

Figura 10. Mode simple de pre-sumador
a0 b0

Mult0

resultat

8.1.1.2. Mode de coeficient de pre-sumador
En aquest mode, un operand multiplicador deriva del pre-sumador i l'altre operand deriva de l'emmagatzematge intern del coeficient. L'emmagatzematge del coeficient permet fins a 8 constants preestablertes. Els senyals de selecció de coeficients són coefsel[0..3].
Aquest mode s'expressa en l'equació següent.

A continuació es mostra el mode de coeficient de pre-sumador d'un multiplicador.

Figura 11. Mode de coeficient de pre-sumador

Preader

a0

Mult0

+/-

resultat

b0

coefsel0 coef

Guia d'usuari de nuclis IP aritmètics d'integer FPGA Intel 38

Envia comentaris

8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05/XNUMX/XNUMX
8.1.1.3. Mode d'entrada del pre-sumador En aquest mode, un operand multiplicador deriva del pre-sumador i l'altre operand deriva del port d'entrada datac[]. Aquest mode s'expressa en l'equació següent.

A continuació es mostra el mode d'entrada prèvia al sumador d'un multiplicador.

Figura 12. Mode d'entrada de pre-sumador
a0 b0

Mult0

+/-

resultat

c0

8.1.1.4. Mode quadrat de pre-sumador Aquest mode s'expressa en l'equació següent.

A continuació es mostra el mode quadrat anterior al sumador de dos multiplicadors.

Figura 13. Mode quadrat de pre-sumador
a0 b0

Mult0

+/-

resultat

8.1.1.5. Mode constant de pre-sumador
En aquest mode, un operand multiplicador deriva del port d'entrada i l'altre operand deriva de l'emmagatzematge del coeficient intern. L'emmagatzematge del coeficient permet fins a 8 constants preestablertes. Els senyals de selecció de coeficients són coefsel[0..3].
Aquest mode s'expressa en l'equació següent.

Envia comentaris

Guia d'usuari de nuclis IP aritmètics d'integer FPGA Intel 39

8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05/XNUMX/XNUMX

La figura següent mostra el mode constant de pre-sumador d'un multiplicador.

Figura 14. Mode constant de pre-sumador
a0

Mult0

resultat

coefsel0
coef
8.1.2. Registre de retard sistòlic
En una arquitectura sistòlica, les dades d'entrada s'alimenten en una cascada de registres que actuen com a memòria intermèdia de dades. Cada registre ofereix una entrada sample a un multiplicador on es multiplica pel coeficient respectiu. El sumador de cadena emmagatzema els resultats combinats gradualment del multiplicador i el resultat registrat prèviament del port d'entrada chainin[] per formar el resultat final. Cada element de multiplicació i suma s'ha de retardar un únic cicle perquè els resultats es sincronitzin adequadament quan s'afegeixin. Cada retard successiu s'utilitza per abordar tant la memòria de coeficients com la memòria intermèdia de dades dels seus respectius elements de multiplicació i suma. Per example, un sol retard per al segon element de multiplicació suma, dos retards per al tercer element de multiplicació i suma, i així successivament.
Figura 15. Registres sistòlics
Registres sistòlics

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) representa els resultats d'un flux continu d'entrada samples i y(t)
representa la suma d'un conjunt d'entrada samples, i en el temps, multiplicada per les seves
coeficients respectius. Tant els resultats d'entrada com de sortida flueixen d'esquerra a dreta. El c(0) a c(N-1) denota els coeficients. Els registres de retard sistòlic es denoten amb S-1, mentre que l'1 representa un sol retard de rellotge. Els registres de retard sistòlic s'afegeixen a
les entrades i sortides per a la canalització de manera que garanteixi els resultats de la
l'operand multiplicador i les sumes acumulades es mantenen sincronitzades. Aquest element de processament
es replica per formar un circuit que calcula la funció de filtratge. Aquesta funció és
expressat en la següent equació.

Guia d'usuari de nuclis IP aritmètics d'integer FPGA Intel 40

Envia comentaris

8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05/XNUMX/XNUMX

N representa el nombre de cicles de dades que han entrat a l'acumulador, y(t) representa la sortida en el temps t, A(t) representa l'entrada en el temps t i B(i) són els coeficients. La t i la i de l'equació corresponen a un instant determinat en el temps, per tant, per calcular la sortida samplle y(t) en el temps t, un grup d'entrada samples en N punts diferents en el temps, o bé A(n), A(n-1), A(n-2), ... A(n-N+1) és necessari. El grup de N entrada sampels es multipliquen per N coeficients i es sumen per formar el resultat final y.
L'arquitectura del registre sistòlic només està disponible per als modes suma de 2 i suma de 4. Per als dos modes d'arquitectura de registre sistòlic, el primer senyal de cadena ha d'estar lligat a 0.
La figura següent mostra la implementació del registre de retard sistòlic de 2 multiplicadors.
Figura 16. Implementació del registre de retard sistòlic de 2 multiplicadors
cadena

a0

Mult0

+/-

b0

a1

Mult1

+/-

b1

resultat
La suma de dos multiplicadors s'expressa en l'equació següent.
La figura següent mostra la implementació del registre de retard sistòlic de 4 multiplicadors.

Envia comentaris

Guia d'usuari de nuclis IP aritmètics d'integer FPGA Intel 41

8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05/XNUMX/XNUMX

Figura 17. Implementació del registre de retard sistòlic de 4 multiplicadors
cadena

a0

Mult0

+/-

b0

a1

Mult1

+/-

b1

a2

Mult2

+/-

b2

a3

Mult3

+/-

b3

resultat
La suma de quatre multiplicadors s'expressa en l'equació següent. Figura 18. Suma de 4 multiplicadors
A continuació es mostra l'advantages de la implementació del registre sistòlic: · Redueix l'ús de recursos DSP · Permet un mapeig eficient al bloc DSP mitjançant l'estructura de sumador de cadena

Guia d'usuari de nuclis IP aritmètics d'integer FPGA Intel 42

Envia comentaris

8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05/XNUMX/XNUMX

8.1.3. Precàrrega constant
La constant de precàrrega controla l'operand de l'acumulador i complementa la retroalimentació de l'acumulador. El LOADCONST_VALUE vàlid oscil·la entre 0. El valor constant és igual a 64N, on N = LOADCONST_VALUE. Quan LOADCONST_VALUE s'estableix en 2, el valor constant és igual a 64. Aquesta funció es pot utilitzar com a arrodoniment esbiaixat.
La figura següent mostra la implementació constant de precàrrega.
Figura 19. Constant de precàrrega

Feedback de l'acumulador

constant

a0

Mult0

+/-

b0

a1

Mult1

+/b1

resultat

accum_sload sload_accum

Consulteu els nuclis IP següents per a altres implementacions de multiplicadors: · ALTMULT_ACCUM · ALTMEMMULT · LPM_MULT
8.1.4. Doble acumulador
La funció d'acumulador doble afegeix un registre addicional al camí de retroalimentació de l'acumulador. El registre d'acumulador doble segueix el registre de sortida, que inclou el rellotge, l'habilitació del rellotge i l'aclr. El registre acumulador addicional retorna el resultat amb un retard d'un cicle. Aquesta característica us permet tenir dos canals acumuladors amb el mateix nombre de recursos.
La figura següent mostra la implementació de l'acumulador doble.

Envia comentaris

Guia d'usuari de nuclis IP aritmètics d'integer FPGA Intel 43

8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05/XNUMX/XNUMX

Figura 20. Doble acumulador

Registre d'acumulador doble

Feedback de l'acumulador

a0

Mult0

+/-

b0

a1

Mult1

+/b1

Resultat de sortida Registre de sortida

8.2. Prototip Verilog HDL
Podeu trobar el prototip Intel FPGA Multiply Adder o ALTERA_MULT_ADD Verilog HDL file (altera_mult_add_rtl.v) al fitxer directori librariesmegafunctions.
8.3. Declaració de components VHDL
La declaració del component VHDL es troba a altera_lnsim_components.vhd al fitxer directori librariesvhdl altera_lnsim.
8.4. Declaració VHDL LIBRARY_USE
La declaració VHDL LIBRARY-USE no és necessària si utilitzeu la declaració de components VHDL.
BIBLIOTECA altera_mf; UTILITZA altera_mf.altera_mf_components.all;

8.5. Senyals

Les taules següents mostren els senyals d'entrada i sortida del nucli IP Multiply Adder Intel FPGA IP o ALTERA_MULT_ADD.

Taula 28. Multiplicació dels senyals d'entrada d'Intel FPGA IPor ALTERA_MULT_ADD

Senyal

Obligatori

Descripció

dataa_0[]/dataa_1[]/

dataa_2[]/dataa_3[]

Entrada de dades al multiplicador. Port d'entrada [NUMBER_OF_MULTIPLIERS * WIDTH_A – 1 … 0] d'ample
continuat…

Guia d'usuari de nuclis IP aritmètics d'integer FPGA Intel 44

Envia comentaris

8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05/XNUMX/XNUMX

Signal datab_0[]/datab_1[]/ datab_2[]/datab_3[] datac_0[] /datac_1[]/ datac_2[]/datac_3[] clock[1:0] aclr[1:0] sclr[1:0] ena [1:0] signe
signeb
scanina[] accum_sload

Obligatori Sí No
No No No No No No
No
No No

Descripció
El model de simulació d'aquesta IP admet un valor d'entrada indeterminat (X) a aquests senyals. Quan proporcioneu un valor X a aquests senyals, el valor X es propaga als senyals de sortida.
Entrada de dades al multiplicador. Senyal d'entrada [NUMBER_OF_MULTIPLIERS * WIDTH_B – 1 … 0] d'ample El model de simulació d'aquesta IP admet un valor d'entrada indeterminat (X) a aquests senyals. Quan proporcioneu un valor X a aquests senyals, el valor X es propaga als senyals de sortida.
Entrada de dades al multiplicador. Senyal d'entrada [NUMBER_OF_MULTIPLIERS * WIDTH_C – 1, … 0] d'ample Seleccioneu INPUT per al paràmetre Seleccioneu el mode de preadder per habilitar aquests senyals. El model de simulació d'aquesta IP admet un valor d'entrada indeterminat (X) a aquests senyals. Quan proporcioneu un valor X a aquests senyals, el valor X es propaga als senyals de sortida.
Port d'entrada del rellotge al registre corresponent. Aquest senyal pot ser utilitzat per qualsevol registre del nucli IP. El model de simulació d'aquesta IP admet un valor d'entrada indeterminat (X) a aquests senyals. Quan proporcioneu un valor X a aquests senyals, el valor X es propaga als senyals de sortida.
Entrada clara asíncrona al registre corresponent. El model de simulació d'aquesta IP admet un valor d'entrada indeterminat (X) a aquests senyals. Quan proporcioneu un valor X a aquests senyals, el valor X es propaga als senyals de sortida.
Entrada clara sincrònica al registre corresponent. El model de simulació d'aquesta IP admet un valor d'entrada indeterminat X a aquests senyals. Quan proporcioneu un valor X a aquests senyals, el valor X es propaga als senyals de sortida
Habilita l'entrada de senyal al registre corresponent. El model de simulació d'aquesta IP admet un valor d'entrada indeterminat (X) a aquests senyals. Quan proporcioneu un valor X a aquests senyals, el valor X es propaga als senyals de sortida.
Especifica la representació numèrica de l'entrada del multiplicador A. Si el senyal del senyal és alt, el multiplicador tracta el senyal de l'entrada del multiplicador A com un nombre amb signe. Si el senyal del senyal és baix, el multiplicador tracta el senyal d'entrada del multiplicador A com un nombre sense signe. Seleccioneu VARIABLE per a Quin és el format de representació del paràmetre d'entrada de multiplicadors A per habilitar aquest senyal. El model de simulació d'aquesta IP admet un valor d'entrada indeterminat (X) a aquest senyal. Quan proporcioneu un valor X a aquesta entrada, el valor X es propaga als senyals de sortida.
Especifica la representació numèrica del senyal B d'entrada del multiplicador. Si el senyal del signeb és alt, el multiplicador tracta el senyal d'entrada del multiplicador B com un nombre de complement a dos amb signe. Si el senyal del signeb és baix, el multiplicador tracta el senyal d'entrada del multiplicador B com un nombre sense signe. El model de simulació d'aquesta IP admet un valor d'entrada indeterminat (X) a aquest senyal. Quan proporcioneu un valor X a aquesta entrada, el valor X es propaga als senyals de sortida.
Entrada per a la cadena d'exploració A. Senyal d'entrada [WIDTH_A – 1, … 0] d'ample. Quan el paràmetre INPUT_SOURCE_A té un valor de SCANA, es requereix el senyal scanina[].
Especifica dinàmicament si el valor de l'acumulador és constant. Si el senyal accum_sload és baix, la sortida del multiplicador es carrega a l'acumulador. No utilitzeu accum_sload i sload_accum simultàniament.
continuat…

Envia comentaris

Guia d'usuari de nuclis IP aritmètics d'integer FPGA Intel 45

8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05/XNUMX/XNUMX

Senyal sload_accum
cadena[] addnsub1
addnsub3
coefsel0[] coefsel1[] coefsel2[] coefsel3[]

Núm. obligatori
No No
No
No No No No

Descripció
El model de simulació d'aquesta IP admet un valor d'entrada indeterminat (X) a aquest senyal. Quan proporcioneu un valor X a aquesta entrada, el valor X es propaga als senyals de sortida.
Especifica dinàmicament si el valor de l'acumulador és constant. Si el senyal sload_accum és alt, la sortida del multiplicador es carrega a l'acumulador. No utilitzeu accum_sload i sload_accum simultàniament. El model de simulació d'aquesta IP admet un valor d'entrada indeterminat (X) a aquest senyal. Quan proporcioneu un valor X a aquesta entrada, el valor X es propaga als senyals de sortida.
Bus d'entrada del resultat sumador del s anteriortage. Senyal d'entrada [WIDTH_CHAININ – 1, … 0] d'ample.
Realitzeu sumes o restes a les sortides del primer parell de multiplicadors. Entrada 1 al senyal addnsub1 per afegir les sortides del primer parell de multiplicadors. Introduïu 0 al senyal addnsub1 per restar les sortides del primer parell de multiplicadors. El model de simulació d'aquesta IP admet un valor d'entrada indeterminat (X) a aquest senyal. Quan proporcioneu un valor X a aquesta entrada, el valor X es propaga als senyals de sortida.
Realitzeu sumes o restes a les sortides del primer parell de multiplicadors. Entrada 1 al senyal addnsub3 per afegir les sortides del segon parell de multiplicadors. Introduïu 0 al senyal addnsub3 per restar les sortides del primer parell de multiplicadors. El model de simulació d'aquesta IP admet un valor d'entrada indeterminat (X) a aquest senyal. Quan proporcioneu un valor X a aquesta entrada, el valor X es propaga als senyals de sortida.
Coeficient del senyal d'entrada[0:3] al primer multiplicador. El model de simulació d'aquesta IP admet un valor d'entrada indeterminat (X) a aquest senyal. Quan proporcioneu un valor X a aquesta entrada, el valor X es propaga als senyals de sortida.
Coeficient del senyal d'entrada[0:3]al segon multiplicador. El model de simulació d'aquesta IP admet un valor d'entrada indeterminat (X) a aquest senyal. Quan proporcioneu un valor X a aquesta entrada, el valor X es propaga als senyals de sortida.
Coeficient del senyal d'entrada[0:3]al tercer multiplicador. El model de simulació d'aquesta IP admet un valor d'entrada indeterminat (X) a aquest senyal. Quan proporcioneu un valor X a aquesta entrada, el valor X es propaga als senyals de sortida.
Coeficient del senyal d'entrada [0:3] al quart multiplicador. El model de simulació d'aquesta IP admet un valor d'entrada indeterminat (X) a aquest senyal. Quan proporcioneu un valor X a aquesta entrada, el valor X es propaga als senyals de sortida.

Taula 29. Multiplica els senyals de sortida IP d'Intel FPGA Adder

Senyal

Obligatori

Descripció

resultat []

Senyal de sortida del multiplicador. Senyal de sortida [WIDTH_RESULT – 1 … 0] d'ample

El model de simulació d'aquesta IP admet un valor de sortida indeterminat (X). Quan proporcioneu un valor X com a entrada, el valor X es propaga en aquest senyal.

scanouta []

No

Sortida de la cadena d'exploració A. Senyal de sortida [WIDTH_A – 1..0] d'ample.

Seleccioneu més de 2 per al nombre de multiplicadors i seleccioneu Entrada de cadena d'escaneig per a Quina és l'entrada A del multiplicador connectat al paràmetre per habilitar aquest senyal.

Guia d'usuari de nuclis IP aritmètics d'integer FPGA Intel 46

Envia comentaris

8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05/XNUMX/XNUMX

8.6 Paràmetres

8.6.1. Pestanya General

Taula 30. Pestanya General

Paràmetre

Paràmetre generat IP

Valor

Quin és el nombre de multiplicadors?

nombre_de_m 1 – 4 multiplicadors

Quina amplitud han de tenir els busos d'entrada A width_a?

1 – 256

Quina amplitud han de tenir els busos d'entrada B width_b?

1 – 256

Quina amplitud hauria de ser el bus de sortida del "resultat"?

amplada_resultat

1 – 256

Creeu una activació de rellotge associada per a cada rellotge

gui_associate On d_clock_enbl Off e

8.6.2. Pestanya Modes addicionals

Taula 31. Pestanya Modes addicionals

Paràmetre

Paràmetre generat IP

Valor

Configuració de sortides

Registre la sortida de la unitat sumadora

gui_output_re Activat

gister

Apagat

Quina és la font d'entrada del rellotge?

gui_output_re gister_clock

Rellotge0 Rellotge1 Rellotge2

Quina és la font per a l'entrada clara asíncrona?

gui_output_re gister_aclr

CAP ACLR0 ACLR1

Quina és la font de l'entrada clara síncrona?

gui_output_re gister_sclr

CAP SCLR0 SCLR1

Operació de sumador

Quina operació s'ha de realitzar a les sortides del primer parell de multiplicadors?

gui_multiplicador 1_direcció

AFEGIR, SUB, VARIABLE

Valor per defecte 1
16

Descripció
Nombre de multiplicadors que s'han de sumar. Els valors són d'1 a 4. Especifiqueu l'amplada del port de dadesa[].

16

Especifiqueu l'amplada del port datab[].

32

Especifiqueu l'amplada del port del resultat[].

Apagat

Seleccioneu aquesta opció per habilitar el rellotge

per a cada rellotge.

Valor per defecte

Descripció

Off Rellotge0
CAP CAP

Seleccioneu aquesta opció per habilitar el registre de sortida del mòdul sumador.
Seleccioneu Clock0 , Clock1 o Clock2 per habilitar i especificar la font del rellotge per als registres de sortida. Heu de seleccionar Registre la sortida de la unitat sumadora per habilitar aquest paràmetre.
Especifica la font clara asíncrona per al registre de sortida del sumador. Heu de seleccionar Registre la sortida de la unitat sumadora per habilitar aquest paràmetre.
Especifica la font clara sincrònica per al registre de sortida del sumador. Heu de seleccionar Registre la sortida de la unitat sumadora per habilitar aquest paràmetre.

AFEGIR

Seleccioneu l'operació de suma o resta a realitzar per a les sortides entre el primer i el segon multiplicador.
· Seleccioneu AFEGIR per realitzar l'operació d'addició.
· Seleccioneu SUB per realitzar l'operació de resta.
· Seleccioneu VARIABLE per utilitzar el port addnsub1 per al control dinàmic de sumes/restes.
continuat…

Envia comentaris

Guia d'usuari de nuclis IP aritmètics d'integer FPGA Intel 47

8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05/XNUMX/XNUMX

Paràmetre

Paràmetre generat IP

Valor

Registreu l'entrada 'addnsub1'

gui_addnsub_ Activat multiplicador_reg Desactivat ister1

Quina és la font d'entrada del rellotge?

gui_addnsub_ multiplicar_reg ister1_clock

Rellotge0 Rellotge1 Rellotge2

Quina és la font per a l'entrada clara asíncrona?

gui_addnsub_multiplicador_aclr 1

CAP ACLR0 ACLR1

Quina és la font de l'entrada clara síncrona?

gui_addnsub_multiplicador_sclr 1

CAP SCLR0 SCLR1

Quina operació s'ha de realitzar a les sortides del segon parell de multiplicadors?

gui_multiplicador 3_direcció

AFEGIR, SUB, VARIABLE

Registreu l'entrada 'addnsub3'

gui_addnsub_ Activat multiplicador_reg Desactivat ister3

Quina és la font d'entrada del rellotge?

gui_addnsub_ multiplicar_reg ister3_clock

Rellotge0 Rellotge1 Rellotge2

Valor per defecte
Off Clock0 NINGÚ NINGÚ AFEGEIX
Off Rellotge0

Descripció
Quan se selecciona el valor VARIABLE: · Condueix el senyal addnsub1 a alt per
operació d'addició. · Condueix el senyal addnsub1 a baix per
operació de resta. Heu de seleccionar més de dos multiplicadors per activar aquest paràmetre.
Seleccioneu aquesta opció per habilitar el registre d'entrada per al port addnsub1. Heu de seleccionar VARIABLE per a Quina operació s'ha de realitzar a les sortides del primer parell de multiplicadors per habilitar aquest paràmetre.
Seleccioneu Clock0 , Clock1 o Clock2 per especificar el senyal de rellotge d'entrada per al registre addnsub1. Heu de seleccionar Registra l'entrada 'addnsub1' per habilitar aquest paràmetre.
Especifica la font clara asíncrona per al registre addnsub1. Heu de seleccionar Registra l'entrada 'addnsub1' per habilitar aquest paràmetre.
Especifica la font clara sincrònica per al registre addnsub1. Heu de seleccionar Registra l'entrada 'addnsub1' per habilitar aquest paràmetre.
Seleccioneu l'operació de suma o resta a realitzar per a les sortides entre el tercer i el quart multiplicador. · Seleccioneu AFEGIR per realitzar l'addició
funcionament. · Seleccioneu SUB per fer la resta
funcionament. · Seleccioneu VARIABLE per utilitzar addnsub1
port per al control dinàmic de suma/resta. Quan se selecciona el valor VARIABLE: · Condueix el senyal addnsub1 a alt per a l'operació d'addició. · Condueix el senyal addnsub1 a baix per a l'operació de resta. Heu de seleccionar el valor 4 per a Quin és el nombre de multiplicadors? per habilitar aquest paràmetre.
Seleccioneu aquesta opció per habilitar el registre d'entrada per al senyal addnsub3. Heu de seleccionar VARIABLE per a Quina operació s'ha de realitzar a les sortides del segon parell de multiplicadors per habilitar aquest paràmetre.
Seleccioneu Clock0 , Clock1 o Clock2 per especificar el senyal de rellotge d'entrada per al registre addnsub3. Heu de seleccionar Registra l'entrada 'addnsub3' per habilitar aquest paràmetre.
continuat…

Guia d'usuari de nuclis IP aritmètics d'integer FPGA Intel 48

Envia comentaris

8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05/XNUMX/XNUMX

Paràmetre
Quina és la font per a l'entrada clara asíncrona?

Paràmetre generat IP

Valor

gui_addnsub_multiplicador_aclr 3

CAP ACLR0 ACLR1

Quina és la font de l'entrada clara síncrona?

gui_addnsub_multiplicador_sclr 3

CAP SCLR0 SCLR1

Activa la polaritat `use_subadd'

gui_use_subn Activat

afegir

Apagat

8.6.3. Pestanya Multiplicadors

Taula 32. Pestanya Multiplicadors

Paràmetre

Paràmetre generat IP

Valor

Què és el

gui_represent

format de representació ation_a

per a les entrades de multiplicadors A?

SIGNAT, SENS SIGNAT, VARIABLE

Registreu l'entrada "signa".

gui_register_s activat

igna

Apagat

Quina és la font d'entrada del rellotge?

gui_register_s igna_clock

Rellotge0 Rellotge1 Rellotge2

Quina és la font per a l'entrada clara asíncrona?

gui_register_s igna_aclr

CAP ACLR0 ACLR1

Quina és la font de l'entrada clara síncrona?

gui_register_s igna_sclr

CAP SCLR0 SCLR1

Què és el

gui_represent

format de representació ation_b

per a les entrades de multiplicadors B?

SIGNAT, SENS SIGNAT, VARIABLE

Registreu l'entrada "signb".

gui_register_s activat

ignb

Apagat

Valor per defecte NONE
CAP

Descripció
Especifica la font clara asíncrona per al registre addnsub3. Heu de seleccionar Registra l'entrada 'addnsub3' per habilitar aquest paràmetre.
Especifica la font clara sincrònica per al registre addnsub3. Heu de seleccionar Registra l'entrada 'addnsub3' per habilitar aquest paràmetre.

Apagat

Seleccioneu aquesta opció per invertir la funció

del port d'entrada addnsub.

Drive addnsub a alt per a l'operació de resta.

Drive addnsub a baix per a l'operació d'addició.

Valor per defecte

Descripció

UNSIGNED Especifiqueu el format de representació de l'entrada del multiplicador A.

Apagat

Seleccioneu aquesta opció per habilitar signa

registrar-se.

Heu de seleccionar el valor VARIABLE per a Quin és el format de representació per a les entrades de multiplicadors A? paràmetre per habilitar aquesta opció.

Rellotge 0

Seleccioneu Clock0 , Clock1 o Clock2 per habilitar i especificar el senyal de rellotge d'entrada per al registre de senyal.
Heu de seleccionar Registra l'entrada "signa" per habilitar aquest paràmetre.

CAP

Especifica la font clara asíncrona per al registre de senyal.
Heu de seleccionar Registra l'entrada "signa" per habilitar aquest paràmetre.

CAP

Especifica la font clara sincrònica per al registre de senyal.
Heu de seleccionar Registra l'entrada "signa" per habilitar aquest paràmetre.

UNSIGNED Especifiqueu el format de representació per a l'entrada del multiplicador B.

Apagat

Seleccioneu aquesta opció per habilitar signb

registrar-se.

continuat…

Envia comentaris

Guia d'usuari de nuclis IP aritmètics d'integer FPGA Intel 49

8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05/XNUMX/XNUMX

Paràmetre

Paràmetre generat IP

Valor

Valor per defecte

Quina és la font d'entrada del rellotge?

gui_register_s ignb_clock

Rellotge0 Rellotge1 Rellotge2

Rellotge 0

Quina és la font per a l'entrada clara asíncrona?

gui_register_s ignb_aclr

CAP ACLR0 ACLR1

Quina és la font de l'entrada clara síncrona?

gui_register_s ignb_sclr

CAP SCLR0 SCLR1

Configuració d'entrada
Registre l'entrada A del multiplicador
Quina és la font d'entrada del rellotge?

gui_input_reg Activat

ister_a

Apagat

gui_input_reg ister_a_clock

Rellotge0 Rellotge1 Rellotge2

CAP CAP
Off Rellotge0

Quina és la font per a l'entrada clara asíncrona?

gui_input_reg ister_a_aclr

CAP ACLR0 ACLR1

Quina és la font de l'entrada clara síncrona?

gui_input_reg ister_a_sclr

CAP SCLR0 SCLR1

Registre l'entrada B del multiplicador
Quina és la font d'entrada del rellotge?

gui_input_reg Activat

ister_b

Apagat

gui_input_reg ister_b_clock

Rellotge0 Rellotge1 Rellotge2

NINGÚ NINGÚ Off Rellotge0

Quina és la font per a l'entrada clara asíncrona?

gui_input_reg ister_b_aclr

CAP ACLR0 ACLR1

CAP

Quina és la font de l'entrada clara síncrona?

gui_input_reg ister_b_sclr

CAP SCLR0 SCLR1

CAP

A quina està connectada l'entrada A del multiplicador?

gui_multiplier Entrada del multiplicador Multiplicador

_una_entrada

Entrada d'entrada de cadena d'escaneig

Descripció
Heu de seleccionar el valor VARIABLE per a Quin és el format de representació per a les entrades de multiplicadors B? paràmetre per habilitar aquesta opció.
Seleccioneu Clock0 , Clock1 o Clock2 per activar i especificar el senyal de rellotge d'entrada per al registre de signb. Heu de seleccionar Registra l'entrada `signb' per habilitar aquest paràmetre.
Especifica la font clara asíncrona per al registre signb. Heu de seleccionar Registra l'entrada `signb' per habilitar aquest paràmetre.
Especifica la font clara sincrònica per al registre signb. Heu de seleccionar Registra l'entrada `signb' per habilitar aquest paràmetre.
Seleccioneu aquesta opció per habilitar el registre d'entrada per al bus d'entrada de dades.
Seleccioneu Clock0 , Clock1 o Clock2 per habilitar i especificar el senyal de rellotge d'entrada del registre per al bus d'entrada de dades. Heu de seleccionar Registra l'entrada A del multiplicador per habilitar aquest paràmetre.
Especifica la font clara asíncrona del registre per al bus d'entrada de dades. Heu de seleccionar Registra l'entrada A del multiplicador per habilitar aquest paràmetre.
Especifica la font clara de registre síncrona per al bus d'entrada de dades. Heu de seleccionar Registra l'entrada A del multiplicador per habilitar aquest paràmetre.
Seleccioneu aquesta opció per habilitar el registre d'entrada per al bus d'entrada de dades.
Seleccioneu Clock0 , Clock1 o Clock2 per habilitar i especificar el senyal de rellotge d'entrada del registre per al bus d'entrada de dades. Heu de seleccionar Registra l'entrada B del multiplicador per habilitar aquest paràmetre.
Especifica la font clara asíncrona del registre per al bus d'entrada de dades. Heu de seleccionar Registra l'entrada B del multiplicador per habilitar aquest paràmetre.
Especifica la font clara sincrònica del registre per al bus d'entrada de la base de dades. Heu de seleccionar Registra l'entrada B del multiplicador per habilitar aquest paràmetre.
Seleccioneu la font d'entrada per a l'entrada A del multiplicador.
continuat…

Guia d'usuari de nuclis IP aritmètics d'integer FPGA Intel 50

Envia comentaris

8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05/XNUMX/XNUMX

Paràmetre

Paràmetre generat IP

Valor

Scanout A Configuració del registre

Registre la sortida de la cadena d'escaneig

gui_scanouta On

_registre

Apagat

Quina és la font d'entrada del rellotge?

gui_scanouta _register_cloc k

Rellotge0 Rellotge1 Rellotge2

Quina és la font per a l'entrada clara asíncrona?

gui_scanouta _register_aclr

CAP ACLR0 ACLR1

Quina és la font de l'entrada clara síncrona?

gui_scanouta _register_sclr

CAP SCLR0 SCLR1

8.6.4. Pestanya Preader

Taula 33. Pestanya Preader

Paràmetre

Paràmetre generat IP

Valor

Seleccioneu el mode predepredador

predder_mo de

SIMPLE, COEF, ENTRADA, QUADRAT, CONSTANT

Valor per defecte

Descripció
Seleccioneu Entrada del multiplicador per utilitzar el bus d'entrada de dades com a font del multiplicador. Seleccioneu Entrada de cadena d'escaneig per utilitzar el bus d'entrada d'escaneig com a font del multiplicador i habiliteu el bus de sortida d'escaneig. Aquest paràmetre està disponible quan seleccioneu 2, 3 o 4 per a Quin és el nombre de multiplicadors? paràmetre.

Off Clock0 CAP NINGÚ

Seleccioneu aquesta opció per habilitar el registre de sortida per al bus de sortida scanouta.
Heu de seleccionar Entrada de cadena d'escaneig per a Quina és l'entrada A del multiplicador connectat? paràmetre per habilitar aquesta opció.
Seleccioneu Clock0 , Clock1 o Clock2 per habilitar i especificar el senyal de rellotge d'entrada del registre per al bus de sortida d'escanouta.
Heu d'activar Registre la sortida del paràmetre de la cadena d'exploració per habilitar aquesta opció.
Especifica la font clara asíncrona del registre per al bus de sortida scanouta.
Heu d'activar Registre la sortida del paràmetre de la cadena d'exploració per habilitar aquesta opció.
Especifica la font de neteja síncrona del registre per al bus de sortida scanouta.
Heu de seleccionar Registre la sortida del paràmetre de la cadena d'exploració per habilitar aquesta opció.

Valor per defecte
SIMPLE

Descripció
Especifica el mode de funcionament del mòdul preagregador. SIMPLE: aquest mode evita el preader. Aquest és el mode predeterminat. COEF: aquest mode utilitza la sortida del bus d'entrada del preadder i del coefsel com a entrades al multiplicador. INPUT: aquest mode utilitza la sortida del preadder i el bus d'entrada de dades com a entrades al multiplicador. QUADRAT: aquest mode utilitza la sortida del preader com a entrades al multiplicador.
continuat…

Envia comentaris

Guia d'usuari de nuclis IP aritmètics d'integer FPGA Intel 51

8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05/XNUMX/XNUMX

Paràmetre

Paràmetre generat IP

Valor

Seleccioneu la direcció del preadder

gui_preadder ADD,

_direcció

SUB

Quina amplitud han de tenir els busos d'entrada C width_c?

1 – 256

Configuració del registre d'entrada de dades C

Registre l'entrada de dades

gui_datac_inp Activat

ut_register

Apagat

Quina és la font d'entrada del rellotge?

gui_datac_inp ut_register_cl ock

Rellotge0 Rellotge1 Rellotge2

Quina és la font per a l'entrada clara asíncrona?

gui_datac_inp ut_register_a clr

CAP ACLR0 ACLR1

Quina és la font de l'entrada clara síncrona?

gui_datac_inp ut_register_sc lr

CAP SCLR0 SCLR1

Coeficients
Quina amplada hauria de ser l'amplada del coef?

ample_coef

1 – 27

Configuració del registre de coefficients

Registre l'entrada de coefsel

gui_coef_regi On

ster

Apagat

Quina és la font d'entrada del rellotge?

gui_coef_regi ster_clock

Rellotge0 Rellotge1 Rellotge2

Valor per defecte
AFEGIR
16

Descripció
CONSTANT: aquest mode utilitza un bus d'entrada de dades amb el prepreder anul·lat i el bus d'entrada coefsel com a entrades al multiplicador.
Especifica el funcionament del preagregador. Per habilitar aquest paràmetre, seleccioneu el següent per al mode de selecció de pre-agregador: · COEF · ENTRADA · QUADRAT o · CONSTANT
Especifica el nombre de bits per al bus d'entrada C. Per activar aquest paràmetre, heu de seleccionar INPUT per a Seleccionar el mode preagregador.

On Clock0 NINGUN NINGÚ

Seleccioneu aquesta opció per habilitar el registre d'entrada per al bus d'entrada de dades. Per activar aquesta opció, heu d'establir INPUT al paràmetre Selecciona el mode de preagregador.
Seleccioneu Clock0 , Clock1 o Clock2 per especificar el senyal de rellotge d'entrada per al registre d'entrada de dades. Heu de seleccionar Registra l'entrada de dades per habilitar aquest paràmetre.
Especifica la font clara asíncrona per al registre d'entrada de datac. Heu de seleccionar Registra l'entrada de dades per habilitar aquest paràmetre.
Especifica la font clara síncrona per al registre d'entrada de datac. Heu de seleccionar Registra l'entrada de dades per habilitar aquest paràmetre.

18

Especifica el nombre de bits per

bus d'entrada de coefsel.

Per activar aquest paràmetre, heu de seleccionar COEF o CONSTANT per al mode preagregador.

Al rellotge 0

Seleccioneu aquesta opció per habilitar el registre d'entrada per al bus d'entrada de coefsel. Per activar aquest paràmetre, heu de seleccionar COEF o CONSTANT per al mode preagregador.
Seleccioneu Clock0 , Clock1 o Clock2 per especificar el senyal de rellotge d'entrada per al registre d'entrada de coefsel. Heu de seleccionar Registra l'entrada de coefsel per habilitar aquest paràmetre.
continuat…

Guia d'usuari de nuclis IP aritmètics d'integer FPGA Intel 52

Envia comentaris

8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05/XNUMX/XNUMX

Paràmetre
Quina és la font per a l'entrada clara asíncrona?

Paràmetre generat IP

Valor

gui_coef_regi ster_aclr

CAP ACLR0 ACLR1

Quina és la font per a l'entrada clara síncrona

gui_coef_regi ster_sclr

CAP SCLR0 SCLR1

Coeficient_0 Configuració

coef0_0 a coef0_7

0x00000 0xFFFFFFF

Coeficient_1 Configuració

coef1_0 a coef1_7

0x00000 0xFFFFFFF

Coeficient_2 Configuració

coef2_0 a coef2_7

0x00000 0xFFFFFFF

Coeficient_3 Configuració

coef3_0 a coef3_7

0x00000 0xFFFFFFF

8.6.5. Pestanya Acumulador

Taula 34. Pestanya Acumulador

Paràmetre

Paràmetre generat IP

Valor

Habilita l'acumulador?

acumulador

SÍ, NO

Quin és el tipus de funcionament de l'acumulador?

accum_directi ADD,

on

SUB

Valor per defecte NONE
CAP
0x0000000 0
0x0000000 0
0x0000000 0
0x0000000 0

Descripció
Especifica la font clara asíncrona per al registre d'entrada de coefsel. Heu de seleccionar Registra l'entrada de coefsel per habilitar aquest paràmetre.
Especifica la font clara síncrona per al registre d'entrada de coefsel. Heu de seleccionar Registra l'entrada de coefsel per habilitar aquest paràmetre.
Especifica els valors dels coeficients per a aquest primer multiplicador. El nombre de bits ha de ser el mateix que s'especifica a Quina amplada ha de tenir l'amplada del coef? paràmetre. Per activar aquest paràmetre, heu de seleccionar COEF o CONSTANT per al mode preagregador.
Especifica els valors dels coeficients per a aquest segon multiplicador. El nombre de bits ha de ser el mateix que s'especifica a Quina amplada ha de tenir l'amplada del coef? paràmetre. Per activar aquest paràmetre, heu de seleccionar COEF o CONSTANT per al mode preagregador.
Especifica els valors dels coeficients per a aquest tercer multiplicador. El nombre de bits ha de ser el mateix que s'especifica a Quina amplada ha de tenir l'amplada del coef? paràmetre. Per activar aquest paràmetre, heu de seleccionar COEF o CONSTANT per al mode preagregador.
Especifica els valors dels coeficients per a aquest quart multiplicador. El nombre de bits ha de ser el mateix que s'especifica a Quina amplada ha de tenir l'amplada del coef? paràmetre. Per activar aquest paràmetre, heu de seleccionar COEF o CONSTANT per al mode preagregador.

Valor per defecte NO
AFEGIR

Descripció
Seleccioneu SÍ per activar l'acumulador. Heu de seleccionar Registre la sortida de la unitat sumadora quan utilitzeu la funció acumulador.
Especifica el funcionament de l'acumulador: · ADD per operació de suma · SUB per a operació de resta. Heu de seleccionar SÍ per Habilita l'acumulador? paràmetre per habilitar aquesta opció.
continuat…

Envia comentaris

Guia d'usuari de nuclis IP aritmètics d'integer FPGA Intel 53

8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05/XNUMX/XNUMX

Paràmetre
Preload Constant Habilita la preload constant

Paràmetre generat IP

Valor

gui_ena_prelo On

ad_const

Apagat

Quina és l'entrada del port d'acumulació connectada?

gui_accumula ACCUM_SLOAD, te_port_select SLOAD_ACCUM

Seleccioneu el valor per a la precàrrega loadconst_val 0 – 64

constant

ue

Quina és la font d'entrada del rellotge?

gui_accum_sl oad_register_ rellotge

Rellotge0 Rellotge1 Rellotge2

Quina és la font per a l'entrada clara asíncrona?

gui_accum_sl oad_register_ aclr

CAP ACLR0 ACLR1

Quina és la font de l'entrada clara síncrona?

gui_accum_sl oad_register_ sclr

CAP SCLR0 SCLR1

Activa l'acumulador doble

gui_double_a On

ccum

Apagat

Valor per defecte

Descripció

Apagat

Habiliteu accum_sload o

senyals sload_accum i entrada de registre

per seleccionar dinàmicament l'entrada a

acumulador.

Quan accum_sload és baix o sload_accum, la sortida del multiplicador s'introdueix a l'acumulador.

Quan accum_sload és alt o sload_accum, una constant de precàrrega especificada per l'usuari s'introdueix a l'acumulador.

Heu de seleccionar SÍ per Habilita l'acumulador? paràmetre per habilitar aquesta opció.

ACCUM_SL OAD

Especifica el comportament del senyal accum_sload/sload_accum.
ACCUM_SLOAD: condueix a accum_sload baix per carregar la sortida del multiplicador a l'acumulador.
SLOAD_ACCUM: condueix sload_accum alt per carregar la sortida del multiplicador a l'acumulador.
Heu de seleccionar l'opció Habilita constant de precàrrega per habilitar aquest paràmetre.

64

Especifiqueu el valor constant preestablert.

Aquest valor pot ser 2N on N és el valor constant preestablert.

Quan N=64, representa un zero constant.

Heu de seleccionar l'opció Habilita constant de precàrrega per habilitar aquest paràmetre.

Rellotge 0

Seleccioneu Clock0 , Clock1 o Clock2 per especificar el senyal de rellotge d'entrada per al registre accum_sload/sload_accum.
Heu de seleccionar l'opció Habilita constant de precàrrega per habilitar aquest paràmetre.

CAP

Especifica la font clara asíncrona per al registre accum_sload/sload_accum.
Heu de seleccionar l'opció Habilita constant de precàrrega per habilitar aquest paràmetre.

CAP

Especifica la font clara sincrònica per al registre accum_sload/sload_accum.
Heu de seleccionar l'opció Habilita constant de precàrrega per habilitar aquest paràmetre.

Apagat

Habilita el registre de doble acumulador.

Guia d'usuari de nuclis IP aritmètics d'integer FPGA Intel 54

Envia comentaris

8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05/XNUMX/XNUMX

8.6.6. Pestanya Sistòlica/Chainout

Taula 35. Pestanya Adder sistòlic/Chainout

Paràmetre Enable Chainout Adder

Paràmetre generat IP

Valor

chainout_add SÍ,

er

NO

Quin és el tipus d'operació del sumador de cadena?

chainout_add ADD,

er_direcció

SUB

Habilita l'entrada "negativa" per a l'agregador de cadena?

Port_negat

PORT_USED, PORT_UNUSED

Registreu l'entrada de "negació"? negate_regist er

NO REGISTRAT, CLOCK0, CLOCK1, CLOCK2, CLOCK3

Quina és la font per a l'entrada clara asíncrona?

negate_aclr

CAP ACLR0 ACLR1

Quina és la font de l'entrada clara síncrona?

negate_sclr

CAP SCLR0 SCLR1

Retard sistòlic
Habilita els registres de retard sistòlic

gui_systolic_d Activat

Elay

Apagat

Quina és la font d'entrada del rellotge?

gui_systolic_d CLOCK0,

rellotge_elay

CLOCK1,

Valor per defecte
NO

Descripció
Seleccioneu SÍ per habilitar el mòdul de sumador de cadena.

AFEGIR

Especifica l'operació de sumador de cadena.
Per a l'operació de resta, s'ha de seleccionar SIGNED per a Quin és el format de representació per a les entrades de multiplicadors A? i Quin és el format de representació per a les entrades de multiplicadors B? a la pestanya Multiplicadors.

PORT_UN ÚS

Seleccioneu PORT_USED per activar el senyal d'entrada de negació.
Aquest paràmetre no és vàlid quan l'addidor de cadena està desactivat.

NO REGISTRAR-SE

Per habilitar el registre d'entrada per al senyal d'entrada de negació i especifica el senyal de rellotge d'entrada per al registre de negació.
Seleccioneu NO REGISTRAT si no cal el registre d'entrada de negació a
Aquest paràmetre no és vàlid quan seleccioneu:
· NO per Habilita el sumador de cadena o
· PORT_UNUSED per Habilita l'entrada "negativa" per al sumador de cadena? paràmetre o

CAP

Especifica la font clara asíncrona per al registre de negació.
Aquest paràmetre no és vàlid quan seleccioneu:
· NO per Habilita el sumador de cadena o
· PORT_UNUSED per Habilita l'entrada "negativa" per al sumador de cadena? paràmetre o

CAP

Especifica la font clara sincrònica per al registre de negació.
Aquest paràmetre no és vàlid quan seleccioneu:
· NO per Habilita el sumador de cadena o
· PORT_UNUSED per Habilita l'entrada "negativa" per al sumador de cadena? paràmetre o

Desactivat CLOCK0

Seleccioneu aquesta opció per activar el mode sistòlic. Aquest paràmetre està disponible quan seleccioneu 2 o 4 per a Quin és el nombre de multiplicadors? paràmetre. Heu d'habilitar la sortida del registre de la unitat sumadora per utilitzar els registres de retard sistòlic.
Especifica el senyal de rellotge d'entrada per al registre de retard sistòlic.
continuat…

Envia comentaris

Guia d'usuari de nuclis IP aritmètics d'integer FPGA Intel 55

8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05/XNUMX/XNUMX

Paràmetre

Paràmetre generat IP

Valor

CLOCK2,

Quina és la font per a l'entrada clara asíncrona?

gui_systolic_d elay_aclr

CAP ACLR0 ACLR1

Quina és la font de l'entrada clara síncrona?

gui_systolic_d elay_sclr

CAP SCLR0 SCLR1

Valor per defecte
CAP
CAP

Descripció
Heu de seleccionar activar registres de retard sistòlic per habilitar aquesta opció.
Especifica la font clara asíncrona per al registre de retard sistòlic. Heu de seleccionar activar registres de retard sistòlic per habilitar aquesta opció.
Especifica la font clara sincrònica per al registre de retard sistòlic. Heu de seleccionar activar registres de retard sistòlic per habilitar aquesta opció.

8.6.7. Pestanya de canalització

Taula 36. Pestanya Pipelined

Configuració de la canalització de paràmetres

Paràmetre generat IP

Valor

Voleu afegir un registre de canalització a l'entrada?

gui_pipelining No, sí

Valor per defecte
No

Si us plau, especifiqueu el

latència

nombre de rellotge de latència

cicles

Qualsevol valor superior a 0 que 0

Quina és la font d'entrada del rellotge?

gui_input_late ncy_clock

CLOCK0, CLOCK1, CLOCK2

Quina és la font per a l'entrada clara asíncrona?

gui_input_late ncy_aclr

CAP ACLR0 ACLR1

Quina és la font de l'entrada clara síncrona?

gui_input_late ncy_sclr

CAP SCLR0 SCLR1

CLOCK0 NINGUN NINGÚ

Descripció
Seleccioneu Sí per activar un nivell addicional de registre de canalització als senyals d'entrada. Heu d'especificar un valor superior a 0 per al paràmetre Especifiqueu el nombre de cicles de rellotge de latència.
Especifica la latència desitjada en cicles de rellotge. Un nivell de registre de canalització = 1 latència en el cicle de rellotge. Heu de seleccionar SÍ per a Voleu afegir un registre de canalització a l'entrada? per habilitar aquesta opció.
Seleccioneu Clock0 , Clock1 o Clock2 per habilitar i especificar el senyal de rellotge d'entrada del registre de canalització. Heu de seleccionar SÍ per a Voleu afegir un registre de canalització a l'entrada? per habilitar aquesta opció.
Especifica la font clara asíncrona del registre per al registre de canalització addicional. Heu de seleccionar SÍ per a Voleu afegir un registre de canalització a l'entrada? per habilitar aquesta opció.
Especifica la font clara sincrònica del registre per al registre de canalització addicional. Heu de seleccionar SÍ per a Voleu afegir un registre de canalització a l'entrada? per habilitar aquesta opció.

Guia d'usuari de nuclis IP aritmètics d'integer FPGA Intel 56

Envia comentaris

683490 | 2020.10.05/XNUMX/XNUMX Envia comentaris

9. ALTMEMMULT (Multiplicador de coeficients constants basat en memòria) IP Core

Atenció:

Intel ha eliminat el suport d'aquesta IP a la versió 20.3 d'Intel Quartus Prime Pro Edition. Si el nucli IP del vostre disseny està orientat a dispositius amb Intel Quartus Prime Pro Edition, podeu substituir la IP per LPM_MULT Intel FPGA IP o tornar a generar la IP i compilar el vostre disseny amb el programari Intel Quartus Prime Standard Edition.

El nucli IP ALTMEMMULT s'utilitza per crear multiplicadors basats en memòria mitjançant els blocs de memòria onxip que es troben a les FPGA Intel (amb blocs de memòria M512, M4K, M9K i MLAB). Aquest nucli IP és útil si no disposeu de recursos suficients per implementar els multiplicadors en elements lògics (LE) o recursos multiplicadors dedicats.
El nucli IP ALTMEMMULT és una funció síncrona que requereix un rellotge. El nucli IP ALTMEMMULT implementa un multiplicador amb el menor rendiment i latència possibles per a un conjunt determinat de paràmetres i especificacions.
La figura següent mostra els ports per al nucli IP ALTMEMMULT.

Figura 21. Ports ALTMEMMULT

ALTMEMMULT

data_in[] sload_data coeff_in[]

resultat[] resultat_vàlid load_done

sload_coeff

rellotge sclr
inst

Informació relacionada Funcions a la pàgina 71

9.1. Característiques
El nucli ALTMEMMULT IP ofereix les següents característiques: · Crea només multiplicadors basats en memòria mitjançant blocs de memòria en xip que es troben a
FPGA d'Intel · Admet una amplada de dades de 1 bits · Admet formats de representació de dades signats i sense signar · Admet canalització amb latència de sortida fixa

Intel Corporation. Tots els drets reservats. Intel, el logotip d'Intel i altres marques d'Intel són marques comercials d'Intel Corporation o de les seves filials. Intel garanteix el rendiment dels seus productes FPGA i semiconductors amb les especificacions actuals d'acord amb la garantia estàndard d'Intel, però es reserva el dret de fer canvis a qualsevol producte i servei en qualsevol moment sense previ avís. Intel no assumeix cap responsabilitat derivada de l'aplicació o l'ús de qualsevol informació, producte o servei descrit aquí, tret que Intel ho acordi expressament per escrit. Es recomana als clients d'Intel que obtinguin la darrera versió de les especificacions del dispositiu abans de confiar en qualsevol informació publicada i abans de fer comandes de productes o serveis. * Altres noms i marques es poden reclamar com a propietat d'altres.

Registre ISO 9001:2015

9. ALTMEMMULT (Multiplicador de coeficients constants basat en memòria) IP Core 683490 | 2020.10.05/XNUMX/XNUMX
· Emmagatzema múltiples constants a la memòria d'accés aleatori (RAM)
· Proporciona una opció per seleccionar el tipus de bloc de RAM
· Admet ports d'entrada sincrònics i de control de càrrega opcionals
9.2. Prototip Verilog HDL
El següent prototip Verilog HDL es troba al disseny de Verilog File (.v) altera_mf.v al directori de síntesi eda.
mòdul altmemmult #( paràmetre coeff_representation = "SIGNED", paràmetre coefficient0 = "UNUSED", paràmetre data_representation = "SIGNED", paràmetre destinat_device_family = "no utilitzat", paràmetre max_clock_cycles_per_result = 1, paràmetre number_of_coefficients = "AUT_block", paràmetre = ram total_latency = 1, paràmetre width_c = 1, paràmetre width_d = 1, paràmetre width_r = 1, paràmetre width_s = 1, paràmetre lpm_type = "altmemmult", paràmetre lpm_hint = "no utilitzat") (rellotge de cable d'entrada, cable d'entrada [width_c-1: 1]coeff_in, cable d'entrada [width_d-0:1] data_in, cable de sortida load_done, cable de sortida [width_r-0:1] resultat, resultat del cable de sortida result_valid, sclr del cable d'entrada, cable d'entrada [width_s-0:1] sel, entrada cable sload_coeff, entrada cable sload_data)/* síntesi syn_black_box=0 */; mòdul final
9.3. Declaració de components VHDL
La declaració del component VHDL es troba al disseny de VHDL File (.vhd) altera_mf_components.vhd al fitxer directori librariesvhdlaltera_mf.
component altmemmult genèric ( coeff_representation:string := “SIGNED”; coefficient0:string := “UNUSED”; data_representation:string := “SIGNED”; expected_device_family:string := “no utilitzat”; max_clock_cycles_per_result:natural := 1; := 1; ram_block_type:= "AUTO"; "altmemmult"); port( clock:in std_logic; coeff_in:in std_logic_vector(width_c-1 downto 1) := (altres => '0'); data_in:in std_logic_vector (width_d-0 downto 1);

Guia d'usuari de nuclis IP aritmètics d'integer FPGA Intel 58

Envia comentaris

9. ALTMEMMULT (Multiplicador de coeficients constants basat en memòria) IP Core 683490 | 2020.10.05/XNUMX/XNUMX

load_done:out std_logic; resultat: out std_logic_vector (amplada_r-1 fins a 0); resultat_valid:out std_logic; sclr:in std_logic := '0'; sel:in std_logic_vector(width_s-1 downto 0) := (altres => '0'); sload_coeff:in std_logic := '0'; sload_data:in std_logic := '0'); component final;

9.4. Ports

Les taules següents mostren els ports d'entrada i sortida del nucli IP ALTMEMMULT.

Taula 37. Ports d'entrada ALTMEMMULT

Nom del port

Obligatori

Descripció

rellotge

Entrada del rellotge al multiplicador.

coeff_in[]

No

Port d'entrada de coeficient per al multiplicador. La mida del port d'entrada depèn del valor del paràmetre WIDTH_C.

data_in[]

Port d'entrada de dades al multiplicador. La mida del port d'entrada depèn del valor del paràmetre WIDTH_D.

sclr

No

Entrada clara sincrònica. Si no s'utilitza, el valor predeterminat és alt actiu.

sel[]

No

Selecció de coeficient fix. La mida del port d'entrada depèn de WIDTH_S

valor del paràmetre.

sload_coeff

No

Port d'entrada del coeficient de càrrega síncrona. Substitueix el valor del coeficient seleccionat actual pel valor especificat a l'entrada coeff_in.

sload_data

No

Port d'entrada de dades de càrrega síncrona. Senyal que especifica una nova operació de multiplicació i cancel·la qualsevol operació de multiplicació existent. Si el paràmetre MAX_CLOCK_CYCLES_PER_RESULT té un valor d'1, s'ignora el port d'entrada sload_data.

Taula 38. Ports de sortida ALTMEMMULT

Nom del port

Obligatori

Descripció

resultat[]

Port de sortida del multiplicador. La mida del port d'entrada depèn del valor del paràmetre WIDTH_R.

resultat_vàlid

Indica quan la sortida és el resultat vàlid d'una multiplicació completa. Si el paràmetre MAX_CLOCK_CYCLES_PER_RESULT té un valor d'1, no s'utilitza el port de sortida result_valid.

carrega_feta

No

Indica quan s'ha acabat de carregar el nou coeficient. El senyal load_done afirma quan s'ha acabat de carregar un coeficient nou. A menys que el senyal load_done sigui alt, no es pot carregar cap altre valor de coeficient a la memòria.

9.5 Paràmetres

La taula següent enumera els paràmetres per al nucli IP ALTMEMMULT.

Taula 39.
WIDTH_D WIDTH_C

ALTMEMMULT Paràmetres
Nom del paràmetre

Tipus obligatori

Descripció

Enter Sí

Especifica l'amplada del port data_in[].

Enter Sí

Especifica l'amplada del port coeff_in[]. continuat…

Envia comentaris

Guia d'usuari de nuclis IP aritmètics d'integer FPGA Intel 59

9. ALTMEMMULT (Multiplicador de coeficients constants basat en memòria) IP Core 683490 | 2020.10.05/XNUMX/XNUMX

Nom del paràmetre WIDTH_R WIDTH

Documents/Recursos

Intel FPGA Nuclis IP aritmètics enters [pdfGuia de l'usuari
Nuclis IP aritmètics enters FPGA, Nuclis IP aritmètics enters, Nuclis IP aritmètics, Nuclis IP

Referències

Deixa un comentari

La teva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats *