Núcleos IP aritméticos enteros de FPGA

Guía del usuario de Intel FPGA Integer Arithmetic IP Cores
Actualizado para Intel® Quartus® Prime Design Suite: 20.3

Versión en línea Enviar comentarios

UG-01063

Identificación: 683490 Versión: 2020.10.05

Contenido
Contenido
1. Intel FPGA Integer Arithmetic IP Cores…………………………………………………………………….. 5
2. LPM_COUNTER (Contador) IP Core………………………………………………………………………….. 7 2.1. Características……………………………………………………………………………………………………7 2.2. Prototipo Verilog HDL…………………………………………………………………………………….. 8 2.3. Declaración de componentes VHDL………………………………………………………………………….8 2.4. VHDL LIBRARY_USE Declaración………………………………………………………………………… 9 2.5. Puertos…………………………………………………………………………………………………………..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 de componentes VHDL…………………………………………………………………….. 13 3.4. VHDL LIBRARY_USE Declaración……………………………………………………………………. 13 3.5. Puertos………………………………………………………………………………………………………… 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 de componentes VHDL…………………………………………………………………….. 17 4.4. VHDL LIBRARY_USE Declaración……………………………………………………………………. 17 4.5. Señales………………………………………………………………………………………………………… 18 4.6. Parámetros para dispositivos Stratix V, Arria V, Cyclone V e Intel Cyclone 10 LP……………… 18 4.6.1. Pestaña General…………………………………………………………………………………………18 4.6.2. Ficha General 2…………………………………………………………………………………… 19 4.6.3. Pestaña Pipelines…………………………………………………………………………………… 19 4.7. Parámetros para dispositivos Intel Stratix 10, Intel Arria 10 e Intel Cyclone 10 GX………….. 20 4.7.1. Ficha General…………………………………………………………………………………………20 4.7.2. Ficha General 2…………………………………………………………………………………… 20 4.7.3. Canalización…………………………………………………………………………………………21
5. LPM_ADD_SUB (Sumador/Restante)………………………………………………………………………… 22 5.1. Características………………………………………………………………………………………………. 22 5.2. Prototipo Verilog HDL…………………………………………………………………………………… 23 5.3. Declaración de componentes VHDL…………………………………………………………………….. 23 5.4. VHDL LIBRARY_USE Declaración……………………………………………………………………. 23 5.5. Puertos………………………………………………………………………………………………………… 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 de componentes VHDL…………………………………………………………………….. 27 6.4. VHDL LIBRARY_USE Declaración……………………………………………………………………. 27 6.5. Puertos………………………………………………………………………………………………………… 27 6.6. Parámetros…………………………………………………………………………………………………… 28

Intel FPGA Integer Arithmetic IP Cores Guía del usuario 2

Enviar comentarios

Contenido

7. ALTECC (Código de corrección de errores: Codificador/Decodificador) IP Core…………………………………… 30
7.1. Funciones del codificador ALTECC…………………………………………………………………………..31 7.2. Prototipo Verilog HDL (ALTECC_ENCODER)……………………………………………………. 32 7.3. Prototipo Verilog HDL (ALTECC_DECODER)……………………………………………………. 32 7.4. Declaración de componentes VHDL (ALTECC_ENCODER)………………………………………………33 7.5. Declaración de componentes VHDL (ALTECC_DECODER)………………………………………………33 7.6. VHDL LIBRARY_USE Declaración……………………………………………………………………. 33 7.7. Puertos del codificador……………………………………………………………………………………………… 33 7.8. Puertos del Decodificador………………………………………………………………………………………………34 7.9. Parámetros del codificador…………………………………………………………………………………… 34 7.10. Parámetros del decodificador ………………………………………………………………………………… 35
8. Intel FPGA Multiply Adder IP Core…………………………………………………………………………. 36
8.1. Características………………………………………………………………………………………………. 37 8.1.1. Pre-sumador………………………………………………………………………………………….. 38 8.1.2. Registro de Retraso Sistólico…………………………………………………………………….. 40 8.1.3. Constante de precarga……………………………………………………………………………… 43 8.1.4. Acumulador Doble……………………………………………………………………………… 43
8.2. Prototipo Verilog HDL…………………………………………………………………………………… 44 8.3. Declaración de componentes VHDL…………………………………………………………………….. 44 8.4. VHDL LIBRARY_USE Declaración……………………………………………………………………. 44 8.5. Señales………………………………………………………………………………………………………… 44 8.6. Parámetros…………………………………………………………………………………………………… 47
8.6.1. Pestaña General…………………………………………………………………………………………47 8.6.2. Pestaña Modos extra………………………………………………………………………….. 47 8.6.3. Pestaña Multiplicadores……………………………………………………………………………….. 49 8.6.4. Pestaña de precomprador……………………………………………………………………………………. 51 8.6.5. Pestaña Acumulador………………………………………………………………………….. 53 8.6.6. Pestaña Sistólica/Chainout…………………………………………………………………………. 55 8.6.7. Pestaña Canalización…………………………………………………………………………………… 56
9. ALTMEMMULT (multiplicador de coeficiente constante basado en memoria) IP Core…………………… 57
9.1. Características………………………………………………………………………………………………. 57 9.2. Prototipo Verilog HDL…………………………………………………………………………………… 58 9.3. Declaración de componentes VHDL…………………………………………………………………….. 58 9.4. Puertos………………………………………………………………………………………………………… 59 9.5. Parámetros…………………………………………………………………………………………………… 59
10. Núcleo IP ALTMULT_ACCUM (multiplicación-acumulación)……………………………………………… 61
10.1. Características……………………………………………………………………………………………….. 62 10.2. Prototipo Verilog HDL……………………………………………………………………………………..62 10.3. Declaración de componentes VHDL…………………………………………………………………… 63 10.4. VHDL LIBRARY_USE Declaración……………………………………………………………………63 10.5. Puertos…………………………………………………………………………………………………………. 63 10.6. Parámetros………………………………………………………………………………………………. 64
11. Núcleo IP ALTMULT_ADD (sumador múltiple)…………………………………………………………..69
11.1. Características……………………………………………………………………………………………….. 71 11.2. Prototipo Verilog HDL……………………………………………………………………………………..72 11.3. Declaración de componentes VHDL…………………………………………………………………… 72 11.4. VHDL LIBRARY_USE Declaración……………………………………………………………………72

Enviar comentarios

Intel FPGA Integer Arithmetic IP Cores Guía del usuario 3

Contenido
11.5. Puertos…………………………………………………………………………………………………………. 72 11.6. Parámetros………………………………………………………………………………………………. 73
12. Núcleo IP ALTMULT_COMPLEX (multiplicador complejo)……………………………………………… 86 12.1. Multiplicación compleja………………………………………………………………………………. 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 de componentes VHDL…………………………………………………………………… 89 12.7. VHDL LIBRARY_USE Declaración……………………………………………………………………89 12.8. Señales……………………………………………………………………………………………………. 89 12.9. Parámetros………………………………………………………………………………………………. 90
13. Núcleo IP ALTSQRT (raíz cuadrada entera)………………………………………………………………92 13.1. Características……………………………………………………………………………………………….. 92 13.2. Prototipo Verilog HDL……………………………………………………………………………………..92 13.3. Declaración de componentes VHDL…………………………………………………………………… 93 13.4. VHDL LIBRARY_USE Declaración……………………………………………………………………93 13.5. Puertos…………………………………………………………………………………………………………. 93 13.6. Parámetros………………………………………………………………………………………………. 94
14. Núcleo IP PARALLEL_ADD (sumador paralelo)………………………………………………………….. 95 14.1. Característica……………………………………………………………………………………………….95 14.2. Prototipo Verilog HDL……………………………………………………………………………………..95 14.3. Declaración de componentes VHDL…………………………………………………………………… 96 14.4. VHDL LIBRARY_USE Declaración……………………………………………………………………96 14.5. Puertos…………………………………………………………………………………………………………. 96 14.6. Parámetros………………………………………………………………………………………………. 97
15. Archivos de documentos de la guía del usuario de IP Cores de aritmética de enteros 98
16. Historial de revisión de documentos para Intel FPGA Integer Arithmetic IP Cores User Guide…. 99

Intel FPGA Integer Arithmetic IP Cores Guía del usuario 4

Enviar comentarios

683490 | 2020.10.05 Enviar comentarios

1. Núcleos de IP aritméticos enteros Intel FPGA

Puede utilizar los núcleos IP enteros Intel® FPGA para realizar operaciones matemáticas en su diseño.

Estas funciones ofrecen una síntesis lógica y una implementación de dispositivos más eficientes que codificar sus propias funciones. Puede personalizar los núcleos de IP para adaptarse a sus requisitos de diseño.

Los núcleos IP aritméticos de enteros de Intel se dividen en las siguientes dos categorías: · Biblioteca de módulos parametrizados (LPM) Núcleos IP · Núcleos IP específicos de Intel (ALT)

La siguiente tabla enumera los núcleos IP aritméticos enteros.

Tabla 1.

Lista de núcleos IP

Núcleos IP

Núcleos IP LPM

LPM_CONTADOR

LPM_DIVIDE

LPM_MULT

LPM_ADD_SUB
LPM_COMPARE
Núcleos IP específicos de Intel (ALT) ALTECC

Función sobreview Contador divisor multiplicador
Comparador sumador o 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 ciclón 10 GX, MAX® II, MAX V, MAX 10, Stratix® IV, Stratix V
Arria II GX, Arria II GZ, Arria V, Intel Arria 10, ciclón IV E, ciclón IV GX,
Ciclón V, Intel Ciclón 10 LP, Intel Ciclón 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, ciclón IV E, ciclón IV GX,
Ciclón V, Intel Ciclón 10 LP, Intel Ciclón 10 GX, MAX II, MAX V, MAX 10, Stratix IV, Stratix V, Intel Stratix 10
Arria II GX, Arria II GZ, Arria V, ciclón IV E, ciclón IV GX, ciclón V, Intel ciclón 10 LP, MAX 10, MAX
II, MAX V, Stratix IV, Stratix V
Arria II GX, Arria II GZ, Arria V, ciclón IV E, ciclón IV GX, ciclón V, Intel ciclón 10 LP, MAX 10, MAX
II, MAX V, Stratix IV, Stratix V
Arria II GX, Arria II GZ, Arria V, Intel Arria 10, ciclón IV E, ciclón IV GX,
Ciclón V, Intel ciclón 10 LP, Intel ciclón 10 GX, MAX II, MAX V, MAX
10, Stratix IV, Stratix V continuación...

Corporación Intel. Reservados todos los derechos. Intel, el logotipo de Intel y otras marcas de Intel son marcas comerciales de Intel Corporation o sus subsidiarias. Intel garantiza el rendimiento de sus productos semiconductores y FPGA según las especificaciones actuales de acuerdo con la garantía estándar de Intel, pero se reserva el derecho de realizar cambios en cualquier producto y servicio en cualquier momento sin previo aviso. Intel no asume ninguna responsabilidad que surja de la aplicación o el uso de cualquier información, producto o servicio descrito en este documento, excepto que Intel lo acuerde expresamente por escrito. Se recomienda a los clientes de Intel que obtengan la última versión de las especificaciones del dispositivo antes de confiar en cualquier información publicada y antes de realizar pedidos de productos o servicios. *Otros nombres y marcas pueden reclamarse como propiedad de otros.

ISO 9001: 2015 registrado

1. Núcleos IP aritméticos enteros Intel FPGA 683490 | 2020.10.05

Núcleos IP Intel FPGA Multiply Adder o ALTERA_MULT_ADD ALTMEMMULT
ALTMULT_ACCUM ALTMULT_ADD ALTMULT_COMPLEX
ALTSQRT
PARALELO_ADD

Función sobreview multiplicador-sumador
Multiplicador de coeficiente constante basado en memoria
Multiplicador-Acumulador Multiplicador-Sumador
Multiplicador complejo
Raíz cuadrada entera
sumador paralelo

Dispositivo compatible
Arria V, Stratix V, ciclón V, Intel Stratix 10, Intel Arria 10, Intel ciclón
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
Ciclón 10 LP, MAX II, MAX V, MAX 10, Stratix IV, Stratix V
Arria II GX, Arria II GZ, ciclón IV E, ciclón IV GX, Intel ciclón 10 LP, MAX 10, MAX II, MAX V, Stratix IV
Arria II GX, Arria II GZ, ciclón IV E, ciclón IV GX, Intel ciclón 10 LP, MAX 10, MAX II, MAX V, Stratix IV
Arria II GX, Arria II GZ, Intel Arria 10, Arria V, Arria V GZ, ciclón IV E, ciclón IV GX, ciclón V, Intel
Ciclón 10 GX, Intel Ciclón 10 LP, MAX 10, Stratix V, Intel Stratix 10
Arria II GX, Arria II GZ, Arria V, Intel Arria 10, ciclón IV E, ciclón IV GX,
Ciclón V, Intel Ciclón 10 LP, Intel Ciclón 10 GX, MAX II, MAX V, MAX
10, Stratix IV, Stratix V
Arria II GX, Arria II GZ, Arria V, Intel Arria 10, ciclón IV E, ciclón IV GX,
Ciclón V, Intel Ciclón 10 LP, Intel Ciclón 10 GX, MAX II, MAX V, MAX
10, Stratix IV, Stratix V

Información relacionada
· Notas de la versión de Intel FPGA y dispositivos programables
· Introducción a Intel FPGA IP Cores Proporciona más información sobre Intel FPGA IP Cores.
· Guía del usuario de núcleos IP de punto flotante Brinda más información sobre los núcleos IP de punto flotante Intel FPGA.
· Introducción a los núcleos IP de Intel FPGA Brinda información general sobre todos los núcleos IP de Intel FPGA, incluida la parametrización, generación, actualización y simulación de núcleos IP.
· Creación de secuencias de comandos de simulación Qsys e IP independientes de la versión Cree secuencias de comandos de simulación que no requieran actualizaciones manuales para actualizaciones de versión de software o IP.
· Directrices de mejores prácticas de gestión de proyectos para una gestión y portabilidad eficientes de su proyecto y propiedad intelectual files.
· Integer Arithmetic IP Cores User Guide Archivos de documentos en la página 98 Proporciona una lista de guías de usuario para versiones anteriores de Integer Arithmetic IP cores.

Intel FPGA Integer Arithmetic IP Cores Guía del usuario 6

Enviar comentarios

683490 | 2020.10.05 Enviar comentarios

2. Núcleo IP LPM_COUNTER (Contador)

Figura 1.

El núcleo IP LPM_COUNTER es un contador binario que crea contadores ascendentes, descendentes y contadores ascendentes o descendentes con salidas de hasta 256 bits de ancho.

La siguiente figura muestra los puertos para el núcleo IP LPM_COUNTER.

Puertos LPM_COUNTER

LPM_CONTADOR

ssclr cargar datos del conjunto[]

q[]

arriba abajo

Contar

aclr cargar activo

clk_es cnt_es cin
Inst.

2.1. Características
El núcleo IP LPM_COUNTER ofrece las siguientes funciones: · Genera contadores ascendentes, descendentes y ascendentes/descendentes · Genera los siguientes tipos de contadores:
— Binario simple: el contador aumenta a partir de cero o disminuye a partir de 255
— Módulo: el contador aumenta o disminuye desde el valor del módulo especificado por el usuario y se repite
· Admite puertos de entrada de borrado, carga y ajuste sincrónicos opcionales · Admite puertos de entrada de borrado, carga y ajuste asincrónicos opcionales · Admite puertos de entrada de activación de conteo y activación de reloj opcionales · Admite puertos de entrada y salida opcionales

Corporación Intel. Reservados todos los derechos. Intel, el logotipo de Intel y otras marcas de Intel son marcas comerciales de Intel Corporation o sus subsidiarias. Intel garantiza el rendimiento de sus productos semiconductores y FPGA según las especificaciones actuales de acuerdo con la garantía estándar de Intel, pero se reserva el derecho de realizar cambios en cualquier producto y servicio en cualquier momento sin previo aviso. Intel no asume ninguna responsabilidad que surja de la aplicación o el uso de cualquier información, producto o servicio descrito en este documento, excepto que Intel lo acuerde expresamente por escrito. Se recomienda a los clientes de Intel que obtengan la última versión de las especificaciones del dispositivo antes de confiar en cualquier información publicada y antes de realizar pedidos de productos o servicios. *Otros nombres y marcas pueden reclamarse como propiedad de otros.

ISO 9001: 2015 registrado

