Núcleos IP aritméticos de FPGA entero
Intel FPGA Integer Arithmetic IP Cores Guía de usuario
Actualizado para Intel® Quartus® Prime Design Suite: 20.3
Versión en liña Enviar comentarios
UG-01063
ID: 683490 Versión: 2020.10.05
Contidos
Contidos
1. Núcleos IP aritméticos de Intel FPGA entero………………………………………………………………………….. 5
2. Núcleo IP LPM_COUNTER (Contador)……………………………………………………………………………….. 7 2.1. Características……………………………………………………………………………………………………7 2.2. Prototipo de Verilog HDL……………………………………………………………………………….. 8 2.3. Declaración do compoñente VHDL……………………………………………………………………………….8 2.4. Declaración VHDL LIBRARY_USE………………………………………………………………… 9 2.5. Portos…………………………………………………………………………………………………………..9 2.6. Parámetros……………………………………………………………………………… 10
3. LPM_DIVIDE (Divisor) Intel FPGA IP Core………………………………………………………….. 12 3.1. Características………………………………………………………………………………………………. 12 3.2. Prototipo Verilog HDL……………………………………………………………………………… 12 3.3. Declaración do compoñente VHDL………………………………………………………………….. 13 3.4. Declaración VHDL LIBRARY_USE…………………………………………………………………. 13 3.5. Portos………………………………………………………………………………………………… 13 3.6. Parámetros…………………………………………………………………………………………… 14
4. Núcleo IP LPM_MULT (multiplicador)……………………………………………………………………………………………. 16 4.1. Características………………………………………………………………………………………………. 16 4.2. Prototipo Verilog HDL……………………………………………………………………………… 17 4.3. Declaración do compoñente VHDL………………………………………………………………….. 17 4.4. Declaración VHDL LIBRARY_USE…………………………………………………………………. 17 4.5. Sinais …………………………………………………………………………………………………………… 18 4.6. Parámetros para dispositivos Stratix V, Arria V, Cyclone V e Intel Cyclone 10 LP…………… 18 4.6.1. Ficha Xeral………………………………………………………………………………18 4.6.2. Xerais 2 Ficha……………………………………………………………………………… 19 4.6.3. Pestana Pipelining……………………………………………………………………………… 19 4.7. Parámetros para dispositivos Intel Stratix 10, Intel Arria 10 e Intel Cyclone 10 GX……….. 20 4.7.1. Ficha Xeral………………………………………………………………………………20 4.7.2. Xerais 2 Ficha……………………………………………………………………………… 20 4.7.3. Canalización……………………………………………………………………………………… 21
5. LPM_ADD_SUB (Sumador/Restador)……………………………………………………………………………… 22 5.1. Características………………………………………………………………………………………………. 22 5.2. Prototipo Verilog HDL……………………………………………………………………………… 23 5.3. Declaración do compoñente VHDL………………………………………………………………….. 23 5.4. Declaración VHDL LIBRARY_USE…………………………………………………………………. 23 5.5. Portos………………………………………………………………………………………………… 23 5.6. Parámetros……………………………………………………………………………… 24
6. LPM_COMPARE (Comparador)…………………………………………………………………………………………… 26 6.1. Características………………………………………………………………………………………………. 26 6.2. Prototipo Verilog HDL……………………………………………………………………………… 27 6.3. Declaración do compoñente VHDL………………………………………………………………….. 27 6.4. Declaración VHDL LIBRARY_USE…………………………………………………………………. 27 6.5. Portos………………………………………………………………………………………………… 27 6.6. Parámetros……………………………………………………………………………… 28
Intel FPGA Integer Arithmetic IP Cores Guía de usuario 2
Enviar comentarios
Contidos
7. ALTEC (Código de corrección de erros: codificador/descodificador) Núcleo IP…………………………………… 30
7.1. Características do codificador ALTECC………………………………………………………………………..31 7.2. Prototipo Verilog HDL (ALTECC_ENCODER)……………………………………………………. 32 7.3. Prototipo Verilog HDL (ALTECC_DECODER)……………………………………………………. 32 7.4. Declaración de compoñente VHDL (ALTECC_ENCODER)……………………………………………….. 33 7.5. Declaración de compoñente VHDL (ALTECC_DECODER)………………………………………………… 33 7.6. Declaración VHDL LIBRARY_USE…………………………………………………………………. 33 7.7. Portos do codificador…………………………………………………………………………………………… 33 7.8. Portos do decodificador………………………………………………………………………………………………… 34 7.9. Parámetros do codificador……………………………………………………………………………… 34 7.10. Parámetros do decodificador………………………………………………………………… 35
8. Intel FPGA Multiply Adder IP Core…………………………………………………………………. 36
8.1. Características………………………………………………………………………………………………. 37 8.1.1. Presumador………………………………………………………………………………….. 38 8.1.2. Rexistro de atraso sistólico………………………………………………………………….. 40 8.1.3. Constante de precarga……………………………………………………………………………… 43 8.1.4. Dobre acumulador……………………………………………………………………………… 43
8.2. Prototipo Verilog HDL……………………………………………………………………………… 44 8.3. Declaración do compoñente VHDL………………………………………………………………….. 44 8.4. Declaración VHDL LIBRARY_USE…………………………………………………………………. 44 8.5. Sinais …………………………………………………………………………………………………………… 44 8.6. Parámetros……………………………………………………………………………… 47
8.6.1. Ficha Xeral…………………………………………………………………………………… 47 8.6.2. Pestana Modos adicionais……………………………………………………………………………….. 47 8.6.3. Pestana Multiplicadores……………………………………………………………………….. 49 8.6.4. Pestana Preadder………………………………………………………………………………. 51 8.6.5. Ficha Acumulador……………………………………………………………………………….. 53 8.6.6. Ficha Sistólica/Chainout ……………………………………………………………………. 55 8.6.7. Pestana Pipeliner……………………………………………………………………………… 56
9. ALTMEMMULT (multiplicador de coeficiente constante baseado en memoria) IP Core………… 57
9.1. Características………………………………………………………………………………………………. 57 9.2. Prototipo Verilog HDL……………………………………………………………………………… 58 9.3. Declaración do compoñente VHDL………………………………………………………………….. 58 9.4. Portos………………………………………………………………………………………………… 59 9.5. Parámetros…………………………………………………………………………………………… 59
10. Núcleo IP ALTMULT_ACCUM (acumulación múltiple)……………………………………………… 61
10.1. Características………………………………………………………………………………………………………….. 62 10.2. Prototipo Verilog HDL……………………………………………………………………………………..62 10.3. Declaración do compoñente VHDL………………………………………………………………… 63 10.4. Declaración VHDL LIBRARY_USE…………………………………………………………………63 10.5. Portos…………………………………………………………………………………………………. 63 10.6. Parámetros…………………………………………………………………………………………………. 64
11. Núcleo IP ALTMULT_ADD (Multiplica-Sumador) …………………………………………………………………..69
11.1. Características……………………………………………………………………………………………….. 71 11.2. Prototipo Verilog HDL……………………………………………………………………………………..72 11.3. Declaración do compoñente VHDL………………………………………………………………… 72 11.4. Declaración VHDL LIBRARY_USE…………………………………………………………………………72
Enviar comentarios
Intel FPGA Integer Arithmetic IP Cores Guía de usuario 3
Contidos
11.5. Portos…………………………………………………………………………………………………. 72 11.6. Parámetros…………………………………………………………………………………………………. 73
12. Núcleo IP ALTMULT_COMPLEX (Multiplicador complexo)……………………………………………… 86 12.1. Multiplicación complexa .................................................................................................................. 86 12.2. Representación canónica……………………………………………………………………………… 87 12.3. Representación convencional ………………………………………………………………………. 87 12.4. Características…………………………………………………………………………………………….. 88 12.5. Prototipo Verilog HDL……………………………………………………………………………………………..88 12.6. Declaración do compoñente VHDL………………………………………………………………… 89 12.7. Declaración VHDL LIBRARY_USE………………………………………………………………… 89 12.8. Sinais ……………………………………………………………………………………………………………. 89 12.9. Parámetros…………………………………………………………………………………………………. 90
13. Núcleo IP ALTSQRT (raíz cadrada enteira)…………………………………………………………………….92 13.1. Características…………………………………………………………………………………………….. 92 13.2. Prototipo Verilog HDL……………………………………………………………………………………………..92 13.3. Declaración de compoñentes VHDL………………………………………………………………… 93 13.4. Declaración VHDL LIBRARY_USE………………………………………………………………… 93 13.5. Portos…………………………………………………………………………………………………. 93 13.6. Parámetros…………………………………………………………………………………………………. 94
14. PARALLEL_ADD (Sumador Paralelo) Núcleo IP………………………………………………………………….. 95 14.1. Característica………………………………………………………………………………………………………….95 14.2. Prototipo Verilog HDL……………………………………………………………………………………………..95 14.3. Declaración de compoñentes VHDL………………………………………………………………… 96 14.4. Declaración VHDL LIBRARY_USE………………………………………………………………… 96 14.5. Portos…………………………………………………………………………………………………. 96 14.6. Parámetros…………………………………………………………………………………………………. 97
15. Guía de usuario de núcleos IP aritméticos de enteiros Arquivos de documentos………………………………… 98
16. Historial de revisión de documentos para Intel FPGA Integer Arithmetic IP Cores Guía de usuario... 99
Intel FPGA Integer Arithmetic IP Cores Guía de usuario 4
Enviar comentarios
683490 | 2020.10.05/XNUMX/XNUMX Enviar comentarios
1. Núcleos IP aritméticos de Intel FPGA
Podes usar os núcleos IP enteiros Intel® FPGA para realizar operacións matemáticas no teu deseño.
Estas funcións ofrecen unha síntese lóxica e unha implementación do dispositivo máis eficientes que codificar as súas propias funcións. Podes personalizar os núcleos IP para acomodar os teus requisitos de deseño.
Os núcleos IP aritméticos de Intel enteiros divídense nas seguintes dúas categorías: · Núcleos IP da biblioteca de módulos parametrizados (LPM) · Núcleos IP específicos de Intel (ALT)
A seguinte táboa enumera os núcleos IP aritméticos enteiros.
Táboa 1.
Lista de núcleos IP
Núcleos IP
Núcleos IP LPM
LPM_COUNTER
LPM_DIVIDE
LPM_MULT
LPM_ADD_SUB
LPM_COMPARE
Núcleos IP específicos de Intel (ALT) ALTEC
Función rematadaview Contador multiplicador divisor
Comparador sumador ou restador
Codificador/Decodificador ECC
Dispositivo 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 continúa...
Intel Corporation. Todos os dereitos reservados. Intel, o logotipo de Intel e outras marcas de Intel son marcas comerciais de Intel Corporation ou das súas subsidiarias. Intel garante o rendemento dos seus produtos FPGA e semicondutores segundo as especificacións actuais de acordo coa garantía estándar de Intel, pero resérvase o dereito de facer cambios en calquera produto e servizo en calquera momento e sen previo aviso. Intel non asume ningunha responsabilidade ou responsabilidade derivada da aplicación ou uso de calquera información, produto ou servizo descrito aquí, salvo que Intel o acorde expresamente por escrito. Recoméndase aos clientes de Intel que obteñan a versión máis recente das especificacións do dispositivo antes de confiar en calquera información publicada e antes de facer pedidos de produtos ou servizos. *Outros nomes e marcas poden ser reclamados como propiedade doutros.
Certificado ISO 9001:2015
1. Núcleos IP aritméticos de Intel FPGA 683490 | 2020.10.05/XNUMX/XNUMX
Núcleos IP Intel FPGA Multiply Adder o ALTERA_MULT_ADD ALTMEMMULT
ALTMULT_ACCUM ALTMULT_ADD ALTMULT_COMPLEX
ALTSQRT
PARALLEL_ADD
Función rematadaview Multiplicador-Sumador
Multiplicador de coeficiente constante baseado na memoria
Multiplicador-acumulador Multiplicador-sumador
Multiplicador complexo
Raíz cadrada enteira
Sumador paralelo
Dispositivo 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ón relacionada
· Notas de lanzamento de FPGA e dispositivos programables de Intel
· Introdución aos núcleos Intel FPGA IP Ofrece máis información sobre os núcleos Intel FPGA IP.
· Guía de usuario de núcleos IP de coma flotante Ofrece máis información sobre os núcleos IP de coma flotante Intel FPGA.
· Introdución aos núcleos IP Intel FPGA Ofrece información xeral sobre todos os núcleos IP Intel FPGA, incluíndo a parametrización, xeración, actualización e simulación de núcleos IP.
· Creación de scripts de simulación de IP e Qsys independentes da versión Cree scripts de simulación que non requiran actualizacións manuais para actualizacións de versión de software ou IP.
· Directrices de Mellores Prácticas de Xestión de Proxectos para unha xestión eficiente e portabilidade do seu proxecto e IP files.
· Guía de usuario de núcleos IP de aritmética enteiro Arquivos de documentos na páxina 98 Ofrece unha lista de guías de usuario para versións anteriores dos núcleos de IP de aritmética enteira.
Intel FPGA Integer Arithmetic IP Cores Guía de usuario 6
Enviar comentarios
683490 | 2020.10.05/XNUMX/XNUMX Enviar comentarios
2. Núcleo IP LPM_COUNTER (Contador).
Figura 1.
O núcleo IP LPM_COUNTER é un contador binario que crea contadores ascendentes, contadores descendentes e contadores ascendentes ou descendentes con saídas de ata 256 bits de ancho.
A seguinte figura mostra os portos para o núcleo IP LPM_COUNTER.
LPM_COUNTER portos
LPM_COUNTER
ssclr sload datos de sset[]
q[]
arriba abaixo
couto
aclr cargando aset
clk_en cnt_en cin
inst
2.1. Características
O núcleo IP LPM_COUNTER ofrece as seguintes funcións: · Xera contadores ascendentes, descendentes e ascendentes/descendentes · Xera os seguintes tipos de contadores:
— Binario simple: o contador aumenta a partir de cero ou decrece a partir de 255
— Módulo: o contador aumenta ou diminúe do valor do módulo especificado polo usuario e repite
· Admite portos de entrada de borrado, carga e configuración sincrónicos opcionais · Admite portos de entrada de borrado, carga e configuración asíncronos opcionais · Admite portos de entrada de habilitación de conta e reloxo opcionais.
Intel Corporation. Todos os dereitos reservados. Intel, o logotipo de Intel e outras marcas de Intel son marcas comerciais de Intel Corporation ou das súas subsidiarias. Intel garante o rendemento dos seus produtos FPGA e semicondutores segundo as especificacións actuais de acordo coa garantía estándar de Intel, pero resérvase o dereito de facer cambios en calquera produto e servizo en calquera momento e sen previo aviso. Intel non asume ningunha responsabilidade ou responsabilidade derivada da aplicación ou uso de calquera información, produto ou servizo descrito aquí, salvo que Intel o acorde expresamente por escrito. Recoméndase aos clientes de Intel que obteñan a versión máis recente das especificacións do dispositivo antes de confiar en calquera información publicada e antes de facer pedidos de produtos ou servizos. *Outros nomes e marcas poden ser reclamados como propiedade doutros.
Certificado ISO 9001:2015
2. Núcleo IP LPM_COUNTER (Contador).
683490 | 2020.10.05
2.2. Prototipo Verilog HDL
O seguinte prototipo Verilog HDL está situado no Verilog Design File (.v) lpm.v no directorio edasynthesis.
módulo lpm_counter (q, data, clock, cin, cout, clk_en, cnt_en, updown, aset, aclr, aload, sset, sclr, sload, eq); parámetro lpm_type = "lpm_counter"; parámetro lpm_width = 1; parámetro lpm_modulus = 0; parámetro lpm_direction = "UNUSED"; parámetro lpm_avalue = "SIN USAR"; parámetro lpm_svalue = "SIN USAR"; parámetro lpm_pvalue = "SIN USAR"; parámetro lpm_port_updown = "PORT_CONNECTIVITY"; parámetro lpm_hint = "UNUSED"; saída [lpm_width-1:0] q; saída cout; saída [15:0] eq; entrada cin; datos de entrada [lpm_width-1:0]; reloxo de entrada, clk_en, cnt_en, updown; input aset, aclr, aload; entrada sset, sclr, sload; módulo final
2.3. Declaración de compoñentes VHDL
A declaración do compoñente VHDL está situada no Deseño VHDL File (.vhd) LPM_PACK.vhd no directorio librariesvhdllpm.
compoñente LPM_COUNTER xenérico ( LPM_WIDTH : natural; LPM_MODULUS : natural := 0; LPM_DIRECTION : cadea := “UNUSED”; LPM_AVALUE : cadea := “UNUSED”; LPM_SVALUE : cadea := “UNUSED”; LPM_PORT_UPDOWN : string :_CONNECTIVITY :_CONNECTIVITY ; LPM_PVALUE : cadea := “UNUSED” ; porto (DATOS: en std_logic_vector(LPM_WIDTH-1 ata 0):= (OUTROS =>
'0'); CLOCK : en std_logic ; CLK_EN : en std_logic := '1'; CNT_EN : en std_logic := '1'; SUBIR : en std_logic := '1'; CARGA : en std_logic := '0'; SSET : en std_logic := '0'; SCLR : en std_logic := '0'; ALOAD : en std_logic := '0'; ASET : en std_logic := '0'; ACLR : en std_logic := '0'; CIN : en std_logic := '1'; COUT : out std_logic := '0'; Q: out std_logic_vector (LPM_WIDTH-1 ata 0); EQ: out std_logic_vector (15 ata 0));
compoñente final;
Intel FPGA Integer Arithmetic IP Cores Guía de usuario 8
Enviar comentarios
2. LPM_COUNTER (Contador) IP Core 683490 | 2020.10.05/XNUMX/XNUMX
2.4. Declaración VHDL LIBRARY_USE
A declaración VHDL LIBRARY-USE non é necesaria se usa a declaración de compoñente VHDL.
BIBLIOTECA lpm; USE lpm.lpm_components.all;
2.5. Portos
As seguintes táboas enumeran os portos de entrada e saída para o núcleo IP LPM_COUNTER.
Táboa 2.
LPM_COUNTER portos de entrada
Nome do porto
Obrigatorio
Descrición
datos[]
Non
Entrada de datos en paralelo ao contador. O tamaño do porto de entrada depende do valor do parámetro LPM_WIDTH.
reloxo
Si
Entrada de reloxo activada polo bordo positivo.
clk_gl
Non
Entrada de activación do reloxo para activar todas as actividades sincrónicas. Se se omite, o valor predeterminado é 1.
cnt_en
Non
A entrada de habilitación de conta para desactivar o reconto cando se afirma baixo sen afectar a sload, sset ou sclr. Se se omite, o valor predeterminado é 1.
arriba abaixo
Non
Controla a dirección do reconto. Cando se afirma alta (1), a dirección da conta é cara arriba, e cando se afirma baixa (0), a dirección da conta é cara abaixo. Se se utiliza o parámetro LPM_DIRECTION, non se pode conectar o porto ascendente. Se non se utiliza LPM_DIRECTION, o porto ascendente é opcional. Se se omite, o valor predeterminado é superior (1).
cin
Non
Carry-in ao bit de orde baixa. Para contadores ascendentes, o comportamento da entrada cin é
idéntico ao comportamento da entrada cnt_en. Se se omite, o valor predeterminado é 1
(VCC).
aclr
Non
Entrada clara asíncrona. Se se usan e afirman tanto aset como aclr, aclr anula a aset. Se se omite, o valor predeterminado é 0 (desactivado).
activo
Non
Entrada de conxunto asíncrona. Especifica as saídas de q[] como todos os 1 ou ao valor especificado polo parámetro LPM_AVALUE. Se se usan e afirman tanto os portos aset como aclr, o valor do porto aclr anula o valor do porto aset. Se se omite, o valor predeterminado é 0, desactivado.
cargado
Non
Entrada de carga asíncrona que carga de forma asíncrona o contador co valor da entrada de datos. Cando se usa o porto de carga, o porto de datos [] debe estar conectado. Se se omite, o valor predeterminado é 0, desactivado.
sclr
Non
Entrada clara sincrónica que borra o contador no seguinte borde do reloxo activo. Se se usan e afirman tanto os portos sset como sclr, o valor do porto sclr anula o valor do porto sset. Se se omite, o valor predeterminado é 0, desactivado.
set
Non
Entrada de conxunto sincrónica que configura o contador no seguinte borde do reloxo activo. Especifica o valor das saídas q como todos os 1 ou ao valor especificado polo parámetro LPM_SVALUE. Se se usan e afirman os portos sset e sclr,
o valor do porto sclr anula o valor do porto sset. Se se omite, o valor predeterminado é 0 (desactivado).
cargar
Non
Entrada de carga síncrona que carga o contador con datos[] no seguinte borde do reloxo activo. Cando se utiliza o porto sload, o porto de datos [] debe estar conectado. Se se omite, o valor predeterminado é 0 (desactivado).
Enviar comentarios
Intel FPGA Integer Arithmetic IP Cores Guía de usuario 9
2. LPM_COUNTER (Contador) IP Core 683490 | 2020.10.05/XNUMX/XNUMX
Táboa 3.
LPM_COUNTER portos de saída
Nome do porto
Obrigatorio
Descrición
q[]
Non
Saída de datos do contador. O tamaño do porto de saída depende do
Valor do parámetro LPM_WIDTH. Ou q[] ou polo menos un dos portos eq[15..0].
debe estar conectado.
eq[15..0]
Non
Saída de decodificación do contador. O porto eq[15..0] non é accesible no editor de parámetros porque o parámetro só admite AHDL.
Debe estar conectado o porto q[] ou o porto eq[]. Pódense usar ata c eq portos (0 <= c <= 15). Só se descodifican os 16 valores de conta máis baixos. Cando o valor de conta é c, a saída de eqc é alta (1). Por example, cando a conta é 0, eq0 = 1, cando a conta é 1, eq1 = 1, e cando a conta é 15, eq 15 = 1. A saída descodificada para valores de conta de 16 ou máis require decodificación externa. As saídas eq[15..0] son asíncronas coa saída q[].
couto
Non
Porto de execución do bit MSB do contador. Pódese usar para conectarse a outro contador para crear un contador máis grande.
2.6 Parámetros
A seguinte táboa enumera os parámetros para o núcleo IP LPM_COUNTER.
Táboa 4.
Parámetros LPM_COUNTER
Nome do parámetro
Tipo
LPM_WIDTH
Número enteiro
LPM_DIRECTION
Corda
LPM_MODULUS LPM_AVALUE
Número enteiro
Enteiro/Cadea
LPM_SVALUE LPM_HINT
Enteiro/Cadea
Corda
LPM_TYPE
Corda
Obrigatorio Si Non Non Non
Non Non
Non
Descrición
Especifica o ancho dos portos de datos[] e q[], se se usan.
Os valores son UP, DOWN e UNUSED. Se se usa o parámetro LPM_DIRECTION, non se pode conectar o porto ascendente. Cando o porto updown non está conectado, o valor predeterminado do parámetro LPM_DIRECTION é UP.
O reconto máximo, máis un. Número de estados únicos no ciclo do contador. Se o valor de carga é maior que o parámetro LPM_MODULUS, non se especifica o comportamento do contador.
Valor constante que se carga cando o activo se afirma alto. Se o valor especificado é maior ou igual a , o comportamento do contador é un nivel lóxico (X) indefinido, onde é LPM_MODULUS, se está presente, ou 2 ^ LPM_WIDTH. Intel recomenda que especifique este valor como un número decimal para os deseños AHDL.
Valor constante que se carga no bordo ascendente do porto do reloxo cando o porto sset se afirma alto. Intel recomenda que especifique este valor como un número decimal para os deseños AHDL.
Cando crea unha función dunha biblioteca de módulos parametrizados (LPM) nun deseño VHDL File (.vhd), debe usar o parámetro LPM_HINT para especificar un parámetro específico de Intel. Por example: LPM_HINT = "CHAIN_SIZE = 8, ONE_INPUT_IS_CONSTANT = YES"
O valor predeterminado é UNUSED.
Identifica o nome da entidade da biblioteca de módulos parametrizados (LPM) no deseño VHDL files.
continuou…
Intel FPGA Integer Arithmetic IP Cores Guía de usuario 10
Enviar comentarios
2. LPM_COUNTER (Contador) IP Core 683490 | 2020.10.05/XNUMX/XNUMX
Nome do parámetro INTENDED_DEVICE_FAMILY CARRY_CNT_EN
LABWIDE_SCLR
LPM_PORT_UPDOWN
Escriba String String
Corda
Corda
Obrigatorio Non No
Non
Non
Descrición
Este parámetro utilízase para fins de modelaxe e simulación de comportamento. Este parámetro utilízase para fins de modelaxe e simulación de comportamento. O editor de parámetros calcula o valor deste parámetro.
Parámetro específico de Intel. Debes usar o parámetro LPM_HINT para especificar o parámetro CARRY_CNT_EN no deseño VHDL files. Os valores son SMART, ON, OFF e UNUSED. Activa a función LPM_COUNTER para propagar o sinal cnt_en a través da cadea de transporte. Nalgúns casos, a configuración do parámetro CARRY_CNT_EN pode ter un leve impacto na velocidade, polo que pode querer desactivalo. O valor predeterminado é SMART, que ofrece a mellor compensación entre tamaño e velocidade.
Parámetro específico de Intel. Debes usar o parámetro LPM_HINT para especificar o parámetro LABWIDE_SCLR no deseño VHDL files. Os valores son ON, OFF ou UNUSED. O valor predeterminado é ON. Permítelle desactivar o uso da función LABwide sclr que se atopa nas familias de dispositivos obsoletas. Desactivar esta opción aumenta as posibilidades de utilizar completamente os LAB parcialmente cheos e, polo tanto, pode permitir unha maior densidade lóxica cando o SCLR non se aplica a un LAB completo. Este parámetro está dispoñible para compatibilidade con versións anteriores e Intel recomenda que non o use.
Especifica o uso do porto de entrada updown. Se se omite, o valor predeterminado é PORT_CONNECTIVITY. Cando o valor do porto se define como PORT_USED, o porto trátase como usado. Cando o valor do porto se define como PORT_UNUSED, o porto trátase como non utilizado. Cando o valor do porto se define en PORT_CONNECTIVITY, o uso do porto determínase comprobando a conectividade do porto.
Enviar comentarios
Intel FPGA Integer Arithmetic IP Cores Guía de usuario 11
683490 | 2020.10.05/XNUMX/XNUMX Enviar comentarios
3. LPM_DIVIDE (Divisor) Intel FPGA IP Core
Figura 2.
O núcleo IP LPM_DIVIDE Intel FPGA implementa un divisor para dividir un valor de entrada de numerador por un valor de entrada de denominador para producir un cociente e un resto.
A seguinte figura mostra os portos para o núcleo IP LPM_DIVIDE.
LPM_DIVIDE Portos
LPM_DIVIDE
número[] denom[] reloxo
cociente[] permanecer[]
clken aclr
inst
3.1. Características
O núcleo IP LPM_DIVIDE ofrece as seguintes características: · Xera un divisor que divide o valor de entrada do numerador por unha entrada do denominador
valor para producir un cociente e un resto. · Admite un ancho de datos de 1 bits. · Admite o formato de representación de datos asinados e sen asinar tanto para o numerador
e valores do denominador. · Admite optimización de área ou velocidade. · Ofrece unha opción para especificar unha saída de resto positivo. · Admite a latencia de saída configurable de pipeline. · Admite portos opcionales de borrado asíncrono e de activación do reloxo.
3.2. Prototipo Verilog HDL
O seguinte prototipo Verilog HDL está situado no Verilog Design File (.v) lpm.v no directorio edasynthesis.
módulo lpm_divide (cociente, permanecer, número, denom, reloxo, clken, aclr); parámetro lpm_type = "lpm_divide"; parámetro lpm_widthn = 1; parámetro lpm_widthd = 1; parámetro lpm_nrepresentation = "SEN ASIGNAR"; parámetro lpm_drepresentation = "UNSIGNED"; parámetro lpm_remainderpositive = "TRUE"; parámetro lpm_pipeline = 0;
Intel Corporation. Todos os dereitos reservados. Intel, o logotipo de Intel e outras marcas de Intel son marcas comerciais de Intel Corporation ou das súas subsidiarias. Intel garante o rendemento dos seus produtos FPGA e semicondutores segundo as especificacións actuais de acordo coa garantía estándar de Intel, pero resérvase o dereito de facer cambios en calquera produto e servizo en calquera momento e sen previo aviso. Intel non asume ningunha responsabilidade ou responsabilidade derivada da aplicación ou uso de calquera información, produto ou servizo descrito aquí, salvo que Intel o acorde expresamente por escrito. Recoméndase aos clientes de Intel que obteñan a versión máis recente das especificacións do dispositivo antes de confiar en calquera información publicada e antes de facer pedidos de produtos ou servizos. *Outros nomes e marcas poden ser reclamados como propiedade doutros.
Certificado ISO 9001:2015
3. LPM_DIVIDE (Divisor) Intel FPGA IP Core 683490 | 2020.10.05/XNUMX/XNUMX
parámetro lpm_hint = "UNUSED"; reloxo de entrada; entrada clken; entrada aclr; entrada [lpm_widthn-1:0] número; entrada [lpm_widthd-1:0] denom; cociente de saída [lpm_widthn-1:0]; a saída [lpm_widthd-1:0] permanece; módulo final
3.3. Declaración de compoñentes VHDL
A declaración do compoñente VHDL está situada no Deseño VHDL File (.vhd) LPM_PACK.vhd no directorio librariesvhdllpm.
compoñente LPM_DIVIDE xenérico (LPM_WIDTHN : natural; LPM_WIDTHD : natural;
LPM_NREPRESENTATION : cadea := “SEN ASIGNAR”; LPM_DREPRESENTATION : cadea := “SEN ASIGNAR”; LPM_PIPELINE : natural := 0; LPM_TYPE : cadea := L_DIVIDE; LPM_HINT : cadea := “UNUSED”); porto (NUMER : en std_logic_vector (LPM_WIDTHN-1 ata 0); DENOM : en std_logic_vector (LPM_WIDTHD-1 ata 0); ACLR : en std_logic := '0'; CLOCK : en std_logic := '0'; CLKEN : en std_logic := '1'; QUOTIENT: out std_logic_vector(LPM_WIDTHN-1 downto 0 REMAIN: out std_logic_vector(LPM_WIDTHD-1 downto 0)); compoñente final;
3.4. Declaración VHDL LIBRARY_USE
A declaración VHDL LIBRARY-USE non é necesaria se usa a declaración de compoñente VHDL.
BIBLIOTECA lpm; USE lpm.lpm_components.all;
3.5. Portos
As seguintes táboas enumeran os portos de entrada e saída para o núcleo IP LPM_DIVIDE.
Táboa 5.
LPM_DIVIDE Portos de entrada
Nome do porto
Obrigatorio
número[]
Si
denominación[]
Si
Descrición
Entrada de datos do numerador. O tamaño do porto de entrada depende do valor do parámetro LPM_WIDTHN.
Entrada de datos do denominador. O tamaño do porto de entrada depende do valor do parámetro LPM_WIDTHD.
continuou…
Enviar comentarios
Intel FPGA Integer Arithmetic IP Cores Guía de usuario 13
3. LPM_DIVIDE (Divisor) Intel FPGA IP Core 683490 | 2020.10.05/XNUMX/XNUMX
Nome do porto reloxo clken
aclr
Obrigatorio Non No
Non
Descrición
Entrada de reloxo para uso canalizado. Para valores LPM_PIPELINE distintos de 0 (predeterminado), o porto do reloxo debe estar activado.
O reloxo permite o uso canalizado. Cando o porto clken se afirma alto, ten lugar a operación de división. Cando o sinal é baixo, non se produce ningunha operación. Se se omite, o valor predeterminado é 1.
Porto de borrado asíncrono usado en calquera momento para restablecer a canalización a todos os 0 de forma asíncrona coa entrada do reloxo.
Táboa 6.
LPM_DIVIDE Portos de saída
Nome do porto
Obrigatorio
Descrición
cociente []
Si
Saída de datos. O tamaño do porto de saída depende do LPM_WIDTHN
valor do parámetro.
permanecer[]
Si
Saída de datos. O tamaño do porto de saída depende do LPM_WIDTHD
valor do parámetro.
3.6 Parámetros
A seguinte táboa enumera os parámetros para o núcleo IP LPM_DIVIDE Intel FPGA.
Nome do parámetro
Tipo
Obrigatorio
Descrición
LPM_WIDTHN
Número enteiro
Si
Especifica o ancho do número[] e
cociente [] portos. Os valores son de 1 a 64.
LPM_WIDTHD
Número enteiro
Si
Especifica os anchos do denom[] e
permanecen [] portos. Os valores son de 1 a 64.
LPM_NREPRESENTATION LPM_DREPRESENTATION
Cadena Cadena
Non
Representación de signos da entrada do numerador.
Os valores son SIGNED e UNSIGNED. Cando isto
o parámetro está establecido en SIGNED, o divisor
interpreta a entrada de número[] como dous con signo
complemento.
Non
Representación de signos da entrada do denominador.
Os valores son SIGNED e UNSIGNED. Cando isto
o parámetro está establecido en SIGNED, o divisor
interpreta a entrada denom[] como dous con signo
complemento.
LPM_TYPE
Corda
Non
Identifica a biblioteca de parametrizada
módulos (LPM) nome da entidade no deseño VHDL
files (.vhd).
LPM_HINT
Corda
Non
Cando crea unha instancia dunha biblioteca de
módulos parametrizados (LPM) funcionan en a
Deseño VHDL File (.vhd), debes usar o
Parámetro LPM_HINT para especificar un Intel-
parámetro específico. Por example: LPM_HINT
= "CHAIN_SIZE = 8,
ONE_INPUT_IS_CONSTANT = YES” O
o valor predeterminado é NON USADO.
LPM_REMAINDERPOSITIVE
Corda
Non
Parámetro específico de Intel. Debes usar o
Parámetro LPM_HINT para especificar
Parámetro LPM_REMAINDERPOSITIVE en
Deseño VHDL files. Os valores son VERDADEIRO ou FALSO.
Se este parámetro está configurado como TRUE, entón o
o valor do porto restante [] debe ser maior
continuou…
Intel FPGA Integer Arithmetic IP Cores Guía de usuario 14
Enviar comentarios
3. LPM_DIVIDE (Divisor) Intel FPGA IP Core 683490 | 2020.10.05/XNUMX/XNUMX
Nome do parámetro
Tipo
MAXIMIZA_VELOCIDADE
Número enteiro
LPM_PIPELINE
Número enteiro
INTENDED_DEVICE_FAMILY SKIP_BITS
Cadena Enteiro
Núm. obrigatorio
Non Non Non
Descrición
igual ou superior a cero. Se este parámetro se define como VERDADEIRO, entón o valor do porto restante [] é cero ou o valor é o mesmo signo, positivo ou negativo, que o valor do porto numérico. Para reducir a área e mellorar a velocidade, Intel recomenda establecer este parámetro como TRUE nas operacións nas que o resto debe ser positivo ou onde o resto non ten importancia.
Parámetro específico de Intel. Debes usar o parámetro LPM_HINT para especificar o parámetro MAXIMIZE_SPEED no deseño VHDL files. Os valores son [0..9]. Se se usa, o software Intel Quartus Prime tenta optimizar unha instancia específica da función LPM_DIVIDE para a velocidade e non para a rutabilidade, e anula a configuración da opción lóxica Técnica de optimización. Se non se utiliza MAXIMIZE_SPEED, utilízase no seu lugar o valor da opción Técnica de optimización. Se o valor de MAXIMIZE_SPEED é 6 ou superior, o compilador optimiza o núcleo IP LPM_DIVIDE para unha maior velocidade mediante as cadeas de transporte; se o valor é 5 ou menos, o compilador implementa o deseño sen cadeas de transporte.
Especifica o número de ciclos de reloxo de latencia asociados ás saídas cociente[] e restante[]. Un valor de cero (0) indica que non existe latencia e que se crea unha instancia dunha función puramente combinacional. Se se omite, o valor predeterminado é 0 (non canalizado). Non pode especificar un valor para o parámetro LPM_PIPELINE superior a LPM_WIDTHN.
Este parámetro úsase para fins de modelización e simulación de comportamento. O editor de parámetros calcula o valor deste parámetro.
Permite unha división fraccionaria de bits máis eficiente para optimizar a lóxica nos bits principais proporcionando o número de GND principal ao núcleo IP LPM_DIVIDE. Especifique o número de GND inicial na saída do cociente deste parámetro.
Enviar comentarios
Intel FPGA Integer Arithmetic IP Cores Guía de usuario 15
683490 | 2020.10.05/XNUMX/XNUMX Enviar comentarios
4. Núcleo IP LPM_MULT (multiplicador).
Figura 3.
O núcleo IP LPM_MULT implementa un multiplicador para multiplicar dous valores de datos de entrada para producir un produto como saída.
A seguinte figura mostra os portos para o núcleo IP LPM_MULT.
LPM_Portos múltiples
LPM_MULT datos de reloxoa[] resultado[] datab[] aclr/sclr clken
inst
Funcións de información relacionada na páxina 71
4.1. Características
O núcleo IP LPM_MULT ofrece as seguintes características: · Xera un multiplicador que multiplica dous valores de datos de entrada · Admite un ancho de datos de 1 bits · Admite formatos de representación de datos asinados e non asinados · Admite optimización de área ou velocidade · Admite canalización con latencia de saída configurable · Proporciona un opción de implementación en procesamiento de sinais dixital dedicado (DSP)
circuítos de bloques ou elementos lóxicos (LE) Nota: cando se crean multiplicadores maiores que o tamaño soportado nativamente, pode/
será un impacto no rendemento resultante da cascada dos bloques DSP. · Admite portos de entrada de borrado asíncrono opcional e de activación de reloxo · Admite borrado síncrono opcional para dispositivos Intel Stratix 10, Intel Arria 10 e Intel Cyclone 10 GX
Intel Corporation. Todos os dereitos reservados. Intel, o logotipo de Intel e outras marcas de Intel son marcas comerciais de Intel Corporation ou das súas subsidiarias. Intel garante o rendemento dos seus produtos FPGA e semicondutores segundo as especificacións actuais de acordo coa garantía estándar de Intel, pero resérvase o dereito de facer cambios en calquera produto e servizo en calquera momento e sen previo aviso. Intel non asume ningunha responsabilidade ou responsabilidade derivada da aplicación ou uso de calquera información, produto ou servizo descrito aquí, salvo que Intel o acorde expresamente por escrito. Recoméndase aos clientes de Intel que obteñan a versión máis recente das especificacións do dispositivo antes de confiar en calquera información publicada e antes de facer pedidos de produtos ou servizos. *Outros nomes e marcas poden ser reclamados como propiedade doutros.
Certificado ISO 9001:2015
4. LPM_MULT (multiplicador) IP Core 683490 | 2020.10.05/XNUMX/XNUMX
4.2. Prototipo Verilog HDL
O seguinte prototipo Verilog HDL está situado no Verilog Design File (.v) lpm.v no directorio edasynthesis.
módulo lpm_mult (resultado, dataa, datab, sum, clock, clken, aclr) parámetro lpm_type = "lpm_mult"; parámetro lpm_widtha = 1; parámetro lpm_widthb = 1; parámetro lpm_widths = 1; parámetro lpm_widthp = 1; parámetro lpm_representation = "SEN ASIGNAR"; parámetro lpm_pipeline = 0; parámetro lpm_hint = "UNUSED"; reloxo de entrada; entrada clken; entrada aclr; entrada [lpm_widtha-1:0] datosa; entrada [lpm_widthb-1:0] datab; entrada [lpm_widths-1:0] suma; saída [lpm_widthp-1:0] resultado; módulo final
4.3. Declaración de compoñentes VHDL
A declaración do compoñente VHDL está situada no Deseño VHDL File (.vhd) LPM_PACK.vhd no directorio librariesvhdllpm.
compoñente LPM_MULT xenérico ( LPM_WIDTHA : natural; LPM_WIDTHB : natural; LPM_WIDTHS : natural := 1; LPM_WIDTHP : natural;
LPM_REPRESENTATION : cadea := “SEN ASINAR”; LPM_PIPELINE : natural := 0; LPM_TYPE: cadea := L_MULT; LPM_HINT : cadea := “UNUSED”); porto (DATAA: en std_logic_vector(LPM_WIDTHA-1 ata 0); DATAB: en std_logic_vector(LPM_WIDTHB-1 ata 0); ACLR: en std_logic:= '0'; CLOCK: en std_logic:= '0'; CLKEN: en std_logic := '1'; SUMA : en std_logic_vector (LPM_WIDTHS-1 a 0) := (OUTS => '0': out std_logic_vector (LPM_WIDTHP-1 a 0)); compoñente final;
4.4. Declaración VHDL LIBRARY_USE
A declaración VHDL LIBRARY-USE non é necesaria se usa a declaración de compoñente VHDL.
BIBLIOTECA lpm; USE lpm.lpm_components.all;
Enviar comentarios
Intel FPGA Integer Arithmetic IP Cores Guía de usuario 17
4. LPM_MULT (multiplicador) IP Core 683490 | 2020.10.05/XNUMX/XNUMX
4.5. Sinais
Táboa 7.
LPM_MULT Sinais de entrada
Nome do sinal
Obrigatorio
Descrición
datos[]
Si
Entrada de datos.
Para os dispositivos Intel Stratix 10, Intel Arria 10 e Intel Cyclone 10 GX, o tamaño do sinal de entrada depende do valor do parámetro ancho de Dataa.
Para dispositivos máis antigos e Intel Cyclone 10 LP, o tamaño do sinal de entrada depende do valor do parámetro LPM_WIDTHA.
base de datos[]
Si
Entrada de datos.
Para os dispositivos Intel Stratix 10, Intel Arria 10 e Intel Cyclone 10 GX, o tamaño do sinal de entrada depende do valor do parámetro de ancho de datos.
Para os dispositivos máis antigos e Intel Cyclone 10 LP, o tamaño do sinal de entrada depende
no valor do parámetro LPM_WIDTHB.
reloxo
Non
Entrada de reloxo para uso canalizado.
Para dispositivos máis antigos e Intel Cyclone 10 LP, o sinal do reloxo debe estar activado para valores LPM_PIPELINE distintos de 0 (predeterminado).
Para os dispositivos Intel Stratix 10, Intel Arria 10 e Intel Cyclone 10 GX, o sinal do reloxo debe estar activado se o valor de latencia non é 1 (predeterminado).
clken
Non
Activación do reloxo para o uso canalizado. Cando o sinal clken se afirma alto, o
ten lugar a operación sumador/restador. Cando o sinal é baixo, non hai operación
ocorre. Se se omite, o valor predeterminado é 1.
aclr sclr
Non
Sinal claro asíncrono usado en calquera momento para restablecer a canalización a todos os 0.
de forma asíncrona co sinal do reloxo. A canalización iníciase nun indefinido (X)
nivel lóxico. As saídas son un valor consistente, pero distinto de cero.
Non
Sinal claro sincrónico usado en calquera momento para restablecer a canalización a todos os 0.
sincrónicamente co sinal do reloxo. A canalización iníciase nun indefinido (X)
nivel lóxico. As saídas son un valor consistente, pero distinto de cero.
Táboa 8.
LPM_MULT Sinais de saída
Nome do sinal
Obrigatorio
Descrición
resultado[]
Si
Saída de datos.
Para dispositivos máis antigos e Intel Cyclone 10 LP, o tamaño do sinal de saída depende do valor do parámetro LPM_WIDTHP. Se LPM_WIDTHP < máx. (LPM_WIDTHA + LPM_WIDTHB, LPM_WIDTHS) ou (LPM_WIDTHA + LPM_WIDTHS), só están presentes os MSB LPM_WIDTHP.
Para Intel Stratix 10, Intel Arria 10 e Intel Cyclone 10 GX, o tamaño dos sinais de saída depende do parámetro Ancho do resultado.
4.6. Parámetros para dispositivos Stratix V, Arria V, Cyclone V e Intel Cyclone 10 LP
4.6.1. Ficha Xeral
Táboa 9.
Ficha Xeral
Parámetro
Valor
Configuración do multiplicador
Multiplique a entrada "dataa" pola entrada "datab".
Valor predeterminado
Descrición
Multiplique a entrada "dataa" pola entrada "datab".
Seleccione a configuración desexada para o multiplicador.
continuou…
Intel FPGA Integer Arithmetic IP Cores Guía de usuario 18
Enviar comentarios
4. LPM_MULT (multiplicador) IP Core 683490 | 2020.10.05/XNUMX/XNUMX
Parámetro
Que ancho debe ser a entrada de 'dataa'? Que ancho debe ser a entrada de "datab"? Como se debe determinar o ancho da saída do "resultado"? Restrinxir o ancho
Valor
Multiplique a entrada de 'dataa' por si mesma (operación de cadrado)
1-256 bits
Valor predeterminado
Descrición
8 bits
Especifique o ancho do porto de datosa[].
1-256 bits
8 bits
Especifique o ancho do porto datab[].
Calcula automaticamente o ancho. Restrinxa o ancho
1-512 bits
Calcula automaticamente o ancho
Seleccione o método desexado para determinar o ancho do porto de resultado[].
16 bits
Especifique o ancho do porto de resultado[].
Este valor só será efectivo se selecciona Restrinxir o ancho no parámetro Tipo.
4.6.2. Xeral 2 Tab
Táboa 10. Xeral 2 Tab
Parámetro
Valor
Entrada de datos
O bus de entrada 'datab' ten un valor constante?
Non Si
Tipo de multiplicación
Que tipo de
Sen asinar
multiplicación queres? Asinado
Implementación
Que implementación do multiplicador debería utilizarse?
Use a implementación predeterminada
Usa o circuíto multiplicador dedicado (non dispoñible para todas as familias)
Utilizar elementos lóxicos
Valor predeterminado
Descrición
Non
Seleccione Si para especificar o valor constante de
bus de entrada `datab', se hai.
Sen asinar
Especifique o formato de representación para as entradas dataa[] e datab[].
Use a implementación predeterminada
Seleccione o método desexado para determinar o ancho do porto de resultado[].
4.6.3. Ficha Tubería
Táboa 11. Ficha Tuberías
Parámetro
Queres canalizar o núm
función?
Si
Valor
Crear un 'aclr'
—
porto claro asíncrono
Valor predeterminado
Descrición
Non
Seleccione Si para activar o rexistro de canalización
saída do multiplicador e especifique o desexado
latencia de saída no ciclo de reloxo. Habilitando o
o rexistro de pipeline engade unha latencia adicional ao ficheiro
saída.
Desmarcado
Seleccione esta opción para habilitar o porto aclr para usar o borrado asíncrono para o rexistro de canalización.
continuou…
Enviar comentarios
Intel FPGA Integer Arithmetic IP Cores Guía de usuario 19
4. LPM_MULT (multiplicador) IP Core 683490 | 2020.10.05/XNUMX/XNUMX
Parámetro
Crea un reloxo "clken" para activar o reloxo
Optimización
Que tipo de optimización queres?
valor —
Área de velocidade predeterminada
Valor predeterminado
Descrición
Desmarcado
Especifica a activación activa de reloxo alto para o porto de reloxo do rexistro de canalización
Por defecto
Especifique a optimización desexada para o núcleo IP.
Seleccione Predeterminado para permitir que o software Intel Quartus Prime determine a mellor optimización para o núcleo IP.
4.7. Parámetros para dispositivos Intel Stratix 10, Intel Arria 10 e Intel Cyclone 10 GX
4.7.1. Ficha Xeral
Táboa 12. Ficha Xeral
Parámetro
Valor
Valor predeterminado
Descrición
Tipo de configuración do multiplicador
Ancho dos portos de datos
Multiplique a entrada "dataa" pola entrada "datab".
Multiplique a entrada de 'dataa' por si mesma (operación de cadrado)
Multiplique a entrada "dataa" pola entrada "datab".
Seleccione a configuración desexada para o multiplicador.
Ancho de datos
1-256 bits
8 bits
Especifique o ancho do porto de datosa[].
Ancho da base de datos
1-256 bits
8 bits
Especifique o ancho do porto datab[].
Como se debe determinar o ancho da saída do "resultado"?
Tipo
Calcula automaticamente o ancho
Restrinxa o ancho
Calcula automaticamente o ancho
Seleccione o método desexado para determinar o ancho do porto de resultado[].
Valor
1-512 bits
16 bits
Especifique o ancho do porto de resultado[].
Este valor só será efectivo se selecciona Restrinxir o ancho no parámetro Tipo.
Ancho do resultado
1-512 bits
—
Mostra o ancho efectivo do porto de resultado[].
4.7.2. Xeral 2 Tab
Táboa 13. Xeral 2 Tab
Parámetro
Entrada de datos
O bus de entrada 'datab' ten un valor constante?
Non Si
Valor
Valor predeterminado
Descrición
Non
Seleccione Si para especificar o valor constante de
bus de entrada `datab', se hai.
continuou…
Intel FPGA Integer Arithmetic IP Cores Guía de usuario 20
Enviar comentarios
4. LPM_MULT (multiplicador) IP Core 683490 | 2020.10.05/XNUMX/XNUMX
Parámetro
Valor
Valor
Calquera valor superior a 0
Tipo de multiplicación
Que tipo de
Sen asinar
multiplicación queres? Asinado
Estilo de implementación
Que implementación do multiplicador debería utilizarse?
Use a implementación predeterminada
Use o circuíto multiplicador dedicado
Utilizar elementos lóxicos
Valor predeterminado
Descrición
0
Especifique o valor constante do porto datab[].
Sen asinar
Especifique o formato de representación para as entradas dataa[] e datab[].
Use a implementación predeterminada
Seleccione o método desexado para determinar o ancho do porto de resultado[].
4.7.3. Tuberías
Táboa 14. Ficha Tuberías
Parámetro
Valor
Queres canalizar a función?
Gasoduto
Non Si
Tipo de sinal de borrado de latencia
Calquera valor superior a 0.
NINGUNHA ACLR SCLR
Crea un reloxo "clken".
—
habilitar o reloxo
Que tipo de optimización queres?
Tipo
Área de velocidade predeterminada
Valor predeterminado
Descrición
Nº 1 NINGUNHA
—
Seleccione Si para activar o rexistro de canalización na saída do multiplicador. A habilitación do rexistro de canalización engade unha latencia adicional á saída.
Especifique a latencia de saída desexada no ciclo de reloxo.
Especifique o tipo de reinicio para o rexistro de canalización. Seleccione NINGUNO se non utiliza ningún rexistro de canalización. Seleccione ACLR para usar o borrado asíncrono para o rexistro de canalización. Isto xerará o porto ACLR. Seleccione SCLR para usar o borrado sincrónico para o rexistro de canalización. Isto xerará o porto SCLR.
Especifica a activación activa de reloxo alto para o porto de reloxo do rexistro de canalización
Por defecto
Especifique a optimización desexada para o núcleo IP.
Seleccione Predeterminado para permitir que o software Intel Quartus Prime determine a mellor optimización para o núcleo IP.
Enviar comentarios
Intel FPGA Integer Arithmetic IP Cores Guía de usuario 21
683490 | 2020.10.05/XNUMX/XNUMX Enviar comentarios
5. LPM_ADD_SUB (sumador/restador)
Figura 4.
O núcleo IP LPM_ADD_SUB permítelle implementar un sumador ou un subtractor para engadir ou restar conxuntos de datos para producir unha saída que contén a suma ou a diferenza dos valores de entrada.
A seguinte figura mostra os portos para o núcleo IP LPM_ADD_SUB.
Portos LPM_ADD_SUB
LPM_ADD_SUB add_sub cin
datos[]
reloxo clken datab[] aclr
resultado[] desbordamento cout
inst
5.1. Características
O núcleo IP LPM_ADD_SUB ofrece as seguintes funcións: · Xera sumador, subtractor e sumador/restador configurable dinámicamente
funcións. · Admite un ancho de datos de 1 bits. · Admite o formato de representación de datos, como asinado e sen asinar. · Admite transporte opcional (prestado), borrado asíncrono e activación do reloxo
portos de entrada. · Admite portos de saída opcionales (préstamo) e desbordamento. · Asigna un dos buses de datos de entrada a unha constante. · Admite a canalización con latencia de saída configurable.
Intel Corporation. Todos os dereitos reservados. Intel, o logotipo de Intel e outras marcas de Intel son marcas comerciais de Intel Corporation ou das súas subsidiarias. Intel garante o rendemento dos seus produtos FPGA e semicondutores segundo as especificacións actuais de acordo coa garantía estándar de Intel, pero resérvase o dereito de facer cambios en calquera produto e servizo en calquera momento e sen previo aviso. Intel non asume ningunha responsabilidade ou responsabilidade derivada da aplicación ou uso de calquera información, produto ou servizo descrito aquí, salvo que Intel o acorde expresamente por escrito. Recoméndase aos clientes de Intel que obteñan a versión máis recente das especificacións do dispositivo antes de confiar en calquera información publicada e antes de facer pedidos de produtos ou servizos. *Outros nomes e marcas poden ser reclamados como propiedade doutros.
Certificado ISO 9001:2015
5. LPM_ADD_SUB (Sumador/Restador) 683490 | 2020.10.05/XNUMX/XNUMX
5.2. Prototipo Verilog HDL
O seguinte prototipo Verilog HDL está situado no Verilog Design File (.v) lpm.v no directorio edasynthesis.
módulo lpm_add_sub (resultado, cout, overflow,add_sub, cin, dataa, datab, clock, clken, aclr ); parámetro lpm_type = "lpm_add_sub"; parámetro lpm_width = 1; parámetro lpm_direction = "UNUSED"; parámetro lpm_representation = "ASINADO"; parámetro lpm_pipeline = 0; parámetro lpm_hint = "UNUSED"; entrada [lpm_width-1:0] dataa, datab; entrada add_sub, cin; reloxo de entrada; entrada clken; entrada aclr; saída [lpm_width-1:0] resultado; saída cout, desbordamento; módulo final
5.3. Declaración de compoñentes VHDL
A declaración do compoñente VHDL está situada no Deseño VHDL File (.vhd) LPM_PACK.vhd no directorio librariesvhdllpm.
compoñente LPM_ADD_SUB xenérico (LPM_WIDTH: natural;
LPM_DIRECTION : cadea := “SEN USAR”; LPM_REPRESENTATION: cadea := “ASINADO”; LPM_PIPELINE : natural := 0; LPM_TYPE : cadea := L_ADD_SUB; LPM_HINT : cadea := “UNUSED”); porto (DATAA: en std_logic_vector(LPM_WIDTH-1 ata 0); DATAB: en std_logic_vector(LPM_WIDTH-1 ata 0); ACLR: en std_logic:= '0'; CLOCK: en std_logic:= '0'; CLKEN: en std_logic := '1'; CIN : en std_logic := 'Z' : en std_logic := '1' : out std_logic_vector (LPM_WIDTH-1: out std_logic); compoñente final;
5.4. Declaración VHDL LIBRARY_USE
A declaración VHDL LIBRARY-USE non é necesaria se usa a declaración de compoñente VHDL.
BIBLIOTECA lpm; USE lpm.lpm_components.all;
5.5. Portos
As seguintes táboas enumeran os portos de entrada e saída para o núcleo IP LPM_ADD_SUB.
Enviar comentarios
Intel FPGA Integer Arithmetic IP Cores Guía de usuario 23
5. LPM_ADD_SUB (Sumador/Restador) 683490 | 2020.10.05/XNUMX/XNUMX
Táboa 15. Portos de entrada do núcleo IP LPM_ADD_SUB
Nome do porto
Obrigatorio
Descrición
cin
Non
Carry-in ao bit de orde baixa. Para operacións de adición, o valor predeterminado é 0. Para
operacións de resta, o valor predeterminado é 1.
datos[]
Si
Entrada de datos. O tamaño do porto de entrada depende do valor do parámetro LPM_WIDTH.
base de datos[]
Si
Entrada de datos. O tamaño do porto de entrada depende do valor do parámetro LPM_WIDTH.
engadir_sub
Non
Porto de entrada opcional para permitir a conmutación dinámica entre o sumador e o subtractor
funcións. Se se usa o parámetro LPM_DIRECTION, non se pode usar add_sub. Se
omitido, o valor predeterminado é ADD. Intel recomenda que use o
Parámetro LPM_DIRECTION para especificar o funcionamento da función LPM_ADD_SUB,
en lugar de asignar unha constante ao porto add_sub.
reloxo
Non
Entrada para uso canalizado. O porto de reloxo proporciona a entrada de reloxo para un canalización
operación. Para valores LPM_PIPELINE distintos de 0 (predeterminado), o porto do reloxo debe ser
activado.
clken
Non
Activación do reloxo para o uso canalizado. Cando o porto clken se afirma alto, o sumador/
prodúcese a operación do subtractor. Cando o sinal é baixo, non se produce ningunha operación. Se
omitido, o valor predeterminado é 1.
aclr
Non
Borrado asíncrono para uso canalizado. A canalización iníciase nun indefinido (X)
nivel lóxico. O porto aclr pódese usar en calquera momento para restablecer a canalización a todos os 0.
asíncrona co sinal do reloxo.
Táboa 16. Portos de saída do núcleo IP LPM_ADD_SUB
Nome do porto
Obrigatorio
Descrición
resultado[]
Si
Saída de datos. O tamaño do porto de saída depende do parámetro LPM_WIDTH
valor.
couto
Non
Realización (préstamo) do bit máis significativo (MSB). O porto cout ten un físico
interpretación como a realización (préstamo) do MSB. O porto cout detecta
desbordamento en operacións UNSIGNED. O porto do cout funciona da mesma maneira para
Operacións ASIÑADAS e SIN ASINADAS.
desbordamento
Non
Saída de excepción de desbordamento opcional. O porto de desbordamento ten unha interpretación física como
o XOR do arrastre ao MSB co carry-out do MSB. O porto de desbordamento
afirma cando os resultados superan a precisión dispoñible e úsase só cando o
O valor do parámetro LPM_REPRESENTATION está asinado.
5.6 Parámetros
A seguinte táboa enumera os parámetros básicos de IP LPM_ADD_SUB.
Táboa 17. Parámetros do núcleo IP LPM_ADD_SUB
Nome do parámetro LPM_WIDTH
Escriba Enteiro
Obrigatorio Si
Descrición
Especifica o ancho dos portos dataa[], datab[] e result[].
LPM_DIRECTION
Corda
Non
Os valores son ADD, SUB e UNUSED. Se se omite, o valor predeterminado é DEFAULT, que indica que o parámetro tome o seu valor do porto add_sub. O porto add_sub non se pode usar se se usa LPM_DIRECTION. Intel recomenda que use o parámetro LPM_DIRECTION para especificar o funcionamento da función LPM_ADD_SUB, en lugar de asignar unha constante ao porto add_sub.
continuou…
Intel FPGA Integer Arithmetic IP Cores Guía de usuario 24
Enviar comentarios
5. LPM_ADD_SUB (Sumador/Restador) 683490 | 2020.10.05/XNUMX/XNUMX
Nome do parámetro LPM_REPRESENTATION LPM_PIPELINE LPM_HINT LPM_TYPE ONE_INPUT_IS_CONSTANT MAXIMIZE_SPEED
INTENDED_DEVICE_FAMILY
Escriba String Integer String String String Enteiro
Corda
Obrigatorio Non Non Non Non Non Non
Non
Descrición
Especifica o tipo de adición realizada. Os valores son SIGNED e UNSIGNED. Se se omite, o valor predeterminado é SIGNED. Cando este parámetro se establece en SIGNED, o sumador/restador interpreta a entrada de datos como complemento de dous con signo.
Especifica o número de ciclos de reloxo de latencia asociados á saída do resultado[]. Un valor de cero (0) indica que non existe latencia e que se instanciará unha función puramente combinatoria. Se se omite, o valor predeterminado é 0 (non canalizado).
Permítelle especificar parámetros específicos de Intel no deseño VHDL files (.vhd). O valor predeterminado é UNUSED.
Identifica o nome da entidade da biblioteca de módulos parametrizados (LPM) no deseño VHDL files.
Parámetro específico de Intel. Debes usar o parámetro LPM_HINT para especificar o parámetro ONE_INPUT_IS_CONSTANT no deseño VHDL files. Os valores son YES, NO e UNUSED. Ofrece unha maior optimización se unha entrada é constante. Se se omite, o valor predeterminado é NON.
Parámetro específico de Intel. Debes usar o parámetro LPM_HINT para especificar o parámetro MAXIMIZE_SPEED no deseño VHDL files. Pode especificar un valor entre 0 e 10. Se se usa, o software Intel Quartus Prime tenta optimizar unha instancia específica da función LPM_ADD_SUB para a velocidade en lugar de para a enrutabilidade, e anula a configuración da opción lóxica Técnica de optimización. Se non se utiliza MAXIMIZE_SPEED, utilízase no seu lugar o valor da opción Técnica de optimización. Se a configuración para MAXIMIZE_SPEED é 6 ou superior, o compilador optimiza o núcleo IP LPM_ADD_SUB para unha maior velocidade mediante cadeas de transporte; se a configuración é 5 ou menos, o compilador implementa o deseño sen cadeas de transporte. Este parámetro debe especificarse para os dispositivos Cyclone, Stratix e Stratix GX só cando non se utiliza o porto add_sub.
Este parámetro úsase para fins de modelización e simulación de comportamento. O editor de parámetros calcula o valor deste parámetro.
Enviar comentarios
Intel FPGA Integer Arithmetic IP Cores Guía de usuario 25
683490 | 2020.10.05/XNUMX/XNUMX Enviar comentarios
6. LPM_COMPARE (Comparador)
Figura 5.
O núcleo IP LPM_COMPARE compara o valor de dous conxuntos de datos para determinar a relación entre eles. Na súa forma máis sinxela, pode usar unha porta OR exclusiva para determinar se dous bits de datos son iguais.
A seguinte figura mostra os portos para o núcleo IP LPM_COMPARE.
Portos LPM_COMPARE
LPM_COMPARE
clken
alb
aeb
datos[]
agb
base de datos[]
idadeb
reloxo
aneb
aclr
aleb
inst
6.1. Características
O núcleo IP LPM_COMPARE ofrece as seguintes características: · Xera unha función de comparación para comparar dous conxuntos de datos · Admite un ancho de datos de 1 bits · Admite formatos de representación de datos, como asinados e sen asinar · Produce os seguintes tipos de saída:
— alb (a entrada A é menor que a entrada B) — aeb (a entrada A é igual á entrada B) — agb (a entrada A é maior que a entrada B) — ageb (a entrada A é maior ou igual á entrada B) — aneb ( a entrada A non é igual á entrada B) — aleb (a entrada A é menor ou igual á entrada B) · Admite portos de entrada de borrado asincrónico e de activación de reloxo opcionais · Asigna a entrada datab[] a unha constante · Admite canalización con latencia de saída configurable
Intel Corporation. Todos os dereitos reservados. Intel, o logotipo de Intel e outras marcas de Intel son marcas comerciais de Intel Corporation ou das súas subsidiarias. Intel garante o rendemento dos seus produtos FPGA e semicondutores segundo as especificacións actuais de acordo coa garantía estándar de Intel, pero resérvase o dereito de facer cambios en calquera produto e servizo en calquera momento e sen previo aviso. Intel non asume ningunha responsabilidade ou responsabilidade derivada da aplicación ou uso de calquera información, produto ou servizo descrito aquí, salvo que Intel o acorde expresamente por escrito. Recoméndase aos clientes de Intel que obteñan a versión máis recente das especificacións do dispositivo antes de confiar en calquera información publicada e antes de facer pedidos de produtos ou servizos. *Outros nomes e marcas poden ser reclamados como propiedade doutros.
Certificado ISO 9001:2015
6. LPM_COMPARE (Comparador) 683490 | 2020.10.05/XNUMX/XNUMX
6.2. Prototipo Verilog HDL
O seguinte prototipo Verilog HDL está situado no Verilog Design File (.v) lpm.v no directorio edasynthesis.
módulo lpm_compare (alb, aeb, agb, aleb, aneb, ageb, dataa, datab, clock, clken, aclr); parámetro lpm_type = "lpm_compare"; parámetro lpm_width = 1; parámetro lpm_representation = "SEN ASIGNAR"; parámetro lpm_pipeline = 0; parámetro lpm_hint = "UNUSED"; entrada [lpm_width-1:0] dataa, datab; reloxo de entrada; entrada clken; entrada aclr; saída alb, aeb, agb, aleb, aneb, ageb; módulo final
6.3. Declaración de compoñentes VHDL
A declaración do compoñente VHDL está situada no Deseño VHDL File (.vhd) LPM_PACK.vhd no directorio librariesvhdllpm.
compoñente LPM_COMPARE xenérico (LPM_WIDTH: natural;
LPM_REPRESENTATION : cadea := “SEN ASINAR”; LPM_PIPELINE : natural := 0; LPM_TYPE: cadea := L_COMPARE; LPM_HINT : cadea := “UNUSED”); porto (DATAA: en std_logic_vector(LPM_WIDTH-1 ata 0); DATAB: en std_logic_vector(LPM_WIDTH-1 ata 0); ACLR: en std_logic:= '0'; CLOCK: en std_logic:= '0'; CLKEN: en std_logic := '1'; out std_logic; AEB: out std_logic; compoñente final;
6.4. Declaración VHDL LIBRARY_USE
A declaración VHDL LIBRARY-USE non é necesaria se usa a declaración de compoñente VHDL.
BIBLIOTECA lpm; USE lpm.lpm_components.all;
6.5. Portos
As seguintes táboas enumeran os portos de entrada e saída para o núcleo IP LMP_COMPARE.
Enviar comentarios
Intel FPGA Integer Arithmetic IP Cores Guía de usuario 27
6. LPM_COMPARE (Comparador) 683490 | 2020.10.05/XNUMX/XNUMX
Táboa 18. Portos de entrada do núcleo IP LPM_COMPARE
Nome do porto
Obrigatorio
Descrición
datos[]
Si
Entrada de datos. O tamaño do porto de entrada depende do valor do parámetro LPM_WIDTH.
base de datos[]
Si
Entrada de datos. O tamaño do porto de entrada depende do valor do parámetro LPM_WIDTH.
reloxo
Non
Entrada de reloxo para uso canalizado. O porto de reloxo proporciona a entrada de reloxo para un canalización
operación. Para valores LPM_PIPELINE distintos de 0 (predeterminado), o porto do reloxo debe ser
activado.
clken
Non
Activación do reloxo para o uso canalizado. Cando o porto clken se afirma alto, o
ten lugar a operación de comparación. Cando o sinal é baixo, non se produce ningunha operación. Se
omitido, o valor predeterminado é 1.
aclr
Non
Borrado asíncrono para uso canalizado. A canalización inicialízase cunha lóxica (X) indefinida
nivel. O porto aclr pódese usar en calquera momento para restablecer a canalización a todos os 0.
asíncrona co sinal do reloxo.
Táboa 19. Portos de saída do núcleo IP LPM_COMPARE
Nome do porto
Obrigatorio
Descrición
alb
Non
Porto de saída para o comparador. Afirmado se a entrada A é menor que a entrada B.
aeb
Non
Porto de saída para o comparador. Afirmado se a entrada A é igual á entrada B.
agb
Non
Porto de saída para o comparador. Afirmado se a entrada A é maior que a entrada B.
idadeb
Non
Porto de saída para o comparador. Afirmado se a entrada A é maior ou igual á entrada
B.
aneb
Non
Porto de saída para o comparador. Afirmado se a entrada A non é igual á entrada B.
aleb
Non
Porto de saída para o comparador. Afirmado se a entrada A é menor ou igual á entrada B.
6.6 Parámetros
A seguinte táboa enumera os parámetros para o núcleo IP LPM_COMPARE.
Táboa 20. Parámetros do núcleo IP LPM_COMPARE
Nome do parámetro
Tipo
Obrigatorio
LPM_WIDTH
Número enteiro Si
LPM_REPRESENTACIÓN
Corda
Non
LPM_PIPELINE
Número enteiro
LPM_HINT
Corda
Non
Descrición
Especifica o ancho dos portos dataa[] e datab[].
Especifica o tipo de comparación realizada. Os valores son SIGNED e UNSIGNED. Se se omite, o valor predeterminado é UNSIGNED. Cando este valor de parámetro se establece en SIGNED, o comparador interpreta a entrada de datos como complemento de dous con signo.
Especifica o número de ciclos de reloxo de latencia asociados á saída alb, aeb, agb, ageb, aleb ou aneb. Un valor de cero (0) indica que non existe latencia e que se instanciará unha función puramente combinatoria. Se se omite, o valor predeterminado é 0 (non canalizado).
Permítelle especificar parámetros específicos de Intel no deseño VHDL files (.vhd). O valor predeterminado é UNUSED.
continuou…
Intel FPGA Integer Arithmetic IP Cores Guía de usuario 28
Enviar comentarios
6. LPM_COMPARE (Comparador) 683490 | 2020.10.05/XNUMX/XNUMX
Nome do parámetro LPM_TYPE INTENDED_DEVICE_FAMILY
ONE_INPUT_IS_CONSTANT
Escriba String String
Corda
Obrigatorio Non No
Non
Descrición
Identifica o nome da entidade da biblioteca de módulos parametrizados (LPM) no deseño VHDL files.
Este parámetro úsase para fins de modelización e simulación de comportamento. O editor de parámetros calcula o valor deste parámetro.
Parámetro específico de Intel. Debes usar o parámetro LPM_HINT para especificar o parámetro ONE_INPUT_IS_CONSTANT no deseño VHDL files. Os valores son YES, NO ou UNUSED. Ofrece unha maior optimización se unha entrada é constante. Se se omite, o valor predeterminado é NON.
Enviar comentarios
Intel FPGA Integer Arithmetic IP Cores Guía de usuario 29
683490 | 2020.10.05/XNUMX/XNUMX Enviar comentarios
7. ALTEC (Código de corrección de erros: Codificador/Decodificador) IP Core
Figura 6.
Intel proporciona o núcleo IP ALTEC para implementar a funcionalidade ECC. ECC detecta datos corruptos que se producen no lado do receptor durante a transmisión de datos. Este método de corrección de erros é o máis adecuado para situacións nas que os erros ocorren ao azar e non en ráfagas.
O ECC detecta erros a través do proceso de codificación e decodificación de datos. Por example, cando o ECC se aplica nunha aplicación de transmisión, os datos lidos desde a fonte codifican antes de ser enviados ao receptor. A saída (palabra de código) do codificador consiste en datos brutos engadidos co número de bits de paridade. O número exacto de bits de paridade engadidos depende do número de bits nos datos de entrada. A palabra de código xerada transmítese entón ao destino.
O receptor recibe a palabra de código e a decodifica. A información obtida polo decodificador determina se se detecta un erro. O decodificador detecta erros dun só bit e dobre bit, pero só pode corrixir os erros dun só bit nos datos danados. Este tipo de ECC é a detección de erros dobres de corrección de erros únicos (SECDED).
Pode configurar as funcións de codificador e descodificador do núcleo IP ALTEC. A entrada de datos ao codificador está codificada para xerar unha palabra de código que é unha combinación da entrada de datos e os bits de paridade xerados. A palabra de código xerada transmítese ao módulo decodificador para a súa decodificación xusto antes de chegar ao seu bloque de destino. O decodificador xera un vector de síndrome para determinar se hai algún erro na palabra de código recibida. O descodificador corrixe os datos só se o erro dun só bit é dos bits de datos. Non se marca ningún sinal se o erro dun só bit é dos bits de paridade. O decodificador tamén ten sinais de bandeira para mostrar o estado dos datos recibidos e a acción realizada polo decodificador, se é o caso.
As seguintes figuras mostran os portos para o núcleo IP ALTEC.
Portos do codificador ALTEC
ALTEC_ENCODER
datos[]
q[]
reloxo
reloxo
aclr
inst
Intel Corporation. Todos os dereitos reservados. Intel, o logotipo de Intel e outras marcas de Intel son marcas comerciais de Intel Corporation ou das súas subsidiarias. Intel garante o rendemento dos seus produtos FPGA e semicondutores segundo as especificacións actuais de acordo coa garantía estándar de Intel, pero resérvase o dereito de facer cambios en calquera produto e servizo en calquera momento e sen previo aviso. Intel non asume ningunha responsabilidade ou responsabilidade derivada da aplicación ou uso de calquera información, produto ou servizo descrito aquí, salvo que Intel o acorde expresamente por escrito. Recoméndase aos clientes de Intel que obteñan a versión máis recente das especificacións do dispositivo antes de confiar en calquera información publicada e antes de facer pedidos de produtos ou servizos. *Outros nomes e marcas poden ser reclamados como propiedade doutros.
Certificado ISO 9001:2015
7. ALTEC (Código de corrección de erros: codificador/descodificador) IP Core 683490 | 2020.10.05/XNUMX/XNUMX
Figura 7. Portos do decodificador ALTEC
ALTEC_DECODER
datos[] reloxo reloxo
q[] err_detected err_corrected
err_fatal
aclr
inst
7.1. Características do codificador ALTEC
O núcleo IP do codificador ALTECC ofrece as seguintes funcións: · Realiza a codificación de datos mediante o esquema de codificación Hamming · Admite un ancho de datos de 2 bits · Admite formatos de representación de datos asinados e non asinados · Admite pipelining con latencia de saída dun ou dous ciclos de reloxo · Admite opcional portos de borrado asíncrono e activación do reloxo
O núcleo IP do codificador ALTEC incorpora e codifica os datos mediante o esquema de codificación Hamming. O esquema de codificación de Hamming deriva os bits de paridade e engádeos aos datos orixinais para producir a palabra de código de saída. O número de bits de paridade engadidos depende do ancho dos datos.
A seguinte táboa enumera o número de bits de paridade engadidos para diferentes intervalos de ancho de datos. A columna Bits totais representa o número total de bits de datos de entrada e os bits de paridade anexados.
Táboa 21.
Número de bits de paridade e palabra de código segundo o ancho de datos
Ancho de datos
Número de bits de paridade
Bits totais (palabra de código)
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
A derivación de bits de paridade usa unha comprobación de paridade par. O bit adicional 1 (mostrado na táboa como +1) engádese aos bits de paridade como o MSB da palabra de código. Isto garante que a palabra de código teña un número par de 1. Por example, se o ancho dos datos é de 4 bits, 4 bits de paridade engádense aos datos para converterse nunha palabra de código cun total de 8 bits. Se 7 bits do LSB da palabra de código de 8 bits teñen un número impar de 1, o 8. bit (MSB) da palabra de código é 1, facendo que o número total de 1 na palabra de código sexa par.
A seguinte figura mostra a palabra de código xerada e a disposición dos bits de paridade e os bits de datos nunha entrada de datos de 8 bits.
Enviar comentarios
Intel FPGA Integer Arithmetic IP Cores Guía de usuario 31
7. ALTEC (Código de corrección de erros: codificador/descodificador) IP Core 683490 | 2020.10.05/XNUMX/XNUMX
Figura 8.
Bits de paridade e disposición de bits de datos nunha palabra de código xerada de 8 bits
MSB
LSB
4 bits de paridade
4 bits de datos
8
1
O núcleo IP do codificador ALTECC só acepta anchos de entrada de 2 a 64 bits á vez. Os anchos de entrada de 12 bits, 29 bits e 64 bits, que son idóneos para dispositivos Intel, xeran saídas de 18 bits, 36 bits e 72 bits respectivamente. Pode controlar a limitación da selección de bits no editor de parámetros.
7.2. Prototipo Verilog HDL (ALTECC_ENCODER)
O seguinte prototipo Verilog HDL está situado no Verilog Design File (.v) lpm.v no directorio edasynthesis.
module altecc_encoder #(parámetro purpose_device_family = “non usado”, parámetro lpm_pipeline = 0, parámetro width_codeword = 8, parámetro width_dataword = 8, parámetro lpm_type = “altecc_encoder”, parámetro lpm_hint = “non usado”) (entrada aclr, cable de entrada clock de entrada cable de reloxo, cable de entrada [width_dataword-1:0] datos, cable de saída [width_codeword-1:0] q); módulo final
7.3. Prototipo de Verilog HDL (ALTECC_DECODER)
O seguinte prototipo Verilog HDL está situado no Verilog Design File (.v) lpm.v no directorio edasynthesis.
module altecc_decoder #(parámetro purpose_device_family = "non usado", parámetro lpm_pipeline = 0, parámetro width_codeword = 8, parámetro width_dataword = 8, parámetro lpm_type = "altecc_decoder", parámetro lpm_hint = "non usado") ( entrada clock cable de entrada, entrada aclr cable de entrada, entrada cable de reloxo, cable de entrada [width_codeword-1:0] datos, cable de saída err_corrected, cable de saída err_detected, cable de saída err_fatal, cable de saída [width_dataword-1:0] q); módulo final
Intel FPGA Integer Arithmetic IP Cores Guía de usuario 32
Enviar comentarios
7. ALTEC (Código de corrección de erros: codificador/descodificador) IP Core 683490 | 2020.10.05/XNUMX/XNUMX
7.4. Declaración de compoñentes VHDL (ALTECC_ENCODER)
A declaración do compoñente VHDL está situada no Deseño VHDL File (.vhd) altera_mf_components.vhd no directorio librariesvhdlaltera_mf.
compoñente altecc_encoder xenérico (intention_device_family:string := “non usado”; 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'; clock:in std_logic := '1'; datos:en std_logic_vector(width_dataword-1 downto 0); q:out std_logic_vector(width_codeword -1 ata 0)); compoñente final;
7.5. Declaración de compoñentes VHDL (ALTECC_DECODER)
A declaración do compoñente VHDL está situada no Deseño VHDL File (.vhd) altera_mf_components.vhd no directorio librariesvhdlaltera_mf.
component altecc_decoder generic (intention_device_family:string := “non usado”; 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'; clock:in std_logic := '1'; datos: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 downto 0); compoñente final;
7.6. Declaración VHDL LIBRARY_USE
A declaración VHDL LIBRARY-USE non é necesaria se usa a declaración de compoñente VHDL.
BIBLIOTECA altera_mf; USE altera_mf.altera_mf_components.all;
7.7. Portos do codificador
As seguintes táboas enumeran os portos de entrada e saída para o núcleo IP do codificador ALTECC.
Enviar comentarios
Intel FPGA Integer Arithmetic IP Cores Guía de usuario 33
7. ALTEC (Código de corrección de erros: codificador/descodificador) IP Core 683490 | 2020.10.05/XNUMX/XNUMX
Táboa 22. Portos de entrada do codificador ALTECC
Nome do porto
Obrigatorio
Descrición
datos[]
Si
Porto de entrada de datos. O tamaño do porto de entrada depende do WIDTH_DATAWORD
valor do parámetro. O porto de datos[] contén os datos en bruto que se van codificar.
reloxo
Si
Porto de entrada de reloxo que proporciona o sinal do reloxo para sincronizar a operación de codificación.
O porto do reloxo é necesario cando o valor LPM_PIPELINE é maior que 0.
reloxo
Non
Activar o reloxo. Se se omite, o valor predeterminado é 1.
aclr
Non
Entrada clara asíncrona. O sinal activo alto aclr pódese usar en calquera momento para
borrar os rexistros de forma asíncrona.
Táboa 23. Portos de saída do codificador ALTECC
Nome do porto q[]
Obrigatorio Si
Descrición
Porto de saída de datos codificados. O tamaño do porto de saída depende do valor do parámetro WIDTH_CODEWORD.
7.8. Portos do decodificador
As seguintes táboas enumeran os portos de entrada e saída para o núcleo IP do decodificador ALTEC.
Táboa 24. Portos de entrada do decodificador ALTEC
Nome do porto
Obrigatorio
Descrición
datos[]
Si
Porto de entrada de datos. O tamaño do porto de entrada depende do valor do parámetro WIDTH_CODEWORD.
reloxo
Si
Porto de entrada de reloxo que proporciona o sinal do reloxo para sincronizar a operación de codificación. O porto do reloxo é necesario cando o valor LPM_PIPELINE é maior que 0.
reloxo
Non
Activar o reloxo. Se se omite, o valor predeterminado é 1.
aclr
Non
Entrada clara asíncrona. O sinal activo de alto aclr pódese utilizar en calquera momento para borrar os rexistros de forma asíncrona.
Táboa 25. Portos de saída do descodificador ALTECC
Nome do porto q[]
Obrigatorio Si
Descrición
Porto de saída de datos descodificados. O tamaño do porto de saída depende do valor do parámetro WIDTH_DATAWORD.
err_detected Si
Sinal de sinal para reflectir o estado dos datos recibidos e especifica os erros atopados.
err_correcto Si d
Sinal de marca para reflectir o estado dos datos recibidos. Indica un erro dun só bit atopado e corrixido. Podes utilizar os datos porque xa foron corrixidos.
err_fatal
Si
Sinal de marca para reflectir o estado dos datos recibidos. Indica un erro de dobre bit encontrado, pero non corrixido. Non debe usar os datos se este sinal é afirmado.
sin_e
Non
Un sinal de saída que aumentará sempre que se detecte un erro dun só bit na paridade
bits.
7.9. Parámetros do codificador
A seguinte táboa enumera os parámetros para o núcleo IP do codificador ALTEC.
Intel FPGA Integer Arithmetic IP Cores Guía de usuario 34
Enviar comentarios
7. ALTEC (Código de corrección de erros: codificador/descodificador) IP Core 683490 | 2020.10.05/XNUMX/XNUMX
Táboa 26. Parámetros do codificador ALTECC
Nome do parámetro
Tipo
Obrigatorio
Descrición
WIDTH_DATAWORD
Número enteiro Si
Especifica o ancho dos datos en bruto. Os valores van de 2 a 64. Se se omite, o valor predeterminado é 8.
WIDTH_CODEWORD
Número enteiro Si
Especifica o ancho da palabra de código correspondente. Os valores válidos son de 6 a 72, excluíndo 9, 17, 33 e 65. Se se omite, o valor predeterminado é 13.
LPM_PIPELINE
Número enteiro
Especifica a canalización para o circuíto. Os valores son de 0 a 2. Se o valor é 0, os portos non están rexistrados. Se o valor é 1, os portos de saída están rexistrados. Se o valor é 2, os portos de entrada e saída están rexistrados. Se se omite, o valor predeterminado é 0.
7.10. Parámetros do decodificador
A seguinte táboa enumera os parámetros básicos de IP do decodificador ALTEC.
Táboa 27. Parámetros do decodificador ALTEC
Nome do parámetro WIDTH_DATAWORD
Escriba Enteiro
Obrigatorio
Descrición
Si
Especifica o ancho dos datos en bruto. Os valores son de 2 a 64. O
o valor predeterminado é 8.
WIDTH_CODEWORD
Número enteiro
Si
Especifica o ancho da palabra de código correspondente. Os valores son 6
a 72, excluíndo 9, 17, 33 e 65. Se se omite, o valor predeterminado
é 13.
LPM_PIPELINE
Número enteiro
Non
Especifica o rexistro do circuíto. Os valores son de 0 a 2. Se o
o valor é 0, non se implementa ningún rexistro. Se o valor é 1, o
a saída está rexistrada. Se o valor é 2, tanto a entrada como o
as saídas están rexistradas. Se o valor é maior que 2, adicional
os rexistros impléntanse na saída para o adicional
latencias. Se se omite, o valor predeterminado é 0.
Crea un porto 'syn_e'
Número enteiro
Non
Activa este parámetro para crear un porto syn_e.
Enviar comentarios
Intel FPGA Integer Arithmetic IP Cores Guía de usuario 35
683490 | 2020.10.05/XNUMX/XNUMX Enviar comentarios
8. Intel FPGA Multiply Adder IP Core
Figura 9.
O núcleo IP Intel FPGA Multiply Adder (dispositivos Intel Stratix 10, Intel Arria 10 e Intel Cyclone 10 GX) ou ALTERA_MULT_ADD (dispositivos Arria V, Stratix V e Cyclone V) permítelle implementar un sumador multiplicador.
A seguinte figura mostra os portos para o núcleo IP Intel FPGA Multiply Adder ou ALTERA_MULT_ADD.
Portas Intel FPGA Multiply Adder ou ALTERA_MULT_ADD
Intel FPGA Multiply Adder ou 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
cadea accum_sload[]
escanuta[] resultado[]
aclr0 aclr1
inst
Un multiplicador-sumador acepta pares de entradas, multiplica os valores xuntos e despois suma ou resta dos produtos de todos os outros pares.
Se todos os anchos de datos de entrada son de 9 bits de ancho ou menos, a función usa a configuración do multiplicador de entrada de 9 x 9 bits no bloque DSP para dispositivos que admiten a configuración de 9 x 9. Se non, o bloque DSP usa multiplicadores de entrada de 18 × 18 bits para procesar datos con anchos entre 10 e 18 bits. Se se producen varios núcleos IP Intel FPGA Multiply Adder ou ALTERA_MULT_ADD nun deseño, as funcións distribúense como
Intel Corporation. Todos os dereitos reservados. Intel, o logotipo de Intel e outras marcas de Intel son marcas comerciais de Intel Corporation ou das súas subsidiarias. Intel garante o rendemento dos seus produtos FPGA e semicondutores segundo as especificacións actuais de acordo coa garantía estándar de Intel, pero resérvase o dereito de facer cambios en calquera produto e servizo en calquera momento e sen previo aviso. Intel non asume ningunha responsabilidade ou responsabilidade derivada da aplicación ou uso de calquera información, produto ou servizo descrito aquí, salvo que Intel o acorde expresamente por escrito. Recoméndase aos clientes de Intel que obteñan a versión máis recente das especificacións do dispositivo antes de confiar en calquera información publicada e antes de facer pedidos de produtos ou servizos. *Outros nomes e marcas poden ser reclamados como propiedade doutros.
Certificado ISO 9001:2015
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05/XNUMX/XNUMX
moitos bloques DSP diferentes posibles para que o enrutamento a estes bloques sexa máis flexible. Menos multiplicadores por bloque DSP permiten máis opcións de enrutamento no bloque minimizando as rutas ao resto do dispositivo.
Os rexistros e rexistros extra pipeline para os seguintes sinais tamén se colocan dentro do bloque DSP: · Entrada de datos · Selección asinada ou sen asinar · Engadir ou restar selección · Produtos dos multiplicadores
No caso do resultado de saída, o primeiro rexistro colócase no bloque DSP. Non obstante, os rexistros de latencia extra colócanse en elementos lóxicos fóra do bloque. Os periféricos do bloque DSP, incluídas as entradas de datos ao multiplicador, as entradas de sinal de control e as saídas do sumador, utilizan o enrutamento regular para comunicarse co resto do dispositivo. Todas as conexións da función usan enrutamento dedicado dentro do bloque DSP. Este enrutamento dedicado inclúe as cadeas de rexistro de desprazamento cando seleccionas a opción de desprazar os datos de entrada rexistrados dun multiplicador dun multiplicador a un multiplicador adxacente.
Para obter máis información sobre os bloques DSP en calquera das series de dispositivos Stratix V e Arria V, consulte o capítulo Bloques DSP dos respectivos manuais na páxina de Literatura e documentación técnica.
Información relacionada AN 306: Implementación de multiplicadores en dispositivos FPGA
Ofrece máis información sobre a implementación de multiplicadores mediante DSP e bloques de memoria en dispositivos Intel FPGA.
8.1. Características
O núcleo Intel FPGA Multiply Adder ou ALTERA_MULT_ADD IP ofrece as seguintes características: · Xera un multiplicador para realizar operacións de multiplicación de dous complexos.
números Nota: Cando se crean multiplicadores maiores que o tamaño admitido nativamente, pode/
será un impacto no rendemento resultante da cascada dos bloques DSP. · Admite anchos de datos de 1 256 bits · Admite formatos de representación de datos asinados e sen asinar · Admite canalización con latencia de entrada configurable · Ofrece unha opción para cambiar dinámicamente entre soporte de datos asinados e sen asinar · Ofrece unha opción para cambiar dinámicamente entre operacións de suma e resta · Admite portos de entrada de borrado asíncrono e síncrono opcional e habilitación de reloxo · Admite o modo de rexistro de retardo sistólico · Admite pre-sumador con 8 coeficientes de precarga por multiplicador · Admite constante de precarga para complementar a retroalimentación do acumulador
Enviar comentarios
Intel FPGA Integer Arithmetic IP Cores Guía de usuario 37
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05/XNUMX/XNUMX
8.1.1. Pre-sumador
Co sumador previo, as sumas ou as restas realízanse antes de alimentar o multiplicador.
Hai cinco modos de pre-sumador: · Modo simple · Modo coeficiente · Modo de entrada · Modo cadrado · Modo constante
Nota:
Cando se usa o pre-sumador (modo coeficiente de pre-sumador/entrada/cuadrado), todas as entradas de datos ao multiplicador deben ter a mesma configuración de reloxo.
8.1.1.1. Modo simple de pre-sumador
Neste modo, ambos os operandos derivan dos portos de entrada e o pre-sumador non se utiliza nin se omite. Este é o modo predeterminado.
Figura 10. Modo simple de pre-sumador
a0 b0
Mult0
resultado
8.1.1.2. Modo de coeficiente de sumador previo
Neste modo, un operando multiplicador deriva do pre-sumador e o outro operando deriva do almacenamento do coeficiente interno. O almacenamento do coeficiente permite ata 8 constantes predefinidas. Os sinais de selección de coeficientes son coefsel[0..3].
Este modo exprésase na seguinte ecuación.
A continuación móstrase o modo do coeficiente de sumador previo dun multiplicador.
Figura 11. Modo de coeficiente de pre-sumador
Predder
a0
Mult0
+/-
resultado
b0
coefsel0 coef
Intel FPGA Integer Arithmetic IP Cores Guía de usuario 38
Enviar comentarios
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05/XNUMX/XNUMX
8.1.1.3. Modo de entrada de pre-sumador Neste modo, un operando multiplicador deriva do pre-sumador e o outro operando deriva do porto de entrada datac[]. Este modo exprésase na seguinte ecuación.
A continuación móstrase o modo de entrada previo ao sumador dun multiplicador.
Figura 12. Modo de entrada de pre-sumador
a0 b0
Mult0
+/-
resultado
c0
8.1.1.4. Modo cadrado previo ao sumador Este modo exprésase na seguinte ecuación.
A continuación móstrase o modo cadrado previo de sumador de dous multiplicadores.
Figura 13. Modo cadrado de pre-sumador
a0 b0
Mult0
+/-
resultado
8.1.1.5. Modo constante de pre-sumador
Neste modo, un operando multiplicador deriva do porto de entrada e o outro operando deriva do almacenamento do coeficiente interno. O almacenamento do coeficiente permite ata 8 constantes predefinidas. Os sinais de selección de coeficientes son coefsel[0..3].
Este modo exprésase na seguinte ecuación.
Enviar comentarios
Intel FPGA Integer Arithmetic IP Cores Guía de usuario 39
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05/XNUMX/XNUMX
A seguinte figura mostra o modo constante de pre-sumador dun multiplicador.
Figura 14. Modo constante de pre-sumador
a0
Mult0
resultado
coefsel0
coef
8.1.2. Rexistro de retardo sistólico
Nunha arquitectura sistólica, os datos de entrada inflúen nunha fervenza de rexistros que actúan como un búfer de datos. Cada rexistro ofrece unha entrada sample a un multiplicador onde se multiplica polo coeficiente respectivo. O sumador de cadea almacena os resultados combinados gradualmente do multiplicador e o resultado rexistrado previamente do porto de entrada chainin[] para formar o resultado final. Cada elemento de multiplicación e suma debe retrasarse nun único ciclo para que os resultados se sincronicen adecuadamente cando se sumen. Cada atraso sucesivo utilízase para abordar tanto a memoria de coeficientes como o búfer de datos dos seus respectivos elementos de multiplicación e suma. Por example, un único atraso para o segundo elemento de multiplicación engadir, dous atrasos para o terceiro elemento de multiplicación-engadir, etc.
Figura 15. Rexistros sistólicos
Rexistros sistólicos
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 os resultados dun fluxo continuo de entrada samples e y(t)
representa a suma dun conxunto de entrada samples, e no tempo, multiplicado polos seus
respectivos coeficientes. Tanto os resultados de entrada como de saída flúen de esquerda a dereita. O c(0) a c(N-1) denota os coeficientes. Os rexistros de retardo sistólico denotanse por S-1, mentres que o 1 representa un único retardo de reloxo. Os rexistros de retardo sistólico engádense en
as entradas e saídas para a canalización de forma que garanta os resultados da
operando multiplicador e as sumas acumuladas permanecen sincronizadas. Este elemento de procesamento
replícase para formar un circuíto que calcula a función de filtrado. Esta función é
expresada na seguinte ecuación.
Intel FPGA Integer Arithmetic IP Cores Guía de usuario 40
Enviar comentarios
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05/XNUMX/XNUMX
N representa o número de ciclos de datos que entraron no acumulador, y(t) representa a saída no tempo t, A(t) representa a entrada no tempo t e B(i) son os coeficientes. O t e i na ecuación corresponden a un instante determinado no tempo, polo que para calcular a saída sample y(t) no tempo t, un grupo de entrada sampRequírese os en N puntos de tempo diferentes, ou A(n), A(n-1), A(n-2), ... A(n-N+1). O grupo de N entrada sampmultiplícanse por N coeficientes e súmanse para formar o resultado final y.
A arquitectura de rexistro sistólico só está dispoñible para os modos suma de 2 e suma de 4. Para ambos os modos de arquitectura de rexistro sistólico, o primeiro sinal de cadea debe estar ligado a 0.
A seguinte figura mostra a implementación do rexistro de retardo sistólico de 2 multiplicadores.
Figura 16. Implantación do rexistro de retardo sistólico de 2 multiplicadores
cadea
a0
Mult0
+/-
b0
a1
Mult1
+/-
b1
resultado
A suma de dous multiplicadores exprésase na seguinte ecuación.
A seguinte figura mostra a implementación do rexistro de retardo sistólico de 4 multiplicadores.
Enviar comentarios
Intel FPGA Integer Arithmetic IP Cores Guía de usuario 41
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05/XNUMX/XNUMX
Figura 17. Implantación do rexistro de retardo sistólico de 4 multiplicadores
cadea
a0
Mult0
+/-
b0
a1
Mult1
+/-
b1
a2
Mult2
+/-
b2
a3
Mult3
+/-
b3
resultado
A suma de catro multiplicadores exprésase na seguinte ecuación. Figura 18. Suma de 4 multiplicadores
A continuación enumera o advantageses da implementación do rexistro sistólico: · Reduce o uso de recursos DSP. · Permite un mapeamento eficiente no bloque DSP mediante a estrutura de sumador de cadea.
Intel FPGA Integer Arithmetic IP Cores Guía de usuario 42
Enviar comentarios
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05/XNUMX/XNUMX
8.1.3. Constante de precarga
A constante de precarga controla o operando do acumulador e complementa a retroalimentación do acumulador. O LOADCONST_VALUE válido varía entre 0. O valor constante é igual a 64N, onde N = LOADCONST_VALUE. Cando LOADCONST_VALUE se establece en 2, o valor constante é igual a 64. Esta función pódese usar como redondeo sesgado.
A seguinte figura mostra a implementación da constante de precarga.
Figura 19. Constante de precarga
Feedback do acumulador
constante
a0
Mult0
+/-
b0
a1
Mult1
+/b1
resultado
accum_sload sload_accum
Consulte os seguintes núcleos IP para outras implementacións do multiplicador: · ALTMULT_ACCUM · ALTMEMMULT · LPM_MULT
8.1.4. Doble acumulador
A función do dobre acumulador engade un rexistro adicional na ruta de retroalimentación do acumulador. O rexistro do dobre acumulador segue o rexistro de saída, que inclúe o reloxo, a activación do reloxo e o aclr. O rexistro acumulador adicional devolve o resultado cun retraso dun ciclo. Esta función permítelle ter dúas canles de acumuladores co mesmo reconto de recursos.
A seguinte figura mostra a implementación do dobre acumulador.
Enviar comentarios
Intel FPGA Integer Arithmetic IP Cores Guía de usuario 43
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05/XNUMX/XNUMX
Figura 20. Dobre Acumulador
Rexistro de acumulador dobre
Feedback do acumulador
a0
Mult0
+/-
b0
a1
Mult1
+/b1
Resultado de saída Rexistro de saída
8.2. Prototipo Verilog HDL
Podes atopar o prototipo Intel FPGA Multiply Adder ou ALTERA_MULT_ADD Verilog HDL file (altera_mult_add_rtl.v) no directorio librariesmegafunctions.
8.3. Declaración de compoñentes VHDL
A declaración do compoñente VHDL atópase no altera_lnsim_components.vhd do ficheiro librariesvhdl directorio altera_lnsim.
8.4. Declaración VHDL LIBRARY_USE
A declaración VHDL LIBRARY-USE non é necesaria se usa a declaración de compoñente VHDL.
BIBLIOTECA altera_mf; USE altera_mf.altera_mf_components.all;
8.5. Sinais
As seguintes táboas enumeran os sinais de entrada e saída do núcleo IP Multiply Adder Intel FPGA IP ou ALTERA_MULT_ADD.
Táboa 28. Multiplicación dos sinais de entrada Intel FPGA IPor ALTERA_MULT_ADD
Sinal
Obrigatorio
Descrición
dataa_0[]/dataa_1[]/
Si
dataa_2[]/dataa_3[]
Entrada de datos ao multiplicador. Porto de entrada [NUMBER_OF_MULTIPLIERS * WIDTH_A – 1 … 0] de ancho
continuou…
Intel FPGA Integer Arithmetic IP Cores Guía de usuario 44
Enviar comentarios
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05/XNUMX/XNUMX
Sinal 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] asina
signo b
scanina[] accum_sload
Obrigatorio Si Non
Non Non Non Non Non
Non
Non Non
Descrición
O modelo de simulación para esta IP admite un valor de entrada indeterminado (X) para estes sinais. Cando proporciona un valor X a estes sinais, o valor X propágase nos sinais de saída.
Entrada de datos ao multiplicador. Sinal de entrada [NUMBER_OF_MULTIPLIERS * WIDTH_B – 1 … 0] ancho O modelo de simulación para esta IP admite un valor de entrada indeterminado (X) para estes sinais. Cando proporciona un valor X a estes sinais, o valor X propágase nos sinais de saída.
Entrada de datos ao multiplicador. Sinal de entrada [NUMBER_OF_MULTIPLIERS * WIDTH_C – 1, … 0] ancho Seleccione INPUT para seleccionar o parámetro de modo de preadder para activar estes sinais. O modelo de simulación para esta IP admite un valor de entrada indeterminado (X) para estes sinais. Cando proporciona un valor X a estes sinais, o valor X propágase nos sinais de saída.
Porto de entrada do reloxo ao rexistro correspondente. Este sinal pode ser usado por calquera rexistro do núcleo IP. O modelo de simulación para esta IP admite un valor de entrada indeterminado (X) para estes sinais. Cando proporciona un valor X a estes sinais, o valor X propágase nos sinais de saída.
Entrada clara asíncrona ao rexistro correspondente. O modelo de simulación para esta IP admite un valor de entrada indeterminado (X) para estes sinais. Cando proporciona un valor X a estes sinais, o valor X propágase nos sinais de saída.
Entrada clara sincrónica ao rexistro correspondente. O modelo de simulación para esta IP admite un valor de entrada X indeterminado para estes sinais. Cando proporciona un valor X a estes sinais, o valor X propágase nos sinais de saída
Activa a entrada de sinal no rexistro correspondente. O modelo de simulación para esta IP admite un valor de entrada indeterminado (X) para estes sinais. Cando proporciona un valor X a estes sinais, o valor X propágase nos sinais de saída.
Especifica a representación numérica da entrada do multiplicador A. Se o sinal de sinal é alto, o multiplicador trata o sinal da entrada do multiplicador A como un número con signo. Se o sinal de sinal é baixo, o multiplicador trata o sinal de entrada do multiplicador A como un número sen signo. Seleccione VARIABLE para Cal é o formato de representación para o parámetro de entrada de Multiplicadores A para activar este sinal. O modelo de simulación para esta IP admite un valor de entrada indeterminado (X) para este sinal. Cando proporciona un valor X a esta entrada, o valor X propágase nos sinais de saída.
Especifica a representación numérica do sinal B de entrada do multiplicador. Se o sinal de signo b é alto, o multiplicador trata o sinal de entrada do multiplicador B como un número de complemento a dous con signo. Se o sinal de signo b é baixo, o multiplicador trata o sinal de entrada do multiplicador B como un número sen signo. O modelo de simulación para esta IP admite un valor de entrada indeterminado (X) para este sinal. Cando proporciona un valor X a esta entrada, o valor X propágase nos sinais de saída.
Entrada para a cadea de exploración A. Sinal de entrada [WIDTH_A – 1, … 0] de ancho. Cando o parámetro INPUT_SOURCE_A ten un valor de SCANA, é necesario o sinal scanina[].
Especifica dinámicamente se o valor do acumulador é constante. Se o sinal accum_sload é baixo, entón a saída do multiplicador cárgase no acumulador. Non use accum_sload e sload_accum simultaneamente.
continuou…
Enviar comentarios
Intel FPGA Integer Arithmetic IP Cores Guía de usuario 45
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05/XNUMX/XNUMX
Sinal sload_accum
cadea[] addnsub1
engadirsub3
coefsel0[] coefsel1[] coefsel2[] coefsel3[]
Núm. obrigatorio
Non Non
Non
Non Non Non Non
Descrición
O modelo de simulación para esta IP admite un valor de entrada indeterminado (X) para este sinal. Cando proporciona un valor X a esta entrada, o valor X propágase nos sinais de saída.
Especifica dinámicamente se o valor do acumulador é constante. Se o sinal sload_accum é alto, entón a saída do multiplicador cárgase no acumulador. Non use accum_sload e sload_accum simultaneamente. O modelo de simulación para esta IP admite un valor de entrada indeterminado (X) para este sinal. Cando proporciona un valor X a esta entrada, o valor X propágase nos sinais de saída.
Bus de entrada do resultado do sumador do s anteriortage. Sinal de entrada [WIDTH_CHAININ – 1, … 0] de ancho.
Realiza sumas ou restas ás saídas do primeiro par de multiplicadores. Entrada 1 ao sinal addnsub1 para engadir as saídas do primeiro par de multiplicadores. Introduza 0 ao sinal addnsub1 para restar as saídas do primeiro par de multiplicadores. O modelo de simulación para esta IP admite un valor de entrada indeterminado (X) para este sinal. Cando proporciona un valor X a esta entrada, o valor X propágase nos sinais de saída.
Realiza sumas ou restas ás saídas do primeiro par de multiplicadores. Entrada 1 ao sinal addnsub3 para engadir as saídas do segundo par de multiplicadores. Introduza 0 ao sinal addnsub3 para restar as saídas do primeiro par de multiplicadores. O modelo de simulación para esta IP admite un valor de entrada indeterminado (X) para este sinal. Cando proporciona un valor X a esta entrada, o valor X propágase nos sinais de saída.
Sinal de entrada de coeficiente [0:3] ao primeiro multiplicador. O modelo de simulación para esta IP admite un valor de entrada indeterminado (X) para este sinal. Cando proporciona un valor X a esta entrada, o valor X propágase nos sinais de saída.
Sinal de entrada de coeficiente[0:3]para o segundo multiplicador. O modelo de simulación para esta IP admite un valor de entrada indeterminado (X) para este sinal. Cando proporciona un valor X a esta entrada, o valor X propágase nos sinais de saída.
Sinal de entrada de coeficiente[0:3]para o terceiro multiplicador. O modelo de simulación para esta IP admite un valor de entrada indeterminado (X) para este sinal. Cando proporciona un valor X a esta entrada, o valor X propágase nos sinais de saída.
Sinal de entrada de coeficiente [0:3] ao cuarto multiplicador. O modelo de simulación para esta IP admite un valor de entrada indeterminado (X) para este sinal. Cando proporciona un valor X a esta entrada, o valor X propágase nos sinais de saída.
Táboa 29. Multiplicar os sinais de saída IP de Intel FPGA de Adder
Sinal
Obrigatorio
Descrición
resultado []
Si
Sinal de saída do multiplicador. Sinal de saída [WIDTH_RESULT – 1 … 0] de ancho
O modelo de simulación para esta IP admite un valor de saída indeterminado (X). Cando proporciona un valor X como entrada, o valor X propágase neste sinal.
escanuta []
Non
Saída da cadea de exploración A. Sinal de saída [WIDTH_A – 1..0] de ancho.
Seleccione máis de 2 para o número de multiplicadores e seleccione Escanear entrada de cadea para Cal é a entrada A do multiplicador conectado ao parámetro para activar este sinal.
Intel FPGA Integer Arithmetic IP Cores Guía de usuario 46
Enviar comentarios
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05/XNUMX/XNUMX
8.6 Parámetros
8.6.1. Ficha Xeral
Táboa 30. Ficha Xeral
Parámetro
Parámetro xerado IP
Valor
Cal é o número de multiplicadores?
número_de_m 1 – 4 multiplicadores
Que ancho deben ter os buses de entrada A width_a?
1 - 256
Que ancho deben ter os buses de entrada B width_b?
1 - 256
Que ancho debe ser o bus de saída do "resultado"?
ancho_resultado
1 - 256
Crea unha activación de reloxo asociada para cada reloxo
gui_associate On d_clock_enbl Off e
8.6.2. Pestana Modos adicionais
Táboa 31. Pestana Modos adicionais
Parámetro
Parámetro xerado IP
Valor
Configuración de saídas
Rexistrar a saída da unidade sumadora
gui_output_re Activado
xister
Desactivado
Cal é a fonte de entrada do reloxo?
gui_output_re gister_clock
Reloxo0 Reloxo1 Reloxo2
Cal é a fonte para a entrada clara asíncrona?
gui_output_re gister_aclr
NINGUNHA ACLR0 ACLR1
Cal é a fonte para a entrada clara sincrónica?
gui_output_re gister_sclr
NINGUNHA SCLR0 SCLR1
Operación de sumador
Que operación se debe realizar nas saídas do primeiro par de multiplicadores?
gui_multiplicador 1_dirección
ENGADIR, SUB, VARIABLE
Valor predeterminado 1
16
Descrición
Número de multiplicadores a sumar. Os valores son de 1 a 4. Especifique o ancho do porto de datosa[].
16
Especifique o ancho do porto datab[].
32
Especifique o ancho do porto de resultado[].
Desactivado
Seleccione esta opción para activar o reloxo
para cada reloxo.
Valor predeterminado
Descrición
Off Reloxo 0
NINGUNHA NINGUNHA
Seleccione esta opción para activar o rexistro de saída do módulo sumador.
Seleccione Clock0 , Clock1 ou Clock2 para activar e especificar a fonte do reloxo para os rexistros de saída. Debe seleccionar Rexistrar saída da unidade sumadora para activar este parámetro.
Especifica a fonte clara asíncrona para o rexistro de saída do sumador. Debe seleccionar Rexistrar saída da unidade sumadora para activar este parámetro.
Especifica a fonte clara sincrónica para o rexistro de saída do sumador. Debe seleccionar Rexistrar saída da unidade sumadora para activar este parámetro.
ENGADIR
Seleccione a operación de suma ou resta a realizar para as saídas entre o primeiro e o segundo multiplicadores.
· Seleccione AGREGAR para realizar a operación de adición.
· Seleccione SUB para realizar a operación de resta.
· Seleccione VARIABLE para usar o porto addnsub1 para o control dinámico de suma/resta.
continuou…
Enviar comentarios
Intel FPGA Integer Arithmetic IP Cores Guía de usuario 47
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05/XNUMX/XNUMX
Parámetro
Parámetro xerado IP
Valor
Rexistra a entrada 'addnsub1'
gui_addnsub_ Activado multiplicador_reg Desactivado ister1
Cal é a fonte de entrada do reloxo?
gui_addnsub_ multiplicador_reg ister1_clock
Reloxo0 Reloxo1 Reloxo2
Cal é a fonte para a entrada clara asíncrona?
gui_addnsub_multiplicador_aclr 1
NINGUNHA ACLR0 ACLR1
Cal é a fonte para a entrada clara sincrónica?
gui_addnsub_multiplicador_sclr 1
NINGUNHA SCLR0 SCLR1
Que operación se debe realizar nas saídas do segundo par de multiplicadores?
gui_multiplicador 3_dirección
ENGADIR, SUB, VARIABLE
Rexistra a entrada 'addnsub3'
gui_addnsub_ Activado multiplicador_reg Desactivado ister3
Cal é a fonte de entrada do reloxo?
gui_addnsub_ multiplicador_reg ister3_clock
Reloxo0 Reloxo1 Reloxo2
Valor predeterminado
Off Clock0 NINGUNHA NINGUNHA ENGADIR
Off Reloxo 0
Descrición
Cando se selecciona o valor VARIABLE: · Drive addnsub1 a alto para
operación de adición. · Conduza o sinal addnsub1 a baixo para
operación de resta. Debe seleccionar máis de dous multiplicadores para activar este parámetro.
Seleccione esta opción para activar o rexistro de entrada para o porto addnsub1. Debe seleccionar VARIABLE para Que operación se debe realizar nas saídas do primeiro par de multiplicadores para activar este parámetro.
Seleccione Clock0 , Clock1 ou Clock2 para especificar o sinal de reloxo de entrada para o rexistro addnsub1. Debe seleccionar Rexistrar entrada 'addnsub1' para activar este parámetro.
Especifica a fonte clara asíncrona para o rexistro addnsub1. Debe seleccionar Rexistrar entrada 'addnsub1' para activar este parámetro.
Especifica a fonte clara sincrónica para o rexistro addnsub1. Debe seleccionar Rexistrar entrada 'addnsub1' para activar este parámetro.
Seleccione a operación de suma ou resta a realizar para as saídas entre o terceiro e o cuarto multiplicadores. · Seleccione AGREGAR para realizar a adición
operación. · Seleccione SUB para realizar a resta
operación. · Seleccione VARIABLE para usar addnsub1
porto para o control dinámico de suma/resta. Cando se selecciona o valor VARIABLE: · Dirija o sinal addnsub1 ao alto para a operación de adición. · Conduza o sinal addnsub1 a baixo para a operación de subtracción. Debes seleccionar o valor 4 para Cal é o número de multiplicadores? para activar este parámetro.
Seleccione esta opción para activar o rexistro de entrada para o sinal addnsub3. Debe seleccionar VARIABLE para Que operación se debe realizar nas saídas do segundo par de multiplicadores para activar este parámetro.
Seleccione Clock0 , Clock1 ou Clock2 para especificar o sinal de reloxo de entrada para o rexistro addnsub3. Debe seleccionar Rexistrar entrada 'addnsub3' para activar este parámetro.
continuou…
Intel FPGA Integer Arithmetic IP Cores Guía de usuario 48
Enviar comentarios
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05/XNUMX/XNUMX
Parámetro
Cal é a fonte para a entrada clara asíncrona?
Parámetro xerado IP
Valor
gui_addnsub_multiplicador_aclr 3
NINGUNHA ACLR0 ACLR1
Cal é a fonte para a entrada clara sincrónica?
gui_addnsub_multiplicador_sclr 3
NINGUNHA SCLR0 SCLR1
Activar polaridade `use_subadd'
gui_use_subn Activado
engadir
Desactivado
8.6.3. Pestana Multiplicadores
Táboa 32. Pestana Multiplicadores
Parámetro
Parámetro xerado IP
Valor
Cal é o
gui_represent
formato de representación ation_a
para entradas de multiplicadores A?
ASINADO, SIN ASIADO, VARIABLE
Rexistra a entrada `signa'
gui_register_s Activado
igna
Desactivado
Cal é a fonte de entrada do reloxo?
gui_register_s igna_clock
Reloxo0 Reloxo1 Reloxo2
Cal é a fonte para a entrada clara asíncrona?
gui_register_s igna_aclr
NINGUNHA ACLR0 ACLR1
Cal é a fonte para a entrada clara sincrónica?
gui_register_s igna_sclr
NINGUNHA SCLR0 SCLR1
Cal é o
gui_represent
formato de representación ation_b
para entradas de multiplicadores B?
ASINADO, SIN ASIADO, VARIABLE
Rexistra a entrada "signb".
gui_register_s Activado
ignb
Desactivado
Valor predeterminado NONE
NINGUNHA
Descrición
Especifica a fonte clara asíncrona para o rexistro addnsub3. Debe seleccionar Rexistrar entrada 'addnsub3' para activar este parámetro.
Especifica a fonte clara sincrónica para o rexistro addnsub3. Debe seleccionar Rexistrar entrada 'addnsub3' para activar este parámetro.
Desactivado
Seleccione esta opción para inverter a función
do porto de entrada addnsub.
Conduce addnsub a alto para a operación de resta.
Conduce addnsub a baixo para a operación de adición.
Valor predeterminado
Descrición
UNSIGNED Especifique o formato de representación para a entrada do multiplicador A.
Desactivado
Seleccione esta opción para activar signa
rexistrarse.
Debe seleccionar o valor VARIABLE para Cal é o formato de representación para as entradas de Multiplicadores A? parámetro para activar esta opción.
Reloxo 0
Seleccione Clock0 , Clock1 ou Clock2 para activar e especificar o sinal de reloxo de entrada para o rexistro de sinais.
Debe seleccionar Rexistrar entrada `signa' para activar este parámetro.
NINGUNHA
Especifica a fonte clara asíncrona para o rexistro de sinais.
Debe seleccionar Rexistrar entrada `signa' para activar este parámetro.
NINGUNHA
Especifica a fonte clara sincrónica para o rexistro de sinais.
Debe seleccionar Rexistrar entrada `signa' para activar este parámetro.
UNSIGNED Especifique o formato de representación para a entrada do multiplicador B.
Desactivado
Seleccione esta opción para activar Signb
rexistrarse.
continuou…
Enviar comentarios
Intel FPGA Integer Arithmetic IP Cores Guía de usuario 49
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05/XNUMX/XNUMX
Parámetro
Parámetro xerado IP
Valor
Valor predeterminado
Cal é a fonte de entrada do reloxo?
gui_register_s ignb_clock
Reloxo0 Reloxo1 Reloxo2
Reloxo 0
Cal é a fonte para a entrada clara asíncrona?
gui_register_s ignb_aclr
NINGUNHA ACLR0 ACLR1
Cal é a fonte para a entrada clara sincrónica?
gui_register_s ignb_sclr
NINGUNHA SCLR0 SCLR1
Configuración de entrada
Rexistra a entrada A do multiplicador
Cal é a fonte de entrada do reloxo?
gui_input_reg Activado
ister_a
Desactivado
gui_input_reg ister_a_clock
Reloxo0 Reloxo1 Reloxo2
NINGUNHA NINGUNHA
Off Reloxo 0
Cal é a fonte para a entrada clara asíncrona?
gui_input_reg ister_a_aclr
NINGUNHA ACLR0 ACLR1
Cal é a fonte para a entrada clara sincrónica?
gui_input_reg ister_a_sclr
NINGUNHA SCLR0 SCLR1
Rexistra a entrada B do multiplicador
Cal é a fonte de entrada do reloxo?
gui_input_reg Activado
ister_b
Desactivado
gui_input_reg ister_b_clock
Reloxo0 Reloxo1 Reloxo2
NINGUNHA NINGUNHA Desactivado Reloxo0
Cal é a fonte para a entrada clara asíncrona?
gui_input_reg ister_b_aclr
NINGUNHA ACLR0 ACLR1
NINGUNHA
Cal é a fonte para a entrada clara sincrónica?
gui_input_reg ister_b_sclr
NINGUNHA SCLR0 SCLR1
NINGUNHA
A que está conectada a entrada A do multiplicador?
gui_multiplier Multiplicador de entrada Multiplicador
_a_entrada
Entrada de entrada de cadea de exploración
Descrición
Debe seleccionar o valor VARIABLE para Cal é o formato de representación para as entradas de Multiplicadores B? parámetro para activar esta opción.
Seleccione Clock0 , Clock1 ou Clock2 para activar e especificar o sinal de reloxo de entrada para o rexistro de signos. Debe seleccionar Rexistrar entrada `signb' para activar este parámetro.
Especifica a fonte clara asíncrona para o rexistro signb. Debe seleccionar Rexistrar entrada `signb' para activar este parámetro.
Especifica a fonte clara sincrónica para o rexistro signb. Debe seleccionar Rexistrar entrada `signb' para activar este parámetro.
Seleccione esta opción para activar o rexistro de entrada para o bus de entrada de datos.
Seleccione Clock0 , Clock1 ou Clock2 para activar e especificar o sinal de reloxo de entrada do rexistro para o bus de entrada de datos. Debe seleccionar Rexistrar entrada A do multiplicador para activar este parámetro.
Especifica a fonte clara asíncrona do rexistro para o bus de entrada de datos. Debe seleccionar Rexistrar entrada A do multiplicador para activar este parámetro.
Especifica a fonte clara de rexistro síncrona para o bus de entrada de datos. Debe seleccionar Rexistrar entrada A do multiplicador para activar este parámetro.
Seleccione esta opción para activar o rexistro de entrada para o bus de entrada de datos.
Seleccione Clock0 , Clock1 ou Clock2 para activar e especificar o sinal de reloxo de entrada do rexistro para o bus de entrada de datos. Debe seleccionar Rexistrar entrada B do multiplicador para activar este parámetro.
Especifica a fonte clara asíncrona do rexistro para o bus de entrada de datos. Debe seleccionar Rexistrar entrada B do multiplicador para activar este parámetro.
Especifica a fonte clara sincrónica do rexistro para o bus de entrada de datos. Debe seleccionar Rexistrar entrada B do multiplicador para activar este parámetro.
Seleccione a fonte de entrada para a entrada A do multiplicador.
continuou…
Intel FPGA Integer Arithmetic IP Cores Guía de usuario 50
Enviar comentarios
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05/XNUMX/XNUMX
Parámetro
Parámetro xerado IP
Valor
Explorar unha configuración de rexistro
Rexistra a saída da cadea de exploración
gui_scanouta On
_rexistrar
Desactivado
Cal é a fonte de entrada do reloxo?
gui_scanouta _register_cloc k
Reloxo0 Reloxo1 Reloxo2
Cal é a fonte para a entrada clara asíncrona?
gui_scanouta _register_aclr
NINGUNHA ACLR0 ACLR1
Cal é a fonte para a entrada clara sincrónica?
gui_scanouta _register_sclr
NINGUNHA SCLR0 SCLR1
8.6.4. Pestana Preadder
Táboa 33. Pestana Preadder
Parámetro
Parámetro xerado IP
Valor
Seleccione o modo de preadder
predder_mo de
SIMPLE, COEF, ENTRADA, CADRADO, CONSTANTE
Valor predeterminado
Descrición
Seleccione Entrada do multiplicador para usar o bus de entrada de datos como fonte do multiplicador. Seleccione Entrada de cadea de exploración para usar o bus de entrada de exploración como fonte para o multiplicador e activar o bus de saída de exploración. Este parámetro está dispoñible cando selecciona 2, 3 ou 4 para Cal é o número de multiplicadores? parámetro.
Off Clock0 NINGUNHA NINGUNHA
Seleccione esta opción para activar o rexistro de saída para o bus de saída de scanouta.
Debe seleccionar Escanear entrada de cadea para Cal é a entrada A do multiplicador conectado? parámetro para activar esta opción.
Seleccione Clock0 , Clock1 ou Clock2 para activar e especificar o sinal de reloxo de entrada do rexistro para o bus de saída de Scanouta.
Debes activar Rexistrar a saída do parámetro da cadea de exploración para activar esta opción.
Especifica a fonte clara asíncrona do rexistro para o bus de saída de scanouta.
Debes activar Rexistrar a saída do parámetro da cadea de exploración para activar esta opción.
Especifica a fonte clara de rexistro síncrona para o bus de saída de scanouta.
Debe seleccionar Rexistrar a saída do parámetro da cadea de exploración para activar esta opción.
Valor predeterminado
SIMPLE
Descrición
Especifica o modo de operación para o módulo preadder. SIMPLE: este modo evita o preadder. Este é o modo predeterminado. COEF: este modo usa a saída do bus de entrada do predder e coefsel como entradas para o multiplicador. ENTRADA: este modo usa a saída do pre-predder e o bus de entrada de datos como entradas para o multiplicador. CUADRADO: Este modo utiliza a saída do preadder como entradas para o multiplicador.
continuou…
Enviar comentarios
Intel FPGA Integer Arithmetic IP Cores Guía de usuario 51
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05/XNUMX/XNUMX
Parámetro
Parámetro xerado IP
Valor
Seleccione a dirección do predder
gui_preadder ADD,
_dirección
SUB
Que ancho deben ter os buses de entrada C width_c?
1 - 256
Datos C Configuración do rexistro de entrada
Rexistrar entrada de datos
gui_datac_inp Activado
ut_register
Desactivado
Cal é a fonte de entrada do reloxo?
gui_datac_inp ut_register_cl ock
Reloxo0 Reloxo1 Reloxo2
Cal é a fonte para a entrada clara asíncrona?
gui_datac_inp ut_register_a clr
NINGUNHA ACLR0 ACLR1
Cal é a fonte para a entrada clara sincrónica?
gui_datac_inp ut_register_sc lr
NINGUNHA SCLR0 SCLR1
Coeficientes
Que ancho debe ser o ancho do coef?
ancho_coef
1 - 27
Configuración do rexistro de coef
Rexistra a entrada de coefsel
gui_coef_regi On
ester
Desactivado
Cal é a fonte de entrada do reloxo?
gui_coef_regi ster_clock
Reloxo0 Reloxo1 Reloxo2
Valor predeterminado
ENGADIR
16
Descrición
CONSTANTE: Este modo usa un bus de entrada de datos co pre-prededor anulado e o bus de entrada coefsel como entradas para o multiplicador.
Especifica o funcionamento do preadder. Para activar este parámetro, seleccione o seguinte para Seleccionar o modo de preadder: · COEF · ENTRADA · CADRADO ou · CONSTANTE
Especifica o número de bits para o bus de entrada C. Debe seleccionar INPUT para Seleccionar modo de preadder para activar este parámetro.
On Clock0 NINGUNHA NINGUNHA
Seleccione esta opción para habilitar o rexistro de entrada para o bus de entrada de datos. Debe configurar INPUT como parámetro Seleccionar modo de preadder para activar esta opción.
Seleccione Clock0 , Clock1 ou Clock2 para especificar o sinal de reloxo de entrada para o rexistro de entrada de datos. Debe seleccionar Rexistrar entrada de datos para activar este parámetro.
Especifica a fonte clara asíncrona para o rexistro de entrada de datac. Debe seleccionar Rexistrar entrada de datos para activar este parámetro.
Especifica a fonte clara síncrona para o rexistro de entrada de datac. Debe seleccionar Rexistrar entrada de datos para activar este parámetro.
18
Especifica o número de bits para
bus de entrada coefsel.
Debe seleccionar COEF ou CONSTANT para o modo preadder para activar este parámetro.
No reloxo 0
Seleccione esta opción para activar o rexistro de entrada para o bus de entrada coefsel. Debe seleccionar COEF ou CONSTANT para o modo preadder para activar este parámetro.
Seleccione Clock0 , Clock1 ou Clock2 para especificar o sinal de reloxo de entrada para o rexistro de entrada coefsel. Debe seleccionar Rexistrar a entrada de coefsel para activar este parámetro.
continuou…
Intel FPGA Integer Arithmetic IP Cores Guía de usuario 52
Enviar comentarios
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05/XNUMX/XNUMX
Parámetro
Cal é a fonte para a entrada clara asíncrona?
Parámetro xerado IP
Valor
gui_coef_regi ster_aclr
NINGUNHA ACLR0 ACLR1
Cal é a fonte para a entrada clara sincrónica
gui_coef_regi ster_sclr
NINGUNHA SCLR0 SCLR1
Coeficiente_0 Configuración
coef0_0 a coef0_7
0x00000 0xFFFFFFF
Coeficiente_1 Configuración
coef1_0 a coef1_7
0x00000 0xFFFFFFF
Coeficiente_2 Configuración
coef2_0 a coef2_7
0x00000 0xFFFFFFF
Coeficiente_3 Configuración
coef3_0 a coef3_7
0x00000 0xFFFFFFF
8.6.5. Ficha Acumulador
Táboa 34. Ficha Acumulador
Parámetro
Parámetro xerado IP
Valor
Habilitar o acumulador?
acumulador
SI NON
Cal é o tipo de operación do acumulador?
accum_directi ADD,
on
SUB
Valor predeterminado NONE
NINGUNHA
0x0000000 0
0x0000000 0
0x0000000 0
0x0000000 0
Descrición
Especifica a fonte clara asíncrona para o rexistro de entrada coefsel. Debe seleccionar Rexistrar a entrada de coefsel para activar este parámetro.
Especifica a fonte clara sincrónica para o rexistro de entrada coefsel. Debe seleccionar Rexistrar a entrada de coefsel para activar este parámetro.
Especifica os valores do coeficiente para este primeiro multiplicador. O número de bits debe ser o mesmo que o especificado en Que ancho debe ser o ancho do coef? parámetro. Debe seleccionar COEF ou CONSTANT para o modo preadder para activar este parámetro.
Especifica os valores do coeficiente para este segundo multiplicador. O número de bits debe ser o mesmo que o especificado en Que ancho debe ser o ancho do coef? parámetro. Debe seleccionar COEF ou CONSTANT para o modo preadder para activar este parámetro.
Especifica os valores do coeficiente para este terceiro multiplicador. O número de bits debe ser o mesmo que o especificado en Que ancho debe ser o ancho do coef? parámetro. Debe seleccionar COEF ou CONSTANT para o modo preadder para activar este parámetro.
Especifica os valores do coeficiente para este cuarto multiplicador. O número de bits debe ser o mesmo que o especificado en Que ancho debe ser o ancho do coef? parámetro. Debe seleccionar COEF ou CONSTANT para o modo preadder para activar este parámetro.
Valor predeterminado NO
ENGADIR
Descrición
Seleccione SI para activar o acumulador. Debe seleccionar Rexistrar a saída da unidade sumadora cando use a función acumulador.
Especifica o funcionamento do acumulador: · ADD para operación de suma · SUB para operación de resta. Debe seleccionar SI para Activar acumulador? parámetro para activar esta opción.
continuou…
Enviar comentarios
Intel FPGA Integer Arithmetic IP Cores Guía de usuario 53
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05/XNUMX/XNUMX
Parámetro
Constante de precarga Habilita a constante de precarga
Parámetro xerado IP
Valor
gui_ena_prelo On
ad_const
Desactivado
A que está conectada a entrada do porto de acumulación?
gui_accumula ACCUM_SLOAD, te_port_select SLOAD_ACCUM
Seleccione o valor para precarga loadconst_val 0 – 64
constante
ue
Cal é a fonte de entrada do reloxo?
gui_accum_sl oad_register_ reloxo
Reloxo0 Reloxo1 Reloxo2
Cal é a fonte para a entrada clara asíncrona?
gui_accum_sl oad_register_ aclr
NINGUNHA ACLR0 ACLR1
Cal é a fonte para a entrada clara sincrónica?
gui_accum_sl oad_register_ sclr
NINGUNHA SCLR0 SCLR1
Activar acumulador dobre
gui_double_a Activado
ccum
Desactivado
Valor predeterminado
Descrición
Desactivado
Activa o accum_sload ou
sinais sload_accum e entrada de rexistro
para seleccionar dinámicamente a entrada para o
acumulador.
Cando accum_sload é baixo ou sload_accum, a saída do multiplicador envíase ao acumulador.
Cando accum_sload é alto ou sload_accum, unha constante de precarga especificada polo usuario introdúcese no acumulador.
Debe seleccionar SI para Activar acumulador? parámetro para activar esta opción.
ACCUM_SL OAD
Especifica o comportamento do sinal accum_sload/sload_accum.
ACCUM_SLOAD: baixa accum_sload para cargar a saída do multiplicador no acumulador.
SLOAD_ACCUM: aumenta sload_accum para cargar a saída do multiplicador no acumulador.
Debe seleccionar a opción Activar constante de precarga para activar este parámetro.
64
Especifique o valor constante predefinido.
Este valor pode ser 2N onde N é o valor constante predeterminado.
Cando N=64, representa un cero constante.
Debe seleccionar a opción Activar constante de precarga para activar este parámetro.
Reloxo 0
Seleccione Clock0 , Clock1 ou Clock2 para especificar o sinal de reloxo de entrada para o rexistro accum_sload/sload_accum.
Debe seleccionar a opción Activar constante de precarga para activar este parámetro.
NINGUNHA
Especifica a fonte clara asíncrona para o rexistro accum_sload/sload_accum.
Debe seleccionar a opción Activar constante de precarga para activar este parámetro.
NINGUNHA
Especifica a fonte clara sincrónica para o rexistro accum_sload/sload_accum.
Debe seleccionar a opción Activar constante de precarga para activar este parámetro.
Desactivado
Activa o rexistro do dobre acumulador.
Intel FPGA Integer Arithmetic IP Cores Guía de usuario 54
Enviar comentarios
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05/XNUMX/XNUMX
8.6.6. Tab Sistólica/Chainout
Táboa 35. Ficha Sumador sistólico/Chainout
Parámetro Enable Chainout Adder
Parámetro xerado IP
Valor
chainout_add SI,
er
NON
Cal é o tipo de operación do sumador de encadeamento?
chainout_add AGREGAR,
dirección_er
SUB
Activar a entrada de "negación" para o sumador de encadeamento?
Port_negate
PORT_USED, PORT_UNUSED
Rexistrar a entrada de "negación"? negar_rexistro er
NON Rexistrado, CLOCK0, CLOCK1, CLOCK2, CLOCK3
Cal é a fonte para a entrada clara asíncrona?
negar_aclr
NINGUNHA ACLR0 ACLR1
Cal é a fonte para a entrada clara sincrónica?
negar_sclr
NINGUNHA SCLR0 SCLR1
Retraso sistólico
Activar rexistros de retardo sistólico
gui_systolic_d Activado
elay
Desactivado
Cal é a fonte de entrada do reloxo?
gui_systolic_d CLOCK0,
reloxo_elay
CLOCK1,
Valor predeterminado
NON
Descrición
Seleccione SI para activar o módulo de sumador de encadeamento.
ENGADIR
Especifica a operación do sumador de encadeamento.
Para a operación de resta, debe seleccionarse SIGNED para Cal é o formato de representación para as entradas de Multiplicadores A? e Cal é o formato de representación para as entradas de multiplicadores B? na pestana Multiplicadores.
PORT_UN USADO
Selecciona PORT_USED para activar o sinal de entrada de negación.
Este parámetro non é válido cando se desactiva o sumador de encadeamento.
ANULAR DE REXISTRO
Para activar o rexistro de entrada para o sinal de entrada de negación e especifica o sinal de reloxo de entrada para o rexistro de negación.
Seleccione SIN REGISTRAR se non é necesario o rexistro de entrada de negación
Este parámetro non é válido cando seleccionas:
· NON para Habilitar o sumador de encadeamento ou
· PORT_UNUSED para Habilitar a entrada "negar" para o sumador de encadeamento? parámetro ou
NINGUNHA
Especifica a fonte clara asíncrona para o rexistro de negación.
Este parámetro non é válido cando seleccionas:
· NON para Habilitar o sumador de encadeamento ou
· PORT_UNUSED para Habilitar a entrada "negar" para o sumador de encadeamento? parámetro ou
NINGUNHA
Especifica a fonte clara sincrónica para o rexistro de negación.
Este parámetro non é válido cando seleccionas:
· NON para Habilitar o sumador de encadeamento ou
· PORT_UNUSED para Habilitar a entrada "negar" para o sumador de encadeamento? parámetro ou
Desactivado CLOCK0
Seleccione esta opción para activar o modo sistólico. Este parámetro está dispoñible cando selecciona 2 ou 4 para Cal é o número de multiplicadores? parámetro. Debe activar a saída de rexistro da unidade sumadora para utilizar os rexistros de retardo sistólico.
Especifica o sinal de reloxo de entrada para o rexistro de retardo sistólico.
continuou…
Enviar comentarios
Intel FPGA Integer Arithmetic IP Cores Guía de usuario 55
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05/XNUMX/XNUMX
Parámetro
Parámetro xerado IP
Valor
CLOCK2,
Cal é a fonte para a entrada clara asíncrona?
gui_systolic_d elay_aclr
NINGUNHA ACLR0 ACLR1
Cal é a fonte para a entrada clara sincrónica?
gui_systolic_d elay_sclr
NINGUNHA SCLR0 SCLR1
Valor predeterminado
NINGUNHA
NINGUNHA
Descrición
Debe seleccionar activar rexistros de retardo sistólico para activar esta opción.
Especifica a fonte clara asíncrona para o rexistro de retardo sistólico. Debe seleccionar activar rexistros de retardo sistólico para activar esta opción.
Especifica a fonte clara sincrónica para o rexistro de retardo sistólico. Debe seleccionar activar rexistros de retardo sistólico para activar esta opción.
8.6.7. Ficha Tubería
Táboa 36. Ficha Tuberías
Configuración da canalización de parámetros
Parámetro xerado IP
Valor
Queres engadir un rexistro de canalización á entrada?
gui_pipelining Non, si
Valor predeterminado
Non
Especifique o
latencia
número de reloxo de latencia
ciclos
Calquera valor maior de 0 que 0
Cal é a fonte de entrada do reloxo?
gui_input_late ncy_clock
CLOCK0, CLOCK1, CLOCK2
Cal é a fonte para a entrada clara asíncrona?
gui_input_late ncy_aclr
NINGUNHA ACLR0 ACLR1
Cal é a fonte para a entrada clara sincrónica?
gui_input_late ncy_sclr
NINGUNHA SCLR0 SCLR1
CLOCK0 NINGUN NINGUNO
Descrición
Seleccione Si para activar un nivel adicional de rexistro de canalización aos sinais de entrada. Debes especificar un valor superior a 0 para o parámetro Especifique o número de ciclos de reloxo de latencia.
Especifica a latencia desexada en ciclos de reloxo. Un nivel de rexistro de canalización = 1 latencia no ciclo de reloxo. Debe seleccionar SI para Quere engadir un rexistro de canalización á entrada? para activar esta opción.
Seleccione Clock0 , Clock1 ou Clock2 para activar e especificar o sinal de reloxo de entrada do rexistro de canalización. Debe seleccionar SI para Quere engadir un rexistro de canalización á entrada? para activar esta opción.
Especifica a fonte clara asíncrona do rexistro para o rexistro de canalización adicional. Debe seleccionar SI para Quere engadir un rexistro de canalización á entrada? para activar esta opción.
Especifica a fonte clara sincrónica do rexistro para o rexistro de canalización adicional. Debe seleccionar SI para Quere engadir un rexistro de canalización á entrada? para activar esta opción.
Intel FPGA Integer Arithmetic IP Cores Guía de usuario 56
Enviar comentarios
683490 | 2020.10.05/XNUMX/XNUMX Enviar comentarios
9. ALTMEMMULT (Multiplicador de coeficiente constante baseado en memoria) IP Core
Atención:
Intel eliminou a compatibilidade desta IP na versión 20.3 de Intel Quartus Prime Pro Edition. Se o núcleo IP do teu deseño está dirixido a dispositivos en Intel Quartus Prime Pro Edition, podes substituír a IP por LPM_MULT Intel FPGA IP ou volver xerar a IP e compilar o teu deseño usando o software Intel Quartus Prime Standard Edition.
O núcleo ALTMEMMULT IP utilízase para crear multiplicadores baseados en memoria usando os bloques de memoria onchip que se atopan nos FPGA Intel (con bloques de memoria M512, M4K, M9K e MLAB). Este núcleo IP é útil se non ten recursos suficientes para implementar os multiplicadores en elementos lóxicos (LE) ou recursos multiplicadores dedicados.
O núcleo ALTMEMMULT IP é unha función síncrona que require un reloxo. O núcleo ALTMEMMULT IP implementa un multiplicador co menor rendemento e latencia posibles para un determinado conxunto de parámetros e especificacións.
A seguinte figura mostra os portos para o núcleo IP ALTMEMMULT.
Figura 21. Portos ALTMEMMULT
ALTMEMMULT
entrada_datos[] sload_data coeff_in[]
resultado[] result_valid load_done
sload_coeff
reloxo sclr
inst
Funcións de información relacionada na páxina 71
9.1. Características
O núcleo ALTMEMMULT IP ofrece as seguintes funcións: · Crea só multiplicadores baseados en memoria utilizando bloques de memoria no chip que se atopan en
FPGA Intel · Admite un ancho de datos de 1 bits · Admite formatos de representación de datos asinados e non asinados · Admite canalización con latencia de saída fixa
Intel Corporation. Todos os dereitos reservados. Intel, o logotipo de Intel e outras marcas de Intel son marcas comerciais de Intel Corporation ou das súas subsidiarias. Intel garante o rendemento dos seus produtos FPGA e semicondutores segundo as especificacións actuais de acordo coa garantía estándar de Intel, pero resérvase o dereito de facer cambios en calquera produto e servizo en calquera momento e sen previo aviso. Intel non asume ningunha responsabilidade ou responsabilidade derivada da aplicación ou uso de calquera información, produto ou servizo descrito aquí, salvo que Intel o acorde expresamente por escrito. Recoméndase aos clientes de Intel que obteñan a versión máis recente das especificacións do dispositivo antes de confiar en calquera información publicada e antes de facer pedidos de produtos ou servizos. *Outros nomes e marcas poden ser reclamados como propiedade doutros.
Certificado ISO 9001:2015
9. ALTMEMMULT (Multiplicador de coeficiente constante baseado en memoria) IP Core 683490 | 2020.10.05/XNUMX/XNUMX
· Almacena múltiples constantes na memoria de acceso aleatorio (RAM)
· Ofrece unha opción para seleccionar o tipo de bloque de RAM
· Admite portos de entrada sincrónicos opcionais claros e de control de carga
9.2. Prototipo Verilog HDL
O seguinte prototipo Verilog HDL está situado no Verilog Design File (.v) altera_mf.v no directorio de síntese eda.
module altmemmult #( parámetro coeff_representation = "SIGNED", parámetro coeficient0 = "UNUSED", parámetro data_representation = "SIGNED", parámetro reason_device_family = "non usado", parámetro max_clock_cycles_per_result = 1, parámetro número_de_coeficientes = "AUT_block", parámetro = ram total_latency = 1, parámetro width_c = 1, parámetro width_d = 1, parámetro width_r = 1, parámetro width_s = 1, parámetro lpm_type = "altmemmult", parámetro lpm_hint = "non usado") (reloxo de cable de entrada, cable de entrada [width_c-1: 1]coeff_in, cable de entrada [width_d-0:1] data_in, cable de saída load_done, cable de saída [width_r-0:1] resultado, cable de saída result_valid, sclr cable de entrada, cable de entrada [width_s-0:1] sel, entrada cable sload_coeff, entrada cable sload_data)/* síntese syn_black_box=0 */; módulo final
9.3. Declaración de compoñentes VHDL
A declaración do compoñente VHDL está situada no Deseño VHDL File (.vhd) altera_mf_components.vhd no directorio librariesvhdlaltera_mf.
compoñente altmemmult xenérico ( coeff_representation:string := “SIGNED”; coefficient0:string := “UNUSED”; data_representation:string := “SIGNED”; expected_device_family:string := “non usado”; max_clock_cycles_per_result:natural := 1; := 1; ram_block_type: string:= “AUTO”; "altmemmult"); port( clock:in std_logic; coeff_in:in std_logic_vector(width_c-1 downto 1) := (outros => '0'); data_in:in std_logic_vector (width_d-0 downto 1);
Intel FPGA Integer Arithmetic IP Cores Guía de usuario 58
Enviar comentarios
9. ALTMEMMULT (Multiplicador de coeficiente constante baseado en memoria) IP Core 683490 | 2020.10.05/XNUMX/XNUMX
load_done:out std_logic; resultado:out std_logic_vector(width_r-1 downto 0); result_valid:out std_logic; sclr:in std_logic := '0'; sel:in std_logic_vector(width_s-1 downto 0) := (outros => '0'); sload_coeff:in std_logic := '0'; sload_data:in std_logic := '0'); compoñente final;
9.4. Portos
As seguintes táboas enumeran os portos de entrada e saída para o núcleo IP ALTMEMMULT.
Táboa 37. Portos de entrada ALTMEMMULT
Nome do porto
Obrigatorio
Descrición
reloxo
Si
Entrada do reloxo ao multiplicador.
coeff_in[]
Non
Porto de entrada de coeficiente para o multiplicador. O tamaño do porto de entrada depende do valor do parámetro WIDTH_C.
datos_en[]
Si
Porto de entrada de datos ao multiplicador. O tamaño do porto de entrada depende do valor do parámetro WIDTH_D.
sclr
Non
Entrada clara sincrónica. Se non se utiliza, o valor predeterminado é activo alto.
sel[]
Non
Selección de coeficiente fixo. O tamaño do porto de entrada depende do WIDTH_S
valor do parámetro.
sload_coeff
Non
Porto de entrada de coeficiente de carga síncrona. Substitúe o valor do coeficiente seleccionado actual polo valor especificado na entrada coeff_in.
carga_datos
Non
Porto de entrada de datos de carga síncrona. Sinal que especifica unha nova operación de multiplicación e cancela calquera operación de multiplicación existente. Se o parámetro MAX_CLOCK_CYCLES_PER_RESULT ten un valor de 1, ignorarase o porto de entrada sload_data.
Táboa 38. Portos de saída ALTMEMMULT
Nome do porto
Obrigatorio
Descrición
resultado[]
Si
Porto de saída do multiplicador. O tamaño do porto de entrada depende do valor do parámetro WIDTH_R.
resultado_válido
Si
Indica cando a saída é o resultado válido dunha multiplicación completa. Se o parámetro MAX_CLOCK_CYCLES_PER_RESULT ten un valor de 1, non se utiliza o porto de saída result_valid.
cargar_feito
Non
Indica cando rematou de cargar o novo coeficiente. O sinal load_done confirma cando un novo coeficiente rematou de cargarse. A non ser que o sinal load_done sexa alto, non se pode cargar ningún outro valor de coeficiente na memoria.
9.5 Parámetros
A seguinte táboa enumera os parámetros para o núcleo IP ALTMEMMULT.
Táboa 39.
WIDTH_D WIDTH_C
ALTMEMMULT Parámetros
Nome do parámetro
Tipo Obrigatorio
Descrición
Número enteiro Si
Especifica o ancho do porto data_in[].
Número enteiro Si
Especifica o ancho do porto coeff_in[]. continuou…
Enviar comentarios
Intel FPGA Integer Arithmetic IP Cores Guía de usuario 59
9. ALTMEMMULT (Multiplicador de coeficiente constante baseado en memoria) IP Core 683490 | 2020.10.05/XNUMX/XNUMX
Nome do parámetro WIDTH_R WIDTH
Documentos/Recursos
![]() |
Intel FPGA Núcleos IP aritméticos enteros [pdfGuía do usuario Núcleos IP aritméticos enteros FPGA, núcleos IP aritméticos enteros, núcleos IP aritméticos, núcleos IP |