2. Núcleo IP LPM_COUNTER (Contador)
683490 | 2020.10.05
2.2. Prototipo Verilog HDL
El siguiente prototipo Verilog HDL se encuentra en Verilog Design File (.v) lpm.v en el directorio edasíntesis.
módulo lpm_counter (q, datos, reloj, 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 = “SIN UTILIZAR”; parámetro lpm_avalue = “SIN UTILIZAR”; parámetro lpm_svalue = “SIN UTILIZAR”; parámetro lpm_pvalue = “SIN UTILIZAR”; parámetro lpm_port_updown = “PORT_CONECTIVIDAD”; parámetro lpm_hint = "SIN UTILIZAR"; salida [lpm_width-1:0] q; cout de salida; salida [15:0] equivalente; entrada cin; datos de entrada [lpm_width-1:0]; reloj de entrada, clk_en, cnt_en, updown; entrada aset, aclr, aload; entrada sset, sclr, sload; módulo final
2.3. Declaración de componente VHDL
La declaración del componente VHDL se encuentra en el Diseño VHDL File (.vhd) LPM_PACK.vhd en el directorio bibliotecasvhdllpm.
componente LPM_COUNTER genérico ( LPM_WIDTH : natural; LPM_MODULUS : natural := 0; LPM_DIRECTION : string := “UNUSED”; LPM_AVALUE : string := “UNUSED”; LPM_SVALUE : string := “UNUSED”; LPM_PORT_UPDOWN : string := “PORT_CONNECTIVITY” ; LPM_PVALUE : cadena := “SIN UTILIZAR”; LPM_TYPE : cadena := L_COUNTER; LPM_HINT : cadena := “SIN UTILIZAR”); puerto (DATOS: en std_logic_vector (LPM_WIDTH-1 hasta 0): = (OTROS =>
'0'); RELOJ: en std_logic; CLK_EN : en std_logic := '1'; CNT_EN : en std_logic := '1'; ARRIBA: en std_logic: = '1'; SLOAD : en std_logic := '0'; SSET: en std_logic: = '0'; SCLR: en std_logic: = '0'; A CARGAR: en std_logic: = '0'; ASET: en std_logic: = '0'; ACLR: en std_logic: = '0'; CIN: en std_logic: = '1'; COUT : fuera std_logic := '0'; P: Fuera std_logic_vector (LPM_WIDTH-1 hasta 0); EQ: fuera std_logic_vector (15 hasta 0));
componente final;

Intel FPGA Integer Arithmetic IP Cores Guía del usuario 8

Enviar comentarios

2. LPM_COUNTER (Contador) IP Core 683490 | 2020.10.05

2.4. Declaración VHDL LIBRARY_USE
La declaración VHDL LIBRARY-USE no es necesaria si utiliza la Declaración de componentes VHDL.
BIBLIOTECA lpm; USAR lpm.lpm_components.all;

2.5. Puertos

Las siguientes tablas enumeran los puertos de entrada y salida para el núcleo de IP LPM_COUNTER.

Tabla 2.

Puertos de entrada LPM_COUNTER

Nombre del puerto

Requerido

Descripción

datos[]

No

Entrada de datos en paralelo al contador. El tamaño del puerto de entrada depende del valor del parámetro LPM_WIDTH.

reloj

Entrada de reloj activada por flanco positivo.

clk_es

No

Entrada de habilitación de reloj para habilitar todas las actividades sincrónicas. Si se omite, el valor predeterminado es 1.

cnt_es

No

Entrada de habilitación de conteo para deshabilitar el conteo cuando se afirma bajo sin afectar sload, sset o sclr. Si se omite, el valor predeterminado es 1.

arriba abajo

No

Controla la dirección del conteo. Cuando se afirma en alto (1), la dirección de conteo es hacia arriba y cuando se afirma en bajo (0), la dirección de conteo es hacia abajo. Si se utiliza el parámetro LPM_DIRECTION, el puerto updown no se puede conectar. Si no se utiliza LPM_DIRECTION, el puerto updown es opcional. Si se omite, el valor predeterminado es arriba (1).

Cintura

No

Acarreo al bit de orden inferior. Para contadores ascendentes, el comportamiento de la entrada cin es

idéntico al comportamiento de la entrada cnt_en. Si se omite, el valor predeterminado es 1

(CCV).

aclr

No

Entrada clara asíncrona. Si tanto aset como aclr se usan y afirman, aclr anula aset. Si se omite, el valor predeterminado es 0 (deshabilitado).

un activo

No

Entrada de conjunto asíncrono. Especifica las salidas q[] como todos 1 o el valor especificado por el parámetro LPM_AVALUE. Si se usan y afirman los puertos aset y aclr, el valor del puerto aclr anula el valor del puerto aset. Si se omite, el valor predeterminado es 0, deshabilitado.

Una carga

No

Entrada de carga asíncrona que carga asíncronamente el contador con el valor de la entrada de datos. Cuando se usa el puerto de carga, el puerto de datos [] debe estar conectado. Si se omite, el valor predeterminado es 0, deshabilitado.

desclr

No

Entrada de borrado síncrono que borra el contador en el siguiente flanco de reloj activo. Si se usan y afirman los puertos sset y sclr, el valor del puerto sclr anula el valor del puerto sset. Si se omite, el valor predeterminado es 0, deshabilitado.

conjunto

No

Entrada de conjunto síncrono que configura el contador en el siguiente flanco de reloj activo. Especifica el valor de las salidas q como todos 1 o el valor especificado por el parámetro LPM_SVALUE. Si se usan y afirman los puertos sset y sclr,
el valor del puerto sclr anula el valor del puerto sset. Si se omite, el valor predeterminado es 0 (deshabilitado).

descargar

No

Entrada de carga síncrona que carga el contador con datos[] en el siguiente borde de reloj activo. Cuando se usa el puerto de carga, el puerto de datos [] debe estar conectado. Si se omite, el valor predeterminado es 0 (deshabilitado).

Enviar comentarios

Intel FPGA Integer Arithmetic IP Cores Guía del usuario 9

2. LPM_COUNTER (Contador) IP Core 683490 | 2020.10.05

Tabla 3.

Puertos de salida LPM_COUNTER

Nombre del puerto

Requerido

Descripción

q[]

No

Salida de datos del contador. El tamaño del puerto de salida depende del

Valor del parámetro LPM_WIDTH. Ya sea q[] o al menos uno de los puertos eq[15..0]

debe estar conectado.

ecuación[15..0]

No

Salida de decodificación de contador. No se puede acceder al puerto eq[15..0] en el editor de parámetros porque el parámetro solo admite AHDL.
Debe estar conectado el puerto q[] o el puerto eq[]. Se pueden utilizar hasta c puertos eq (0 <= c <= 15). Solo se decodifican los 16 valores de recuento más bajos. Cuando el valor de conteo es c, la salida de eqc se declara alta (1). por ejemploample, cuando el conteo es 0, eq0 = 1, cuando el conteo es 1, eq1 = 1, y cuando el conteo es 15, eq 15 = 1. La salida decodificada para valores de conteo de 16 o más requiere decodificación externa. Las salidas eq[15..0] son ​​asíncronas a la salida q[].

Contar

No

Puerto de salida del bit MSB del contador. Se puede usar para conectarse a otro mostrador para crear un mostrador más grande.

2.6 Parámetros

La siguiente tabla enumera los parámetros para el núcleo de IP LPM_COUNTER.

Tabla 4.

Parámetros LPM_COUNTER

Nombre del parámetro

Tipo

LPM_ANCHO

Entero

LPM_DIRECCIÓN

Cadena

LPM_MODULUS LPM_AVALUE

Entero
Entero/ Cadena

LPM_SVALUE LPM_HINT

Entero/ Cadena
Cadena

LPM_TYPE

Cadena

Obligatorio Sí No No No
No, no.
No

Descripción
Especifica los anchos de los puertos data[] y q[], si se utilizan.
Los valores son ARRIBA, ABAJO y NO UTILIZADO. Si se utiliza el parámetro LPM_DIRECTION, el puerto updown no se puede conectar. Cuando el puerto updown no está conectado, el valor predeterminado del parámetro LPM_DIRECTION es UP.
El recuento máximo, más uno. Número de estados únicos en el ciclo del contador. Si el valor de carga es mayor que el parámetro LPM_MODULUS, no se especifica el comportamiento del contador.
Valor constante que se carga cuando un valor se declara alto. Si el valor especificado es mayor o igual que , el comportamiento del contador es un nivel lógico indefinido (X), donde es LPM_MODULUS, si está presente, o 2 ^ LPM_WIDTH. Intel recomienda que especifique este valor como un número decimal para los diseños AHDL.
Valor constante que se carga en el flanco ascendente del puerto de reloj cuando el puerto sset se afirma alto. Intel recomienda que especifique este valor como un número decimal para los diseños AHDL.
Cuando crea una instancia de una función de biblioteca de módulos parametrizados (LPM) en un diseño VHDL File (.vhd), debe usar el parámetro LPM_HINT para especificar un parámetro específico de Intel. por ejemploample: LPM_HINT = "CHAIN_SIZE = 8, ONE_INPUT_IS_CONSTANT = SÍ"
El valor predeterminado es NO UTILIZADO.
Identifica el nombre de entidad de la biblioteca de módulos parametrizados (LPM) en el diseño de VHDL files.
continuado…

Intel FPGA Integer Arithmetic IP Cores Guía del usuario 10

Enviar comentarios

2. LPM_COUNTER (Contador) IP Core 683490 | 2020.10.05

Nombre del parámetro INTENDED_DEVICE_FAMILY CARRY_CNT_EN
LABWIDE_SCLR
LPM_PORT_UPDOWN

Tipo Cadena Cadena
Cadena
Cadena

Requerido No No
No
No

Descripción
Este parámetro se utiliza con fines de modelado y simulación de comportamiento. Este parámetro se utiliza con fines de modelado y simulación de comportamiento. El editor de parámetros calcula el valor de este parámetro.
Parámetro específico de Intel. Debe usar el parámetro LPM_HINT para especificar el parámetro CARRY_CNT_EN en el diseño de VHDL files. Los valores son SMART, ON, OFF y UNUSED. Habilita la función LPM_COUNTER para propagar la señal cnt_en a través de la cadena de transporte. En algunos casos, la configuración del parámetro CARRY_CNT_EN puede tener un ligero impacto en la velocidad, por lo que es posible que desee desactivarlo. El valor predeterminado es SMART, que proporciona el mejor equilibrio entre tamaño y velocidad.
Parámetro específico de Intel. Debe usar el parámetro LPM_HINT para especificar el parámetro LABWIDE_SCLR en el diseño de VHDL files. Los valores son ACTIVADO, DESACTIVADO o SIN UTILIZAR. El valor predeterminado es ENCENDIDO. Le permite deshabilitar el uso de la función LABwide sclr que se encuentra en las familias de dispositivos obsoletos. Desactivar esta opción aumenta las posibilidades de usar completamente los LAB parcialmente llenos y, por lo tanto, puede permitir una mayor densidad lógica cuando SCLR no se aplica a un LAB completo. Este parámetro está disponible para la compatibilidad con versiones anteriores e Intel recomienda que no lo use.
Especifica el uso del puerto de entrada updown. Si se omite, el valor predeterminado es PORT_CONNECTIVITY. Cuando el valor del puerto se establece en PORT_USED, el puerto se trata como usado. Cuando el valor del puerto se establece en PORT_UNUSED, el puerto se trata como no utilizado. Cuando el valor del puerto se establece en PORT_CONNECTIVITY, el uso del puerto se determina comprobando la conectividad del puerto.

Enviar comentarios

Intel FPGA Integer Arithmetic IP Cores Guía del usuario 11

683490 | 2020.10.05 Enviar comentarios

3. LPM_DIVIDE (divisor) Intel FPGA IP Core

Figura 2.

El núcleo LPM_DIVIDE Intel FPGA IP implementa un divisor para dividir un valor de entrada de numerador por un valor de entrada de denominador para producir un cociente y un resto.

La siguiente figura muestra los puertos para el núcleo IP LPM_DIVIDE.

Puertos LPM_DIVIDE

LPM_DIVIDE

número[] denominación[] reloj

cociente[] restante[]

clken aclr

Inst.

3.1. Características
El núcleo IP LPM_DIVIDE ofrece las siguientes características: · Genera un divisor que divide un valor de entrada de numerador por una entrada de denominador
valor para producir un cociente y un resto. · Admite ancho de datos de 1 bits. · Admite el formato de representación de datos firmados y no firmados tanto para el numerador
y valores del denominador. · Admite optimización de área o velocidad. · Proporciona una opción para especificar una salida de resto positivo. · Admite latencia de salida configurable de canalización. · Admite puertos de habilitación de reloj y claro asíncrono opcionales.

3.2. Prototipo Verilog HDL
El siguiente prototipo Verilog HDL se encuentra en Verilog Design File (.v) lpm.v en el directorio edasíntesis.
módulo lpm_divide ( cociente, restante, número, denominador, reloj, clken, aclr); parámetro lpm_type = “lpm_divide”; parámetro lpm_widthn = 1; parámetro lpm_widthd = 1; parámetro lpm_nrepresentation = “SIN FIRMAR”; parámetro lpm_drepresentation = "SIN FIRMAR"; parámetro lpm_remainderpositive = “VERDADERO”; parámetro lpm_pipeline = 0;

Corporación Intel. Reservados todos los derechos. Intel, el logotipo de Intel y otras marcas de Intel son marcas comerciales de Intel Corporation o sus subsidiarias. Intel garantiza el rendimiento de sus productos semiconductores y FPGA según las especificaciones actuales de acuerdo con la garantía estándar de Intel, pero se reserva el derecho de realizar cambios en cualquier producto y servicio en cualquier momento sin previo aviso. Intel no asume ninguna responsabilidad que surja de la aplicación o el uso de cualquier información, producto o servicio descrito en este documento, excepto que Intel lo acuerde expresamente por escrito. Se recomienda a los clientes de Intel que obtengan la última versión de las especificaciones del dispositivo antes de confiar en cualquier información publicada y antes de realizar pedidos de productos o servicios. *Otros nombres y marcas pueden reclamarse como propiedad de otros.

ISO 9001: 2015 registrado

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

parámetro lpm_hint = "SIN UTILIZAR"; reloj de entrada; entrada clken; entrada aclr; entrada [lpm_widthn-1:0] número; entrada [lpm_widthd-1:0] denominación; salida [lpm_widthn-1:0] cociente; la salida [lpm_widthd-1:0] permanece; módulo final

3.3. Declaración de componente VHDL
La declaración del componente VHDL se encuentra en el Diseño VHDL File (.vhd) LPM_PACK.vhd en el directorio bibliotecasvhdllpm.
componente LPM_DIVIDE genérico (LPM_WIDTHN : natural; LPM_WIDTHD : natural;
LPM_NREPRESENTATION: cadena: = "SIN FIRMAR"; LPM_DREPRESENTATION: cadena: = "SIN FIRMAR"; LPM_PIPELINE : natural := 0; LPM_TYPE : cadena := L_DIVIDE; LPM_HINT: cadena: = "SIN UTILIZAR"); puerto (NUMER: en std_logic_vector (LPM_WIDTHN-1 hasta 0); DENOM: en std_logic_vector (LPM_WIDTHD-1 hasta 0); ACLR: en std_logic: = '0'; CLOCK: en std_logic: = '0'; CLKEN: en std_logic := '1';COCIENTE: fuera std_logic_vector (LPM_WIDTHN-1 hasta 0); REMAIN: fuera std_logic_vector (LPM_WIDTHD-1 hasta 0)); componente final;

3.4. Declaración VHDL LIBRARY_USE
La declaración VHDL LIBRARY-USE no es necesaria si utiliza la Declaración de componentes VHDL.
BIBLIOTECA lpm; USAR lpm.lpm_components.all;

3.5. Puertos

Las siguientes tablas enumeran los puertos de entrada y salida para el núcleo IP LPM_DIVIDE.

Tabla 5.

Puertos de entrada LPM_DIVIDE

Nombre del puerto

Requerido

numero[]

denominación[]

Descripción
Entrada de datos del numerador. El tamaño del puerto de entrada depende del valor del parámetro LPM_WIDTHN.
Entrada de datos del denominador. El tamaño del puerto de entrada depende del valor del parámetro LPM_WIDTHD.
continuado…

Enviar comentarios

Intel FPGA Integer Arithmetic IP Cores Guía del usuario 13

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

Reloj de nombre de puerto clken
aclr

Requerido No No
No

Descripción
Entrada de reloj para uso canalizado. Para valores de LPM_PIPELINE distintos de 0 (predeterminado), el puerto de reloj debe estar habilitado.
El reloj habilita el uso canalizado. Cuando el puerto clken se afirma alto, se lleva a cabo la operación de división. Cuando la señal es baja, no se produce ninguna operación. Si se omite, el valor predeterminado es 1.
Puerto claro asíncrono utilizado en cualquier momento para restablecer la canalización a todos los '0' de forma asíncrona con la entrada del reloj.

Tabla 6.

Puertos de salida LPM_DIVIDE

Nombre del puerto

Requerido

Descripción

cociente[]

Salida de datos. El tamaño del puerto de salida depende del LPM_WIDTHN

valor del parámetro.

permanecer[]

Salida de datos. El tamaño del puerto de salida depende del LPM_WIDTHD

valor del parámetro.

3.6 Parámetros

La siguiente tabla enumera los parámetros para el núcleo IP de FPGA de Intel LPM_DIVIDE.

Nombre del parámetro

Tipo

Requerido

Descripción

LPM_ANCHON

Entero

Especifica los anchos de numer[] y

cociente[] puertos. Los valores son de 1 a 64.

LPM_WIDHD

Entero

Especifica los anchos del denominador[] y

permanecen [] puertos. Los valores son de 1 a 64.

LPM_NREPRESENTACIÓN LPM_DREPRESENTACIÓN

cadena cadena

No

Representación de signo de la entrada del numerador.

Los valores son FIRMADOS y SIN FIRMAR. Cuando esto

parámetro se establece en SIGNED, el divisor

interpreta la entrada numer[] como dos con signo

complementar.

No

Representación de signo de la entrada del denominador.

Los valores son FIRMADOS y SIN FIRMAR. Cuando esto

parámetro se establece en SIGNED, el divisor

interpreta la entrada denom[] como dos con signo

complementar.

LPM_TYPE

Cadena

No

Identifica la biblioteca de parametrizados

nombre de entidad de módulos (LPM) en diseño VHDL

files (.vhd).

LPM_SUGERENCIA

Cadena

No

Cuando instancias una biblioteca de

Los módulos parametrizados (LPM) funcionan en un

Diseño VHDL File (.vhd), debe usar el

parámetro LPM_HINT para especificar un Intel-

parámetro específico. por ejemploamparchivo: LPM_HINT

= “TAMAÑO_CADENA = 8,

ONE_INPUT_IS_CONSTANT = SÍ” El

el valor predeterminado es NO UTILIZADO.

LPM_REMAINDERPOSITIVO

Cadena

No

Parámetro específico de Intel. Debes usar el

parámetro LPM_HINT para especificar el

Parámetro LPM_REMAINDERPOSITIVE en

diseño VHDL files. Los valores son VERDADERO o FALSO.

Si este parámetro se establece en VERDADERO, entonces el

el valor del puerto restante [] debe ser mayor

continuado…

Intel FPGA Integer Arithmetic IP Cores Guía del usuario 14

Enviar comentarios

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

Nombre del parámetro

Tipo

MAXIMIZAR_VELOCIDAD

Entero

LPM_PIPELINE

Entero

INTENDED_DEVICE_FAMILY SALTAR_BITS

Entero de cadena

Requerido No
No, no, no.

Descripción
que o igual a cero. Si este parámetro se establece en TRUE, el valor del puerto de permanecer[] es cero o el valor tiene el mismo signo, ya sea positivo o negativo, que el valor del puerto numérico. Para reducir el área y mejorar la velocidad, Intel recomienda establecer este parámetro en TRUE en operaciones donde el resto debe ser positivo o donde el resto no es importante.
Parámetro específico de Intel. Debe usar el parámetro LPM_HINT para especificar el parámetro MAXIMIZE_SPEED en el diseño de VHDL files. Los valores son [0..9]. Si se utiliza, el software Intel Quartus Prime intenta optimizar una instancia específica de la función LPM_DIVIDE para la velocidad en lugar de la capacidad de enrutamiento y anula la configuración de la opción lógica Técnica de optimización. Si no se utiliza MAXIMIZE_SPEED, se utiliza en su lugar el valor de la opción Técnica de optimización. Si el valor de MAXIMIZE_SPEED es 6 o superior, el Compilador optimiza el núcleo de IP LPM_DIVIDE para una mayor velocidad mediante el uso de cadenas de transporte; si el valor es 5 o menos, el compilador implementa el diseño sin cadenas de transporte.
Especifica el número de ciclos de reloj de latencia asociados con las salidas cociente[] y restante[]. Un valor de cero (0) indica que no existe latencia y que se instancia una función puramente combinatoria. Si se omite, el valor predeterminado es 0 (no canalizado). No puede especificar un valor para el parámetro LPM_PIPELINE que sea superior a LPM_WIDTHN.
Este parámetro se utiliza con fines de modelado y simulación de comportamiento. El editor de parámetros calcula el valor de este parámetro.
Permite una división de bits fraccional más eficiente para optimizar la lógica en los bits principales al proporcionar el número de GND principales al núcleo IP LPM_DIVIDE. Especifique el número de GND inicial en la salida del cociente para este parámetro.

Enviar comentarios

Intel FPGA Integer Arithmetic IP Cores Guía del usuario 15

683490 | 2020.10.05 Enviar comentarios

4. Núcleo IP LPM_MULT (multiplicador)

Figura 3.

El núcleo IP LPM_MULT implementa un multiplicador para multiplicar dos valores de datos de entrada para generar un producto como salida.

La siguiente figura muestra los puertos para el núcleo IP LPM_MULT.

LPM_Mult Puertos

LPM_MULT reloj datosa[] resultado[] datosb[] aclr/sclr clken
Inst.

Funciones de información relacionada en la página 71

4.1. Características
El núcleo IP LPM_MULT ofrece las siguientes características: · Genera un multiplicador que multiplica dos valores de datos de entrada · Admite ancho de datos de 1 bits · Admite formato de representación de datos firmados y sin firmar · Admite optimización de área o velocidad · Admite canalización con latencia de salida configurable · Proporciona un opción para implementación en procesamiento de señal digital dedicado (DSP)
Bloquear circuitos o elementos lógicos (LE) Nota: Al crear multiplicadores más grandes que el tamaño admitido de forma nativa,
habrá un impacto en el rendimiento como resultado de la cascada de los bloques DSP. · Admite puertos de entrada de activación de reloj y borrado asíncrono opcionales · Compatible con borrado síncrono opcional para dispositivos Intel Stratix 10, Intel Arria 10 e Intel Cyclone 10 GX

Corporación Intel. Reservados todos los derechos. Intel, el logotipo de Intel y otras marcas de Intel son marcas comerciales de Intel Corporation o sus subsidiarias. Intel garantiza el rendimiento de sus productos semiconductores y FPGA según las especificaciones actuales de acuerdo con la garantía estándar de Intel, pero se reserva el derecho de realizar cambios en cualquier producto y servicio en cualquier momento sin previo aviso. Intel no asume ninguna responsabilidad que surja de la aplicación o el uso de cualquier información, producto o servicio descrito en este documento, excepto que Intel lo acuerde expresamente por escrito. Se recomienda a los clientes de Intel que obtengan la última versión de las especificaciones del dispositivo antes de confiar en cualquier información publicada y antes de realizar pedidos de productos o servicios. *Otros nombres y marcas pueden reclamarse como propiedad de otros.

ISO 9001: 2015 registrado

4. LPM_MULT (Multiplicador) IP Core 683490 | 2020.10.05
4.2. Prototipo Verilog HDL
El siguiente prototipo Verilog HDL se encuentra en Verilog Design File (.v) lpm.v en el directorio edasíntesis.
módulo lpm_mult (resultado, datosa, datosb, suma, reloj, 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 = “SIN FIRMAR”; parámetro lpm_pipeline = 0; parámetro lpm_hint = "SIN UTILIZAR"; reloj de entrada; entrada clken; entrada aclr; entrada [lpm_widtha-1:0] datosa; entrada [lpm_widthb-1:0] datosb; entrada [lpm_widths-1:0] suma; salida [lpm_widthp-1:0] resultado; módulo final
4.3. Declaración de componente VHDL
La declaración del componente VHDL se encuentra en el Diseño VHDL File (.vhd) LPM_PACK.vhd en el directorio bibliotecasvhdllpm.
componente LPM_MULT genérico ( LPM_WIDTHA : natural; LPM_WIDTHB : natural; LPM_WIDTHS : natural := 1; LPM_WIDTHP : natural;
LPM_REPRESENTATION : cadena := “SIN FIRMAR”; LPM_PIPELINE : natural := 0; LPM_TYPE: cadena := L_MULT; LPM_HINT: cadena: = "SIN UTILIZAR"); puerto ( DATAA : en std_logic_vector(LPM_WIDTHA-1 hasta 0); DATAB : en std_logic_vector(LPM_WIDTHB-1 hasta 0); ACLR : en std_logic := '0'; CLOCK : en std_logic := '0'; CLKEN : en std_logic := '1'; SUM : in std_logic_vector(LPM_WIDTHS-1 hasta 0) := (OTROS => '0'); RESULTADO : out std_logic_vector(LPM_WIDTHS-1 hasta 0)); componente final;
4.4. Declaración VHDL LIBRARY_USE
La declaración VHDL LIBRARY-USE no es necesaria si utiliza la Declaración de componentes VHDL.
BIBLIOTECA lpm; USAR lpm.lpm_components.all;

Enviar comentarios

Intel FPGA Integer Arithmetic IP Cores Guía del usuario 17

4. LPM_MULT (Multiplicador) IP Core 683490 | 2020.10.05

4.5. Señales

Tabla 7.

Señales de entrada LPM_MULT

Nombre de la señal

Requerido

Descripción

datos[]

Entrada de datos.

Para los dispositivos Intel Stratix 10, Intel Arria 10 e Intel Cyclone 10 GX, el tamaño de la señal de entrada depende del valor del parámetro Ancho de datos.

Para dispositivos Intel Cyclone 10 LP más antiguos, el tamaño de la señal de entrada depende del valor del parámetro LPM_WIDTHA.

datosb[]

Entrada de datos.

Para los dispositivos Intel Stratix 10, Intel Arria 10 e Intel Cyclone 10 GX, el tamaño de la señal de entrada depende del valor del parámetro de ancho de Datab.

Para dispositivos más antiguos e Intel Cyclone 10 LP, el tamaño de la señal de entrada depende

en el valor del parámetro LPM_WIDTHB.

reloj

No

Entrada de reloj para uso canalizado.

Para dispositivos Intel Cyclone 10 LP más antiguos, la señal de reloj debe estar habilitada para valores LPM_PIPELINE distintos de 0 (predeterminado).

Para los dispositivos Intel Stratix 10, Intel Arria 10 e Intel Cyclone 10 GX, la señal de reloj debe estar habilitada si el valor de latencia es distinto de 1 (predeterminado).

clken

No

Habilitación de reloj para uso canalizado. Cuando la señal clken se afirma alta, el

se lleva a cabo la operación sumador/restador. Cuando la señal es baja, no hay operación

ocurre. Si se omite, el valor predeterminado es 1.

aclr-sclr

No

Señal clara asíncrona utilizada en cualquier momento para restablecer la tubería a todos 0,

asincrónicamente a la señal del reloj. La tubería se inicializa a un indefinido (X)

nivel lógico. Las salidas son un valor consistente, pero distinto de cero.

No

Señal clara síncrona utilizada en cualquier momento para restablecer la tubería a todos 0,

sincrónicamente a la señal del reloj. La tubería se inicializa a un indefinido (X)

nivel lógico. Las salidas son un valor consistente, pero distinto de cero.

Tabla 8.

LPM_MULT Señales de salida

nombre de la señal

Requerido

Descripción

resultado[]

Salida de datos.

Para dispositivos Intel Cyclone 10 LP más antiguos, el tamaño de la señal de salida depende del valor del parámetro LPM_WIDTHP. Si LPM_WIDTHP < máx. (LPM_WIDTHA + LPM_WIDTHB, LPM_WIDTHS) o (LPM_WIDTHA + LPM_WIDTHS), solo están presentes los MSB LPM_WIDTHP.

Para Intel Stratix 10, Intel Arria 10 e Intel Cyclone 10 GX, el tamaño de las señales de salida depende del parámetro Ancho del resultado.

4.6. Parámetros para dispositivos Stratix V, Arria V, Cyclone V e Intel Cyclone 10 LP

4.6.1. Pestaña General

Tabla 9.

Pestaña General

Parámetro

Valor

Configuración del multiplicador

Multiplique la entrada 'dataa' por la entrada 'datab'

Valor predeterminado

Descripción

Multiplique la entrada 'dataa' por la entrada 'datab'

Seleccione la configuración deseada para el multiplicador.
continuado…

Intel FPGA Integer Arithmetic IP Cores Guía del usuario 18

Enviar comentarios

4. LPM_MULT (Multiplicador) IP Core 683490 | 2020.10.05

Parámetro
¿Qué ancho debe tener la entrada 'dataa'? ¿Qué ancho debe tener la entrada 'datab'? ¿Cómo se debe determinar el ancho de la salida 'resultado'? Restringir el ancho

Valor
Multiplique la entrada 'dataa' por sí misma (operación de cuadratura)
1 – 256 bits

Valor predeterminado

Descripción

8 bits

Especifique el ancho del puerto dataa[].

1 – 256 bits

8 bits

Especifique el ancho del puerto datab[].

Calcular automáticamente el ancho Restringir el ancho
1 – 512 bits

Calcula automáticamente el ancho

Seleccione el método deseado para determinar el ancho del puerto result[].

16 bits

Especifique el ancho del puerto result[].
Este valor solo será efectivo si selecciona Restringir el ancho en el parámetro Tipo.

4.6.2. Pestaña General 2

Tabla 10. Pestaña General 2

Parámetro

Valor

Entrada de datos

¿El bus de entrada 'datab' tiene un valor constante?

No Sí

Tipo de multiplicación

¿Qué tipo de?

No firmado

¿quieres multiplicar? firmado

Implementación

¿Qué implementación de multiplicador se debe usar?

Usar la implementación predeterminada
Use el circuito multiplicador dedicado (no disponible para todas las familias)
Usa elementos lógicos

Valor predeterminado

Descripción

No

Seleccione Sí para especificar el valor constante de la

bus de entrada `datab', si lo hay.

No firmado

Especifique el formato de representación para las entradas dataa[] y datab[].

Usar la implementación predeterminada

Seleccione el método deseado para determinar el ancho del puerto result[].

4.6.3. Pestaña Canalización

Tabla 11. Pestaña Canalización

Parámetro

¿Quieres canalizar el No

¿función?

Valor

Crear un 'aclr'

puerto claro asíncrono

Valor predeterminado

Descripción

No

Seleccione Sí para habilitar el registro de tubería en el

la salida del multiplicador y especifique el deseado

latencia de salida en ciclo de reloj. Habilitando el

El registro de tubería agrega latencia adicional al

producción.

Desenfrenado

Seleccione esta opción para permitir que el puerto aclr use borrado asíncrono para el registro de canalización.
continuado…

Enviar comentarios

Intel FPGA Integer Arithmetic IP Cores Guía del usuario 19

4. LPM_MULT (Multiplicador) IP Core 683490 | 2020.10.05

Parámetro
Crear un reloj de habilitación de reloj 'clken'
Mejoramiento
¿Qué tipo de optimización quieres?

Valor -
Área de velocidad predeterminada

Valor predeterminado

Descripción

Desenfrenado

Especifica la habilitación activa de reloj alto para el puerto de reloj del registro de canalización

Por defecto

Especifique la optimización deseada para el núcleo de IP.
Seleccione Predeterminado para permitir que el software Intel Quartus Prime determine la mejor optimización para el núcleo de IP.

4.7. Parámetros para dispositivos Intel Stratix 10, Intel Arria 10 e Intel Cyclone 10 GX

4.7.1. Pestaña General

Tabla 12. Pestaña General

Parámetro

Valor

Valor predeterminado

Descripción

Tipo de configuración del multiplicador
Anchos de puerto de datos

Multiplique la entrada 'dataa' por la entrada 'datab'
Multiplique la entrada 'dataa' por sí misma (operación de cuadratura)

Multiplique la entrada 'dataa' por la entrada 'datab'

Seleccione la configuración deseada para el multiplicador.

Ancho de datos

1 – 256 bits

8 bits

Especifique el ancho del puerto dataa[].

Ancho de la base de datos

1 – 256 bits

8 bits

Especifique el ancho del puerto datab[].

¿Cómo se debe determinar el ancho de la salida 'resultado'?

Tipo

Calcular automáticamente el ancho
Restringir el ancho

Calcula automáticamente el ancho

Seleccione el método deseado para determinar el ancho del puerto result[].

Valor

1 – 512 bits

16 bits

Especifique el ancho del puerto result[].
Este valor solo será efectivo si selecciona Restringir el ancho en el parámetro Tipo.

Ancho del resultado

1 – 512 bits

Muestra el ancho efectivo del puerto result[].

4.7.2. Pestaña General 2

Tabla 13. Pestaña General 2

Parámetro

Entrada de datos

¿El bus de entrada 'datab' tiene un valor constante?

No Sí

Valor

Valor predeterminado

Descripción

No

Seleccione Sí para especificar el valor constante de la

bus de entrada `datab', si lo hay.

continuado…

Intel FPGA Integer Arithmetic IP Cores Guía del usuario 20

Enviar comentarios

4. LPM_MULT (Multiplicador) IP Core 683490 | 2020.10.05

Parámetro

Valor

Valor

Cualquier valor mayor que 0

Tipo de multiplicación

¿Qué tipo de?

No firmado

¿quieres multiplicar? firmado

Estilo de implementación

¿Qué implementación de multiplicador se debe usar?

Usar la implementación predeterminada
Utilice el circuito multiplicador dedicado
Usa elementos lógicos

Valor predeterminado

Descripción

0

Especifique el valor constante del puerto datab[].

No firmado

Especifique el formato de representación para las entradas dataa[] y datab[].

Usar la implementación predeterminada

Seleccione el método deseado para determinar el ancho del puerto result[].

4.7.3. Canalización

Tabla 14. Pestaña Canalización

Parámetro

Valor

¿Quieres canalizar la función?

Tubería

No Sí

Tipo de señal clara de latencia

Cualquier valor mayor que 0.
NINGUNO ACLR SCLR

Crear un reloj 'clken'

habilitar reloj

¿Qué tipo de optimización quieres?

Tipo

Área de velocidad predeterminada

Valor predeterminado

Descripción

Nº 1 NINGUNO

Seleccione Sí para habilitar el registro de tubería en la salida del multiplicador. Habilitar el registro de canalización agrega latencia adicional a la salida.
Especifique la latencia de salida deseada en el ciclo del reloj.
Especifique el tipo de reinicio para el registro de tubería. Seleccione NINGUNO si no utiliza ningún registro de tubería. Seleccione ACLR para usar borrado asíncrono para el registro de canalización. Esto generará un puerto ACLR. Seleccione SCLR para usar borrado síncrono para el registro de tubería. Esto generará un puerto SCLR.
Especifica la habilitación activa de reloj alto para el puerto de reloj del registro de canalización

Por defecto

Especifique la optimización deseada para el núcleo de IP.
Seleccione Predeterminado para permitir que el software Intel Quartus Prime determine la mejor optimización para el núcleo de IP.

Enviar comentarios

Intel FPGA Integer Arithmetic IP Cores Guía del usuario 21

683490 | 2020.10.05 Enviar comentarios

5. LPM_ADD_SUB (Sumador/Restante)

Figura 4.

El núcleo IP LPM_ADD_SUB le permite implementar un sumador o un restador para sumar o restar conjuntos de datos para producir una salida que contenga la suma o la diferencia de los valores de entrada.

La siguiente figura muestra los puertos para el núcleo IP LPM_ADD_SUB.

Puertos LPM_ADD_SUB

LPM_ADD_SUB agregar_sub cin

datos[]

reloj clken datab[] aclr

resultado[] desbordamiento cout

Inst.

5.1. Características
El núcleo de IP LPM_ADD_SUB ofrece las siguientes características: · Genera sumador, restador y sumador/restador configurable dinámicamente.
funciones · Admite ancho de datos de 1 bits. · Admite el formato de representación de datos, como firmado y sin firmar. · Admite transferencia opcional (préstamo), borrado asíncrono y habilitación de reloj
puertos de entrada · Admite puertos de salida opcionales para llevar a cabo (préstamo) y desbordamiento. · Asigna cualquiera de los buses de datos de entrada a una constante. · Admite canalización con latencia de salida configurable.

Corporación Intel. Reservados todos los derechos. Intel, el logotipo de Intel y otras marcas de Intel son marcas comerciales de Intel Corporation o sus subsidiarias. Intel garantiza el rendimiento de sus productos semiconductores y FPGA según las especificaciones actuales de acuerdo con la garantía estándar de Intel, pero se reserva el derecho de realizar cambios en cualquier producto y servicio en cualquier momento sin previo aviso. Intel no asume ninguna responsabilidad que surja de la aplicación o el uso de cualquier información, producto o servicio descrito en este documento, excepto que Intel lo acuerde expresamente por escrito. Se recomienda a los clientes de Intel que obtengan la última versión de las especificaciones del dispositivo antes de confiar en cualquier información publicada y antes de realizar pedidos de productos o servicios. *Otros nombres y marcas pueden reclamarse como propiedad de otros.

ISO 9001: 2015 registrado

5. LPM_ADD_SUB (Sumador/Restante) 683490 | 2020.10.05
5.2. Prototipo Verilog HDL
El siguiente prototipo Verilog HDL se encuentra en Verilog Design File (.v) lpm.v en el directorio edasíntesis.
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 = “SIN UTILIZAR”; parámetro lpm_representation = “FIRMADO”; parámetro lpm_pipeline = 0; parámetro lpm_hint = "SIN UTILIZAR"; entrada [lpm_width-1:0] datosa, datosb; entrada add_sub, cin; reloj de entrada; entrada clken; entrada aclr; salida [lpm_width-1:0] resultado; salida cout, desbordamiento; módulo final
5.3. Declaración de componente VHDL
La declaración del componente VHDL se encuentra en el Diseño VHDL File (.vhd) LPM_PACK.vhd en el directorio bibliotecasvhdllpm.
componente LPM_ADD_SUB genérico (LPM_WIDTH : natural;
LPM_DIRECTION: cadena: = "SIN UTILIZAR"; LPM_REPRESENTATION: cadena := “FIRMADO”; LPM_PIPELINE : natural := 0; LPM_TYPE : cadena := L_ADD_SUB; LPM_HINT: cadena: = "SIN UTILIZAR"); puerto (DATAA : en std_logic_vector(LPM_WIDTH-1 hasta 0); DATAB : en std_logic_vector(LPM_WIDTH-1 hasta 0); ACLR : en std_logic := '0'; CLOCK : en std_logic := '0'; CLKEN : en std_logic := '1'; CIN: en std_logic:= 'Z'; ADD_SUB: en std_logic:= '1'; RESULTADO: fuera std_logic_vector(LPM_WIDTH-1 hasta 0); COUT: fuera std_logic; OVERFLOW: fuera std_logic); componente final;
5.4. Declaración VHDL LIBRARY_USE
La declaración VHDL LIBRARY-USE no es necesaria si utiliza la Declaración de componentes VHDL.
BIBLIOTECA lpm; USAR lpm.lpm_components.all;
5.5. Puertos
Las siguientes tablas enumeran los puertos de entrada y salida para el núcleo de IP LPM_ADD_SUB.

Enviar comentarios

Intel FPGA Integer Arithmetic IP Cores Guía del usuario 23

5. LPM_ADD_SUB (Sumador/Restante) 683490 | 2020.10.05

Tabla 15. Puertos de entrada de núcleo IP LPM_ADD_SUB

Nombre del puerto

Requerido

Descripción

Cintura

No

Acarreo al bit de orden inferior. Para operaciones de suma, el valor predeterminado es 0. Para

operaciones de resta, el valor predeterminado es 1.

datos[]

Entrada de datos. El tamaño del puerto de entrada depende del valor del parámetro LPM_WIDTH.

datosb[]

Entrada de datos. El tamaño del puerto de entrada depende del valor del parámetro LPM_WIDTH.

añadir_sub

No

Puerto de entrada opcional para habilitar el cambio dinámico entre el sumador y el restador

funciones Si se usa el parámetro LPM_DIRECTION, no se puede usar add_sub. Si

omitido, el valor predeterminado es ADD. Intel recomienda que utilice el

Parámetro LPM_DIRECTION para especificar el funcionamiento de la función LPM_ADD_SUB,

en lugar de asignar una constante al puerto add_sub.

reloj

No

Entrada para uso canalizado. El puerto de reloj proporciona la entrada de reloj para un canalizado

operación. Para valores de LPM_PIPELINE distintos de 0 (predeterminado), el puerto de reloj debe estar

activado.

clken

No

Habilitación de reloj para uso canalizado. Cuando el puerto clken se afirma alto, el sumador/

se lleva a cabo la operación sustractor. Cuando la señal es baja, no se produce ninguna operación. Si

omitido, el valor predeterminado es 1.

aclr

No

Borrado asíncrono para uso canalizado. La tubería se inicializa a un indefinido (X)

nivel lógico. El puerto aclr se puede usar en cualquier momento para restablecer la canalización a todos 0,

asincrónicamente a la señal del reloj.

Tabla 16. Puertos de salida del núcleo IP LPM_ADD_SUB

Nombre del puerto

Requerido

Descripción

resultado[]

Salida de datos. El tamaño del puerto de salida depende del parámetro LPM_WIDTH

valor.

Contar

No

Carry-out (préstamo) del bit más significativo (MSB). El puerto cout tiene un físico

interpretación como el carry-out (préstamo) del MSB. El puerto cout detecta

desbordamiento en operaciones UNSIGNED. El puerto cout opera de la misma manera para

Operaciones FIRMADA y NO FIRMADA.

rebosar

No

Salida de excepción de desbordamiento opcional. El puerto de desbordamiento tiene una interpretación física como

el XOR del carry-in al MSB con el carry-out del MSB. El puerto de desbordamiento

afirma cuando los resultados superan la precisión disponible, y se utiliza sólo cuando el

El valor del parámetro LPM_REPRESENTATION está FIRMADO.

5.6 Parámetros

La siguiente tabla enumera los parámetros básicos de IP de LPM_ADD_SUB.

Tabla 17. Parámetros principales de IP de LPM_ADD_SUB

Nombre de parámetro LPM_WIDTH

Tipo entero

Obligatorio Sí

Descripción
Especifica los anchos de los puertos dataa[], datab[] y result[].

LPM_DIRECCIÓN

Cadena

No

Los valores son AGREGAR, SUB y NO UTILIZADO. Si se omite, el valor predeterminado es DEFAULT, que indica al parámetro que tome su valor del puerto add_sub. El puerto add_sub no se puede usar si se usa LPM_DIRECTION. Intel recomienda utilizar el parámetro LPM_DIRECTION para especificar el funcionamiento de la función LPM_ADD_SUB, en lugar de asignar una constante al puerto add_sub.
continuado…

Intel FPGA Integer Arithmetic IP Cores Guía del usuario 24

Enviar comentarios

5. LPM_ADD_SUB (Sumador/Restante) 683490 | 2020.10.05

Nombre del parámetro LPM_REPRESENTATION LPM_PIPELINE LPM_HINT LPM_TYPE ONE_INPUT_IS_CONSTANT MAXIMIZE_SPEED
DISPOSITIVO_INTENDIDO_FAMILIA

Tipo Cadena Entero Cadena Cadena Cadena Entero
Cadena

Obligatorio No No No No No No
No

Descripción
Especifica el tipo de adición realizada. Los valores son FIRMADOS y SIN FIRMAR. Si se omite, el valor predeterminado es FIRMADO. Cuando este parámetro se establece en SIGNED, el sumador/restador interpreta la entrada de datos como complemento a dos con signo.
Especifica el número de ciclos de reloj de latencia asociados con la salida result[]. Un valor de cero (0) indica que no existe latencia y que se instanciará una función puramente combinatoria. Si se omite, el valor predeterminado es 0 (no canalizado).
Le permite especificar parámetros específicos de Intel en el diseño de VHDL files (.vhd). El valor predeterminado es NO UTILIZADO.
Identifica el nombre de entidad de la biblioteca de módulos parametrizados (LPM) en el diseño de VHDL files.
Parámetro específico de Intel. Debe usar el parámetro LPM_HINT para especificar el parámetro ONE_INPUT_IS_CONSTANT en el diseño de VHDL files. Los valores son SÍ, NO y NO UTILIZADO. Proporciona una mayor optimización si una entrada es constante. Si se omite, el valor predeterminado es NO.
Parámetro específico de Intel. Debe usar el parámetro LPM_HINT para especificar el parámetro MAXIMIZE_SPEED en el diseño de VHDL files. Puede especificar un valor entre 0 y 10. Si se utiliza, el software Intel Quartus Prime intenta optimizar una instancia específica de la función LPM_ADD_SUB para la velocidad en lugar de la capacidad de enrutamiento y anula la configuración de la opción lógica Técnica de optimización. Si no se utiliza MAXIMIZE_SPEED, se utiliza en su lugar el valor de la opción Técnica de optimización. Si la configuración de MAXIMIZE_SPEED es 6 o superior, el Compilador optimiza el núcleo IP LPM_ADD_SUB para una mayor velocidad mediante cadenas de transporte; si la configuración es 5 o menos, el compilador implementa el diseño sin cadenas de transporte. Este parámetro debe especificarse para los dispositivos Cyclone, Stratix y Stratix GX solo cuando no se usa el puerto add_sub.
Este parámetro se utiliza con fines de modelado y simulación de comportamiento. El editor de parámetros calcula el valor de este parámetro.

Enviar comentarios

Intel FPGA Integer Arithmetic IP Cores Guía del usuario 25

683490 | 2020.10.05 Enviar comentarios

6. LPM_COMPARE (Comparador)

Figura 5.

El núcleo LPM_COMPARE IP compara el valor de dos conjuntos de datos para determinar la relación entre ellos. En su forma más simple, puede usar una puerta OR exclusiva para determinar si dos bits de datos son iguales.

La siguiente figura muestra los puertos para el núcleo IP LPM_COMPARE.

Puertos LPM_COMPARE

LPM_COMPARE

clken

alba

aeb

datos[]

agb

datosb[]

edadb

reloj

o

aclr

aleb

Inst.

6.1. Características
El núcleo IP LPM_COMPARE ofrece las siguientes características: · Genera una función de comparación para comparar dos conjuntos de datos · Admite un ancho de datos de 1 bits · Admite formatos de representación de datos como firmados y sin firmar · Produce los siguientes tipos de salida:
— alb (la entrada A es menor que la entrada B) — aeb (la entrada A es igual a la entrada B) — agb (la entrada A es mayor que la entrada B) — ageb (la entrada A es mayor o igual que la entrada B) — aneb ( la entrada A no es igual a la entrada B) — aleb (la entrada A es menor o igual que la entrada B) · Admite puertos de entrada de activación de reloj y borrado asíncrono opcionales · Asigna la entrada datab[] a una constante · Admite canalización con latencia de salida configurable

Corporación Intel. Reservados todos los derechos. Intel, el logotipo de Intel y otras marcas de Intel son marcas comerciales de Intel Corporation o sus subsidiarias. Intel garantiza el rendimiento de sus productos semiconductores y FPGA según las especificaciones actuales de acuerdo con la garantía estándar de Intel, pero se reserva el derecho de realizar cambios en cualquier producto y servicio en cualquier momento sin previo aviso. Intel no asume ninguna responsabilidad que surja de la aplicación o el uso de cualquier información, producto o servicio descrito en este documento, excepto que Intel lo acuerde expresamente por escrito. Se recomienda a los clientes de Intel que obtengan la última versión de las especificaciones del dispositivo antes de confiar en cualquier información publicada y antes de realizar pedidos de productos o servicios. *Otros nombres y marcas pueden reclamarse como propiedad de otros.

ISO 9001: 2015 registrado

6. LPM_COMPARE (Comparador) 683490 | 2020.10.05
6.2. Prototipo Verilog HDL
El siguiente prototipo Verilog HDL se encuentra en Verilog Design File (.v) lpm.v en el directorio edasíntesis.
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 = “SIN FIRMAR”; parámetro lpm_pipeline = 0; parámetro lpm_hint = "SIN UTILIZAR"; entrada [lpm_width-1:0] datosa, datosb; reloj de entrada; entrada clken; entrada aclr; salida alb, aeb, agb, aleb, aneb, ageb; módulo final
6.3. Declaración de componente VHDL
La declaración del componente VHDL se encuentra en el Diseño VHDL File (.vhd) LPM_PACK.vhd en el directorio bibliotecasvhdllpm.
componente LPM_COMPARE genérico (LPM_WIDTH : natural;
LPM_REPRESENTATION : cadena := “SIN FIRMAR”; LPM_PIPELINE : natural := 0; LPM_TYPE: cadena := L_COMPARE; LPM_HINT: cadena: = "SIN UTILIZAR"); puerto (DATAA : en std_logic_vector(LPM_WIDTH-1 hasta 0); DATAB : en std_logic_vector(LPM_WIDTH-1 hasta 0); ACLR : en std_logic := '0'; CLOCK : en std_logic := '0'; CLKEN : en std_logic := '1'; AGB: fuera std_logic; AGEB: fuera std_logic; AEB: fuera std_logic; ANEB: fuera std_logic; ALB: fuera std_logic; ALEB: fuera std_logic); componente final;
6.4. Declaración VHDL LIBRARY_USE
La declaración VHDL LIBRARY-USE no es necesaria si utiliza la Declaración de componentes VHDL.
BIBLIOTECA lpm; USAR lpm.lpm_components.all;
6.5. Puertos
Las siguientes tablas enumeran los puertos de entrada y salida para el núcleo IP LMP_COMPARE.

Enviar comentarios

Intel FPGA Integer Arithmetic IP Cores Guía del usuario 27

6. LPM_COMPARE (Comparador) 683490 | 2020.10.05

Tabla 18. Puertos de entrada de LPM_COMPARE IP core

Nombre del puerto

Requerido

Descripción

datos[]

Entrada de datos. El tamaño del puerto de entrada depende del valor del parámetro LPM_WIDTH.

datosb[]

Entrada de datos. El tamaño del puerto de entrada depende del valor del parámetro LPM_WIDTH.

reloj

No

Entrada de reloj para uso canalizado. El puerto de reloj proporciona la entrada de reloj para un canalizado

operación. Para valores de LPM_PIPELINE distintos de 0 (predeterminado), el puerto de reloj debe estar

activado.

clken

No

Habilitación de reloj para uso canalizado. Cuando el puerto clken se afirma alto, el

tiene lugar la operación de comparación. Cuando la señal es baja, no se produce ninguna operación. Si

omitido, el valor predeterminado es 1.

aclr

No

Borrado asíncrono para uso canalizado. La canalización se inicializa en una lógica indefinida (X)

nivel. El puerto aclr se puede usar en cualquier momento para restablecer la canalización a todos 0,

asincrónicamente a la señal del reloj.

Tabla 19. Puertos de salida de LPM_COMPARE IP core

Nombre del puerto

Requerido

Descripción

alba

No

Puerto de salida para el comparador. Se afirma si la entrada A es menor que la entrada B.

aeb

No

Puerto de salida para el comparador. Afirmado si la entrada A es igual a la entrada B.

agb

No

Puerto de salida para el comparador. Se afirma si la entrada A es mayor que la entrada B.

edadb

No

Puerto de salida para el comparador. Afirmado si la entrada A es mayor o igual que la entrada

B.

o

No

Puerto de salida para el comparador. Se afirma si la entrada A no es igual a la entrada B.

aleb

No

Puerto de salida para el comparador. Se afirma si la entrada A es menor o igual que la entrada B.

6.6 Parámetros

La siguiente tabla enumera los parámetros para el núcleo de IP LPM_COMPARE.

Tabla 20. Parámetros de LPM_COMPARE IP core

Nombre del parámetro

Tipo

Requerido

LPM_ANCHO

Entero Sí

LPM_REPRESENTACIÓN

Cadena

No

LPM_PIPELINE

número entero

LPM_SUGERENCIA

Cadena

No

Descripción
Especifica los anchos de los puertos dataa[] y datab[].
Especifica el tipo de comparación realizada. Los valores son FIRMADOS y SIN FIRMAR. Si se omite, el valor predeterminado es SIN FIRMA. Cuando el valor de este parámetro se establece en SIGNED, el comparador interpreta la entrada de datos como complemento a dos con signo.
Especifica el número de ciclos de reloj de latencia asociados con la salida alb, aeb, agb, ageb, aleb o aneb. Un valor de cero (0) indica que no existe latencia y que se instanciará una función puramente combinatoria. Si se omite, el valor predeterminado es 0 (no canalizado).
Le permite especificar parámetros específicos de Intel en el diseño de VHDL files (.vhd). El valor predeterminado es NO UTILIZADO.
continuado…

Intel FPGA Integer Arithmetic IP Cores Guía del usuario 28

Enviar comentarios

6. LPM_COMPARE (Comparador) 683490 | 2020.10.05
Nombre de parámetro LPM_TYPE INTENDED_DEVICE_FAMILY
UNA_ENTRADA_ES_CONSTANTE

Tipo Cadena Cadena
Cadena

Requerido No No
No

Descripción
Identifica el nombre de entidad de la biblioteca de módulos parametrizados (LPM) en el diseño de VHDL files.
Este parámetro se utiliza con fines de modelado y simulación de comportamiento. El editor de parámetros calcula el valor de este parámetro.
Parámetro específico de Intel. Debe usar el parámetro LPM_HINT para especificar el parámetro ONE_INPUT_IS_CONSTANT en el diseño de VHDL files. Los valores son SÍ, NO o SIN UTILIZAR. Proporciona una mayor optimización si una entrada es constante. Si se omite, el valor predeterminado es NO.

Enviar comentarios

Intel FPGA Integer Arithmetic IP Cores Guía del usuario 29

683490 | 2020.10.05 Enviar comentarios

7. Núcleo IP ALTECC (Código de corrección de errores: codificador/descodificador)

Figura 6.

Intel proporciona el núcleo IP ALTECC para implementar la funcionalidad ECC. ECC detecta datos corruptos que ocurren en el lado del receptor durante la transmisión de datos. Este método de corrección de errores es más adecuado para situaciones en las que los errores ocurren al azar en lugar de en ráfagas.

El ECC detecta errores a través del proceso de codificación y decodificación de datos. por ejemploampes decir, cuando se aplica el ECC en una aplicación de transmisión, los datos leídos de la fuente se codifican antes de enviarse al receptor. La salida (palabra de código) del codificador consta de los datos sin procesar a los que se añade el número de bits de paridad. El número exacto de bits de paridad añadidos depende del número de bits en los datos de entrada. La palabra de código generada se transmite luego al destino.

El receptor recibe la palabra clave y la decodifica. La información obtenida por el decodificador determina si se detecta un error. El decodificador detecta errores de un solo bit y de doble bit, pero solo puede corregir errores de un solo bit en los datos corruptos. Este tipo de ECC es detección de doble error de corrección de error simple (SECDED).

Puede configurar las funciones de codificador y decodificador del núcleo IP de ALTECC. La entrada de datos al codificador se codifica para generar una palabra de código que es una combinación de la entrada de datos y los bits de paridad generados. La palabra de código generada se transmite al módulo decodificador para su decodificación justo antes de llegar a su bloque de destino. El decodificador genera un vector de síndrome para determinar si hay algún error en la palabra de código recibida. El decodificador corrige los datos solo si el error de un solo bit proviene de los bits de datos. No se marca ninguna señal si el error de un solo bit proviene de los bits de paridad. El decodificador también tiene señales indicadoras para mostrar el estado de los datos recibidos y la acción realizada por el decodificador, si corresponde.

Las siguientes figuras muestran los puertos para el núcleo IP de ALTECC.

Puertos de codificador ALTECC

ALTCC_ENCODER

datos[]

q[]

reloj

Reloj

aclr

Inst.

Corporación Intel. Reservados todos los derechos. Intel, el logotipo de Intel y otras marcas de Intel son marcas comerciales de Intel Corporation o sus subsidiarias. Intel garantiza el rendimiento de sus productos semiconductores y FPGA según las especificaciones actuales de acuerdo con la garantía estándar de Intel, pero se reserva el derecho de realizar cambios en cualquier producto y servicio en cualquier momento sin previo aviso. Intel no asume ninguna responsabilidad que surja de la aplicación o el uso de cualquier información, producto o servicio descrito en este documento, excepto que Intel lo acuerde expresamente por escrito. Se recomienda a los clientes de Intel que obtengan la última versión de las especificaciones del dispositivo antes de confiar en cualquier información publicada y antes de realizar pedidos de productos o servicios. *Otros nombres y marcas pueden reclamarse como propiedad de otros.

ISO 9001: 2015 registrado

7. ALTECC (Código de corrección de errores: codificador/descodificador) IP Core 683490 | 2020.10.05

Figura 7. Puertos del decodificador ALTECC

ALTECC_DECODIFICADOR

datos[] reloj clocken

q[] err_detectado err_corregido
error_fatal

aclr

Inst.

7.1. Características del codificador ALTECC

El núcleo IP del codificador ALTECC ofrece las siguientes características: · Realiza la codificación de datos mediante el esquema de codificación de Hamming · Admite un ancho de datos de 2 bits · Admite formato de representación de datos firmados y sin firmar · Admite canalización con latencia de salida de uno o dos ciclos de reloj · Admite opcional puertos asíncronos claros y de habilitación de reloj

El núcleo IP del codificador ALTECC toma y codifica los datos utilizando el esquema de codificación Hamming. El esquema de codificación de Hamming deriva los bits de paridad y los agrega a los datos originales para producir la palabra de código de salida. El número de bits de paridad añadidos depende del ancho de los datos.

La siguiente tabla enumera la cantidad de bits de paridad agregados para diferentes rangos de anchos de datos. La columna Bits totales representa el número total de bits de datos de entrada y bits de paridad adjuntos.

Tabla 21.

Número de bits de paridad y palabra de código según el ancho de datos

Ancho de datos

Número de bits de paridad

Bits totales (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

La derivación de bits de paridad utiliza una comprobación de paridad par. El 1 bit adicional (que se muestra en la tabla como +1) se agrega a los bits de paridad como el MSB de la palabra de código. Esto asegura que la palabra clave tenga un número par de unos. por ejemploampes decir, si el ancho de los datos es de 4 bits, se añaden 4 bits de paridad a los datos para convertirse en una palabra de código con un total de 8 bits. Si 7 bits del LSB de la palabra de código de 8 bits tienen un número impar de 1, el octavo bit (MSB) de la palabra de código es 8, lo que hace que el número total de 1 en la palabra de código sea par.
La siguiente figura muestra la palabra de código generada y la disposición de los bits de paridad y los bits de datos en una entrada de datos de 8 bits.

Enviar comentarios

Intel FPGA Integer Arithmetic IP Cores Guía del usuario 31

7. ALTECC (Código de corrección de errores: codificador/descodificador) IP Core 683490 | 2020.10.05

Figura 8.

Disposición de bits de paridad y bits de datos en una palabra de código generada de 8 bits

MSB

LSB

4 bits de paridad

4 bits de datos

8

1

El núcleo IP del codificador ALTECC solo acepta anchos de entrada de 2 a 64 bits a la vez. Los anchos de entrada de 12 bits, 29 bits y 64 bits, que son ideales para dispositivos Intel, generan salidas de 18 bits, 36 bits y 72 bits respectivamente. Puede controlar la limitación de selección de bits en el editor de parámetros.

7.2. Prototipo Verilog HDL (ALTECC_ENCODER)
El siguiente prototipo Verilog HDL se encuentra en Verilog Design File (.v) lpm.v en el directorio edasíntesis.
módulo altecc_encoder #( parámetro added_device_family = “no utilizado”, 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 = “no utilizado”) (cable de entrada aclr, reloj de cable de entrada, entrada reloj de cable, cable de entrada [width_dataword-1:0] datos, cable de salida [width_codeword-1:0] q); módulo final

7.3. Prototipo Verilog HDL (ALTECC_DECODER)
El siguiente prototipo Verilog HDL se encuentra en Verilog Design File (.v) lpm.v en el directorio edasíntesis.
módulo altecc_decoder #( parámetro added_device_family = “no utilizado”, 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 = “no utilizado”) (cable de entrada aclr, reloj de cable de entrada, entrada reloj de cable, cable de entrada [width_codeword-1:0] datos, cable de salida err_corregido, cable de salida err_detected, cable de salida err_fatal, cable de salida [width_dataword-1:0] q); módulo final

Intel FPGA Integer Arithmetic IP Cores Guía del usuario 32

Enviar comentarios

7. ALTECC (Código de corrección de errores: codificador/descodificador) IP Core 683490 | 2020.10.05
7.4. Declaración de componente VHDL (ALTECC_ENCODER)
La declaración del componente VHDL se encuentra en el Diseño VHDL File (.vhd) altera_mf_components.vhd en el directorio libraryvhdlaltera_mf.
componente altecc_encoder genérico ( familia_dispositivo_destinado:cadena := “sin usar”; lpm_pipeline:natural := 0; palabra_código_anchura:natural := 8; palabra_datos_anchura:natural := 8; lpm_hint:cadena := “SIN UTILIZAR”; lpm_type:cadena := “altecc_encoder ”); port( aclr:en std_logic := '0'; clock:en std_logic := '0'; clocken:en std_logic := '1'; data:en std_logic_vector(width_dataword-1 hasta 0); q:out std_logic_vector(width_codeword -1 hasta 0)); componente final;
7.5. Declaración de componente VHDL (ALTECC_DECODER)
La declaración del componente VHDL se encuentra en el Diseño VHDL File (.vhd) altera_mf_components.vhd en el directorio libraryvhdlaltera_mf.
componente altecc_decoder genérico ( familia_dispositivo_destinado:cadena := “no utilizado”; lpm_pipeline:natural := 0; palabra_código_anchura:natural := 8; palabra_datos_anchura:natural := 8; lpm_hint:cadena := “NO UTILIZADO”; lpm_type:cadena := “decodificador_altecc ”); port( aclr:en std_logic := '0'; clock:en std_logic := '0'; clocken:en std_logic := '1'; data:en std_logic_vector(width_codeword-1 hasta 0); err_corrected : out std_logic; err_detected : fuera std_logic; q: fuera std_logic_vector(width_dataword-1 hasta 0); syn_e: fuera std_logic); componente final;
7.6. Declaración VHDL LIBRARY_USE
La declaración VHDL LIBRARY-USE no es necesaria si utiliza la Declaración de componentes VHDL.
BIBLIOTECA altera_mf; UTILIZAR altera_mf.altera_mf_components.all;
7.7. Puertos de codificador
Las siguientes tablas enumeran los puertos de entrada y salida para el núcleo IP del codificador ALTECC.

Enviar comentarios

Intel FPGA Integer Arithmetic IP Cores Guía del usuario 33

7. ALTECC (Código de corrección de errores: codificador/descodificador) IP Core 683490 | 2020.10.05

Tabla 22. Puertos de entrada del codificador ALTECC

Nombre del puerto

Requerido

Descripción

datos[]

Puerto de entrada de datos. El tamaño del puerto de entrada depende de WIDTH_DATAWORD

valor del parámetro. El puerto data[] contiene los datos sin procesar que se codificarán.

reloj

Puerto de entrada de reloj que proporciona la señal de reloj para sincronizar la operación de codificación.

El puerto de reloj es necesario cuando el valor de LPM_PIPELINE es mayor que 0.

Reloj

No

Habilitar reloj. Si se omite, el valor predeterminado es 1.

aclr

No

Entrada clara asíncrona. La señal activa de alto aclr se puede utilizar en cualquier momento para

Borrar asincrónicamente los registros.

Tabla 23. Puertos de salida del codificador ALTECC

Nombre de puerto q[]

Obligatorio Sí

Descripción
Puerto de salida de datos codificados. El tamaño del puerto de salida depende del valor del parámetro WIDTH_CODEWORD.

7.8. Puertos de decodificador

Las siguientes tablas enumeran los puertos de entrada y salida para el núcleo IP del decodificador ALTECC.

Tabla 24. Puertos de entrada del decodificador ALTECC

Nombre del puerto

Requerido

Descripción

datos[]

Puerto de entrada de datos. El tamaño del puerto de entrada depende del valor del parámetro WIDTH_CODEWORD.

reloj

Puerto de entrada de reloj que proporciona la señal de reloj para sincronizar la operación de codificación. El puerto de reloj es necesario cuando el valor de LPM_PIPELINE es mayor que 0.

Reloj

No

Habilitar reloj. Si se omite, el valor predeterminado es 1.

aclr

No

Entrada clara asíncrona. La señal activa de aclr alto se puede utilizar en cualquier momento para borrar los registros de forma asíncrona.

Tabla 25. Puertos de salida del decodificador ALTECC

Nombre de puerto q[]

Obligatorio Sí

Descripción
Puerto de salida de datos decodificados. El tamaño del puerto de salida depende del valor del parámetro WIDTH_DATAWORD.

err_detected Sí

Marca la señal para reflejar el estado de los datos recibidos y especifica cualquier error encontrado.

err_correcte Sí d

Señal de bandera para reflejar el estado de los datos recibidos. Denota un error de un solo bit encontrado y corregido. Puede utilizar los datos porque ya se han corregido.

error_fatal

Señal de bandera para reflejar el estado de los datos recibidos. Indica que se encontró un error de doble bit, pero no se corrigió. No debe utilizar los datos si se afirma esta señal.

sintetizar

No

Una señal de salida que aumentará cuando se detecte un error de un solo bit en la paridad

Pedazos.

7.9. Parámetros del codificador
La siguiente tabla enumera los parámetros para el núcleo IP del codificador ALTECC.

Intel FPGA Integer Arithmetic IP Cores Guía del usuario 34

Enviar comentarios

7. ALTECC (Código de corrección de errores: codificador/descodificador) IP Core 683490 | 2020.10.05

Tabla 26. Parámetros del codificador ALTECC

Nombre del parámetro

Tipo

Requerido

Descripción

WIDTH_DATAWORD

Entero Sí

Especifica el ancho de los datos sin procesar. Los valores son de 2 a 64. Si se omite, el valor predeterminado es 8.

WIDTH_CODEWORD

Entero Sí

Especifica el ancho de la palabra de código correspondiente. Los valores válidos son de 6 a 72, excepto 9, 17, 33 y 65. Si se omite, el valor predeterminado es 13.

LPM_PIPELINE

número entero

Especifica la tubería para el circuito. Los valores son de 0 a 2. Si el valor es 0, los puertos no están registrados. Si el valor es 1, los puertos de salida están registrados. Si el valor es 2, se registran los puertos de entrada y salida. Si se omite, el valor predeterminado es 0.

7.10. Parámetros del decodificador

La siguiente tabla enumera los parámetros principales de IP del decodificador ALTECC.

Tabla 27. Parámetros del decodificador ALTECC

Nombre de parámetro WIDTH_DATAWORD

Tipo entero

Requerido

Descripción

Especifica el ancho de los datos sin procesar. Los valores son de 2 a 64. El

el valor predeterminado es 8.

WIDTH_CODEWORD

Entero

Especifica el ancho de la palabra de código correspondiente. Los valores son 6

a 72, excluyendo 9, 17, 33 y 65. Si se omite, el valor predeterminado

Tiene 13 años.

LPM_PIPELINE

Entero

No

Especifica el registro del circuito. Los valores son de 0 a 2. Si el

el valor es 0, no se implementa ningún registro. Si el valor es 1, el

se registra la salida. Si el valor es 2, tanto la entrada como el

se registra la salida. Si el valor es mayor que 2, adicional

los registros se implementan en la salida para el adicional

latencias. Si se omite, el valor predeterminado es 0.

Crear un puerto 'syn_e'

Entero

No

Active este parámetro para crear un puerto syn_e.

Enviar comentarios

Intel FPGA Integer Arithmetic IP Cores Guía del usuario 35

683490 | 2020.10.05 Enviar comentarios

8. Núcleo IP sumador multiplicador Intel FPGA

Figura 9.

El núcleo IP Intel FPGA Multiply Adder (dispositivos Intel Stratix 10, Intel Arria 10 e Intel Cyclone 10 GX) o ALTERA_MULT_ADD (dispositivos Arria V, Stratix V y Cyclone V) le permite implementar un multiplicador-sumador.

La siguiente figura muestra los puertos para Intel FPGA Multiply Adder o ALTERA_MULT_ADD IP core.

Puertos Intel FPGA Multiply Adder o ALTERA_MULT_ADD

Intel FPGA Multiply Adder o ALTERA_MULT_ADD

dataa[] signa datab[] signb datac[] coefsel0[] coefsel1[] coefsel2[] coefsel3[] addnsub1 addnsub3 aclr/sclr[] scanina[] reloj0 reloj1 reloj2 ena0 ena1 ena2 sload_accum
cadena accum_sload[]

scanouta[] resultado[]

aclr0 aclr1

Inst.
Un sumador-multiplicador acepta pares de entradas, multiplica los valores y luego suma o resta de los productos de todos los demás pares.
Si todos los anchos de datos de entrada son de 9 bits o menos, la función utiliza la configuración del multiplicador de entrada de 9 x 9 bits en el bloque DSP para dispositivos que admiten la configuración de 9 x 9. De lo contrario, el bloque DSP utiliza multiplicadores de entrada de 18 × 18 bits para procesar datos con anchos entre 10 bits y 18 bits. Si se producen varios núcleos Intel FPGA Multiply Adder o ALTERA_MULT_ADD IP en un diseño, las funciones se distribuyen como

Corporación Intel. Reservados todos los derechos. Intel, el logotipo de Intel y otras marcas de Intel son marcas comerciales de Intel Corporation o sus subsidiarias. Intel garantiza el rendimiento de sus productos semiconductores y FPGA según las especificaciones actuales de acuerdo con la garantía estándar de Intel, pero se reserva el derecho de realizar cambios en cualquier producto y servicio en cualquier momento sin previo aviso. Intel no asume ninguna responsabilidad que surja de la aplicación o el uso de cualquier información, producto o servicio descrito en este documento, excepto que Intel lo acuerde expresamente por escrito. Se recomienda a los clientes de Intel que obtengan la última versión de las especificaciones del dispositivo antes de confiar en cualquier información publicada y antes de realizar pedidos de productos o servicios. *Otros nombres y marcas pueden reclamarse como propiedad de otros.

ISO 9001: 2015 registrado

8. Intel FPGA sumador multiplicador IP Core 683490 | 2020.10.05
tantos bloques DSP diferentes como sea posible para que el enrutamiento a estos bloques sea más flexible. Menos multiplicadores por bloque DSP permiten más opciones de enrutamiento en el bloque al minimizar las rutas al resto del dispositivo.
Los registros y los registros de tubería adicionales para las siguientes señales también se colocan dentro del bloque DSP: · Entrada de datos · Selección con o sin signo · Selección de suma o resta · Productos de multiplicadores
En el caso del resultado de salida, el primer registro se coloca en el bloque DSP. Sin embargo, los registros de latencia adicionales se colocan en elementos lógicos fuera del bloque. Los periféricos del bloque DSP, incluidas las entradas de datos al multiplicador, las entradas de señal de control y las salidas del sumador, utilizan el enrutamiento regular para comunicarse con el resto del dispositivo. Todas las conexiones en la función usan enrutamiento dedicado dentro del bloque DSP. Este enrutamiento dedicado incluye las cadenas de registros de desplazamiento cuando selecciona la opción de desplazar los datos de entrada registrados de un multiplicador de un multiplicador a un multiplicador adyacente.
Para obtener más información sobre los bloques DSP en cualquiera de las series de dispositivos Stratix V y Arria V, consulte el capítulo Bloques DSP de los manuales respectivos en la página Literatura y documentación técnica.
Información relacionada AN 306: Implementación de multiplicadores en dispositivos FPGA
Proporciona más información sobre la implementación de multiplicadores mediante DSP y bloques de memoria en dispositivos Intel FPGA.
8.1. Características
El núcleo Intel FPGA Multiply Adder o ALTERA_MULT_ADD IP ofrece las siguientes características: · Genera un multiplicador para realizar operaciones de multiplicación de dos complejos
números Nota: Al crear multiplicadores más grandes que el tamaño compatible de forma nativa, es posible que/
habrá un impacto en el rendimiento como resultado de la cascada de los bloques DSP. · Admite anchos de datos de 1 256 bits · Admite formato de representación de datos firmados y sin firmar · Admite canalización con latencia de entrada configurable · Proporciona una opción para cambiar dinámicamente entre soporte de datos firmados y sin firmar · Proporciona una opción para cambiar dinámicamente entre operaciones de suma y resta · Admite Puertos de entrada de activación de reloj y borrado asíncrono y síncrono opcionales · Admite el modo de registro de retardo sistólico · Admite presumador con 8 coeficientes de precarga por multiplicador · Admite constante de precarga para complementar la retroalimentación del acumulador

Enviar comentarios

Intel FPGA Integer Arithmetic IP Cores Guía del usuario 37

8. Intel FPGA sumador multiplicador IP Core 683490 | 2020.10.05

8.1.1. pre-sumador
Con el sumador previo, las sumas o restas se realizan antes de alimentar el multiplicador.
Hay cinco modos de sumador previo: · Modo simple · Modo de coeficiente · Modo de entrada · Modo cuadrado · Modo constante

Nota:

Cuando se usa el sumador previo (coeficiente/entrada/cuadrado de sumador previo), todas las entradas de datos al multiplicador deben tener la misma configuración de reloj.

8.1.1.1. Modo simple previo al sumador

En este modo, ambos operandos se derivan de los puertos de entrada y el sumador previo no se usa ni se omite. Este es el modo por defecto.

Figura 10. Modo simple previo al sumador
a0b0

Multi0

resultado

8.1.1.2. Modo Coeficiente Pre-sumador
En este modo, un operando multiplicador se deriva del sumador previo y el otro operando se deriva del almacenamiento interno de coeficientes. El almacenamiento de coeficientes permite hasta 8 constantes preestablecidas. Las señales de selección de coeficientes son coefsel[0..3].
Este modo se expresa en la siguiente ecuación.

A continuación se muestra el modo de coeficiente presumador de un multiplicador.

Figura 11. Modo Coeficiente Pre-sumador

predicador

a0

Multi0

+/-

resultado

b0

coefsel0 coef

Intel FPGA Integer Arithmetic IP Cores Guía del usuario 38

Enviar comentarios

8. Intel FPGA sumador multiplicador IP Core 683490 | 2020.10.05
8.1.1.3. Modo de entrada de sumador previo En este modo, un operando multiplicador se deriva del sumador previo y el otro operando se deriva del puerto de entrada datac[]. Este modo se expresa en la siguiente ecuación.

A continuación se muestra el modo de entrada del presumador de un multiplicador.

Figura 12. Modo de entrada de presumador
a0b0

Multi0

+/-

resultado

c0

8.1.1.4. Modo Pre-sumador Cuadrado Este modo se expresa en la siguiente ecuación.

A continuación se muestra el modo cuadrado presumador de dos multiplicadores.

Figura 13. Modo cuadrado previo al sumador
a0b0

Multi0

+/-

resultado

8.1.1.5. Modo constante previo al sumador
En este modo, un operando multiplicador se deriva del puerto de entrada y el otro operando se deriva del almacenamiento interno de coeficientes. El almacenamiento de coeficientes permite hasta 8 constantes preestablecidas. Las señales de selección de coeficientes son coefsel[0..3].
Este modo se expresa en la siguiente ecuación.

Enviar comentarios

Intel FPGA Integer Arithmetic IP Cores Guía del usuario 39

8. Intel FPGA sumador multiplicador IP Core 683490 | 2020.10.05

La siguiente figura muestra el modo de constante presumador de un multiplicador.

Figura 14. Modo Constante Pre-sumador
a0

Multi0

resultado

coefsel0
coeficiente
8.1.2. Registro de retraso sistólico
En una arquitectura sistólica, los datos de entrada se introducen en una cascada de registros que actúan como un búfer de datos. Cada registro entrega una entrada sample a un multiplicador donde se multiplica por el respectivo coeficiente. El sumador de cadena almacena los resultados combinados gradualmente del multiplicador y el resultado previamente registrado del puerto de entrada chainin[] para formar el resultado final. Cada elemento de multiplicación y suma debe retrasarse un solo ciclo para que los resultados se sincronicen adecuadamente cuando se suman. Cada retardo sucesivo se utiliza para dirigirse tanto a la memoria de coeficientes como al búfer de datos de sus respectivos elementos de multiplicación y suma. por ejemploample, un único retardo para el segundo elemento de multiplicación y suma, dos retardos para el tercer elemento de multiplicación y suma, y ​​así sucesivamente.
Figura 15. Registros sistólicos
registros 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 año(t)

x(t) representa los resultados de un flujo continuo de entrada samples y y(t)
representa la suma de un conjunto de entradas samples, y en el tiempo, multiplicado por su
respectivos coeficientes. Tanto los resultados de entrada como de salida fluyen de izquierda a derecha. El c(0) a c(N-1) denota los coeficientes. Los registros de retraso sistólico se indican con S-1, mientras que el 1 representa un solo retraso de reloj. Los registros de retardo sistólico se agregan en
las entradas y salidas para canalizar de una manera que asegure los resultados de la
operando multiplicador y las sumas acumuladas permanecen sincronizadas. Este elemento de procesamiento
se replica para formar un circuito que calcula la función de filtrado. Esta función es
expresada en la siguiente ecuación.

Intel FPGA Integer Arithmetic IP Cores Guía del usuario 40

Enviar comentarios

8. Intel FPGA sumador multiplicador IP Core 683490 | 2020.10.05

N representa el número de ciclos de datos que han ingresado al acumulador, y(t) representa la salida en el tiempo t, A(t) representa la entrada en el tiempo t y B(i) son los coeficientes. La t y la i en la ecuación corresponden a un instante particular en el tiempo, por lo que para calcular la salida sample y(t) en el tiempo t, un grupo de entrada samparchivos en N puntos diferentes en el tiempo, o A(n), A(n-1), A(n-2), … Se requiere A(n-N+1). El grupo de N entradasampLos archivos se multiplican por N coeficientes y se suman para formar el resultado final y.
La arquitectura de registro sistólico está disponible solo para los modos suma de 2 y suma de 4. Para ambos modos de arquitectura de registro sistólico, la primera señal de entrada en cadena debe vincularse a 0.
La siguiente figura muestra la implementación del registro de retraso sistólico de 2 multiplicadores.
Figura 16. Implementación del Registro de Retraso Sistólico de 2 Multiplicadores
encadenando

a0

Multi0

+/-

b0

a1

Multi1

+/-

b1

resultado
La suma de dos multiplicadores se expresa en la siguiente ecuación.
La siguiente figura muestra la implementación del registro de retraso sistólico de 4 multiplicadores.

Enviar comentarios

Intel FPGA Integer Arithmetic IP Cores Guía del usuario 41

8. Intel FPGA sumador multiplicador IP Core 683490 | 2020.10.05

Figura 17. Implementación del Registro de Retraso Sistólico de 4 Multiplicadores
encadenando

a0

Multi0

+/-

b0

a1

Multi1

+/-

b1

a2

Multi2

+/-

b2

a3

Multi3

+/-

b3

resultado
La suma de cuatro multiplicadores se expresa en la siguiente ecuación. Figura 18. Suma de 4 multiplicadores
A continuación se enumeran las ventajastagEs de implementación del registro sistólico: · Reduce el uso de recursos DSP · Permite un mapeo eficiente en el bloque DSP usando la estructura de sumador de cadena

Intel FPGA Integer Arithmetic IP Cores Guía del usuario 42

Enviar comentarios

8. Intel FPGA sumador multiplicador IP Core 683490 | 2020.10.05

8.1.3. Constante de precarga
La constante de precarga controla el operando del acumulador y complementa la retroalimentación del acumulador. El LOADCONST_VALUE válido varía de 0. El valor constante es igual a 64N, donde N = LOADCONST_VALUE. Cuando LOADCONST_VALUE se establece en 2, el valor constante es igual a 64. Esta función se puede utilizar como redondeo sesgado.
La siguiente figura muestra la implementación de la constante de precarga.
Figura 19. Constante de precarga

Retroalimentación del acumulador

constante

a0

Multi0

+/-

b0

a1

Multi1

+/b1

resultado

carga_acumulación carga_acumulación

Consulte los siguientes núcleos de IP para otras implementaciones de multiplicadores: · ALTMULT_ACCUM · ALTMEMMULT · LPM_MULT
8.1.4. Acumulador doble
La función de doble acumulador agrega un registro adicional en la ruta de retroalimentación del acumulador. El registro del acumulador doble sigue al registro de salida, que incluye el reloj, la habilitación del reloj y el aclr. El registro acumulador adicional devuelve el resultado con un retraso de un ciclo. Esta función le permite tener dos canales acumuladores con el mismo número de recursos.
La siguiente figura muestra la implementación del doble acumulador.

Enviar comentarios

Intel FPGA Integer Arithmetic IP Cores Guía del usuario 43

8. Intel FPGA sumador multiplicador IP Core 683490 | 2020.10.05

Figura 20. Acumulador doble

Registro de acumulador doble

Realimentación del acumulador

a0

Multi0

+/-

b0

a1

Multi1

+/b1

Resultado de salida Registro de salida

8.2. Prototipo Verilog HDL
Puede encontrar el prototipo Intel FPGA Multiply Adder o ALTERA_MULT_ADD Verilog HDL file (altera_mult_add_rtl.v) en el directorio de megafunciones de bibliotecas.
8.3. Declaración de componente VHDL
La declaración del componente VHDL se encuentra en altera_lnsim_components.vhd en el bibliotecasvhdl altera_lnsim directorio.
8.4. Declaración VHDL LIBRARY_USE
La declaración VHDL LIBRARY-USE no es necesaria si utiliza la Declaración de componentes VHDL.
BIBLIOTECA altera_mf; UTILIZAR altera_mf.altera_mf_components.all;

8.5. Señales

Las siguientes tablas enumeran las señales de entrada y salida del núcleo IP Multiply Adder Intel FPGA IPor ALTERA_MULT_ADD.

Tabla 28. Señales de entrada Multiply Adder Intel FPGA IPor ALTERA_MULT_ADD

Señal

Requerido

Descripción

datosa_0[]/datosa_1[]/

datosa_2[]/datosa_3[]

Entrada de datos al multiplicador. Puerto de entrada [NÚMERO_DE_MULTIPLICADORES * ANCHO_A – 1 … 0] de ancho
continuado…

Intel FPGA Integer Arithmetic IP Cores Guía del usuario 44

Enviar comentarios

8. Intel FPGA sumador multiplicador IP Core 683490 | 2020.10.05

Señal 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] señal
signob
scanina[] accum_sload

Obligatorio Sí No
No no no no no
No
No, no.

Descripción
El modelo de simulación para esta IP admite un valor de entrada indeterminado (X) para estas señales. Cuando proporciona un valor X a estas señales, el valor X se propaga en las señales de salida.
Entrada de datos al multiplicador. Señal de entrada [NÚMERO_DE_MULTIPLICADORES * ANCHO_B – 1 … 0] de ancho El modelo de simulación para esta IP admite un valor de entrada indeterminado (X) para estas señales. Cuando proporciona un valor X a estas señales, el valor X se propaga en las señales de salida.
Entrada de datos al multiplicador. Señal de entrada [NÚMERO_DE_MULTIPLICADORES * ANCHO_C – 1, … 0] de ancho Seleccione INPUT para Seleccione el parámetro del modo presumador para habilitar estas señales. El modelo de simulación para esta IP admite un valor de entrada indeterminado (X) para estas señales. Cuando proporciona un valor X a estas señales, el valor X se propaga en las señales de salida.
Puerto de entrada de reloj al registro correspondiente. Esta señal puede ser utilizada por cualquier registro en el núcleo de IP. El modelo de simulación para esta IP admite un valor de entrada indeterminado (X) para estas señales. Cuando proporciona un valor X a estas señales, el valor X se propaga en las señales de salida.
Entrada clara asíncrona al registro correspondiente. El modelo de simulación para esta IP admite un valor de entrada indeterminado (X) para estas señales. Cuando proporciona un valor X a estas señales, el valor X se propaga en las señales de salida.
Entrada clara síncrona al registro correspondiente. El modelo de simulación para esta IP admite un valor de entrada X indeterminado para estas señales. Cuando proporciona valor X a estas señales, el valor X se propaga en las señales de salida
Habilita la entrada de señal al registro correspondiente. El modelo de simulación para esta IP admite un valor de entrada indeterminado (X) para estas señales. Cuando proporciona un valor X a estas señales, el valor X se propaga en las señales de salida.
Especifica la representación numérica de la entrada A del multiplicador. Si la señal de la señal es alta, el multiplicador trata la señal de la entrada A del multiplicador como un número con signo. Si la señal de señal es baja, el multiplicador trata la señal de entrada A del multiplicador como un número sin signo. Seleccione VARIABLE para ¿Cuál es el formato de representación de los multiplicadores? Un parámetro de entradas para habilitar esta señal. El modelo de simulación para esta IP admite un valor de entrada indeterminado (X) para esta señal. Cuando proporciona un valor X a esta entrada, el valor X se propaga en las señales de salida.
Especifica la representación numérica de la señal de entrada B del multiplicador. Si la señal signb es alta, el multiplicador trata la señal de entrada B del multiplicador como un número de complemento a dos con signo. Si la señal signb es baja, el multiplicador trata la señal de entrada B del multiplicador como un número sin signo. El modelo de simulación para esta IP admite un valor de entrada indeterminado (X) para esta señal. Cuando proporciona un valor X a esta entrada, el valor X se propaga en las señales de salida.
Entrada para la cadena de exploración A. Señal de entrada [WIDTH_A – 1, … 0] ancho. Cuando el parámetro INPUT_SOURCE_A tiene un valor SCANA, se requiere la señal scanina[].
Especifica dinámicamente si el valor del acumulador es constante. Si la señal accum_sload es baja, la salida del multiplicador se carga en el acumulador. No use accum_sload y sload_accum simultáneamente.
continuado…

Enviar comentarios

Intel FPGA Integer Arithmetic IP Cores Guía del usuario 45

8. Intel FPGA sumador multiplicador IP Core 683490 | 2020.10.05

Señal sload_accum
cadena en [] addnsub1
addnsub3
coefsel0[] coefsel1[] coefsel2[] coefsel3[]

Requerido No
No, no.
No
No no no no

Descripción
El modelo de simulación para esta IP admite un valor de entrada indeterminado (X) para esta señal. Cuando proporciona un valor X a esta entrada, el valor X se propaga en las señales de salida.
Especifica dinámicamente si el valor del acumulador es constante. Si la señal sload_accum es alta, la salida del multiplicador se carga en el acumulador. No use accum_sload y sload_accum simultáneamente. El modelo de simulación para esta IP admite un valor de entrada indeterminado (X) para esta señal. Cuando proporciona un valor X a esta entrada, el valor X se propaga en las señales de salida.
Bus de entrada de resultado de sumador de los s anteriorestagmi. Señal de entrada [WIDTH_CHAININ – 1, … 0] de ancho.
Realiza sumas o restas a las salidas del primer par de multiplicadores. Entrada 1 a la señal addnsub1 para sumar las salidas del primer par de multiplicadores. Ingrese 0 a la señal addnsub1 para restar las salidas del primer par de multiplicadores. El modelo de simulación para esta IP admite un valor de entrada indeterminado (X) para esta señal. Cuando proporciona un valor X a esta entrada, el valor X se propaga en las señales de salida.
Realiza sumas o restas a las salidas del primer par de multiplicadores. Entrada 1 a la señal addnsub3 para sumar las salidas del segundo par de multiplicadores. Ingrese 0 a la señal addnsub3 para restar las salidas del primer par de multiplicadores. El modelo de simulación para esta IP admite un valor de entrada indeterminado (X) para esta señal. Cuando proporciona un valor X a esta entrada, el valor X se propaga en las señales de salida.
Coeficiente de señal de entrada[0:3] al primer multiplicador. El modelo de simulación para esta IP admite un valor de entrada indeterminado (X) para esta señal. Cuando proporciona un valor X a esta entrada, el valor X se propaga en las señales de salida.
Coeficiente de señal de entrada[0:3] al segundo multiplicador. El modelo de simulación para esta IP admite un valor de entrada indeterminado (X) para esta señal. Cuando proporciona un valor X a esta entrada, el valor X se propaga en las señales de salida.
Coeficiente de señal de entrada[0:3] al tercer multiplicador. El modelo de simulación para esta IP admite un valor de entrada indeterminado (X) para esta señal. Cuando proporciona un valor X a esta entrada, el valor X se propaga en las señales de salida.
Coeficiente de señal de entrada [0:3] al cuarto multiplicador. El modelo de simulación para esta IP admite un valor de entrada indeterminado (X) para esta señal. Cuando proporciona un valor X a esta entrada, el valor X se propaga en las señales de salida.

Tabla 29. Señales de salida IP de Intel FPGA de sumador múltiple

Señal

Requerido

Descripción

resultado []

Señal de salida del multiplicador. Señal de salida [WIDTH_RESULT – 1 … 0] ancho

El modelo de simulación para esta IP admite un valor de salida indeterminado (X). Cuando proporciona el valor X como entrada, el valor X se propaga en esta señal.

escaneo []

No

Salida de la cadena de exploración A. Señal de salida [WIDTH_A – 1..0] ancho.

Seleccione más de 2 para el número de multiplicadores y elija Escanear entrada de cadena para ¿Cuál es la entrada A del multiplicador conectado al parámetro para habilitar esta señal?

Intel FPGA Integer Arithmetic IP Cores Guía del usuario 46

Enviar comentarios

8. Intel FPGA sumador multiplicador IP Core 683490 | 2020.10.05

8.6 Parámetros

8.6.1. Pestaña General

Tabla 30. Pestaña General

Parámetro

Parámetro generado por IP

Valor

¿Cuál es el número de multiplicadores?

number_of_m 1 – 4 multiplicadores

¿Qué ancho deben tener los buses de entrada A width_a?

1 – 256

¿Qué ancho deben tener los buses de entrada B width_b?

1 – 256

¿Qué tan ancho debe ser el bus de salida de 'resultado'?

ancho_resultado

1 – 256

Crear una habilitación de reloj asociada para cada reloj

gui_associate Activado d_clock_enabl Desactivado e

8.6.2. Pestaña Modos adicionales

Tabla 31. Ficha Modos adicionales

Parámetro

Parámetro generado por IP

Valor

Configuración de Salidas

Registro de salida de la unidad sumadora

gui_output_re activado

registro

Apagado

¿Cuál es la fuente de entrada del reloj?

gui_output_re registro_reloj

Reloj0 Reloj1 Reloj2

¿Cuál es la fuente para la entrada clara asíncrona?

gui_output_re gister_aclr

NINGUNO ACLR0 ACLR1

¿Cuál es la fuente para la entrada clara síncrona?

gui_output_re gister_sclr

NINGUNO SCLR0 SCLR1

Operación sumador

¿Qué operación se debe realizar en las salidas del primer par de multiplicadores?

gui_multiplicador 1_dirección

AGREGAR, SUB, VARIABLE

Valor predeterminado 1
16

Descripción
Número de multiplicadores a sumar. Los valores van del 1 al 4. Especifique el ancho del puerto dataa[].

16

Especifique el ancho del puerto datab[].

32

Especifique el ancho del puerto result[].

Apagado

Seleccione esta opción para habilitar el reloj

para cada reloj.

Valor predeterminado

Descripción

Fuera de reloj0
NINGUNO NINGUNO

Seleccione esta opción para habilitar el registro de salida del módulo sumador.
Seleccione Clock0 , Clock1 o Clock2 para habilitar y especificar la fuente de reloj para los registros de salida. Debe seleccionar Registrar salida de la unidad sumadora para habilitar este parámetro.
Especifica la fuente clara asíncrona para el registro de salida del sumador. Debe seleccionar Registrar salida de la unidad sumadora para habilitar este parámetro.
Especifica la fuente clara síncrona para el registro de salida del sumador. Debe seleccionar Registrar salida de la unidad sumadora para habilitar este parámetro.

AGREGAR

Seleccione la operación de suma o resta para realizar para las salidas entre el primer y el segundo multiplicador.
· Seleccione AGREGAR para realizar la operación de adición.
· Seleccione SUB para realizar la operación de resta.
· Seleccione VARIABLE para usar el puerto addnsub1 para el control dinámico de sumas/restas.
continuado…

Enviar comentarios

Intel FPGA Integer Arithmetic IP Cores Guía del usuario 47

8. Intel FPGA sumador multiplicador IP Core 683490 | 2020.10.05

Parámetro

Parámetro generado por IP

Valor

Registre la entrada 'addnsub1'

gui_addnsub_ Activado multiplicador_reg Desactivado1

¿Cuál es la fuente de entrada del reloj?

gui_addnsub_ multiplicador_registro1_reloj

Reloj0 Reloj1 Reloj2

¿Cuál es la fuente para la entrada clara asíncrona?

gui_addnsub_ multiplicador_aclr 1

NINGUNO ACLR0 ACLR1

¿Cuál es la fuente para la entrada clara síncrona?

gui_addnsub_ multiplicador_sclr 1

NINGUNO SCLR0 SCLR1

¿Qué operación se debe realizar en las salidas del segundo par de multiplicadores?

gui_multiplicador 3_dirección

AGREGAR, SUB, VARIABLE

Registre la entrada 'addnsub3'

gui_addnsub_ Activado multiplicador_reg Desactivado3

¿Cuál es la fuente de entrada del reloj?

gui_addnsub_ multiplicador_registro3_reloj

Reloj0 Reloj1 Reloj2

Valor predeterminado
Off Clock0 NINGUNO NINGUNO AÑADIR
Fuera de reloj0

Descripción
Cuando se selecciona el valor VARIABLE: · Lleva la señal addnsub1 a alta para
operación de suma. · Conduce la señal addnsub1 a baja para
operación de resta Debe seleccionar más de dos multiplicadores para habilitar este parámetro.
Seleccione esta opción para habilitar el registro de entrada para el puerto addnsub1. Debe seleccionar VARIABLE para qué operación se debe realizar en las salidas del primer par de multiplicadores para habilitar este parámetro.
Seleccione Clock0 , Clock1 o Clock2 para especificar la señal de reloj de entrada para el registro addnsub1. Debe seleccionar la entrada Registrar 'addnsub1' para habilitar este parámetro.
Especifica la fuente clara asíncrona para el registro addnsub1. Debe seleccionar la entrada Registrar 'addnsub1' para habilitar este parámetro.
Especifica la fuente clara síncrona para el registro addnsub1. Debe seleccionar la entrada Registrar 'addnsub1' para habilitar este parámetro.
Seleccione la operación de suma o resta para realizar para las salidas entre el tercer y cuarto multiplicador. · Seleccione AGREGAR para realizar la suma
operación. · Seleccione SUB para realizar la resta
operación. · Seleccione VARIABLE para usar addnsub1
puerto para control dinámico de sumas/restas. Cuando se selecciona el valor VARIABLE: · Conduzca la señal addnsub1 a alta para la operación de suma. · Conduzca la señal addnsub1 a baja para la operación de resta. Debe seleccionar el valor 4 para ¿Cuál es el número de multiplicadores? para habilitar este parámetro.
Seleccione esta opción para habilitar el registro de entrada para la señal addnsub3. Debe seleccionar VARIABLE para qué operación se debe realizar en las salidas del segundo par de multiplicadores para habilitar este parámetro.
Seleccione Clock0 , Clock1 o Clock2 para especificar la señal de reloj de entrada para el registro addnsub3. Debe seleccionar la entrada Registrar 'addnsub3' para habilitar este parámetro.
continuado…

Intel FPGA Integer Arithmetic IP Cores Guía del usuario 48

Enviar comentarios

8. Intel FPGA sumador multiplicador IP Core 683490 | 2020.10.05

Parámetro
¿Cuál es la fuente para la entrada clara asíncrona?

Parámetro generado por IP

Valor

gui_addnsub_ multiplicador_aclr 3

NINGUNO ACLR0 ACLR1

¿Cuál es la fuente para la entrada clara síncrona?

gui_addnsub_ multiplicador_sclr 3

NINGUNO SCLR0 SCLR1

Activar polaridad `use_subadd'

gui_use_subn activado

agregar

Apagado

8.6.3. Pestaña Multiplicadores

Tabla 32. Ficha Multiplicadores

Parámetro

Parámetro generado por IP

Valor

¿Qué es el?

representación_gui

formato de representación ation_a

para las entradas de los multiplicadores A?

FIRMADO, SIN FIRMA, VARIABLE

Registrar entrada `signa'

gui_register_s activado

Igna

Apagado

¿Cuál es la fuente de entrada del reloj?

gui_register_s igna_clock

Reloj0 Reloj1 Reloj2

¿Cuál es la fuente para la entrada clara asíncrona?

gui_register_s igna_aclr

NINGUNO ACLR0 ACLR1

¿Cuál es la fuente para la entrada clara síncrona?

gui_register_signa_sclr

NINGUNO SCLR0 SCLR1

¿Qué es el?

representación_gui

formato de representación ation_b

para las entradas de los multiplicadores B?

FIRMADO, SIN FIRMA, VARIABLE

Registrar la entrada `signb'

gui_register_s activado

ignb

Apagado

Valor predeterminado NINGUNO
NINGUNO

Descripción
Especifica la fuente clara asíncrona para el registro addnsub3. Debe seleccionar la entrada Registrar 'addnsub3' para habilitar este parámetro.
Especifica la fuente clara síncrona para el registro addnsub3. Debe seleccionar la entrada Registrar 'addnsub3' para habilitar este parámetro.

Apagado

Seleccione esta opción para invertir la función

del puerto de entrada addnsub.

Conduzca addnsub a alto para la operación de resta.

Conduzca addnsub a bajo para la operación de adición.

Valor predeterminado

Descripción

UNSIGNED Especifique el formato de representación para la entrada del multiplicador A.

Apagado

Seleccione esta opción para habilitar signa

registro.

Debe seleccionar el valor VARIABLE para ¿Cuál es el formato de representación para las entradas de los Multiplicadores A? parámetro para habilitar esta opción.

Reloj0

Seleccione Clock0 , Clock1 o Clock2 para habilitar y especificar la señal de reloj de entrada para el registro de señal.
Debe seleccionar Registrar entrada `signa' para habilitar este parámetro.

NINGUNO

Especifica la fuente clara asíncrona para el registro signa.
Debe seleccionar Registrar entrada `signa' para habilitar este parámetro.

NINGUNO

Especifica la fuente clara síncrona para el registro signa.
Debe seleccionar Registrar entrada `signa' para habilitar este parámetro.

UNSIGNED Especifique el formato de representación para la entrada del multiplicador B.

Apagado

Seleccione esta opción para habilitar signb

registro.

continuado…

Enviar comentarios

Intel FPGA Integer Arithmetic IP Cores Guía del usuario 49

8. Intel FPGA sumador multiplicador IP Core 683490 | 2020.10.05

Parámetro

Parámetro generado por IP

Valor

Valor predeterminado

¿Cuál es la fuente de entrada del reloj?

gui_register_s ignb_clock

Reloj0 Reloj1 Reloj2

Reloj0

¿Cuál es la fuente para la entrada clara asíncrona?

gui_register_s ignb_aclr

NINGUNO ACLR0 ACLR1

¿Cuál es la fuente para la entrada clara síncrona?

gui_register_s ignb_sclr

NINGUNO SCLR0 SCLR1

Configuración de entrada
Registrar la entrada A del multiplicador
¿Cuál es la fuente de entrada del reloj?

gui_input_reg activado

hermana_a

Apagado

gui_input_reg ister_a_clock

Reloj0 Reloj1 Reloj2

NINGUNO NINGUNO
Fuera de reloj0

¿Cuál es la fuente para la entrada clara asíncrona?

gui_input_reg ister_a_aclr

NINGUNO ACLR0 ACLR1

¿Cuál es la fuente para la entrada clara síncrona?

gui_input_register_a_sclr

NINGUNO SCLR0 SCLR1

Registrar la entrada B del multiplicador
¿Cuál es la fuente de entrada del reloj?

gui_input_reg activado

hermana_b

Apagado

gui_input_reg ister_b_clock

Reloj0 Reloj1 Reloj2

NINGUNO NINGUNO Desactivado0

¿Cuál es la fuente para la entrada clara asíncrona?

gui_input_reg ister_b_aclr

NINGUNO ACLR0 ACLR1

NINGUNO

¿Cuál es la fuente para la entrada clara síncrona?

gui_input_register_b_sclr

NINGUNO SCLR0 SCLR1

NINGUNO

¿A qué está conectada la entrada A del multiplicador?

gui_multiplier Multiplicador de entrada Multiplicador

_a_entrada

Entrada de entrada de cadena de escaneo

Descripción
Debe seleccionar el valor VARIABLE para ¿Cuál es el formato de representación para las entradas de los Multiplicadores B? parámetro para habilitar esta opción.
Seleccione Clock0 , Clock1 o Clock2 para habilitar y especificar la señal de reloj de entrada para el registro signb. Debe seleccionar la entrada Registrar `signb' para habilitar este parámetro.
Especifica la fuente clara asíncrona para el registro signb. Debe seleccionar la entrada Registrar `signb' para habilitar este parámetro.
Especifica la fuente clara síncrona para el registro signb. Debe seleccionar la entrada Registrar `signb' para habilitar este parámetro.
Seleccione esta opción para habilitar el registro de entrada para el bus de entrada de datos.
Seleccione Clock0 , Clock1 o Clock2 para habilitar y especificar la señal de reloj de entrada de registro para el bus de entrada de datos. Debe seleccionar Registrar entrada A del multiplicador para habilitar este parámetro.
Especifica la fuente clara asíncrona de registro para el bus de entrada de datos. Debe seleccionar Registrar entrada A del multiplicador para habilitar este parámetro.
Especifica la fuente clara síncrona de registros para el bus de entrada de datos. Debe seleccionar Registrar entrada A del multiplicador para habilitar este parámetro.
Seleccione esta opción para habilitar el registro de entrada para el bus de entrada de datos.
Seleccione Clock0, Clock1 o Clock2 para habilitar y especificar la señal de reloj de entrada de registro para el bus de entrada de datosb. Debe seleccionar Registrar entrada B del multiplicador para habilitar este parámetro.
Especifica la fuente clara asíncrona de registros para el bus de entrada de datos. Debe seleccionar Registrar entrada B del multiplicador para habilitar este parámetro.
Especifica la fuente de borrado síncrono de registros para el bus de entrada de datos. Debe seleccionar Registrar entrada B del multiplicador para habilitar este parámetro.
Seleccione la fuente de entrada para la entrada A del multiplicador.
continuado…

Intel FPGA Integer Arithmetic IP Cores Guía del usuario 50

Enviar comentarios

8. Intel FPGA sumador multiplicador IP Core 683490 | 2020.10.05

Parámetro

Parámetro generado por IP

Valor

Explorar una configuración de registro

Registro de salida de la cadena de exploración

gui_scanouta En

_registro

Apagado

¿Cuál es la fuente de entrada del reloj?

gui_scanouta _register_clock

Reloj0 Reloj1 Reloj2

¿Cuál es la fuente para la entrada clara asíncrona?

gui_scanouta _register_aclr

NINGUNO ACLR0 ACLR1

¿Cuál es la fuente para la entrada clara síncrona?

gui_scanouta_register_sclr

NINGUNO SCLR0 SCLR1

8.6.4. Pestaña de precomprador

Tabla 33. Pestaña de precomprador

Parámetro

Parámetro generado por IP

Valor

Seleccione el modo de predicador

preadder_mo de

SIMPLE, COEF, ENTRADA, CUADRADO, CONSTANTE

Valor predeterminado

Descripción
Seleccione Entrada de multiplicador para usar un bus de entrada de datos como fuente para el multiplicador. Seleccione Entrada de cadena de escaneo para usar el bus de entrada de escaneo como fuente para el multiplicador y habilite el bus de salida de escaneo. Este parámetro está disponible cuando selecciona 2, 3 o 4 para ¿Cuál es el número de multiplicadores? parámetro.

Desactivado0 NINGUNO NINGUNO

Seleccione esta opción para habilitar el registro de salida para el bus de salida scanouta.
Debe seleccionar Scan chain input para ¿A qué está conectada la entrada A del multiplicador? parámetro para habilitar esta opción.
Seleccione Clock0 , Clock1 o Clock2 para habilitar y especificar la señal de reloj de entrada de registro para el bus de salida scanouta.
Debe activar la salida de registro del parámetro de la cadena de exploración para habilitar esta opción.
Especifica la fuente clara asíncrona de registro para el bus de salida scanouta.
Debe activar la salida de registro del parámetro de la cadena de exploración para habilitar esta opción.
Especifica la fuente clara síncrona de registros para el bus de salida scanouta.
Debe seleccionar Registrar salida del parámetro de la cadena de escaneo para habilitar esta opción.

Valor predeterminado
SIMPLE

Descripción
Especifica el modo de operación para el módulo presumidor. SIMPLE: Este modo pasa por alto el preadder. Este es el modo por defecto. COEF: este modo utiliza la salida del presumador y el bus de entrada coefsel como entradas al multiplicador. INPUT: este modo utiliza la salida del presumador y el bus de entrada datac como entradas al multiplicador. CUADRADO: Este modo usa la salida del presumador como ambas entradas al multiplicador.
continuado…

Enviar comentarios

Intel FPGA Integer Arithmetic IP Cores Guía del usuario 51

8. Intel FPGA sumador multiplicador IP Core 683490 | 2020.10.05

Parámetro

Parámetro generado por IP

Valor

Seleccione la dirección del presumido

gui_preadder AGREGAR,

_dirección

SUB

¿Qué ancho deben tener los buses de entrada C width_c?

1 – 256

Configuración del registro de entrada de datos C

Registrar entrada de datos

gui_datac_inp activado

registro_ut

Apagado

¿Cuál es la fuente de entrada del reloj?

gui_datac_input_register_clock

Reloj0 Reloj1 Reloj2

¿Cuál es la fuente para la entrada clara asíncrona?

gui_datac_input_register_a clr

NINGUNO ACLR0 ACLR1

¿Cuál es la fuente para la entrada clara síncrona?

gui_datac_input_register_sc lr

NINGUNO SCLR0 SCLR1

Coeficientes
¿Qué tan ancho debe ser el ancho del coef?

ancho_coef

1 – 27

Configuración de registro de Coef

Registrar la entrada de coefsel

gui_coef_regi activado

estrella

Apagado

¿Cuál es la fuente de entrada del reloj?

gui_coef_registro_reloj

Reloj0 Reloj1 Reloj2

Valor predeterminado
AGREGAR
16

Descripción
CONSTANTE: este modo utiliza un bus de entrada de datos con el presumador omitido y el bus de entrada de coefsel como entradas al multiplicador.
Especifica el funcionamiento del preadder. Para habilitar este parámetro, seleccione lo siguiente para Seleccionar modo presumador: · COEF · INPUT · SQUARE o · CONSTANT
Especifica el número de bits para el bus de entrada C. Debe seleccionar ENTRADA para Seleccionar el modo presumador para habilitar este parámetro.

En el reloj0 NINGUNO NINGUNO

Seleccione esta opción para habilitar el registro de entrada para el bus de entrada datac. Debe configurar INPUT para seleccionar el parámetro de modo presumador para habilitar esta opción.
Seleccione Clock0 , Clock1 o Clock2 para especificar la señal de reloj de entrada para el registro de entrada de datos. Debe seleccionar Registrar entrada de datos para habilitar este parámetro.
Especifica la fuente clara asíncrona para el registro de entrada datac. Debe seleccionar Registrar entrada de datos para habilitar este parámetro.
Especifica la fuente clara síncrona para el registro de entrada datac. Debe seleccionar Registrar entrada de datos para habilitar este parámetro.

18

Especifica el número de bits para

bus de entrada coefsel.

Debe seleccionar COEF o CONSTANTE para el modo presumador para habilitar este parámetro.

en reloj0

Seleccione esta opción para habilitar el registro de entrada para el bus de entrada coefsel. Debe seleccionar COEF o CONSTANTE para el modo presumador para habilitar este parámetro.
Seleccione Clock0 , Clock1 o Clock2 para especificar la señal de reloj de entrada para el registro de entrada coefsel. Debe seleccionar Registrar la entrada de coefsel para habilitar este parámetro.
continuado…

Intel FPGA Integer Arithmetic IP Cores Guía del usuario 52

Enviar comentarios

8. Intel FPGA sumador multiplicador IP Core 683490 | 2020.10.05

Parámetro
¿Cuál es la fuente para la entrada clara asíncrona?

Parámetro generado por IP

Valor

gui_coef_regi ster_aclr

NINGUNO ACLR0 ACLR1

¿Cuál es la fuente para la entrada clara síncrona?

gui_coef_regi ster_sclr

NINGUNO 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. Pestaña Acumulador

Tabla 34. Ficha Acumulador

Parámetro

Parámetro generado por IP

Valor

¿Habilitar acumulador?

acumulador

SI NO

¿Cuál es el tipo de funcionamiento del acumulador?

accum_directi AÑADIR,

on

SUB

Valor predeterminado NINGUNO
NINGUNO
0x0000000 0
0x0000000 0
0x0000000 0
0x0000000 0

Descripción
Especifica la fuente clara asíncrona para el registro de entrada coefsel. Debe seleccionar Registrar la entrada de coefsel para habilitar este parámetro.
Especifica la fuente clara síncrona para el registro de entrada coefsel. Debe seleccionar Registrar la entrada de coefsel para habilitar este parámetro.
Especifica los valores del coeficiente para este primer multiplicador. El número de bits debe ser el mismo que se especifica en ¿Qué ancho debe tener el ancho del coef? parámetro. Debe seleccionar COEF o CONSTANTE para el modo presumador para habilitar este parámetro.
Especifica los valores del coeficiente para este segundo multiplicador. El número de bits debe ser el mismo que se especifica en ¿Qué ancho debe tener el ancho del coef? parámetro. Debe seleccionar COEF o CONSTANTE para el modo presumador para habilitar este parámetro.
Especifica los valores del coeficiente para este tercer multiplicador. El número de bits debe ser el mismo que se especifica en ¿Qué ancho debe tener el ancho del coef? parámetro. Debe seleccionar COEF o CONSTANTE para el modo presumador para habilitar este parámetro.
Especifica los valores del coeficiente para este cuarto multiplicador. El número de bits debe ser el mismo que se especifica en ¿Qué ancho debe tener el ancho del coef? parámetro. Debe seleccionar COEF o CONSTANTE para el modo presumador para habilitar este parámetro.

Valor por defecto NO
AGREGAR

Descripción
Seleccione SÍ para habilitar el acumulador. Debe seleccionar Registrar la salida de la unidad sumadora cuando utilice la función de acumulador.
Especifica la operación del acumulador: · ADD para operación de suma · SUB para operación de resta. Debe seleccionar SÍ para Habilitar acumulador? parámetro para habilitar esta opción.
continuado…

Enviar comentarios

Intel FPGA Integer Arithmetic IP Cores Guía del usuario 53

8. Intel FPGA sumador multiplicador IP Core 683490 | 2020.10.05

Parámetro
Constante de precarga Activar constante de precarga

Parámetro generado por IP

Valor

gui_ena_prelo En

anuncio_const

Apagado

¿A qué está conectada la entrada del puerto de acumulación?

gui_accumula ACCUM_SLOAD, te_port_select SLOAD_ACCUM

Seleccionar valor para precarga loadconst_val 0 – 64

constante

ue

¿Cuál es la fuente de entrada del reloj?

gui_accum_sl oad_register_ reloj

Reloj0 Reloj1 Reloj2

¿Cuál es la fuente para la entrada clara asíncrona?

gui_accum_sl oad_register_ aclr

NINGUNO ACLR0 ACLR1

¿Cuál es la fuente para la entrada clara síncrona?

gui_accum_sl oad_register_ sclr

NINGUNO SCLR0 SCLR1

Habilitar acumulador doble

gui_double_a activado

cum

Apagado

Valor predeterminado

Descripción

Apagado

Habilite accum_sload o

Señales sload_accum y registro de entrada

para seleccionar dinámicamente la entrada al

acumulador.

Cuando accum_sload es bajo o sload_accum, la salida del multiplicador se alimenta al acumulador.

Cuando accum_sload es alto o sload_accum, una constante de precarga especificada por el usuario se alimenta al acumulador.

Debe seleccionar SÍ para Habilitar acumulador? parámetro para habilitar esta opción.

ACCUM_SL OAD

Especifica el comportamiento de la señal accum_sload/ sload_accum.
ACCUM_SLOAD: maneje accum_sload bajo para cargar la salida del multiplicador al acumulador.
SLOAD_ACCUM: Conduzca sload_accum alto para cargar la salida del multiplicador al acumulador.
Debe seleccionar la opción Habilitar constante de precarga para habilitar este parámetro.

64

Especifique el valor constante preestablecido.

Este valor puede ser 2N donde N es el valor constante predeterminado.

Cuando N=64, representa un cero constante.

Debe seleccionar la opción Habilitar constante de precarga para habilitar este parámetro.

Reloj0

Seleccione Clock0 , Clock1 o Clock2 para especificar la señal de reloj de entrada para el registro accum_sload/sload_accum.
Debe seleccionar la opción Habilitar constante de precarga para habilitar este parámetro.

NINGUNO

Especifica la fuente clara asíncrona para el registro accum_sload/sload_accum.
Debe seleccionar la opción Habilitar constante de precarga para habilitar este parámetro.

NINGUNO

Especifica la fuente clara síncrona para el registro accum_sload/sload_accum.
Debe seleccionar la opción Habilitar constante de precarga para habilitar este parámetro.

Apagado

Habilita el registro de doble acumulador.

Intel FPGA Integer Arithmetic IP Cores Guía del usuario 54

Enviar comentarios

8. Intel FPGA sumador multiplicador IP Core 683490 | 2020.10.05

8.6.6. Pestaña de sistólica/chainout

Tabla 35. Pestaña Sumador de sistólica/chainout

Parámetro Habilitar sumador de cadena

Parámetro generado por IP

Valor

chainout_add SÍ,

er

NO

¿Cuál es el tipo de operación sumador chainout?

chainout_add AÑADIR,

er_dirección

SUB

¿Habilitar la entrada 'negar' para el sumador de cadena?

Port_negate

PUERTO_USADO, PUERTO_SIN UTILIZAR

¿Registrar entrada 'negada'? negar_registrar

NO REGISTRADO, RELOJ0, RELOJ1, RELOJ2, RELOJ3

¿Cuál es la fuente para la entrada clara asíncrona?

negar_aclr

NINGUNO ACLR0 ACLR1

¿Cuál es la fuente para la entrada clara síncrona?

negar_sclr

NINGUNO SCLR0 SCLR1

Retraso sistólico
Habilitar registros de retraso sistólico

gui_systolic_d activado

Elay

Apagado

¿Cuál es la fuente de entrada del reloj?

gui_systolic_d RELOJ0,

elay_reloj

RELOJ1,

Valor predeterminado
NO

Descripción
Seleccione SÍ para habilitar el módulo sumador de cadena.

AGREGAR

Especifica la operación del sumador de cadena.
Para la operación de resta, se debe seleccionar SIGNED para ¿Cuál es el formato de representación para las entradas de los multiplicadores A? y ¿Cuál es el formato de representación para las entradas de los Multiplicadores B? en la pestaña Multiplicadores.

PUERTO_UN UTILIZADO

Seleccione PORT_USED para habilitar la señal de entrada negativa.
Este parámetro no es válido cuando el sumador de encadenamiento está deshabilitado.

RED NO REGISTRADA

Para habilitar el registro de entrada para la señal de entrada negativa y especifica la señal de reloj de entrada para el registro negativo.
Seleccione NO REGISTRADO si no se necesita el registro de entrada de negación
Este parámetro no es válido cuando selecciona:
· NO para Habilitar sumador de encadenamiento o
· ¿PORT_UNUSED para habilitar la entrada 'negada' para el sumador de cadena? parámetro o

NINGUNO

Especifica la fuente clara asíncrona para el registro de negación.
Este parámetro no es válido cuando selecciona:
· NO para Habilitar sumador de encadenamiento o
· ¿PORT_UNUSED para habilitar la entrada 'negada' para el sumador de cadena? parámetro o

NINGUNO

Especifica la fuente clara síncrona para el registro de negación.
Este parámetro no es válido cuando selecciona:
· NO para Habilitar sumador de encadenamiento o
· ¿PORT_UNUSED para habilitar la entrada 'negada' para el sumador de cadena? parámetro o

Desactivado RELOJ0

Seleccione esta opción para habilitar el modo sistólico. Este parámetro está disponible cuando selecciona 2 o 4 para ¿Cuál es el número de multiplicadores? parámetro. Debe habilitar la salida de registro de la unidad sumadora para usar los registros de retraso sistólico.
Especifica la señal de reloj de entrada para el registro de retraso sistólico.
continuado…

Enviar comentarios

Intel FPGA Integer Arithmetic IP Cores Guía del usuario 55

8. Intel FPGA sumador multiplicador IP Core 683490 | 2020.10.05

Parámetro

Parámetro generado por IP

Valor

RELOJ2,

¿Cuál es la fuente para la entrada clara asíncrona?

gui_systolic_d elay_aclr

NINGUNO ACLR0 ACLR1

¿Cuál es la fuente para la entrada clara síncrona?

gui_systolic_d elay_sclr

NINGUNO SCLR0 SCLR1

Valor predeterminado
NINGUNO
NINGUNO

Descripción
Debe seleccionar habilitar registros de retraso sistólico para habilitar esta opción.
Especifica la fuente clara asincrónica para el registro de retraso sistólico. Debe seleccionar habilitar registros de retraso sistólico para habilitar esta opción.
Especifica la fuente clara síncrona para el registro de retraso sistólico. Debe seleccionar habilitar registros de retraso sistólico para habilitar esta opción.

8.6.7. Pestaña Canalización

Tabla 36. Pestaña Canalización

Configuración de canalización de parámetros

Parámetro generado por IP

Valor

¿Desea agregar un registro de canalización a la entrada?

gui_pipelining No, Sí

Valor predeterminado
No

Por favor especifique el

estado latente

número de reloj de latencia

ciclos

Cualquier valor mayor de 0 que 0

¿Cuál es la fuente de entrada del reloj?

gui_input_late ncy_clock

RELOJ0, RELOJ1, RELOJ2

¿Cuál es la fuente para la entrada clara asíncrona?

gui_input_late ncy_aclr

NINGUNO ACLR0 ACLR1

¿Cuál es la fuente para la entrada clara síncrona?

gui_input_late ncy_sclr

NINGUNO SCLR0 SCLR1

RELOJ0 NINGUNO NINGUNO

Descripción
Seleccione Sí para habilitar un nivel adicional de registro de tubería para las señales de entrada. Debe especificar un valor mayor que 0 para el parámetro Especifique el número de ciclos de reloj de latencia.
Especifica la latencia deseada en ciclos de reloj. Un nivel de registro de tubería = 1 latencia en ciclo de reloj. Debe seleccionar SÍ para ¿Desea agregar un registro de tubería a la entrada? para habilitar esta opción.
Seleccione Clock0 , Clock1 o Clock2 para habilitar y especificar la señal de reloj de entrada del registro de tubería. Debe seleccionar SÍ para ¿Desea agregar un registro de tubería a la entrada? para habilitar esta opción.
Especifica el origen claro asincrónico del registro para el registro de canalización adicional. Debe seleccionar SÍ para ¿Desea agregar un registro de tubería a la entrada? para habilitar esta opción.
Especifica la fuente clara síncrona de registro para el registro de canalización adicional. Debe seleccionar SÍ para ¿Desea agregar un registro de tubería a la entrada? para habilitar esta opción.

Intel FPGA Integer Arithmetic IP Cores Guía del usuario 56

Enviar comentarios

683490 | 2020.10.05 Enviar comentarios

9. Núcleo IP ALTMEMMULT (multiplicador de coeficiente constante basado en memoria)

Atención:

Intel ha eliminado el soporte de esta IP en Intel Quartus Prime Pro Edition versión 20.3. Si el núcleo de IP en su diseño apunta a dispositivos en Intel Quartus Prime Pro Edition, puede reemplazar la IP con LPM_MULT Intel FPGA IP o volver a generar la IP y compilar su diseño usando el software Intel Quartus Prime Standard Edition.

El núcleo IP ALTMEMMULT se usa para crear multiplicadores basados ​​en memoria utilizando los bloques de memoria en chip que se encuentran en los FPGA de Intel (con bloques de memoria M512, M4K, M9K y MLAB). Este núcleo de IP es útil si no tiene suficientes recursos para implementar los multiplicadores en elementos lógicos (LE) o recursos de multiplicadores dedicados.
El núcleo IP ALTMEMMULT es una función síncrona que requiere un reloj. El núcleo IP de ALTMEMMULT implementa un multiplicador con el menor rendimiento y latencia posible para un conjunto determinado de parámetros y especificaciones.
La siguiente figura muestra los puertos para el núcleo IP ALTMEMMULT.

Figura 21. Puertos ALTMEMMULT

ALTERNATIVO

data_in[] sload_data coeff_in[]

resultado[] result_valid load_done

sload_coeff

reloj sclr
Inst.

Funciones de información relacionada en la página 71

9.1. Características
El núcleo IP de ALTMEMMULT ofrece las siguientes características: · Crea solo multiplicadores basados ​​en memoria utilizando bloques de memoria en chip que se encuentran en
Intel FPGA · Admite ancho de datos de 1 bits · Admite formato de representación de datos firmados y sin firmar · Admite canalización con latencia de salida fija

Corporación Intel. Reservados todos los derechos. Intel, el logotipo de Intel y otras marcas de Intel son marcas comerciales de Intel Corporation o sus subsidiarias. Intel garantiza el rendimiento de sus productos semiconductores y FPGA según las especificaciones actuales de acuerdo con la garantía estándar de Intel, pero se reserva el derecho de realizar cambios en cualquier producto y servicio en cualquier momento sin previo aviso. Intel no asume ninguna responsabilidad que surja de la aplicación o el uso de cualquier información, producto o servicio descrito en este documento, excepto que Intel lo acuerde expresamente por escrito. Se recomienda a los clientes de Intel que obtengan la última versión de las especificaciones del dispositivo antes de confiar en cualquier información publicada y antes de realizar pedidos de productos o servicios. *Otros nombres y marcas pueden reclamarse como propiedad de otros.

ISO 9001: 2015 registrado

9. ALTMEMMULT (multiplicador de coeficiente constante basado en memoria) IP Core 683490 | 2020.10.05
· Almacena múltiples constantes en la memoria de acceso aleatorio (RAM)
· Proporciona una opción para seleccionar el tipo de bloque de RAM
· Admite puertos de entrada de control de carga y claro síncrono opcionales
9.2. Prototipo Verilog HDL
El siguiente prototipo Verilog HDL se encuentra en Verilog Design File (.v) altera_mf.v en el directorio de síntesis eda.
módulo altmemmult #( parámetro coeff_representation = “FIRMADO”, parámetro coeficiente0 = “SIN UTILIZAR”, parámetro data_representation = “FIRMADO”, parámetro intented_device_family = “no utilizado”, parámetro max_clock_cycles_per_result = 1, parámetro número_de_coeficientes = 1, parámetro ram_block_type = “AUTO”, parámetro 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 = “no utilizado”) (reloj de cable de entrada, cable de entrada [width_c-1: 0]coeff_in, cable de entrada [width_d-1:0] data_in, cable de salida load_done, cable de salida [width_r-1:0] resultado, cable de salida result_valid, cable de entrada sclr, cable de entrada [ancho_s-1:0] sel, entrada cable sload_coeff, cable de entrada sload_data)/* síntesis syn_black_box=1 */; módulo final
9.3. Declaración de componente VHDL
La declaración del componente VHDL se encuentra en el Diseño VHDL File (.vhd) altera_mf_components.vhd en el directorio libraryvhdlaltera_mf.
componente altmemmult generic ( coeff_representation:string := “FIRMADO”; coeficiente0:string := “NO UTILIZADO”; data_representation:string := “FIRMADO”; := 1; ram_block_type:string := “AUTO”; total_latency:natural; width_c:natural; width_d:natural; width_r:natural; width_s:natural := 1; lpm_hint:string := “UNUSED”; lpm_type:string := “altmemmult”); port( clock:in std_logic; coeff_in:in std_logic_vector(width_c-1 downto 1) := (otros => '0'); data_in:in std_logic_vector(width_d-0 downto 1);

Intel FPGA Integer Arithmetic IP Cores Guía del usuario 58

Enviar comentarios

9. ALTMEMMULT (multiplicador de coeficiente constante basado en memoria) IP Core 683490 | 2020.10.05

load_done:fuera std_logic; resultado: fuera std_logic_vector (ancho_r-1 hasta 0); result_valid:fuera std_logic; sclr: en std_logic: = '0'; sel:in std_logic_vector(width_s-1 downto 0) := (otros => '0'); sload_coeff: en std_logic: = '0'; sload_data:en std_logic := '0'); componente final;

9.4. Puertos

Las siguientes tablas enumeran los puertos de entrada y salida para el núcleo IP de ALTMEMMULT.

Tabla 37. Puertos de entrada ALTMEMMULT

Nombre del puerto

Requerido

Descripción

reloj

Entrada de reloj al multiplicador.

coeff_in[]

No

Puerto de entrada de coeficiente para el multiplicador. El tamaño del puerto de entrada depende del valor del parámetro WIDTH_C.

datos_en[]

Puerto de entrada de datos al multiplicador. El tamaño del puerto de entrada depende del valor del parámetro WIDTH_D.

desclr

No

Entrada clara síncrona. Si no se utiliza, el valor predeterminado es activo alto.

vender[]

No

Selección de coeficiente fijo. El tamaño del puerto de entrada depende del WIDTH_S

valor del parámetro.

sload_coeff

No

Puerto de entrada de coeficiente de carga síncrona. Reemplaza el valor del coeficiente seleccionado actual con el valor especificado en la entrada coeff_in.

carga_datos

No

Puerto de entrada de datos de carga síncrona. Señal que especifica una nueva operación de multiplicación y cancela cualquier operación de multiplicación existente. Si el parámetro MAX_CLOCK_CYCLES_PER_RESULT tiene un valor de 1, el puerto de entrada sload_data se ignora.

Tabla 38. Puertos de salida ALTMEMMULT

Nombre del puerto

Requerido

Descripción

resultado[]

Puerto de salida del multiplicador. El tamaño del puerto de entrada depende del valor del parámetro WIDTH_R.

resultado_valido

Indica cuando la salida es el resultado válido de una multiplicación completa. Si el parámetro MAX_CLOCK_CYCLES_PER_RESULT tiene un valor de 1, no se utiliza el puerto de salida result_valid.

carga_terminada

No

Indica cuando el nuevo coeficiente ha terminado de cargarse. La señal load_done se afirma cuando un nuevo coeficiente ha terminado de cargarse. A menos que la señal load_done sea alta, no se puede cargar ningún otro valor de coeficiente en la memoria.

9.5 Parámetros

La siguiente tabla enumera los parámetros para el núcleo IP ALTMEMMULT.

Tabla 39.
ANCHO_D ANCHO_C

Parámetros de ALTMEMMULT
Nombre del parámetro

Tipo requerido

Descripción

Entero Sí

Especifica el ancho del puerto data_in[].

Entero Sí

Especifica el ancho del puerto coeff_in[]. continuado…

Enviar comentarios

Intel FPGA Integer Arithmetic IP Cores Guía del usuario 59

9. ALTMEMMULT (multiplicador de coeficiente constante basado en memoria) IP Core 683490 | 2020.10.05

Nombre del parámetro ANCHO_R ANCHO

Documentos / Recursos

Intel FPGA Integer Arithmetic IP Cores [pdf] Guía del usuario
FPGA Núcleos IP aritméticos enteros, Núcleos IP aritméticos enteros, Núcleos IP aritméticos, Núcleos IP

Referencias

Deja un comentario

Su dirección de correo electrónico no será publicada. Los campos obligatorios están marcados *