Núcleos IP aritméticos de FPGA entero

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

Versión en liña Enviar comentarios

UG-01063

ID: 683490 Versión: 2020.10.05

Contidos
Contidos
1. Núcleos IP aritméticos de Intel FPGA entero………………………………………………………………………….. 5
2. Núcleo IP LPM_COUNTER (Contador)……………………………………………………………………………….. 7 2.1. Características……………………………………………………………………………………………………7 2.2. Prototipo de Verilog HDL……………………………………………………………………………….. 8 2.3. Declaración do compoñente VHDL……………………………………………………………………………….8 2.4. Declaración VHDL LIBRARY_USE………………………………………………………………… 9 2.5. Portos…………………………………………………………………………………………………………..9 2.6. Parámetros……………………………………………………………………………… 10
3. LPM_DIVIDE (Divisor) Intel FPGA IP Core………………………………………………………….. 12 3.1. Características………………………………………………………………………………………………. 12 3.2. Prototipo Verilog HDL……………………………………………………………………………… 12 3.3. Declaración do compoñente VHDL………………………………………………………………….. 13 3.4. Declaración VHDL LIBRARY_USE…………………………………………………………………. 13 3.5. Portos………………………………………………………………………………………………… 13 3.6. Parámetros…………………………………………………………………………………………… 14
4. Núcleo IP LPM_MULT (multiplicador)……………………………………………………………………………………………. 16 4.1. Características………………………………………………………………………………………………. 16 4.2. Prototipo Verilog HDL……………………………………………………………………………… 17 4.3. Declaración do compoñente VHDL………………………………………………………………….. 17 4.4. Declaración VHDL LIBRARY_USE…………………………………………………………………. 17 4.5. Sinais …………………………………………………………………………………………………………… 18 4.6. Parámetros para dispositivos Stratix V, Arria V, Cyclone V e Intel Cyclone 10 LP…………… 18 4.6.1. Ficha Xeral………………………………………………………………………………18 4.6.2. Xerais 2 Ficha……………………………………………………………………………… 19 4.6.3. Pestana Pipelining……………………………………………………………………………… 19 4.7. Parámetros para dispositivos Intel Stratix 10, Intel Arria 10 e Intel Cyclone 10 GX……….. 20 4.7.1. Ficha Xeral………………………………………………………………………………20 4.7.2. Xerais 2 Ficha……………………………………………………………………………… 20 4.7.3. Canalización……………………………………………………………………………………… 21
5. LPM_ADD_SUB (Sumador/Restador)……………………………………………………………………………… 22 5.1. Características………………………………………………………………………………………………. 22 5.2. Prototipo Verilog HDL……………………………………………………………………………… 23 5.3. Declaración do compoñente VHDL………………………………………………………………….. 23 5.4. Declaración VHDL LIBRARY_USE…………………………………………………………………. 23 5.5. Portos………………………………………………………………………………………………… 23 5.6. Parámetros……………………………………………………………………………… 24
6. LPM_COMPARE (Comparador)…………………………………………………………………………………………… 26 6.1. Características………………………………………………………………………………………………. 26 6.2. Prototipo Verilog HDL……………………………………………………………………………… 27 6.3. Declaración do compoñente VHDL………………………………………………………………….. 27 6.4. Declaración VHDL LIBRARY_USE…………………………………………………………………. 27 6.5. Portos………………………………………………………………………………………………… 27 6.6. Parámetros……………………………………………………………………………… 28

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

Enviar comentarios

Contidos

7. ALTEC (Código de corrección de erros: codificador/descodificador) Núcleo IP…………………………………… 30
7.1. Características do codificador ALTECC………………………………………………………………………..31 7.2. Prototipo Verilog HDL (ALTECC_ENCODER)……………………………………………………. 32 7.3. Prototipo Verilog HDL (ALTECC_DECODER)……………………………………………………. 32 7.4. Declaración de compoñente VHDL (ALTECC_ENCODER)……………………………………………….. 33 7.5. Declaración de compoñente VHDL (ALTECC_DECODER)………………………………………………… 33 7.6. Declaración VHDL LIBRARY_USE…………………………………………………………………. 33 7.7. Portos do codificador…………………………………………………………………………………………… 33 7.8. Portos do decodificador………………………………………………………………………………………………… 34 7.9. Parámetros do codificador……………………………………………………………………………… 34 7.10. Parámetros do decodificador………………………………………………………………… 35
8. Intel FPGA Multiply Adder IP Core…………………………………………………………………. 36
8.1. Características………………………………………………………………………………………………. 37 8.1.1. Presumador………………………………………………………………………………….. 38 8.1.2. Rexistro de atraso sistólico………………………………………………………………….. 40 8.1.3. Constante de precarga……………………………………………………………………………… 43 8.1.4. Dobre acumulador……………………………………………………………………………… 43
8.2. Prototipo Verilog HDL……………………………………………………………………………… 44 8.3. Declaración do compoñente VHDL………………………………………………………………….. 44 8.4. Declaración VHDL LIBRARY_USE…………………………………………………………………. 44 8.5. Sinais …………………………………………………………………………………………………………… 44 8.6. Parámetros……………………………………………………………………………… 47
8.6.1. Ficha Xeral…………………………………………………………………………………… 47 8.6.2. Pestana Modos adicionais……………………………………………………………………………….. 47 8.6.3. Pestana Multiplicadores……………………………………………………………………….. 49 8.6.4. Pestana Preadder………………………………………………………………………………. 51 8.6.5. Ficha Acumulador……………………………………………………………………………….. 53 8.6.6. Ficha Sistólica/Chainout ……………………………………………………………………. 55 8.6.7. Pestana Pipeliner……………………………………………………………………………… 56
9. ALTMEMMULT (multiplicador de coeficiente constante baseado en memoria) IP Core………… 57
9.1. Características………………………………………………………………………………………………. 57 9.2. Prototipo Verilog HDL……………………………………………………………………………… 58 9.3. Declaración do compoñente VHDL………………………………………………………………….. 58 9.4. Portos………………………………………………………………………………………………… 59 9.5. Parámetros…………………………………………………………………………………………… 59
10. Núcleo IP ALTMULT_ACCUM (acumulación múltiple)……………………………………………… 61
10.1. Características………………………………………………………………………………………………………….. 62 10.2. Prototipo Verilog HDL……………………………………………………………………………………..62 10.3. Declaración do compoñente VHDL………………………………………………………………… 63 10.4. Declaración VHDL LIBRARY_USE…………………………………………………………………63 10.5. Portos…………………………………………………………………………………………………. 63 10.6. Parámetros…………………………………………………………………………………………………. 64
11. Núcleo IP ALTMULT_ADD (Multiplica-Sumador) …………………………………………………………………..69
11.1. Características……………………………………………………………………………………………….. 71 11.2. Prototipo Verilog HDL……………………………………………………………………………………..72 11.3. Declaración do compoñente VHDL………………………………………………………………… 72 11.4. Declaración VHDL LIBRARY_USE…………………………………………………………………………72

Enviar comentarios

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

Contidos
11.5. Portos…………………………………………………………………………………………………. 72 11.6. Parámetros…………………………………………………………………………………………………. 73
12. Núcleo IP ALTMULT_COMPLEX (Multiplicador complexo)……………………………………………… 86 12.1. Multiplicación complexa .................................................................................................................. 86 12.2. Representación canónica……………………………………………………………………………… 87 12.3. Representación convencional ………………………………………………………………………. 87 12.4. Características…………………………………………………………………………………………….. 88 12.5. Prototipo Verilog HDL……………………………………………………………………………………………..88 12.6. Declaración do compoñente VHDL………………………………………………………………… 89 12.7. Declaración VHDL LIBRARY_USE………………………………………………………………… 89 12.8. Sinais ……………………………………………………………………………………………………………. 89 12.9. Parámetros…………………………………………………………………………………………………. 90
13. Núcleo IP ALTSQRT (raíz cadrada enteira)…………………………………………………………………….92 13.1. Características…………………………………………………………………………………………….. 92 13.2. Prototipo Verilog HDL……………………………………………………………………………………………..92 13.3. Declaración de compoñentes VHDL………………………………………………………………… 93 13.4. Declaración VHDL LIBRARY_USE………………………………………………………………… 93 13.5. Portos…………………………………………………………………………………………………. 93 13.6. Parámetros…………………………………………………………………………………………………. 94
14. PARALLEL_ADD (Sumador Paralelo) Núcleo IP………………………………………………………………….. 95 14.1. Característica………………………………………………………………………………………………………….95 14.2. Prototipo Verilog HDL……………………………………………………………………………………………..95 14.3. Declaración de compoñentes VHDL………………………………………………………………… 96 14.4. Declaración VHDL LIBRARY_USE………………………………………………………………… 96 14.5. Portos…………………………………………………………………………………………………. 96 14.6. Parámetros…………………………………………………………………………………………………. 97
15. Guía de usuario de núcleos IP aritméticos de enteiros Arquivos de documentos………………………………… 98
16. Historial de revisión de documentos para Intel FPGA Integer Arithmetic IP Cores Guía de usuario... 99

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

Enviar comentarios

683490 | 2020.10.05/XNUMX/XNUMX Enviar comentarios

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

Podes usar os núcleos IP enteiros Intel® FPGA para realizar operacións matemáticas no teu deseño.

Estas funcións ofrecen unha síntese lóxica e unha implementación do dispositivo máis eficientes que codificar as súas propias funcións. Podes personalizar os núcleos IP para acomodar os teus requisitos de deseño.

Os núcleos IP aritméticos de Intel enteiros divídense nas seguintes dúas categorías: · Núcleos IP da biblioteca de módulos parametrizados (LPM) · Núcleos IP específicos de Intel (ALT)

A seguinte táboa enumera os núcleos IP aritméticos enteiros.

Táboa 1.

Lista de núcleos IP

Núcleos IP

Núcleos IP LPM

LPM_COUNTER

LPM_DIVIDE

LPM_MULT

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

Función rematadaview Contador multiplicador divisor
Comparador sumador ou restador
Codificador/Decodificador ECC

Dispositivo compatible
Arria® II GX, Arria II GZ, Arria V, Intel Arria 10, Cyclone® IV E, Cyclone IV GX, Cyclone V, Intel Cyclone 10 LP,
Intel Cyclone 10 GX, MAX® II, MAX V, MAX 10, Stratix® IV, Stratix V
Arria II GX, Arria II GZ, Arria V, Intel Arria 10, Cyclone IV E, Cyclone IV GX,
Cyclone V, Intel Cyclone 10 LP, Intel Cyclone 10 GX, MAX II, MAX V, MAX 10, Stratix IV, Stratix V, Intel Stratix 10
Arria II GX, Arria II GZ, Arria V, Intel Arria 10, Cyclone IV E, Cyclone IV GX,
Cyclone V, Intel Cyclone 10 LP, Intel Cyclone 10 GX, MAX II, MAX V, MAX 10, Stratix IV, Stratix V, Intel Stratix 10
Arria II GX, Arria II GZ, Arria V, Cyclone IV E, Cyclone IV GX, Cyclone V, Intel Cyclone 10 LP, MAX 10, MAX
II, MAX V, Stratix IV, Stratix V
Arria II GX, Arria II GZ, Arria V, Cyclone IV E, Cyclone IV GX, Cyclone V, Intel Cyclone 10 LP, MAX 10, MAX
II, MAX V, Stratix IV, Stratix V
Arria II GX, Arria II GZ, Arria V, Intel Arria 10, Cyclone IV E, Cyclone IV GX,
Cyclone V, Intel Cyclone 10 LP, Intel Cyclone 10 GX, MAX II, MAX V, MAX
10, Stratix IV, Stratix V continúa...

Intel Corporation. Todos os dereitos reservados. Intel, o logotipo de Intel e outras marcas de Intel son marcas comerciais de Intel Corporation ou das súas subsidiarias. Intel garante o rendemento dos seus produtos FPGA e semicondutores segundo as especificacións actuais de acordo coa garantía estándar de Intel, pero resérvase o dereito de facer cambios en calquera produto e servizo en calquera momento e sen previo aviso. Intel non asume ningunha responsabilidade ou responsabilidade derivada da aplicación ou uso de calquera información, produto ou servizo descrito aquí, salvo que Intel o acorde expresamente por escrito. Recoméndase aos clientes de Intel que obteñan a versión máis recente das especificacións do dispositivo antes de confiar en calquera información publicada e antes de facer pedidos de produtos ou servizos. *Outros nomes e marcas poden ser reclamados como propiedade doutros.

Certificado ISO 9001:2015

1. Núcleos IP aritméticos de Intel FPGA 683490 | 2020.10.05/XNUMX/XNUMX

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

Función rematadaview Multiplicador-Sumador
Multiplicador de coeficiente constante baseado na memoria
Multiplicador-acumulador Multiplicador-sumador
Multiplicador complexo
Raíz cadrada enteira
Sumador paralelo

Dispositivo compatible
Arria V, Stratix V, Cyclone V, Intel Stratix 10, Intel Arria 10, Intel Cyclone
10 GX
Arria II GX, Arria II GZ, Arria V, Intel Arria 10 (Intel Quartus® Prime Standard Edition), Cyclone IV E, Cyclone IV GX, Cyclone V, Intel
Cyclone 10 LP, MAX II, MAX V, MAX 10, Stratix IV, Stratix V
Arria II GX, Arria II GZ, Cyclone IV E, Cyclone IV GX, Intel Cyclone 10 LP, MAX 10, MAX II, MAX V, Stratix IV
Arria II GX, Arria II GZ, Cyclone IV E, Cyclone IV GX, Intel Cyclone 10 LP, MAX 10, MAX II, MAX V, Stratix IV
Arria II GX, Arria II GZ, Intel Arria 10, Arria V, Arria V GZ, Cyclone IV E, Cyclone IV GX, Cyclone V, Intel
Cyclone 10 GX, Intel Cyclone 10 LP, MAX 10, Stratix V, Intel Stratix 10
Arria II GX, Arria II GZ, Arria V, Intel Arria 10, Cyclone IV E, Cyclone IV GX,
Cyclone V, Intel Cyclone 10 LP, Intel Cyclone 10 GX, MAX II, MAX V, MAX
10, Stratix IV, Stratix V
Arria II GX, Arria II GZ, Arria V, Intel Arria 10, Cyclone IV E, Cyclone IV GX,
Cyclone V, Intel Cyclone 10 LP, Intel Cyclone 10 GX, MAX II, MAX V, MAX
10, Stratix IV, Stratix V

Información relacionada
· Notas de lanzamento de FPGA e dispositivos programables de Intel
· Introdución aos núcleos Intel FPGA IP Ofrece máis información sobre os núcleos Intel FPGA IP.
· Guía de usuario de núcleos IP de coma flotante Ofrece máis información sobre os núcleos IP de coma flotante Intel FPGA.
· Introdución aos núcleos IP Intel FPGA Ofrece información xeral sobre todos os núcleos IP Intel FPGA, incluíndo a parametrización, xeración, actualización e simulación de núcleos IP.
· Creación de scripts de simulación de IP e Qsys independentes da versión Cree scripts de simulación que non requiran actualizacións manuais para actualizacións de versión de software ou IP.
· Directrices de Mellores Prácticas de Xestión de Proxectos para unha xestión eficiente e portabilidade do seu proxecto e IP files.
· Guía de usuario de núcleos IP de aritmética enteiro Arquivos de documentos na páxina 98 Ofrece unha lista de guías de usuario para versións anteriores dos núcleos de IP de aritmética enteira.

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

Enviar comentarios

683490 | 2020.10.05/XNUMX/XNUMX Enviar comentarios

2. Núcleo IP LPM_COUNTER (Contador).

Figura 1.

O núcleo IP LPM_COUNTER é un contador binario que crea contadores ascendentes, contadores descendentes e contadores ascendentes ou descendentes con saídas de ata 256 bits de ancho.

A seguinte figura mostra os portos para o núcleo IP LPM_COUNTER.

LPM_COUNTER portos

LPM_COUNTER

ssclr sload datos de sset[]

q[]

arriba abaixo

couto

aclr cargando aset

clk_en cnt_en cin
inst

2.1. Características
O núcleo IP LPM_COUNTER ofrece as seguintes funcións: · Xera contadores ascendentes, descendentes e ascendentes/descendentes · Xera os seguintes tipos de contadores:
— Binario simple: o contador aumenta a partir de cero ou decrece a partir de 255
— Módulo: o contador aumenta ou diminúe do valor do módulo especificado polo usuario e repite
· Admite portos de entrada de borrado, carga e configuración sincrónicos opcionais · Admite portos de entrada de borrado, carga e configuración asíncronos opcionais · Admite portos de entrada de habilitación de conta e reloxo opcionais.

Intel Corporation. Todos os dereitos reservados. Intel, o logotipo de Intel e outras marcas de Intel son marcas comerciais de Intel Corporation ou das súas subsidiarias. Intel garante o rendemento dos seus produtos FPGA e semicondutores segundo as especificacións actuais de acordo coa garantía estándar de Intel, pero resérvase o dereito de facer cambios en calquera produto e servizo en calquera momento e sen previo aviso. Intel non asume ningunha responsabilidade ou responsabilidade derivada da aplicación ou uso de calquera información, produto ou servizo descrito aquí, salvo que Intel o acorde expresamente por escrito. Recoméndase aos clientes de Intel que obteñan a versión máis recente das especificacións do dispositivo antes de confiar en calquera información publicada e antes de facer pedidos de produtos ou servizos. *Outros nomes e marcas poden ser reclamados como propiedade doutros.

Certificado ISO 9001:2015

2. Núcleo IP LPM_COUNTER (Contador).
683490 | 2020.10.05
2.2. Prototipo Verilog HDL
O seguinte prototipo Verilog HDL está situado no Verilog Design File (.v) lpm.v no directorio edasynthesis.
módulo lpm_counter (q, data, clock, cin, cout, clk_en, cnt_en, updown, aset, aclr, aload, sset, sclr, sload, eq); parámetro lpm_type = "lpm_counter"; parámetro lpm_width = 1; parámetro lpm_modulus = 0; parámetro lpm_direction = "UNUSED"; parámetro lpm_avalue = "SIN USAR"; parámetro lpm_svalue = "SIN USAR"; parámetro lpm_pvalue = "SIN USAR"; parámetro lpm_port_updown = "PORT_CONNECTIVITY"; parámetro lpm_hint = "UNUSED"; saída [lpm_width-1:0] q; saída cout; saída [15:0] eq; entrada cin; datos de entrada [lpm_width-1:0]; reloxo de entrada, clk_en, cnt_en, updown; input aset, aclr, aload; entrada sset, sclr, sload; módulo final
2.3. Declaración de compoñentes VHDL
A declaración do compoñente VHDL está situada no Deseño VHDL File (.vhd) LPM_PACK.vhd no directorio librariesvhdllpm.
compoñente LPM_COUNTER xenérico ( LPM_WIDTH : natural; LPM_MODULUS : natural := 0; LPM_DIRECTION : cadea := “UNUSED”; LPM_AVALUE : cadea := “UNUSED”; LPM_SVALUE : cadea := “UNUSED”; LPM_PORT_UPDOWN : string :_CONNECTIVITY :_CONNECTIVITY ; LPM_PVALUE : cadea := “UNUSED” ; porto (DATOS: en std_logic_vector(LPM_WIDTH-1 ata 0):= (OUTROS =>
'0'); CLOCK : en std_logic ; CLK_EN : en std_logic := '1'; CNT_EN : en std_logic := '1'; SUBIR : en std_logic := '1'; CARGA : en std_logic := '0'; SSET : en std_logic := '0'; SCLR : en std_logic := '0'; ALOAD : en std_logic := '0'; ASET : en std_logic := '0'; ACLR : en std_logic := '0'; CIN : en std_logic := '1'; COUT : out std_logic := '0'; Q: out std_logic_vector (LPM_WIDTH-1 ata 0); EQ: out std_logic_vector (15 ata 0));
compoñente final;

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

Enviar comentarios

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

2.4. Declaración VHDL LIBRARY_USE
A declaración VHDL LIBRARY-USE non é necesaria se usa a declaración de compoñente VHDL.
BIBLIOTECA lpm; USE lpm.lpm_components.all;

2.5. Portos

As seguintes táboas enumeran os portos de entrada e saída para o núcleo IP LPM_COUNTER.

Táboa 2.

LPM_COUNTER portos de entrada

Nome do porto

Obrigatorio

Descrición

datos[]

Non

Entrada de datos en paralelo ao contador. O tamaño do porto de entrada depende do valor do parámetro LPM_WIDTH.

reloxo

Si

Entrada de reloxo activada polo bordo positivo.

clk_gl

Non

Entrada de activación do reloxo para activar todas as actividades sincrónicas. Se se omite, o valor predeterminado é 1.

cnt_en

Non

A entrada de habilitación de conta para desactivar o reconto cando se afirma baixo sen afectar a sload, sset ou sclr. Se se omite, o valor predeterminado é 1.

arriba abaixo

Non

Controla a dirección do reconto. Cando se afirma alta (1), a dirección da conta é cara arriba, e cando se afirma baixa (0), a dirección da conta é cara abaixo. Se se utiliza o parámetro LPM_DIRECTION, non se pode conectar o porto ascendente. Se non se utiliza LPM_DIRECTION, o porto ascendente é opcional. Se se omite, o valor predeterminado é superior (1).

cin

Non

Carry-in ao bit de orde baixa. Para contadores ascendentes, o comportamento da entrada cin é

idéntico ao comportamento da entrada cnt_en. Se se omite, o valor predeterminado é 1

(VCC).

aclr

Non

Entrada clara asíncrona. Se se usan e afirman tanto aset como aclr, aclr anula a aset. Se se omite, o valor predeterminado é 0 (desactivado).

activo

Non

Entrada de conxunto asíncrona. Especifica as saídas de q[] como todos os 1 ou ao valor especificado polo parámetro LPM_AVALUE. Se se usan e afirman tanto os portos aset como aclr, o valor do porto aclr anula o valor do porto aset. Se se omite, o valor predeterminado é 0, desactivado.

cargado

Non

Entrada de carga asíncrona que carga de forma asíncrona o contador co valor da entrada de datos. Cando se usa o porto de carga, o porto de datos [] debe estar conectado. Se se omite, o valor predeterminado é 0, desactivado.

sclr

Non

Entrada clara sincrónica que borra o contador no seguinte borde do reloxo activo. Se se usan e afirman tanto os portos sset como sclr, o valor do porto sclr anula o valor do porto sset. Se se omite, o valor predeterminado é 0, desactivado.

set

Non

Entrada de conxunto sincrónica que configura o contador no seguinte borde do reloxo activo. Especifica o valor das saídas q como todos os 1 ou ao valor especificado polo parámetro LPM_SVALUE. Se se usan e afirman os portos sset e sclr,
o valor do porto sclr anula o valor do porto sset. Se se omite, o valor predeterminado é 0 (desactivado).

cargar

Non

Entrada de carga síncrona que carga o contador con datos[] no seguinte borde do reloxo activo. Cando se utiliza o porto sload, o porto de datos [] debe estar conectado. Se se omite, o valor predeterminado é 0 (desactivado).

Enviar comentarios

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

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

Táboa 3.

LPM_COUNTER portos de saída

Nome do porto

Obrigatorio

Descrición

q[]

Non

Saída de datos do contador. O tamaño do porto de saída depende do

Valor do parámetro LPM_WIDTH. Ou q[] ou polo menos un dos portos eq[15..0].

debe estar conectado.

eq[15..0]

Non

Saída de decodificación do contador. O porto eq[15..0] non é accesible no editor de parámetros porque o parámetro só admite AHDL.
Debe estar conectado o porto q[] ou o porto eq[]. Pódense usar ata c eq portos (0 <= c <= 15). Só se descodifican os 16 valores de conta máis baixos. Cando o valor de conta é c, a saída de eqc é alta (1). Por example, cando a conta é 0, eq0 = 1, cando a conta é 1, eq1 = 1, e cando a conta é 15, eq 15 = 1. A saída descodificada para valores de conta de 16 ou máis require decodificación externa. As saídas eq[15..0] son ​​asíncronas coa saída q[].

couto

Non

Porto de execución do bit MSB do contador. Pódese usar para conectarse a outro contador para crear un contador máis grande.

2.6 Parámetros

A seguinte táboa enumera os parámetros para o núcleo IP LPM_COUNTER.

Táboa 4.

Parámetros LPM_COUNTER

Nome do parámetro

Tipo

LPM_WIDTH

Número enteiro

LPM_DIRECTION

Corda

LPM_MODULUS LPM_AVALUE

Número enteiro
Enteiro/Cadea

LPM_SVALUE LPM_HINT

Enteiro/Cadea
Corda

LPM_TYPE

Corda

Obrigatorio Si Non Non Non
Non Non
Non

Descrición
Especifica o ancho dos portos de datos[] e q[], se se usan.
Os valores son UP, DOWN e UNUSED. Se se usa o parámetro LPM_DIRECTION, non se pode conectar o porto ascendente. Cando o porto updown non está conectado, o valor predeterminado do parámetro LPM_DIRECTION é UP.
O reconto máximo, máis un. Número de estados únicos no ciclo do contador. Se o valor de carga é maior que o parámetro LPM_MODULUS, non se especifica o comportamento do contador.
Valor constante que se carga cando o activo se afirma alto. Se o valor especificado é maior ou igual a , o comportamento do contador é un nivel lóxico (X) indefinido, onde é LPM_MODULUS, se está presente, ou 2 ^ LPM_WIDTH. Intel recomenda que especifique este valor como un número decimal para os deseños AHDL.
Valor constante que se carga no bordo ascendente do porto do reloxo cando o porto sset se afirma alto. Intel recomenda que especifique este valor como un número decimal para os deseños AHDL.
Cando crea unha función dunha biblioteca de módulos parametrizados (LPM) nun deseño VHDL File (.vhd), debe usar o parámetro LPM_HINT para especificar un parámetro específico de Intel. Por example: LPM_HINT = "CHAIN_SIZE = 8, ONE_INPUT_IS_CONSTANT = YES"
O valor predeterminado é UNUSED.
Identifica o nome da entidade da biblioteca de módulos parametrizados (LPM) no deseño VHDL files.
continuou…

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

Enviar comentarios

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

Nome do parámetro INTENDED_DEVICE_FAMILY CARRY_CNT_EN
LABWIDE_SCLR
LPM_PORT_UPDOWN

Escriba String String
Corda
Corda

Obrigatorio Non No
Non
Non

Descrición
Este parámetro utilízase para fins de modelaxe e simulación de comportamento. Este parámetro utilízase para fins de modelaxe e simulación de comportamento. O editor de parámetros calcula o valor deste parámetro.
Parámetro específico de Intel. Debes usar o parámetro LPM_HINT para especificar o parámetro CARRY_CNT_EN no deseño VHDL files. Os valores son SMART, ON, OFF e UNUSED. Activa a función LPM_COUNTER para propagar o sinal cnt_en a través da cadea de transporte. Nalgúns casos, a configuración do parámetro CARRY_CNT_EN pode ter un leve impacto na velocidade, polo que pode querer desactivalo. O valor predeterminado é SMART, que ofrece a mellor compensación entre tamaño e velocidade.
Parámetro específico de Intel. Debes usar o parámetro LPM_HINT para especificar o parámetro LABWIDE_SCLR no deseño VHDL files. Os valores son ON, OFF ou UNUSED. O valor predeterminado é ON. Permítelle desactivar o uso da función LABwide sclr que se atopa nas familias de dispositivos obsoletas. Desactivar esta opción aumenta as posibilidades de utilizar completamente os LAB parcialmente cheos e, polo tanto, pode permitir unha maior densidade lóxica cando o SCLR non se aplica a un LAB completo. Este parámetro está dispoñible para compatibilidade con versións anteriores e Intel recomenda que non o use.
Especifica o uso do porto de entrada updown. Se se omite, o valor predeterminado é PORT_CONNECTIVITY. Cando o valor do porto se define como PORT_USED, o porto trátase como usado. Cando o valor do porto se define como PORT_UNUSED, o porto trátase como non utilizado. Cando o valor do porto se define en PORT_CONNECTIVITY, o uso do porto determínase comprobando a conectividade do porto.

Enviar comentarios

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

683490 | 2020.10.05/XNUMX/XNUMX Enviar comentarios

3. LPM_DIVIDE (Divisor) Intel FPGA IP Core

Figura 2.

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

A seguinte figura mostra os portos para o núcleo IP LPM_DIVIDE.

LPM_DIVIDE Portos

LPM_DIVIDE

número[] denom[] reloxo

cociente[] permanecer[]

clken aclr

inst

3.1. Características
O núcleo IP LPM_DIVIDE ofrece as seguintes características: · Xera un divisor que divide o valor de entrada do numerador por unha entrada do denominador
valor para producir un cociente e un resto. · Admite un ancho de datos de 1 bits. · Admite o formato de representación de datos asinados e sen asinar tanto para o numerador
e valores do denominador. · Admite optimización de área ou velocidade. · Ofrece unha opción para especificar unha saída de resto positivo. · Admite a latencia de saída configurable de pipeline. · Admite portos opcionales de borrado asíncrono e de activación do reloxo.

3.2. Prototipo Verilog HDL
O seguinte prototipo Verilog HDL está situado no Verilog Design File (.v) lpm.v no directorio edasynthesis.
módulo lpm_divide (cociente, permanecer, número, denom, reloxo, clken, aclr); parámetro lpm_type = "lpm_divide"; parámetro lpm_widthn = 1; parámetro lpm_widthd = 1; parámetro lpm_nrepresentation = "SEN ASIGNAR"; parámetro lpm_drepresentation = "UNSIGNED"; parámetro lpm_remainderpositive = "TRUE"; parámetro lpm_pipeline = 0;

Intel Corporation. Todos os dereitos reservados. Intel, o logotipo de Intel e outras marcas de Intel son marcas comerciais de Intel Corporation ou das súas subsidiarias. Intel garante o rendemento dos seus produtos FPGA e semicondutores segundo as especificacións actuais de acordo coa garantía estándar de Intel, pero resérvase o dereito de facer cambios en calquera produto e servizo en calquera momento e sen previo aviso. Intel non asume ningunha responsabilidade ou responsabilidade derivada da aplicación ou uso de calquera información, produto ou servizo descrito aquí, salvo que Intel o acorde expresamente por escrito. Recoméndase aos clientes de Intel que obteñan a versión máis recente das especificacións do dispositivo antes de confiar en calquera información publicada e antes de facer pedidos de produtos ou servizos. *Outros nomes e marcas poden ser reclamados como propiedade doutros.

Certificado ISO 9001:2015

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

parámetro lpm_hint = "UNUSED"; reloxo de entrada; entrada clken; entrada aclr; entrada [lpm_widthn-1:0] número; entrada [lpm_widthd-1:0] denom; cociente de saída [lpm_widthn-1:0]; a saída [lpm_widthd-1:0] permanece; módulo final

3.3. Declaración de compoñentes VHDL
A declaración do compoñente VHDL está situada no Deseño VHDL File (.vhd) LPM_PACK.vhd no directorio librariesvhdllpm.
compoñente LPM_DIVIDE xenérico (LPM_WIDTHN : natural; LPM_WIDTHD : natural;
LPM_NREPRESENTATION : cadea := “SEN ASIGNAR”; LPM_DREPRESENTATION : cadea := “SEN ASIGNAR”; LPM_PIPELINE : natural := 0; LPM_TYPE : cadea := L_DIVIDE; LPM_HINT : cadea := “UNUSED”); porto (NUMER : en std_logic_vector (LPM_WIDTHN-1 ata 0); DENOM : en std_logic_vector (LPM_WIDTHD-1 ata 0); ACLR : en std_logic := '0'; CLOCK : en std_logic := '0'; CLKEN : en std_logic := '1'; QUOTIENT: out std_logic_vector(LPM_WIDTHN-1 downto 0 REMAIN: out std_logic_vector(LPM_WIDTHD-1 downto 0)); compoñente final;

3.4. Declaración VHDL LIBRARY_USE
A declaración VHDL LIBRARY-USE non é necesaria se usa a declaración de compoñente VHDL.
BIBLIOTECA lpm; USE lpm.lpm_components.all;

3.5. Portos

As seguintes táboas enumeran os portos de entrada e saída para o núcleo IP LPM_DIVIDE.

Táboa 5.

LPM_DIVIDE Portos de entrada

Nome do porto

Obrigatorio

número[]

Si

denominación[]

Si

Descrición
Entrada de datos do numerador. O tamaño do porto de entrada depende do valor do parámetro LPM_WIDTHN.
Entrada de datos do denominador. O tamaño do porto de entrada depende do valor do parámetro LPM_WIDTHD.
continuou…

Enviar comentarios

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

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

Nome do porto reloxo clken
aclr

Obrigatorio Non No
Non

Descrición
Entrada de reloxo para uso canalizado. Para valores LPM_PIPELINE distintos de 0 (predeterminado), o porto do reloxo debe estar activado.
O reloxo permite o uso canalizado. Cando o porto clken se afirma alto, ten lugar a operación de división. Cando o sinal é baixo, non se produce ningunha operación. Se se omite, o valor predeterminado é 1.
Porto de borrado asíncrono usado en calquera momento para restablecer a canalización a todos os 0 de forma asíncrona coa entrada do reloxo.

Táboa 6.

LPM_DIVIDE Portos de saída

Nome do porto

Obrigatorio

Descrición

cociente []

Si

Saída de datos. O tamaño do porto de saída depende do LPM_WIDTHN

valor do parámetro.

permanecer[]

Si

Saída de datos. O tamaño do porto de saída depende do LPM_WIDTHD

valor do parámetro.

3.6 Parámetros

A seguinte táboa enumera os parámetros para o núcleo IP LPM_DIVIDE Intel FPGA.

Nome do parámetro

Tipo

Obrigatorio

Descrición

LPM_WIDTHN

Número enteiro

Si

Especifica o ancho do número[] e

cociente [] portos. Os valores son de 1 a 64.

LPM_WIDTHD

Número enteiro

Si

Especifica os anchos do denom[] e

permanecen [] portos. Os valores son de 1 a 64.

LPM_NREPRESENTATION LPM_DREPRESENTATION

Cadena Cadena

Non

Representación de signos da entrada do numerador.

Os valores son SIGNED e UNSIGNED. Cando isto

o parámetro está establecido en SIGNED, o divisor

interpreta a entrada de número[] como dous con signo

complemento.

Non

Representación de signos da entrada do denominador.

Os valores son SIGNED e UNSIGNED. Cando isto

o parámetro está establecido en SIGNED, o divisor

interpreta a entrada denom[] como dous con signo

complemento.

LPM_TYPE

Corda

Non

Identifica a biblioteca de parametrizada

módulos (LPM) nome da entidade no deseño VHDL

files (.vhd).

LPM_HINT

Corda

Non

Cando crea unha instancia dunha biblioteca de

módulos parametrizados (LPM) funcionan en a

Deseño VHDL File (.vhd), debes usar o

Parámetro LPM_HINT para especificar un Intel-

parámetro específico. Por example: LPM_HINT

= "CHAIN_SIZE = 8,

ONE_INPUT_IS_CONSTANT = YES” O

o valor predeterminado é NON USADO.

LPM_REMAINDERPOSITIVE

Corda

Non

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

Parámetro LPM_HINT para especificar

Parámetro LPM_REMAINDERPOSITIVE en

Deseño VHDL files. Os valores son VERDADEIRO ou FALSO.

Se este parámetro está configurado como TRUE, entón o

o valor do porto restante [] debe ser maior

continuou…

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

Enviar comentarios

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

Nome do parámetro

Tipo

MAXIMIZA_VELOCIDADE

Número enteiro

LPM_PIPELINE

Número enteiro

INTENDED_DEVICE_FAMILY SKIP_BITS

Cadena Enteiro

Núm. obrigatorio
Non Non Non

Descrición
igual ou superior a cero. Se este parámetro se define como VERDADEIRO, entón o valor do porto restante [] é cero ou o valor é o mesmo signo, positivo ou negativo, que o valor do porto numérico. Para reducir a área e mellorar a velocidade, Intel recomenda establecer este parámetro como TRUE nas operacións nas que o resto debe ser positivo ou onde o resto non ten importancia.
Parámetro específico de Intel. Debes usar o parámetro LPM_HINT para especificar o parámetro MAXIMIZE_SPEED no deseño VHDL files. Os valores son [0..9]. Se se usa, o software Intel Quartus Prime tenta optimizar unha instancia específica da función LPM_DIVIDE para a velocidade e non para a rutabilidade, e anula a configuración da opción lóxica Técnica de optimización. Se non se utiliza MAXIMIZE_SPEED, utilízase no seu lugar o valor da opción Técnica de optimización. Se o valor de MAXIMIZE_SPEED é 6 ou superior, o compilador optimiza o núcleo IP LPM_DIVIDE para unha maior velocidade mediante as cadeas de transporte; se o valor é 5 ou menos, o compilador implementa o deseño sen cadeas de transporte.
Especifica o número de ciclos de reloxo de latencia asociados ás saídas cociente[] e restante[]. Un valor de cero (0) indica que non existe latencia e que se crea unha instancia dunha función puramente combinacional. Se se omite, o valor predeterminado é 0 (non canalizado). Non pode especificar un valor para o parámetro LPM_PIPELINE superior a LPM_WIDTHN.
Este parámetro úsase para fins de modelización e simulación de comportamento. O editor de parámetros calcula o valor deste parámetro.
Permite unha división fraccionaria de bits máis eficiente para optimizar a lóxica nos bits principais proporcionando o número de GND principal ao núcleo IP LPM_DIVIDE. Especifique o número de GND inicial na saída do cociente deste parámetro.

Enviar comentarios

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

683490 | 2020.10.05/XNUMX/XNUMX Enviar comentarios

4. Núcleo IP LPM_MULT (multiplicador).

Figura 3.

O núcleo IP LPM_MULT implementa un multiplicador para multiplicar dous valores de datos de entrada para producir un produto como saída.

A seguinte figura mostra os portos para o núcleo IP LPM_MULT.

LPM_Portos múltiples

LPM_MULT datos de reloxoa[] resultado[] datab[] aclr/sclr clken
inst

Funcións de información relacionada na páxina 71

4.1. Características
O núcleo IP LPM_MULT ofrece as seguintes características: · Xera un multiplicador que multiplica dous valores de datos de entrada · Admite un ancho de datos de 1 bits · Admite formatos de representación de datos asinados e non asinados · Admite optimización de área ou velocidade · Admite canalización con latencia de saída configurable · Proporciona un opción de implementación en procesamiento de sinais dixital dedicado (DSP)
circuítos de bloques ou elementos lóxicos (LE) Nota: cando se crean multiplicadores maiores que o tamaño soportado nativamente, pode/
será un impacto no rendemento resultante da cascada dos bloques DSP. · Admite portos de entrada de borrado asíncrono opcional e de activación de reloxo · Admite borrado síncrono opcional para dispositivos Intel Stratix 10, Intel Arria 10 e Intel Cyclone 10 GX

Intel Corporation. Todos os dereitos reservados. Intel, o logotipo de Intel e outras marcas de Intel son marcas comerciais de Intel Corporation ou das súas subsidiarias. Intel garante o rendemento dos seus produtos FPGA e semicondutores segundo as especificacións actuais de acordo coa garantía estándar de Intel, pero resérvase o dereito de facer cambios en calquera produto e servizo en calquera momento e sen previo aviso. Intel non asume ningunha responsabilidade ou responsabilidade derivada da aplicación ou uso de calquera información, produto ou servizo descrito aquí, salvo que Intel o acorde expresamente por escrito. Recoméndase aos clientes de Intel que obteñan a versión máis recente das especificacións do dispositivo antes de confiar en calquera información publicada e antes de facer pedidos de produtos ou servizos. *Outros nomes e marcas poden ser reclamados como propiedade doutros.

Certificado ISO 9001:2015

4. LPM_MULT (multiplicador) IP Core 683490 | 2020.10.05/XNUMX/XNUMX
4.2. Prototipo Verilog HDL
O seguinte prototipo Verilog HDL está situado no Verilog Design File (.v) lpm.v no directorio edasynthesis.
módulo lpm_mult (resultado, dataa, datab, sum, clock, clken, aclr) parámetro lpm_type = "lpm_mult"; parámetro lpm_widtha = 1; parámetro lpm_widthb = 1; parámetro lpm_widths = 1; parámetro lpm_widthp = 1; parámetro lpm_representation = "SEN ASIGNAR"; parámetro lpm_pipeline = 0; parámetro lpm_hint = "UNUSED"; reloxo de entrada; entrada clken; entrada aclr; entrada [lpm_widtha-1:0] datosa; entrada [lpm_widthb-1:0] datab; entrada [lpm_widths-1:0] suma; saída [lpm_widthp-1:0] resultado; módulo final
4.3. Declaración de compoñentes VHDL
A declaración do compoñente VHDL está situada no Deseño VHDL File (.vhd) LPM_PACK.vhd no directorio librariesvhdllpm.
compoñente LPM_MULT xenérico ( LPM_WIDTHA : natural; LPM_WIDTHB : natural; LPM_WIDTHS : natural := 1; LPM_WIDTHP : natural;
LPM_REPRESENTATION : cadea := “SEN ASINAR”; LPM_PIPELINE : natural := 0; LPM_TYPE: cadea := L_MULT; LPM_HINT : cadea := “UNUSED”); porto (DATAA: en std_logic_vector(LPM_WIDTHA-1 ata 0); DATAB: en std_logic_vector(LPM_WIDTHB-1 ata 0); ACLR: en std_logic:= '0'; CLOCK: en std_logic:= '0'; CLKEN: en std_logic := '1'; SUMA : en std_logic_vector (LPM_WIDTHS-1 a 0) := (OUTS => '0': out std_logic_vector (LPM_WIDTHP-1 a 0)); compoñente final;
4.4. Declaración VHDL LIBRARY_USE
A declaración VHDL LIBRARY-USE non é necesaria se usa a declaración de compoñente VHDL.
BIBLIOTECA lpm; USE lpm.lpm_components.all;

Enviar comentarios

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

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

4.5. Sinais

Táboa 7.

LPM_MULT Sinais de entrada

Nome do sinal

Obrigatorio

Descrición

datos[]

Si

Entrada de datos.

Para os dispositivos Intel Stratix 10, Intel Arria 10 e Intel Cyclone 10 GX, o tamaño do sinal de entrada depende do valor do parámetro ancho de Dataa.

Para dispositivos máis antigos e Intel Cyclone 10 LP, o tamaño do sinal de entrada depende do valor do parámetro LPM_WIDTHA.

base de datos[]

Si

Entrada de datos.

Para os dispositivos Intel Stratix 10, Intel Arria 10 e Intel Cyclone 10 GX, o tamaño do sinal de entrada depende do valor do parámetro de ancho de datos.

Para os dispositivos máis antigos e Intel Cyclone 10 LP, o tamaño do sinal de entrada depende

no valor do parámetro LPM_WIDTHB.

reloxo

Non

Entrada de reloxo para uso canalizado.

Para dispositivos máis antigos e Intel Cyclone 10 LP, o sinal do reloxo debe estar activado para valores LPM_PIPELINE distintos de 0 (predeterminado).

Para os dispositivos Intel Stratix 10, Intel Arria 10 e Intel Cyclone 10 GX, o sinal do reloxo debe estar activado se o valor de latencia non é 1 (predeterminado).

clken

Non

Activación do reloxo para o uso canalizado. Cando o sinal clken se afirma alto, o

ten lugar a operación sumador/restador. Cando o sinal é baixo, non hai operación

ocorre. Se se omite, o valor predeterminado é 1.

aclr sclr

Non

Sinal claro asíncrono usado en calquera momento para restablecer a canalización a todos os 0.

de forma asíncrona co sinal do reloxo. A canalización iníciase nun indefinido (X)

nivel lóxico. As saídas son un valor consistente, pero distinto de cero.

Non

Sinal claro sincrónico usado en calquera momento para restablecer a canalización a todos os 0.

sincrónicamente co sinal do reloxo. A canalización iníciase nun indefinido (X)

nivel lóxico. As saídas son un valor consistente, pero distinto de cero.

Táboa 8.

LPM_MULT Sinais de saída

Nome do sinal

Obrigatorio

Descrición

resultado[]

Si

Saída de datos.

Para dispositivos máis antigos e Intel Cyclone 10 LP, o tamaño do sinal de saída depende do valor do parámetro LPM_WIDTHP. Se LPM_WIDTHP < máx. (LPM_WIDTHA + LPM_WIDTHB, LPM_WIDTHS) ou (LPM_WIDTHA + LPM_WIDTHS), só están presentes os MSB LPM_WIDTHP.

Para Intel Stratix 10, Intel Arria 10 e Intel Cyclone 10 GX, o tamaño dos sinais de saída depende do parámetro Ancho do resultado.

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

4.6.1. Ficha Xeral

Táboa 9.

Ficha Xeral

Parámetro

Valor

Configuración do multiplicador

Multiplique a entrada "dataa" pola entrada "datab".

Valor predeterminado

Descrición

Multiplique a entrada "dataa" pola entrada "datab".

Seleccione a configuración desexada para o multiplicador.
continuou…

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

Enviar comentarios

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

Parámetro
Que ancho debe ser a entrada de 'dataa'? Que ancho debe ser a entrada de "datab"? Como se debe determinar o ancho da saída do "resultado"? Restrinxir o ancho

Valor
Multiplique a entrada de 'dataa' por si mesma (operación de cadrado)
1-256 bits

Valor predeterminado

Descrición

8 bits

Especifique o ancho do porto de datosa[].

1-256 bits

8 bits

Especifique o ancho do porto datab[].

Calcula automaticamente o ancho. Restrinxa o ancho
1-512 bits

Calcula automaticamente o ancho

Seleccione o método desexado para determinar o ancho do porto de resultado[].

16 bits

Especifique o ancho do porto de resultado[].
Este valor só será efectivo se selecciona Restrinxir o ancho no parámetro Tipo.

4.6.2. Xeral 2 Tab

Táboa 10. Xeral 2 Tab

Parámetro

Valor

Entrada de datos

O bus de entrada 'datab' ten un valor constante?

Non Si

Tipo de multiplicación

Que tipo de

Sen asinar

multiplicación queres? Asinado

Implementación

Que implementación do multiplicador debería utilizarse?

Use a implementación predeterminada
Usa o circuíto multiplicador dedicado (non dispoñible para todas as familias)
Utilizar elementos lóxicos

Valor predeterminado

Descrición

Non

Seleccione Si para especificar o valor constante de

bus de entrada `datab', se hai.

Sen asinar

Especifique o formato de representación para as entradas dataa[] e datab[].

Use a implementación predeterminada

Seleccione o método desexado para determinar o ancho do porto de resultado[].

4.6.3. Ficha Tubería

Táboa 11. Ficha Tuberías

Parámetro

Queres canalizar o núm

función?

Si

Valor

Crear un 'aclr'

porto claro asíncrono

Valor predeterminado

Descrición

Non

Seleccione Si para activar o rexistro de canalización

saída do multiplicador e especifique o desexado

latencia de saída no ciclo de reloxo. Habilitando o

o rexistro de pipeline engade unha latencia adicional ao ficheiro

saída.

Desmarcado

Seleccione esta opción para habilitar o porto aclr para usar o borrado asíncrono para o rexistro de canalización.
continuou…

Enviar comentarios

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

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

Parámetro
Crea un reloxo "clken" para activar o reloxo
Optimización
Que tipo de optimización queres?

valor —
Área de velocidade predeterminada

Valor predeterminado

Descrición

Desmarcado

Especifica a activación activa de reloxo alto para o porto de reloxo do rexistro de canalización

Por defecto

Especifique a optimización desexada para o núcleo IP.
Seleccione Predeterminado para permitir que o software Intel Quartus Prime determine a mellor optimización para o núcleo IP.

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

4.7.1. Ficha Xeral

Táboa 12. Ficha Xeral

Parámetro

Valor

Valor predeterminado

Descrición

Tipo de configuración do multiplicador
Ancho dos portos de datos

Multiplique a entrada "dataa" pola entrada "datab".
Multiplique a entrada de 'dataa' por si mesma (operación de cadrado)

Multiplique a entrada "dataa" pola entrada "datab".

Seleccione a configuración desexada para o multiplicador.

Ancho de datos

1-256 bits

8 bits

Especifique o ancho do porto de datosa[].

Ancho da base de datos

1-256 bits

8 bits

Especifique o ancho do porto datab[].

Como se debe determinar o ancho da saída do "resultado"?

Tipo

Calcula automaticamente o ancho
Restrinxa o ancho

Calcula automaticamente o ancho

Seleccione o método desexado para determinar o ancho do porto de resultado[].

Valor

1-512 bits

16 bits

Especifique o ancho do porto de resultado[].
Este valor só será efectivo se selecciona Restrinxir o ancho no parámetro Tipo.

Ancho do resultado

1-512 bits

Mostra o ancho efectivo do porto de resultado[].

4.7.2. Xeral 2 Tab

Táboa 13. Xeral 2 Tab

Parámetro

Entrada de datos

O bus de entrada 'datab' ten un valor constante?

Non Si

Valor

Valor predeterminado

Descrición

Non

Seleccione Si para especificar o valor constante de

bus de entrada `datab', se hai.

continuou…

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

Enviar comentarios

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

Parámetro

Valor

Valor

Calquera valor superior a 0

Tipo de multiplicación

Que tipo de

Sen asinar

multiplicación queres? Asinado

Estilo de implementación

Que implementación do multiplicador debería utilizarse?

Use a implementación predeterminada
Use o circuíto multiplicador dedicado
Utilizar elementos lóxicos

Valor predeterminado

Descrición

0

Especifique o valor constante do porto datab[].

Sen asinar

Especifique o formato de representación para as entradas dataa[] e datab[].

Use a implementación predeterminada

Seleccione o método desexado para determinar o ancho do porto de resultado[].

4.7.3. Tuberías

Táboa 14. Ficha Tuberías

Parámetro

Valor

Queres canalizar a función?

Gasoduto

Non Si

Tipo de sinal de borrado de latencia

Calquera valor superior a 0.
NINGUNHA ACLR SCLR

Crea un reloxo "clken".

habilitar o reloxo

Que tipo de optimización queres?

Tipo

Área de velocidade predeterminada

Valor predeterminado

Descrición

Nº 1 NINGUNHA

Seleccione Si para activar o rexistro de canalización na saída do multiplicador. A habilitación do rexistro de canalización engade unha latencia adicional á saída.
Especifique a latencia de saída desexada no ciclo de reloxo.
Especifique o tipo de reinicio para o rexistro de canalización. Seleccione NINGUNO se non utiliza ningún rexistro de canalización. Seleccione ACLR para usar o borrado asíncrono para o rexistro de canalización. Isto xerará o porto ACLR. Seleccione SCLR para usar o borrado sincrónico para o rexistro de canalización. Isto xerará o porto SCLR.
Especifica a activación activa de reloxo alto para o porto de reloxo do rexistro de canalización

Por defecto

Especifique a optimización desexada para o núcleo IP.
Seleccione Predeterminado para permitir que o software Intel Quartus Prime determine a mellor optimización para o núcleo IP.

Enviar comentarios

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

683490 | 2020.10.05/XNUMX/XNUMX Enviar comentarios

5. LPM_ADD_SUB (sumador/restador)

Figura 4.

O núcleo IP LPM_ADD_SUB permítelle implementar un sumador ou un subtractor para engadir ou restar conxuntos de datos para producir unha saída que contén a suma ou a diferenza dos valores de entrada.

A seguinte figura mostra os portos para o núcleo IP LPM_ADD_SUB.

Portos LPM_ADD_SUB

LPM_ADD_SUB add_sub cin

datos[]

reloxo clken datab[] aclr

resultado[] desbordamento cout

inst

5.1. Características
O núcleo IP LPM_ADD_SUB ofrece as seguintes funcións: · Xera sumador, subtractor e sumador/restador configurable dinámicamente
funcións. · Admite un ancho de datos de 1 bits. · Admite o formato de representación de datos, como asinado e sen asinar. · Admite transporte opcional (prestado), borrado asíncrono e activación do reloxo
portos de entrada. · Admite portos de saída opcionales (préstamo) e desbordamento. · Asigna un dos buses de datos de entrada a unha constante. · Admite a canalización con latencia de saída configurable.

Intel Corporation. Todos os dereitos reservados. Intel, o logotipo de Intel e outras marcas de Intel son marcas comerciais de Intel Corporation ou das súas subsidiarias. Intel garante o rendemento dos seus produtos FPGA e semicondutores segundo as especificacións actuais de acordo coa garantía estándar de Intel, pero resérvase o dereito de facer cambios en calquera produto e servizo en calquera momento e sen previo aviso. Intel non asume ningunha responsabilidade ou responsabilidade derivada da aplicación ou uso de calquera información, produto ou servizo descrito aquí, salvo que Intel o acorde expresamente por escrito. Recoméndase aos clientes de Intel que obteñan a versión máis recente das especificacións do dispositivo antes de confiar en calquera información publicada e antes de facer pedidos de produtos ou servizos. *Outros nomes e marcas poden ser reclamados como propiedade doutros.

Certificado ISO 9001:2015

5. LPM_ADD_SUB (Sumador/Restador) 683490 | 2020.10.05/XNUMX/XNUMX
5.2. Prototipo Verilog HDL
O seguinte prototipo Verilog HDL está situado no Verilog Design File (.v) lpm.v no directorio edasynthesis.
módulo lpm_add_sub (resultado, cout, overflow,add_sub, cin, dataa, datab, clock, clken, aclr ); parámetro lpm_type = "lpm_add_sub"; parámetro lpm_width = 1; parámetro lpm_direction = "UNUSED"; parámetro lpm_representation = "ASINADO"; parámetro lpm_pipeline = 0; parámetro lpm_hint = "UNUSED"; entrada [lpm_width-1:0] dataa, datab; entrada add_sub, cin; reloxo de entrada; entrada clken; entrada aclr; saída [lpm_width-1:0] resultado; saída cout, desbordamento; módulo final
5.3. Declaración de compoñentes VHDL
A declaración do compoñente VHDL está situada no Deseño VHDL File (.vhd) LPM_PACK.vhd no directorio librariesvhdllpm.
compoñente LPM_ADD_SUB xenérico (LPM_WIDTH: natural;
LPM_DIRECTION : cadea := “SEN USAR”; LPM_REPRESENTATION: cadea := “ASINADO”; LPM_PIPELINE : natural := 0; LPM_TYPE : cadea := L_ADD_SUB; LPM_HINT : cadea := “UNUSED”); porto (DATAA: en std_logic_vector(LPM_WIDTH-1 ata 0); DATAB: en std_logic_vector(LPM_WIDTH-1 ata 0); ACLR: en std_logic:= '0'; CLOCK: en std_logic:= '0'; CLKEN: en std_logic := '1'; CIN : en std_logic := 'Z' : en std_logic := '1' : out std_logic_vector (LPM_WIDTH-1: out std_logic); compoñente final;
5.4. Declaración VHDL LIBRARY_USE
A declaración VHDL LIBRARY-USE non é necesaria se usa a declaración de compoñente VHDL.
BIBLIOTECA lpm; USE lpm.lpm_components.all;
5.5. Portos
As seguintes táboas enumeran os portos de entrada e saída para o núcleo IP LPM_ADD_SUB.

Enviar comentarios

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

5. LPM_ADD_SUB (Sumador/Restador) 683490 | 2020.10.05/XNUMX/XNUMX

Táboa 15. Portos de entrada do núcleo IP LPM_ADD_SUB

Nome do porto

Obrigatorio

Descrición

cin

Non

Carry-in ao bit de orde baixa. Para operacións de adición, o valor predeterminado é 0. Para

operacións de resta, o valor predeterminado é 1.

datos[]

Si

Entrada de datos. O tamaño do porto de entrada depende do valor do parámetro LPM_WIDTH.

base de datos[]

Si

Entrada de datos. O tamaño do porto de entrada depende do valor do parámetro LPM_WIDTH.

engadir_sub

Non

Porto de entrada opcional para permitir a conmutación dinámica entre o sumador e o subtractor

funcións. Se se usa o parámetro LPM_DIRECTION, non se pode usar add_sub. Se

omitido, o valor predeterminado é ADD. Intel recomenda que use o

Parámetro LPM_DIRECTION para especificar o funcionamento da función LPM_ADD_SUB,

en lugar de asignar unha constante ao porto add_sub.

reloxo

Non

Entrada para uso canalizado. O porto de reloxo proporciona a entrada de reloxo para un canalización

operación. Para valores LPM_PIPELINE distintos de 0 (predeterminado), o porto do reloxo debe ser

activado.

clken

Non

Activación do reloxo para o uso canalizado. Cando o porto clken se afirma alto, o sumador/

prodúcese a operación do subtractor. Cando o sinal é baixo, non se produce ningunha operación. Se

omitido, o valor predeterminado é 1.

aclr

Non

Borrado asíncrono para uso canalizado. A canalización iníciase nun indefinido (X)

nivel lóxico. O porto aclr pódese usar en calquera momento para restablecer a canalización a todos os 0.

asíncrona co sinal do reloxo.

Táboa 16. Portos de saída do núcleo IP LPM_ADD_SUB

Nome do porto

Obrigatorio

Descrición

resultado[]

Si

Saída de datos. O tamaño do porto de saída depende do parámetro LPM_WIDTH

valor.

couto

Non

Realización (préstamo) do bit máis significativo (MSB). O porto cout ten un físico

interpretación como a realización (préstamo) do MSB. O porto cout detecta

desbordamento en operacións UNSIGNED. O porto do cout funciona da mesma maneira para

Operacións ASIÑADAS e SIN ASINADAS.

desbordamento

Non

Saída de excepción de desbordamento opcional. O porto de desbordamento ten unha interpretación física como

o XOR do arrastre ao MSB co carry-out do MSB. O porto de desbordamento

afirma cando os resultados superan a precisión dispoñible e úsase só cando o

O valor do parámetro LPM_REPRESENTATION está asinado.

5.6 Parámetros

A seguinte táboa enumera os parámetros básicos de IP LPM_ADD_SUB.

Táboa 17. Parámetros do núcleo IP LPM_ADD_SUB

Nome do parámetro LPM_WIDTH

Escriba Enteiro

Obrigatorio Si

Descrición
Especifica o ancho dos portos dataa[], datab[] e result[].

LPM_DIRECTION

Corda

Non

Os valores son ADD, SUB e UNUSED. Se se omite, o valor predeterminado é DEFAULT, que indica que o parámetro tome o seu valor do porto add_sub. O porto add_sub non se pode usar se se usa LPM_DIRECTION. Intel recomenda que use o parámetro LPM_DIRECTION para especificar o funcionamento da función LPM_ADD_SUB, en lugar de asignar unha constante ao porto add_sub.
continuou…

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

Enviar comentarios

5. LPM_ADD_SUB (Sumador/Restador) 683490 | 2020.10.05/XNUMX/XNUMX

Nome do parámetro LPM_REPRESENTATION LPM_PIPELINE LPM_HINT LPM_TYPE ONE_INPUT_IS_CONSTANT MAXIMIZE_SPEED
INTENDED_DEVICE_FAMILY

Escriba String Integer String String String Enteiro
Corda

Obrigatorio Non Non Non Non Non Non
Non

Descrición
Especifica o tipo de adición realizada. Os valores son SIGNED e UNSIGNED. Se se omite, o valor predeterminado é SIGNED. Cando este parámetro se establece en SIGNED, o sumador/restador interpreta a entrada de datos como complemento de dous con signo.
Especifica o número de ciclos de reloxo de latencia asociados á saída do resultado[]. Un valor de cero (0) indica que non existe latencia e que se instanciará unha función puramente combinatoria. Se se omite, o valor predeterminado é 0 (non canalizado).
Permítelle especificar parámetros específicos de Intel no deseño VHDL files (.vhd). O valor predeterminado é UNUSED.
Identifica o nome da entidade da biblioteca de módulos parametrizados (LPM) no deseño VHDL files.
Parámetro específico de Intel. Debes usar o parámetro LPM_HINT para especificar o parámetro ONE_INPUT_IS_CONSTANT no deseño VHDL files. Os valores son YES, NO e UNUSED. Ofrece unha maior optimización se unha entrada é constante. Se se omite, o valor predeterminado é NON.
Parámetro específico de Intel. Debes usar o parámetro LPM_HINT para especificar o parámetro MAXIMIZE_SPEED no deseño VHDL files. Pode especificar un valor entre 0 e 10. Se se usa, o software Intel Quartus Prime tenta optimizar unha instancia específica da función LPM_ADD_SUB para a velocidade en lugar de para a enrutabilidade, e anula a configuración da opción lóxica Técnica de optimización. Se non se utiliza MAXIMIZE_SPEED, utilízase no seu lugar o valor da opción Técnica de optimización. Se a configuración para MAXIMIZE_SPEED é 6 ou superior, o compilador optimiza o núcleo IP LPM_ADD_SUB para unha maior velocidade mediante cadeas de transporte; se a configuración é 5 ou menos, o compilador implementa o deseño sen cadeas de transporte. Este parámetro debe especificarse para os dispositivos Cyclone, Stratix e Stratix GX só cando non se utiliza o porto add_sub.
Este parámetro úsase para fins de modelización e simulación de comportamento. O editor de parámetros calcula o valor deste parámetro.

Enviar comentarios

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

683490 | 2020.10.05/XNUMX/XNUMX Enviar comentarios

6. LPM_COMPARE (Comparador)

Figura 5.

O núcleo IP LPM_COMPARE compara o valor de dous conxuntos de datos para determinar a relación entre eles. Na súa forma máis sinxela, pode usar unha porta OR exclusiva para determinar se dous bits de datos son iguais.

A seguinte figura mostra os portos para o núcleo IP LPM_COMPARE.

Portos LPM_COMPARE

LPM_COMPARE

clken

alb

aeb

datos[]

agb

base de datos[]

idadeb

reloxo

aneb

aclr

aleb

inst

6.1. Características
O núcleo IP LPM_COMPARE ofrece as seguintes características: · Xera unha función de comparación para comparar dous conxuntos de datos · Admite un ancho de datos de 1 bits · Admite formatos de representación de datos, como asinados e sen asinar · Produce os seguintes tipos de saída:
— alb (a entrada A é menor que a entrada B) — aeb (a entrada A é igual á entrada B) — agb (a entrada A é maior que a entrada B) — ageb (a entrada A é maior ou igual á entrada B) — aneb ( a entrada A non é igual á entrada B) — aleb (a entrada A é menor ou igual á entrada B) · Admite portos de entrada de borrado asincrónico e de activación de reloxo opcionais · Asigna a entrada datab[] a unha constante · Admite canalización con latencia de saída configurable

Intel Corporation. Todos os dereitos reservados. Intel, o logotipo de Intel e outras marcas de Intel son marcas comerciais de Intel Corporation ou das súas subsidiarias. Intel garante o rendemento dos seus produtos FPGA e semicondutores segundo as especificacións actuais de acordo coa garantía estándar de Intel, pero resérvase o dereito de facer cambios en calquera produto e servizo en calquera momento e sen previo aviso. Intel non asume ningunha responsabilidade ou responsabilidade derivada da aplicación ou uso de calquera información, produto ou servizo descrito aquí, salvo que Intel o acorde expresamente por escrito. Recoméndase aos clientes de Intel que obteñan a versión máis recente das especificacións do dispositivo antes de confiar en calquera información publicada e antes de facer pedidos de produtos ou servizos. *Outros nomes e marcas poden ser reclamados como propiedade doutros.

Certificado ISO 9001:2015

6. LPM_COMPARE (Comparador) 683490 | 2020.10.05/XNUMX/XNUMX
6.2. Prototipo Verilog HDL
O seguinte prototipo Verilog HDL está situado no Verilog Design File (.v) lpm.v no directorio edasynthesis.
módulo lpm_compare (alb, aeb, agb, aleb, aneb, ageb, dataa, datab, clock, clken, aclr); parámetro lpm_type = "lpm_compare"; parámetro lpm_width = 1; parámetro lpm_representation = "SEN ASIGNAR"; parámetro lpm_pipeline = 0; parámetro lpm_hint = "UNUSED"; entrada [lpm_width-1:0] dataa, datab; reloxo de entrada; entrada clken; entrada aclr; saída alb, aeb, agb, aleb, aneb, ageb; módulo final
6.3. Declaración de compoñentes VHDL
A declaración do compoñente VHDL está situada no Deseño VHDL File (.vhd) LPM_PACK.vhd no directorio librariesvhdllpm.
compoñente LPM_COMPARE xenérico (LPM_WIDTH: natural;
LPM_REPRESENTATION : cadea := “SEN ASINAR”; LPM_PIPELINE : natural := 0; LPM_TYPE: cadea := L_COMPARE; LPM_HINT : cadea := “UNUSED”); porto (DATAA: en std_logic_vector(LPM_WIDTH-1 ata 0); DATAB: en std_logic_vector(LPM_WIDTH-1 ata 0); ACLR: en std_logic:= '0'; CLOCK: en std_logic:= '0'; CLKEN: en std_logic := '1'; out std_logic; AEB: out std_logic; compoñente final;
6.4. Declaración VHDL LIBRARY_USE
A declaración VHDL LIBRARY-USE non é necesaria se usa a declaración de compoñente VHDL.
BIBLIOTECA lpm; USE lpm.lpm_components.all;
6.5. Portos
As seguintes táboas enumeran os portos de entrada e saída para o núcleo IP LMP_COMPARE.

Enviar comentarios

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

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

Táboa 18. Portos de entrada do núcleo IP LPM_COMPARE

Nome do porto

Obrigatorio

Descrición

datos[]

Si

Entrada de datos. O tamaño do porto de entrada depende do valor do parámetro LPM_WIDTH.

base de datos[]

Si

Entrada de datos. O tamaño do porto de entrada depende do valor do parámetro LPM_WIDTH.

reloxo

Non

Entrada de reloxo para uso canalizado. O porto de reloxo proporciona a entrada de reloxo para un canalización

operación. Para valores LPM_PIPELINE distintos de 0 (predeterminado), o porto do reloxo debe ser

activado.

clken

Non

Activación do reloxo para o uso canalizado. Cando o porto clken se afirma alto, o

ten lugar a operación de comparación. Cando o sinal é baixo, non se produce ningunha operación. Se

omitido, o valor predeterminado é 1.

aclr

Non

Borrado asíncrono para uso canalizado. A canalización inicialízase cunha lóxica (X) indefinida

nivel. O porto aclr pódese usar en calquera momento para restablecer a canalización a todos os 0.

asíncrona co sinal do reloxo.

Táboa 19. Portos de saída do núcleo IP LPM_COMPARE

Nome do porto

Obrigatorio

Descrición

alb

Non

Porto de saída para o comparador. Afirmado se a entrada A é menor que a entrada B.

aeb

Non

Porto de saída para o comparador. Afirmado se a entrada A é igual á entrada B.

agb

Non

Porto de saída para o comparador. Afirmado se a entrada A é maior que a entrada B.

idadeb

Non

Porto de saída para o comparador. Afirmado se a entrada A é maior ou igual á entrada

B.

aneb

Non

Porto de saída para o comparador. Afirmado se a entrada A non é igual á entrada B.

aleb

Non

Porto de saída para o comparador. Afirmado se a entrada A é menor ou igual á entrada B.

6.6 Parámetros

A seguinte táboa enumera os parámetros para o núcleo IP LPM_COMPARE.

Táboa 20. Parámetros do núcleo IP LPM_COMPARE

Nome do parámetro

Tipo

Obrigatorio

LPM_WIDTH

Número enteiro Si

LPM_REPRESENTACIÓN

Corda

Non

LPM_PIPELINE

Número enteiro

LPM_HINT

Corda

Non

Descrición
Especifica o ancho dos portos dataa[] e datab[].
Especifica o tipo de comparación realizada. Os valores son SIGNED e UNSIGNED. Se se omite, o valor predeterminado é UNSIGNED. Cando este valor de parámetro se establece en SIGNED, o comparador interpreta a entrada de datos como complemento de dous con signo.
Especifica o número de ciclos de reloxo de latencia asociados á saída alb, aeb, agb, ageb, aleb ou aneb. Un valor de cero (0) indica que non existe latencia e que se instanciará unha función puramente combinatoria. Se se omite, o valor predeterminado é 0 (non canalizado).
Permítelle especificar parámetros específicos de Intel no deseño VHDL files (.vhd). O valor predeterminado é UNUSED.
continuou…

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

Enviar comentarios

6. LPM_COMPARE (Comparador) 683490 | 2020.10.05/XNUMX/XNUMX
Nome do parámetro LPM_TYPE INTENDED_DEVICE_FAMILY
ONE_INPUT_IS_CONSTANT

Escriba String String
Corda

Obrigatorio Non No
Non

Descrición
Identifica o nome da entidade da biblioteca de módulos parametrizados (LPM) no deseño VHDL files.
Este parámetro úsase para fins de modelización e simulación de comportamento. O editor de parámetros calcula o valor deste parámetro.
Parámetro específico de Intel. Debes usar o parámetro LPM_HINT para especificar o parámetro ONE_INPUT_IS_CONSTANT no deseño VHDL files. Os valores son YES, NO ou UNUSED. Ofrece unha maior optimización se unha entrada é constante. Se se omite, o valor predeterminado é NON.

Enviar comentarios

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

683490 | 2020.10.05/XNUMX/XNUMX Enviar comentarios

7. ALTEC (Código de corrección de erros: Codificador/Decodificador) IP Core

Figura 6.

Intel proporciona o núcleo IP ALTEC para implementar a funcionalidade ECC. ECC detecta datos corruptos que se producen no lado do receptor durante a transmisión de datos. Este método de corrección de erros é o máis adecuado para situacións nas que os erros ocorren ao azar e non en ráfagas.

O ECC detecta erros a través do proceso de codificación e decodificación de datos. Por example, cando o ECC se aplica nunha aplicación de transmisión, os datos lidos desde a fonte codifican antes de ser enviados ao receptor. A saída (palabra de código) do codificador consiste en datos brutos engadidos co número de bits de paridade. O número exacto de bits de paridade engadidos depende do número de bits nos datos de entrada. A palabra de código xerada transmítese entón ao destino.

O receptor recibe a palabra de código e a decodifica. A información obtida polo decodificador determina se se detecta un erro. O decodificador detecta erros dun só bit e dobre bit, pero só pode corrixir os erros dun só bit nos datos danados. Este tipo de ECC é a detección de erros dobres de corrección de erros únicos (SECDED).

Pode configurar as funcións de codificador e descodificador do núcleo IP ALTEC. A entrada de datos ao codificador está codificada para xerar unha palabra de código que é unha combinación da entrada de datos e os bits de paridade xerados. A palabra de código xerada transmítese ao módulo decodificador para a súa decodificación xusto antes de chegar ao seu bloque de destino. O decodificador xera un vector de síndrome para determinar se hai algún erro na palabra de código recibida. O descodificador corrixe os datos só se o erro dun só bit é dos bits de datos. Non se marca ningún sinal se o erro dun só bit é dos bits de paridade. O decodificador tamén ten sinais de bandeira para mostrar o estado dos datos recibidos e a acción realizada polo decodificador, se é o caso.

As seguintes figuras mostran os portos para o núcleo IP ALTEC.

Portos do codificador ALTEC

ALTEC_ENCODER

datos[]

q[]

reloxo

reloxo

aclr

inst

Intel Corporation. Todos os dereitos reservados. Intel, o logotipo de Intel e outras marcas de Intel son marcas comerciais de Intel Corporation ou das súas subsidiarias. Intel garante o rendemento dos seus produtos FPGA e semicondutores segundo as especificacións actuais de acordo coa garantía estándar de Intel, pero resérvase o dereito de facer cambios en calquera produto e servizo en calquera momento e sen previo aviso. Intel non asume ningunha responsabilidade ou responsabilidade derivada da aplicación ou uso de calquera información, produto ou servizo descrito aquí, salvo que Intel o acorde expresamente por escrito. Recoméndase aos clientes de Intel que obteñan a versión máis recente das especificacións do dispositivo antes de confiar en calquera información publicada e antes de facer pedidos de produtos ou servizos. *Outros nomes e marcas poden ser reclamados como propiedade doutros.

Certificado ISO 9001:2015

7. ALTEC (Código de corrección de erros: codificador/descodificador) IP Core 683490 | 2020.10.05/XNUMX/XNUMX

Figura 7. Portos do decodificador ALTEC

ALTEC_DECODER

datos[] reloxo reloxo

q[] err_detected err_corrected
err_fatal

aclr

inst

7.1. Características do codificador ALTEC

O núcleo IP do codificador ALTECC ofrece as seguintes funcións: · Realiza a codificación de datos mediante o esquema de codificación Hamming · Admite un ancho de datos de 2 bits · Admite formatos de representación de datos asinados e non asinados · Admite pipelining con latencia de saída dun ou dous ciclos de reloxo · Admite opcional portos de borrado asíncrono e activación do reloxo

O núcleo IP do codificador ALTEC incorpora e codifica os datos mediante o esquema de codificación Hamming. O esquema de codificación de Hamming deriva os bits de paridade e engádeos aos datos orixinais para producir a palabra de código de saída. O número de bits de paridade engadidos depende do ancho dos datos.

A seguinte táboa enumera o número de bits de paridade engadidos para diferentes intervalos de ancho de datos. A columna Bits totais representa o número total de bits de datos de entrada e os bits de paridade anexados.

Táboa 21.

Número de bits de paridade e palabra de código segundo o ancho de datos

Ancho de datos

Número de bits de paridade

Bits totais (palabra de código)

2-4

3+1

6-8

5-11

4+1

10-16

12-26

5+1

18-32

27-57

6+1

34-64

58-64

7+1

66-72

A derivación de bits de paridade usa unha comprobación de paridade par. O bit adicional 1 (mostrado na táboa como +1) engádese aos bits de paridade como o MSB da palabra de código. Isto garante que a palabra de código teña un número par de 1. Por example, se o ancho dos datos é de 4 bits, 4 bits de paridade engádense aos datos para converterse nunha palabra de código cun total de 8 bits. Se 7 bits do LSB da palabra de código de 8 bits teñen un número impar de 1, o 8. bit (MSB) da palabra de código é 1, facendo que o número total de 1 na palabra de código sexa par.
A seguinte figura mostra a palabra de código xerada e a disposición dos bits de paridade e os bits de datos nunha entrada de datos de 8 bits.

Enviar comentarios

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

7. ALTEC (Código de corrección de erros: codificador/descodificador) IP Core 683490 | 2020.10.05/XNUMX/XNUMX

Figura 8.

Bits de paridade e disposición de bits de datos nunha palabra de código xerada de 8 bits

MSB

LSB

4 bits de paridade

4 bits de datos

8

1

O núcleo IP do codificador ALTECC só acepta anchos de entrada de 2 a 64 bits á vez. Os anchos de entrada de 12 bits, 29 bits e 64 bits, que son idóneos para dispositivos Intel, xeran saídas de 18 bits, 36 bits e 72 bits respectivamente. Pode controlar a limitación da selección de bits no editor de parámetros.

7.2. Prototipo Verilog HDL (ALTECC_ENCODER)
O seguinte prototipo Verilog HDL está situado no Verilog Design File (.v) lpm.v no directorio edasynthesis.
module altecc_encoder #(parámetro purpose_device_family = “non usado”, parámetro lpm_pipeline = 0, parámetro width_codeword = 8, parámetro width_dataword = 8, parámetro lpm_type = “altecc_encoder”, parámetro lpm_hint = “non usado”) (entrada aclr, cable de entrada clock de entrada cable de reloxo, cable de entrada [width_dataword-1:0] datos, cable de saída [width_codeword-1:0] q); módulo final

7.3. Prototipo de Verilog HDL (ALTECC_DECODER)
O seguinte prototipo Verilog HDL está situado no Verilog Design File (.v) lpm.v no directorio edasynthesis.
module altecc_decoder #(parámetro purpose_device_family = "non usado", parámetro lpm_pipeline = 0, parámetro width_codeword = 8, parámetro width_dataword = 8, parámetro lpm_type = "altecc_decoder", parámetro lpm_hint = "non usado") ( entrada clock cable de entrada, entrada aclr cable de entrada, entrada cable de reloxo, cable de entrada [width_codeword-1:0] datos, cable de saída err_corrected, cable de saída err_detected, cable de saída err_fatal, cable de saída [width_dataword-1:0] q); módulo final

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

Enviar comentarios

7. ALTEC (Código de corrección de erros: codificador/descodificador) IP Core 683490 | 2020.10.05/XNUMX/XNUMX
7.4. Declaración de compoñentes VHDL (ALTECC_ENCODER)
A declaración do compoñente VHDL está situada no Deseño VHDL File (.vhd) altera_mf_components.vhd no directorio librariesvhdlaltera_mf.
compoñente altecc_encoder xenérico (intention_device_family:string := “non usado”; lpm_pipeline:natural := 0; width_codeword:natural := 8; width_dataword:natural := 8; lpm_hint:string := “UNUSED”; lpm_type:string := “altecc_encoder ”); port( aclr:in std_logic := '0'; clock:in std_logic := '0'; clock:in std_logic := '1'; datos:en std_logic_vector(width_dataword-1 downto 0); q:out std_logic_vector(width_codeword -1 ata 0)); compoñente final;
7.5. Declaración de compoñentes VHDL (ALTECC_DECODER)
A declaración do compoñente VHDL está situada no Deseño VHDL File (.vhd) altera_mf_components.vhd no directorio librariesvhdlaltera_mf.
component altecc_decoder generic (intention_device_family:string := “non usado”; lpm_pipeline:natural := 0; width_codeword:natural := 8; width_dataword:natural := 8; lpm_hint:string := “UNUSED”; lpm_type:string := “altecc_decoder ”); port( aclr:in std_logic := '0'; clock:in std_logic := '0'; clock:in std_logic := '1'; datos:in std_logic_vector(width_codeword-1 downto 0); err_corrected: out std_logic; err_detected : out std_logic q: out std_logic_vector(width_dataword-1 downto 0); compoñente final;
7.6. Declaración VHDL LIBRARY_USE
A declaración VHDL LIBRARY-USE non é necesaria se usa a declaración de compoñente VHDL.
BIBLIOTECA altera_mf; USE altera_mf.altera_mf_components.all;
7.7. Portos do codificador
As seguintes táboas enumeran os portos de entrada e saída para o núcleo IP do codificador ALTECC.

Enviar comentarios

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

7. ALTEC (Código de corrección de erros: codificador/descodificador) IP Core 683490 | 2020.10.05/XNUMX/XNUMX

Táboa 22. Portos de entrada do codificador ALTECC

Nome do porto

Obrigatorio

Descrición

datos[]

Si

Porto de entrada de datos. O tamaño do porto de entrada depende do WIDTH_DATAWORD

valor do parámetro. O porto de datos[] contén os datos en bruto que se van codificar.

reloxo

Si

Porto de entrada de reloxo que proporciona o sinal do reloxo para sincronizar a operación de codificación.

O porto do reloxo é necesario cando o valor LPM_PIPELINE é maior que 0.

reloxo

Non

Activar o reloxo. Se se omite, o valor predeterminado é 1.

aclr

Non

Entrada clara asíncrona. O sinal activo alto aclr pódese usar en calquera momento para

borrar os rexistros de forma asíncrona.

Táboa 23. Portos de saída do codificador ALTECC

Nome do porto q[]

Obrigatorio Si

Descrición
Porto de saída de datos codificados. O tamaño do porto de saída depende do valor do parámetro WIDTH_CODEWORD.

7.8. Portos do decodificador

As seguintes táboas enumeran os portos de entrada e saída para o núcleo IP do decodificador ALTEC.

Táboa 24. Portos de entrada do decodificador ALTEC

Nome do porto

Obrigatorio

Descrición

datos[]

Si

Porto de entrada de datos. O tamaño do porto de entrada depende do valor do parámetro WIDTH_CODEWORD.

reloxo

Si

Porto de entrada de reloxo que proporciona o sinal do reloxo para sincronizar a operación de codificación. O porto do reloxo é necesario cando o valor LPM_PIPELINE é maior que 0.

reloxo

Non

Activar o reloxo. Se se omite, o valor predeterminado é 1.

aclr

Non

Entrada clara asíncrona. O sinal activo de alto aclr pódese utilizar en calquera momento para borrar os rexistros de forma asíncrona.

Táboa 25. Portos de saída do descodificador ALTECC

Nome do porto q[]

Obrigatorio Si

Descrición
Porto de saída de datos descodificados. O tamaño do porto de saída depende do valor do parámetro WIDTH_DATAWORD.

err_detected Si

Sinal de sinal para reflectir o estado dos datos recibidos e especifica os erros atopados.

err_correcto Si d

Sinal de marca para reflectir o estado dos datos recibidos. Indica un erro dun só bit atopado e corrixido. Podes utilizar os datos porque xa foron corrixidos.

err_fatal

Si

Sinal de marca para reflectir o estado dos datos recibidos. Indica un erro de dobre bit encontrado, pero non corrixido. Non debe usar os datos se este sinal é afirmado.

sin_e

Non

Un sinal de saída que aumentará sempre que se detecte un erro dun só bit na paridade

bits.

7.9. Parámetros do codificador
A seguinte táboa enumera os parámetros para o núcleo IP do codificador ALTEC.

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

Enviar comentarios

7. ALTEC (Código de corrección de erros: codificador/descodificador) IP Core 683490 | 2020.10.05/XNUMX/XNUMX

Táboa 26. Parámetros do codificador ALTECC

Nome do parámetro

Tipo

Obrigatorio

Descrición

WIDTH_DATAWORD

Número enteiro Si

Especifica o ancho dos datos en bruto. Os valores van de 2 a 64. Se se omite, o valor predeterminado é 8.

WIDTH_CODEWORD

Número enteiro Si

Especifica o ancho da palabra de código correspondente. Os valores válidos son de 6 a 72, excluíndo 9, 17, 33 e 65. Se se omite, o valor predeterminado é 13.

LPM_PIPELINE

Número enteiro

Especifica a canalización para o circuíto. Os valores son de 0 a 2. Se o valor é 0, os portos non están rexistrados. Se o valor é 1, os portos de saída están rexistrados. Se o valor é 2, os portos de entrada e saída están rexistrados. Se se omite, o valor predeterminado é 0.

7.10. Parámetros do decodificador

A seguinte táboa enumera os parámetros básicos de IP do decodificador ALTEC.

Táboa 27. Parámetros do decodificador ALTEC

Nome do parámetro WIDTH_DATAWORD

Escriba Enteiro

Obrigatorio

Descrición

Si

Especifica o ancho dos datos en bruto. Os valores son de 2 a 64. O

o valor predeterminado é 8.

WIDTH_CODEWORD

Número enteiro

Si

Especifica o ancho da palabra de código correspondente. Os valores son 6

a 72, excluíndo 9, 17, 33 e 65. Se se omite, o valor predeterminado

é 13.

LPM_PIPELINE

Número enteiro

Non

Especifica o rexistro do circuíto. Os valores son de 0 a 2. Se o

o valor é 0, non se implementa ningún rexistro. Se o valor é 1, o

a saída está rexistrada. Se o valor é 2, tanto a entrada como o

as saídas están rexistradas. Se o valor é maior que 2, adicional

os rexistros impléntanse na saída para o adicional

latencias. Se se omite, o valor predeterminado é 0.

Crea un porto 'syn_e'

Número enteiro

Non

Activa este parámetro para crear un porto syn_e.

Enviar comentarios

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

683490 | 2020.10.05/XNUMX/XNUMX Enviar comentarios

8. Intel FPGA Multiply Adder IP Core

Figura 9.

O núcleo IP Intel FPGA Multiply Adder (dispositivos Intel Stratix 10, Intel Arria 10 e Intel Cyclone 10 GX) ou ALTERA_MULT_ADD (dispositivos Arria V, Stratix V e Cyclone V) permítelle implementar un sumador multiplicador.

A seguinte figura mostra os portos para o núcleo IP Intel FPGA Multiply Adder ou ALTERA_MULT_ADD.

Portas Intel FPGA Multiply Adder ou ALTERA_MULT_ADD

Intel FPGA Multiply Adder ou ALTERA_MULT_ADD

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

escanuta[] resultado[]

aclr0 aclr1

inst
Un multiplicador-sumador acepta pares de entradas, multiplica os valores xuntos e despois suma ou resta dos produtos de todos os outros pares.
Se todos os anchos de datos de entrada son de 9 bits de ancho ou menos, a función usa a configuración do multiplicador de entrada de 9 x 9 bits no bloque DSP para dispositivos que admiten a configuración de 9 x 9. Se non, o bloque DSP usa multiplicadores de entrada de 18 × 18 bits para procesar datos con anchos entre 10 e 18 bits. Se se producen varios núcleos IP Intel FPGA Multiply Adder ou ALTERA_MULT_ADD nun deseño, as funcións distribúense como

Intel Corporation. Todos os dereitos reservados. Intel, o logotipo de Intel e outras marcas de Intel son marcas comerciais de Intel Corporation ou das súas subsidiarias. Intel garante o rendemento dos seus produtos FPGA e semicondutores segundo as especificacións actuais de acordo coa garantía estándar de Intel, pero resérvase o dereito de facer cambios en calquera produto e servizo en calquera momento e sen previo aviso. Intel non asume ningunha responsabilidade ou responsabilidade derivada da aplicación ou uso de calquera información, produto ou servizo descrito aquí, salvo que Intel o acorde expresamente por escrito. Recoméndase aos clientes de Intel que obteñan a versión máis recente das especificacións do dispositivo antes de confiar en calquera información publicada e antes de facer pedidos de produtos ou servizos. *Outros nomes e marcas poden ser reclamados como propiedade doutros.

Certificado ISO 9001:2015

8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05/XNUMX/XNUMX
moitos bloques DSP diferentes posibles para que o enrutamento a estes bloques sexa máis flexible. Menos multiplicadores por bloque DSP permiten máis opcións de enrutamento no bloque minimizando as rutas ao resto do dispositivo.
Os rexistros e rexistros extra pipeline para os seguintes sinais tamén se colocan dentro do bloque DSP: · Entrada de datos · Selección asinada ou sen asinar · Engadir ou restar selección · Produtos dos multiplicadores
No caso do resultado de saída, o primeiro rexistro colócase no bloque DSP. Non obstante, os rexistros de latencia extra colócanse en elementos lóxicos fóra do bloque. Os periféricos do bloque DSP, incluídas as entradas de datos ao multiplicador, as entradas de sinal de control e as saídas do sumador, utilizan o enrutamento regular para comunicarse co resto do dispositivo. Todas as conexións da función usan enrutamento dedicado dentro do bloque DSP. Este enrutamento dedicado inclúe as cadeas de rexistro de desprazamento cando seleccionas a opción de desprazar os datos de entrada rexistrados dun multiplicador dun multiplicador a un multiplicador adxacente.
Para obter máis información sobre os bloques DSP en calquera das series de dispositivos Stratix V e Arria V, consulte o capítulo Bloques DSP dos respectivos manuais na páxina de Literatura e documentación técnica.
Información relacionada AN 306: Implementación de multiplicadores en dispositivos FPGA
Ofrece máis información sobre a implementación de multiplicadores mediante DSP e bloques de memoria en dispositivos Intel FPGA.
8.1. Características
O núcleo Intel FPGA Multiply Adder ou ALTERA_MULT_ADD IP ofrece as seguintes características: · Xera un multiplicador para realizar operacións de multiplicación de dous complexos.
números Nota: Cando se crean multiplicadores maiores que o tamaño admitido nativamente, pode/
será un impacto no rendemento resultante da cascada dos bloques DSP. · Admite anchos de datos de 1 256 bits · Admite formatos de representación de datos asinados e sen asinar · Admite canalización con latencia de entrada configurable · Ofrece unha opción para cambiar dinámicamente entre soporte de datos asinados e sen asinar · Ofrece unha opción para cambiar dinámicamente entre operacións de suma e resta · Admite portos de entrada de borrado asíncrono e síncrono opcional e habilitación de reloxo · Admite o modo de rexistro de retardo sistólico · Admite pre-sumador con 8 coeficientes de precarga por multiplicador · Admite constante de precarga para complementar a retroalimentación do acumulador

Enviar comentarios

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

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

8.1.1. Pre-sumador
Co sumador previo, as sumas ou as restas realízanse antes de alimentar o multiplicador.
Hai cinco modos de pre-sumador: · Modo simple · Modo coeficiente · Modo de entrada · Modo cadrado · Modo constante

Nota:

Cando se usa o pre-sumador (modo coeficiente de pre-sumador/entrada/cuadrado), todas as entradas de datos ao multiplicador deben ter a mesma configuración de reloxo.

8.1.1.1. Modo simple de pre-sumador

Neste modo, ambos os operandos derivan dos portos de entrada e o pre-sumador non se utiliza nin se omite. Este é o modo predeterminado.

Figura 10. Modo simple de pre-sumador
a0 b0

Mult0

resultado

8.1.1.2. Modo de coeficiente de sumador previo
Neste modo, un operando multiplicador deriva do pre-sumador e o outro operando deriva do almacenamento do coeficiente interno. O almacenamento do coeficiente permite ata 8 constantes predefinidas. Os sinais de selección de coeficientes son coefsel[0..3].
Este modo exprésase na seguinte ecuación.

A continuación móstrase o modo do coeficiente de sumador previo dun multiplicador.

Figura 11. Modo de coeficiente de pre-sumador

Predder

a0

Mult0

+/-

resultado

b0

coefsel0 coef

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

Enviar comentarios

8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05/XNUMX/XNUMX
8.1.1.3. Modo de entrada de pre-sumador Neste modo, un operando multiplicador deriva do pre-sumador e o outro operando deriva do porto de entrada datac[]. Este modo exprésase na seguinte ecuación.

A continuación móstrase o modo de entrada previo ao sumador dun multiplicador.

Figura 12. Modo de entrada de pre-sumador
a0 b0

Mult0

+/-

resultado

c0

8.1.1.4. Modo cadrado previo ao sumador Este modo exprésase na seguinte ecuación.

A continuación móstrase o modo cadrado previo de sumador de dous multiplicadores.

Figura 13. Modo cadrado de pre-sumador
a0 b0

Mult0

+/-

resultado

8.1.1.5. Modo constante de pre-sumador
Neste modo, un operando multiplicador deriva do porto de entrada e o outro operando deriva do almacenamento do coeficiente interno. O almacenamento do coeficiente permite ata 8 constantes predefinidas. Os sinais de selección de coeficientes son coefsel[0..3].
Este modo exprésase na seguinte ecuación.

Enviar comentarios

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

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

A seguinte figura mostra o modo constante de pre-sumador dun multiplicador.

Figura 14. Modo constante de pre-sumador
a0

Mult0

resultado

coefsel0
coef
8.1.2. Rexistro de retardo sistólico
Nunha arquitectura sistólica, os datos de entrada inflúen nunha fervenza de rexistros que actúan como un búfer de datos. Cada rexistro ofrece unha entrada sample a un multiplicador onde se multiplica polo coeficiente respectivo. O sumador de cadea almacena os resultados combinados gradualmente do multiplicador e o resultado rexistrado previamente do porto de entrada chainin[] para formar o resultado final. Cada elemento de multiplicación e suma debe retrasarse nun único ciclo para que os resultados se sincronicen adecuadamente cando se sumen. Cada atraso sucesivo utilízase para abordar tanto a memoria de coeficientes como o búfer de datos dos seus respectivos elementos de multiplicación e suma. Por example, un único atraso para o segundo elemento de multiplicación engadir, dous atrasos para o terceiro elemento de multiplicación-engadir, etc.
Figura 15. Rexistros sistólicos
Rexistros sistólicos

x(t) c(0)

S -1

S -1

c (1)

S -1

S -1

c (2)

S -1

S -1

c(N-1)

S -1

S -1

S -1

S -1 y(t)

x(t) representa os resultados dun fluxo continuo de entrada samples e y(t)
representa a suma dun conxunto de entrada samples, e no tempo, multiplicado polos seus
respectivos coeficientes. Tanto os resultados de entrada como de saída flúen de esquerda a dereita. O c(0) a c(N-1) denota os coeficientes. Os rexistros de retardo sistólico denotanse por S-1, mentres que o 1 representa un único retardo de reloxo. Os rexistros de retardo sistólico engádense en
as entradas e saídas para a canalización de forma que garanta os resultados da
operando multiplicador e as sumas acumuladas permanecen sincronizadas. Este elemento de procesamento
replícase para formar un circuíto que calcula a función de filtrado. Esta función é
expresada na seguinte ecuación.

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

Enviar comentarios

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

N representa o número de ciclos de datos que entraron no acumulador, y(t) representa a saída no tempo t, A(t) representa a entrada no tempo t e B(i) son os coeficientes. O t e i na ecuación corresponden a un instante determinado no tempo, polo que para calcular a saída sample y(t) no tempo t, un grupo de entrada sampRequírese os en N puntos de tempo diferentes, ou A(n), A(n-1), A(n-2), ... A(n-N+1). O grupo de N entrada sampmultiplícanse por N coeficientes e súmanse para formar o resultado final y.
A arquitectura de rexistro sistólico só está dispoñible para os modos suma de 2 e suma de 4. Para ambos os modos de arquitectura de rexistro sistólico, o primeiro sinal de cadea debe estar ligado a 0.
A seguinte figura mostra a implementación do rexistro de retardo sistólico de 2 multiplicadores.
Figura 16. Implantación do rexistro de retardo sistólico de 2 multiplicadores
cadea

a0

Mult0

+/-

b0

a1

Mult1

+/-

b1

resultado
A suma de dous multiplicadores exprésase na seguinte ecuación.
A seguinte figura mostra a implementación do rexistro de retardo sistólico de 4 multiplicadores.

Enviar comentarios

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

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

Figura 17. Implantación do rexistro de retardo sistólico de 4 multiplicadores
cadea

a0

Mult0

+/-

b0

a1

Mult1

+/-

b1

a2

Mult2

+/-

b2

a3

Mult3

+/-

b3

resultado
A suma de catro multiplicadores exprésase na seguinte ecuación. Figura 18. Suma de 4 multiplicadores
A continuación enumera o advantageses da implementación do rexistro sistólico: · Reduce o uso de recursos DSP. · Permite un mapeamento eficiente no bloque DSP mediante a estrutura de sumador de cadea.

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

Enviar comentarios

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

8.1.3. Constante de precarga
A constante de precarga controla o operando do acumulador e complementa a retroalimentación do acumulador. O LOADCONST_VALUE válido varía entre 0. O valor constante é igual a 64N, onde N = LOADCONST_VALUE. Cando LOADCONST_VALUE se establece en 2, o valor constante é igual a 64. Esta función pódese usar como redondeo sesgado.
A seguinte figura mostra a implementación da constante de precarga.
Figura 19. Constante de precarga

Feedback do acumulador

constante

a0

Mult0

+/-

b0

a1

Mult1

+/b1

resultado

accum_sload sload_accum

Consulte os seguintes núcleos IP para outras implementacións do multiplicador: · ALTMULT_ACCUM · ALTMEMMULT · LPM_MULT
8.1.4. Doble acumulador
A función do dobre acumulador engade un rexistro adicional na ruta de retroalimentación do acumulador. O rexistro do dobre acumulador segue o rexistro de saída, que inclúe o reloxo, a activación do reloxo e o aclr. O rexistro acumulador adicional devolve o resultado cun retraso dun ciclo. Esta función permítelle ter dúas canles de acumuladores co mesmo reconto de recursos.
A seguinte figura mostra a implementación do dobre acumulador.

Enviar comentarios

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

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

Figura 20. Dobre Acumulador

Rexistro de acumulador dobre

Feedback do acumulador

a0

Mult0

+/-

b0

a1

Mult1

+/b1

Resultado de saída Rexistro de saída

8.2. Prototipo Verilog HDL
Podes atopar o prototipo Intel FPGA Multiply Adder ou ALTERA_MULT_ADD Verilog HDL file (altera_mult_add_rtl.v) no directorio librariesmegafunctions.
8.3. Declaración de compoñentes VHDL
A declaración do compoñente VHDL atópase no altera_lnsim_components.vhd do ficheiro librariesvhdl directorio altera_lnsim.
8.4. Declaración VHDL LIBRARY_USE
A declaración VHDL LIBRARY-USE non é necesaria se usa a declaración de compoñente VHDL.
BIBLIOTECA altera_mf; USE altera_mf.altera_mf_components.all;

8.5. Sinais

As seguintes táboas enumeran os sinais de entrada e saída do núcleo IP Multiply Adder Intel FPGA IP ou ALTERA_MULT_ADD.

Táboa 28. Multiplicación dos sinais de entrada Intel FPGA IPor ALTERA_MULT_ADD

Sinal

Obrigatorio

Descrición

dataa_0[]/dataa_1[]/

Si

dataa_2[]/dataa_3[]

Entrada de datos ao multiplicador. Porto de entrada [NUMBER_OF_MULTIPLIERS * WIDTH_A – 1 … 0] de ancho
continuou…

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

Enviar comentarios

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

Sinal datab_0[]/datab_1[]/ datab_2[]/datab_3[] datac_0[] /datac_1[]/ datac_2[]/datac_3[] clock[1:0] aclr[1:0] sclr[1:0] ena [1:0] asina
signo b
scanina[] accum_sload

Obrigatorio Si Non
Non Non Non Non Non
Non
Non Non

Descrición
O modelo de simulación para esta IP admite un valor de entrada indeterminado (X) para estes sinais. Cando proporciona un valor X a estes sinais, o valor X propágase nos sinais de saída.
Entrada de datos ao multiplicador. Sinal de entrada [NUMBER_OF_MULTIPLIERS * WIDTH_B – 1 … 0] ancho O modelo de simulación para esta IP admite un valor de entrada indeterminado (X) para estes sinais. Cando proporciona un valor X a estes sinais, o valor X propágase nos sinais de saída.
Entrada de datos ao multiplicador. Sinal de entrada [NUMBER_OF_MULTIPLIERS * WIDTH_C – 1, … 0] ancho Seleccione INPUT para seleccionar o parámetro de modo de preadder para activar estes sinais. O modelo de simulación para esta IP admite un valor de entrada indeterminado (X) para estes sinais. Cando proporciona un valor X a estes sinais, o valor X propágase nos sinais de saída.
Porto de entrada do reloxo ao rexistro correspondente. Este sinal pode ser usado por calquera rexistro do núcleo IP. O modelo de simulación para esta IP admite un valor de entrada indeterminado (X) para estes sinais. Cando proporciona un valor X a estes sinais, o valor X propágase nos sinais de saída.
Entrada clara asíncrona ao rexistro correspondente. O modelo de simulación para esta IP admite un valor de entrada indeterminado (X) para estes sinais. Cando proporciona un valor X a estes sinais, o valor X propágase nos sinais de saída.
Entrada clara sincrónica ao rexistro correspondente. O modelo de simulación para esta IP admite un valor de entrada X indeterminado para estes sinais. Cando proporciona un valor X a estes sinais, o valor X propágase nos sinais de saída
Activa a entrada de sinal no rexistro correspondente. O modelo de simulación para esta IP admite un valor de entrada indeterminado (X) para estes sinais. Cando proporciona un valor X a estes sinais, o valor X propágase nos sinais de saída.
Especifica a representación numérica da entrada do multiplicador A. Se o sinal de sinal é alto, o multiplicador trata o sinal da entrada do multiplicador A como un número con signo. Se o sinal de sinal é baixo, o multiplicador trata o sinal de entrada do multiplicador A como un número sen signo. Seleccione VARIABLE para Cal é o formato de representación para o parámetro de entrada de Multiplicadores A para activar este sinal. O modelo de simulación para esta IP admite un valor de entrada indeterminado (X) para este sinal. Cando proporciona un valor X a esta entrada, o valor X propágase nos sinais de saída.
Especifica a representación numérica do sinal B de entrada do multiplicador. Se o sinal de signo b é alto, o multiplicador trata o sinal de entrada do multiplicador B como un número de complemento a dous con signo. Se o sinal de signo b é baixo, o multiplicador trata o sinal de entrada do multiplicador B como un número sen signo. O modelo de simulación para esta IP admite un valor de entrada indeterminado (X) para este sinal. Cando proporciona un valor X a esta entrada, o valor X propágase nos sinais de saída.
Entrada para a cadea de exploración A. Sinal de entrada [WIDTH_A – 1, … 0] de ancho. Cando o parámetro INPUT_SOURCE_A ten un valor de SCANA, é necesario o sinal scanina[].
Especifica dinámicamente se o valor do acumulador é constante. Se o sinal accum_sload é baixo, entón a saída do multiplicador cárgase no acumulador. Non use accum_sload e sload_accum simultaneamente.
continuou…

Enviar comentarios

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

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

Sinal sload_accum
cadea[] addnsub1
engadirsub3
coefsel0[] coefsel1[] coefsel2[] coefsel3[]

Núm. obrigatorio
Non Non
Non
Non Non Non Non

Descrición
O modelo de simulación para esta IP admite un valor de entrada indeterminado (X) para este sinal. Cando proporciona un valor X a esta entrada, o valor X propágase nos sinais de saída.
Especifica dinámicamente se o valor do acumulador é constante. Se o sinal sload_accum é alto, entón a saída do multiplicador cárgase no acumulador. Non use accum_sload e sload_accum simultaneamente. O modelo de simulación para esta IP admite un valor de entrada indeterminado (X) para este sinal. Cando proporciona un valor X a esta entrada, o valor X propágase nos sinais de saída.
Bus de entrada do resultado do sumador do s anteriortage. Sinal de entrada [WIDTH_CHAININ – 1, … 0] de ancho.
Realiza sumas ou restas ás saídas do primeiro par de multiplicadores. Entrada 1 ao sinal addnsub1 para engadir as saídas do primeiro par de multiplicadores. Introduza 0 ao sinal addnsub1 para restar as saídas do primeiro par de multiplicadores. O modelo de simulación para esta IP admite un valor de entrada indeterminado (X) para este sinal. Cando proporciona un valor X a esta entrada, o valor X propágase nos sinais de saída.
Realiza sumas ou restas ás saídas do primeiro par de multiplicadores. Entrada 1 ao sinal addnsub3 para engadir as saídas do segundo par de multiplicadores. Introduza 0 ao sinal addnsub3 para restar as saídas do primeiro par de multiplicadores. O modelo de simulación para esta IP admite un valor de entrada indeterminado (X) para este sinal. Cando proporciona un valor X a esta entrada, o valor X propágase nos sinais de saída.
Sinal de entrada de coeficiente [0:3] ao primeiro multiplicador. O modelo de simulación para esta IP admite un valor de entrada indeterminado (X) para este sinal. Cando proporciona un valor X a esta entrada, o valor X propágase nos sinais de saída.
Sinal de entrada de coeficiente[0:3]para o segundo multiplicador. O modelo de simulación para esta IP admite un valor de entrada indeterminado (X) para este sinal. Cando proporciona un valor X a esta entrada, o valor X propágase nos sinais de saída.
Sinal de entrada de coeficiente[0:3]para o terceiro multiplicador. O modelo de simulación para esta IP admite un valor de entrada indeterminado (X) para este sinal. Cando proporciona un valor X a esta entrada, o valor X propágase nos sinais de saída.
Sinal de entrada de coeficiente [0:3] ao cuarto multiplicador. O modelo de simulación para esta IP admite un valor de entrada indeterminado (X) para este sinal. Cando proporciona un valor X a esta entrada, o valor X propágase nos sinais de saída.

Táboa 29. Multiplicar os sinais de saída IP de Intel FPGA de Adder

Sinal

Obrigatorio

Descrición

resultado []

Si

Sinal de saída do multiplicador. Sinal de saída [WIDTH_RESULT – 1 … 0] de ancho

O modelo de simulación para esta IP admite un valor de saída indeterminado (X). Cando proporciona un valor X como entrada, o valor X propágase neste sinal.

escanuta []

Non

Saída da cadea de exploración A. Sinal de saída [WIDTH_A – 1..0] de ancho.

Seleccione máis de 2 para o número de multiplicadores e seleccione Escanear entrada de cadea para Cal é a entrada A do multiplicador conectado ao parámetro para activar este sinal.

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

Enviar comentarios

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

8.6 Parámetros

8.6.1. Ficha Xeral

Táboa 30. Ficha Xeral

Parámetro

Parámetro xerado IP

Valor

Cal é o número de multiplicadores?

número_de_m 1 – 4 multiplicadores

Que ancho deben ter os buses de entrada A width_a?

1 - 256

Que ancho deben ter os buses de entrada B width_b?

1 - 256

Que ancho debe ser o bus de saída do "resultado"?

ancho_resultado

1 - 256

Crea unha activación de reloxo asociada para cada reloxo

gui_associate On d_clock_enbl Off e

8.6.2. Pestana Modos adicionais

Táboa 31. Pestana Modos adicionais

Parámetro

Parámetro xerado IP

Valor

Configuración de saídas

Rexistrar a saída da unidade sumadora

gui_output_re Activado

xister

Desactivado

Cal é a fonte de entrada do reloxo?

gui_output_re gister_clock

Reloxo0 Reloxo1 Reloxo2

Cal é a fonte para a entrada clara asíncrona?

gui_output_re gister_aclr

NINGUNHA ACLR0 ACLR1

Cal é a fonte para a entrada clara sincrónica?

gui_output_re gister_sclr

NINGUNHA SCLR0 SCLR1

Operación de sumador

Que operación se debe realizar nas saídas do primeiro par de multiplicadores?

gui_multiplicador 1_dirección

ENGADIR, SUB, VARIABLE

Valor predeterminado 1
16

Descrición
Número de multiplicadores a sumar. Os valores son de 1 a 4. Especifique o ancho do porto de datosa[].

16

Especifique o ancho do porto datab[].

32

Especifique o ancho do porto de resultado[].

Desactivado

Seleccione esta opción para activar o reloxo

para cada reloxo.

Valor predeterminado

Descrición

Off Reloxo 0
NINGUNHA NINGUNHA

Seleccione esta opción para activar o rexistro de saída do módulo sumador.
Seleccione Clock0 , Clock1 ou Clock2 para activar e especificar a fonte do reloxo para os rexistros de saída. Debe seleccionar Rexistrar saída da unidade sumadora para activar este parámetro.
Especifica a fonte clara asíncrona para o rexistro de saída do sumador. Debe seleccionar Rexistrar saída da unidade sumadora para activar este parámetro.
Especifica a fonte clara sincrónica para o rexistro de saída do sumador. Debe seleccionar Rexistrar saída da unidade sumadora para activar este parámetro.

ENGADIR

Seleccione a operación de suma ou resta a realizar para as saídas entre o primeiro e o segundo multiplicadores.
· Seleccione AGREGAR para realizar a operación de adición.
· Seleccione SUB para realizar a operación de resta.
· Seleccione VARIABLE para usar o porto addnsub1 para o control dinámico de suma/resta.
continuou…

Enviar comentarios

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

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

Parámetro

Parámetro xerado IP

Valor

Rexistra a entrada 'addnsub1'

gui_addnsub_ Activado multiplicador_reg Desactivado ister1

Cal é a fonte de entrada do reloxo?

gui_addnsub_ multiplicador_reg ister1_clock

Reloxo0 Reloxo1 Reloxo2

Cal é a fonte para a entrada clara asíncrona?

gui_addnsub_multiplicador_aclr 1

NINGUNHA ACLR0 ACLR1

Cal é a fonte para a entrada clara sincrónica?

gui_addnsub_multiplicador_sclr 1

NINGUNHA SCLR0 SCLR1

Que operación se debe realizar nas saídas do segundo par de multiplicadores?

gui_multiplicador 3_dirección

ENGADIR, SUB, VARIABLE

Rexistra a entrada 'addnsub3'

gui_addnsub_ Activado multiplicador_reg Desactivado ister3

Cal é a fonte de entrada do reloxo?

gui_addnsub_ multiplicador_reg ister3_clock

Reloxo0 Reloxo1 Reloxo2

Valor predeterminado
Off Clock0 NINGUNHA NINGUNHA ENGADIR
Off Reloxo 0

Descrición
Cando se selecciona o valor VARIABLE: · Drive addnsub1 a alto para
operación de adición. · Conduza o sinal addnsub1 a baixo para
operación de resta. Debe seleccionar máis de dous multiplicadores para activar este parámetro.
Seleccione esta opción para activar o rexistro de entrada para o porto addnsub1. Debe seleccionar VARIABLE para Que operación se debe realizar nas saídas do primeiro par de multiplicadores para activar este parámetro.
Seleccione Clock0 , Clock1 ou Clock2 para especificar o sinal de reloxo de entrada para o rexistro addnsub1. Debe seleccionar Rexistrar entrada 'addnsub1' para activar este parámetro.
Especifica a fonte clara asíncrona para o rexistro addnsub1. Debe seleccionar Rexistrar entrada 'addnsub1' para activar este parámetro.
Especifica a fonte clara sincrónica para o rexistro addnsub1. Debe seleccionar Rexistrar entrada 'addnsub1' para activar este parámetro.
Seleccione a operación de suma ou resta a realizar para as saídas entre o terceiro e o cuarto multiplicadores. · Seleccione AGREGAR para realizar a adición
operación. · Seleccione SUB para realizar a resta
operación. · Seleccione VARIABLE para usar addnsub1
porto para o control dinámico de suma/resta. Cando se selecciona o valor VARIABLE: · Dirija o sinal addnsub1 ao alto para a operación de adición. · Conduza o sinal addnsub1 a baixo para a operación de subtracción. Debes seleccionar o valor 4 para Cal é o número de multiplicadores? para activar este parámetro.
Seleccione esta opción para activar o rexistro de entrada para o sinal addnsub3. Debe seleccionar VARIABLE para Que operación se debe realizar nas saídas do segundo par de multiplicadores para activar este parámetro.
Seleccione Clock0 , Clock1 ou Clock2 para especificar o sinal de reloxo de entrada para o rexistro addnsub3. Debe seleccionar Rexistrar entrada 'addnsub3' para activar este parámetro.
continuou…

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

Enviar comentarios

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

Parámetro
Cal é a fonte para a entrada clara asíncrona?

Parámetro xerado IP

Valor

gui_addnsub_multiplicador_aclr 3

NINGUNHA ACLR0 ACLR1

Cal é a fonte para a entrada clara sincrónica?

gui_addnsub_multiplicador_sclr 3

NINGUNHA SCLR0 SCLR1

Activar polaridade `use_subadd'

gui_use_subn Activado

engadir

Desactivado

8.6.3. Pestana Multiplicadores

Táboa 32. Pestana Multiplicadores

Parámetro

Parámetro xerado IP

Valor

Cal é o

gui_represent

formato de representación ation_a

para entradas de multiplicadores A?

ASINADO, SIN ASIADO, VARIABLE

Rexistra a entrada `signa'

gui_register_s Activado

igna

Desactivado

Cal é a fonte de entrada do reloxo?

gui_register_s igna_clock

Reloxo0 Reloxo1 Reloxo2

Cal é a fonte para a entrada clara asíncrona?

gui_register_s igna_aclr

NINGUNHA ACLR0 ACLR1

Cal é a fonte para a entrada clara sincrónica?

gui_register_s igna_sclr

NINGUNHA SCLR0 SCLR1

Cal é o

gui_represent

formato de representación ation_b

para entradas de multiplicadores B?

ASINADO, SIN ASIADO, VARIABLE

Rexistra a entrada "signb".

gui_register_s Activado

ignb

Desactivado

Valor predeterminado NONE
NINGUNHA

Descrición
Especifica a fonte clara asíncrona para o rexistro addnsub3. Debe seleccionar Rexistrar entrada 'addnsub3' para activar este parámetro.
Especifica a fonte clara sincrónica para o rexistro addnsub3. Debe seleccionar Rexistrar entrada 'addnsub3' para activar este parámetro.

Desactivado

Seleccione esta opción para inverter a función

do porto de entrada addnsub.

Conduce addnsub a alto para a operación de resta.

Conduce addnsub a baixo para a operación de adición.

Valor predeterminado

Descrición

UNSIGNED Especifique o formato de representación para a entrada do multiplicador A.

Desactivado

Seleccione esta opción para activar signa

rexistrarse.

Debe seleccionar o valor VARIABLE para Cal é o formato de representación para as entradas de Multiplicadores A? parámetro para activar esta opción.

Reloxo 0

Seleccione Clock0 , Clock1 ou Clock2 para activar e especificar o sinal de reloxo de entrada para o rexistro de sinais.
Debe seleccionar Rexistrar entrada `signa' para activar este parámetro.

NINGUNHA

Especifica a fonte clara asíncrona para o rexistro de sinais.
Debe seleccionar Rexistrar entrada `signa' para activar este parámetro.

NINGUNHA

Especifica a fonte clara sincrónica para o rexistro de sinais.
Debe seleccionar Rexistrar entrada `signa' para activar este parámetro.

UNSIGNED Especifique o formato de representación para a entrada do multiplicador B.

Desactivado

Seleccione esta opción para activar Signb

rexistrarse.

continuou…

Enviar comentarios

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

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

Parámetro

Parámetro xerado IP

Valor

Valor predeterminado

Cal é a fonte de entrada do reloxo?

gui_register_s ignb_clock

Reloxo0 Reloxo1 Reloxo2

Reloxo 0

Cal é a fonte para a entrada clara asíncrona?

gui_register_s ignb_aclr

NINGUNHA ACLR0 ACLR1

Cal é a fonte para a entrada clara sincrónica?

gui_register_s ignb_sclr

NINGUNHA SCLR0 SCLR1

Configuración de entrada
Rexistra a entrada A do multiplicador
Cal é a fonte de entrada do reloxo?

gui_input_reg Activado

ister_a

Desactivado

gui_input_reg ister_a_clock

Reloxo0 Reloxo1 Reloxo2

NINGUNHA NINGUNHA
Off Reloxo 0

Cal é a fonte para a entrada clara asíncrona?

gui_input_reg ister_a_aclr

NINGUNHA ACLR0 ACLR1

Cal é a fonte para a entrada clara sincrónica?

gui_input_reg ister_a_sclr

NINGUNHA SCLR0 SCLR1

Rexistra a entrada B do multiplicador
Cal é a fonte de entrada do reloxo?

gui_input_reg Activado

ister_b

Desactivado

gui_input_reg ister_b_clock

Reloxo0 Reloxo1 Reloxo2

NINGUNHA NINGUNHA Desactivado Reloxo0

Cal é a fonte para a entrada clara asíncrona?

gui_input_reg ister_b_aclr

NINGUNHA ACLR0 ACLR1

NINGUNHA

Cal é a fonte para a entrada clara sincrónica?

gui_input_reg ister_b_sclr

NINGUNHA SCLR0 SCLR1

NINGUNHA

A que está conectada a entrada A do multiplicador?

gui_multiplier Multiplicador de entrada Multiplicador

_a_entrada

Entrada de entrada de cadea de exploración

Descrición
Debe seleccionar o valor VARIABLE para Cal é o formato de representación para as entradas de Multiplicadores B? parámetro para activar esta opción.
Seleccione Clock0 , Clock1 ou Clock2 para activar e especificar o sinal de reloxo de entrada para o rexistro de signos. Debe seleccionar Rexistrar entrada `signb' para activar este parámetro.
Especifica a fonte clara asíncrona para o rexistro signb. Debe seleccionar Rexistrar entrada `signb' para activar este parámetro.
Especifica a fonte clara sincrónica para o rexistro signb. Debe seleccionar Rexistrar entrada `signb' para activar este parámetro.
Seleccione esta opción para activar o rexistro de entrada para o bus de entrada de datos.
Seleccione Clock0 , Clock1 ou Clock2 para activar e especificar o sinal de reloxo de entrada do rexistro para o bus de entrada de datos. Debe seleccionar Rexistrar entrada A do multiplicador para activar este parámetro.
Especifica a fonte clara asíncrona do rexistro para o bus de entrada de datos. Debe seleccionar Rexistrar entrada A do multiplicador para activar este parámetro.
Especifica a fonte clara de rexistro síncrona para o bus de entrada de datos. Debe seleccionar Rexistrar entrada A do multiplicador para activar este parámetro.
Seleccione esta opción para activar o rexistro de entrada para o bus de entrada de datos.
Seleccione Clock0 , Clock1 ou Clock2 para activar e especificar o sinal de reloxo de entrada do rexistro para o bus de entrada de datos. Debe seleccionar Rexistrar entrada B do multiplicador para activar este parámetro.
Especifica a fonte clara asíncrona do rexistro para o bus de entrada de datos. Debe seleccionar Rexistrar entrada B do multiplicador para activar este parámetro.
Especifica a fonte clara sincrónica do rexistro para o bus de entrada de datos. Debe seleccionar Rexistrar entrada B do multiplicador para activar este parámetro.
Seleccione a fonte de entrada para a entrada A do multiplicador.
continuou…

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

Enviar comentarios

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

Parámetro

Parámetro xerado IP

Valor

Explorar unha configuración de rexistro

Rexistra a saída da cadea de exploración

gui_scanouta On

_rexistrar

Desactivado

Cal é a fonte de entrada do reloxo?

gui_scanouta _register_cloc k

Reloxo0 Reloxo1 Reloxo2

Cal é a fonte para a entrada clara asíncrona?

gui_scanouta _register_aclr

NINGUNHA ACLR0 ACLR1

Cal é a fonte para a entrada clara sincrónica?

gui_scanouta _register_sclr

NINGUNHA SCLR0 SCLR1

8.6.4. Pestana Preadder

Táboa 33. Pestana Preadder

Parámetro

Parámetro xerado IP

Valor

Seleccione o modo de preadder

predder_mo de

SIMPLE, COEF, ENTRADA, CADRADO, CONSTANTE

Valor predeterminado

Descrición
Seleccione Entrada do multiplicador para usar o bus de entrada de datos como fonte do multiplicador. Seleccione Entrada de cadea de exploración para usar o bus de entrada de exploración como fonte para o multiplicador e activar o bus de saída de exploración. Este parámetro está dispoñible cando selecciona 2, 3 ou 4 para Cal é o número de multiplicadores? parámetro.

Off Clock0 NINGUNHA NINGUNHA

Seleccione esta opción para activar o rexistro de saída para o bus de saída de scanouta.
Debe seleccionar Escanear entrada de cadea para Cal é a entrada A do multiplicador conectado? parámetro para activar esta opción.
Seleccione Clock0 , Clock1 ou Clock2 para activar e especificar o sinal de reloxo de entrada do rexistro para o bus de saída de Scanouta.
Debes activar Rexistrar a saída do parámetro da cadea de exploración para activar esta opción.
Especifica a fonte clara asíncrona do rexistro para o bus de saída de scanouta.
Debes activar Rexistrar a saída do parámetro da cadea de exploración para activar esta opción.
Especifica a fonte clara de rexistro síncrona para o bus de saída de scanouta.
Debe seleccionar Rexistrar a saída do parámetro da cadea de exploración para activar esta opción.

Valor predeterminado
SIMPLE

Descrición
Especifica o modo de operación para o módulo preadder. SIMPLE: este modo evita o preadder. Este é o modo predeterminado. COEF: este modo usa a saída do bus de entrada do predder e coefsel como entradas para o multiplicador. ENTRADA: este modo usa a saída do pre-predder e o bus de entrada de datos como entradas para o multiplicador. CUADRADO: Este modo utiliza a saída do preadder como entradas para o multiplicador.
continuou…

Enviar comentarios

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

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

Parámetro

Parámetro xerado IP

Valor

Seleccione a dirección do predder

gui_preadder ADD,

_dirección

SUB

Que ancho deben ter os buses de entrada C width_c?

1 - 256

Datos C Configuración do rexistro de entrada

Rexistrar entrada de datos

gui_datac_inp Activado

ut_register

Desactivado

Cal é a fonte de entrada do reloxo?

gui_datac_inp ut_register_cl ock

Reloxo0 Reloxo1 Reloxo2

Cal é a fonte para a entrada clara asíncrona?

gui_datac_inp ut_register_a clr

NINGUNHA ACLR0 ACLR1

Cal é a fonte para a entrada clara sincrónica?

gui_datac_inp ut_register_sc lr

NINGUNHA SCLR0 SCLR1

Coeficientes
Que ancho debe ser o ancho do coef?

ancho_coef

1 - 27

Configuración do rexistro de coef

Rexistra a entrada de coefsel

gui_coef_regi On

ester

Desactivado

Cal é a fonte de entrada do reloxo?

gui_coef_regi ster_clock

Reloxo0 Reloxo1 Reloxo2

Valor predeterminado
ENGADIR
16

Descrición
CONSTANTE: Este modo usa un bus de entrada de datos co pre-prededor anulado e o bus de entrada coefsel como entradas para o multiplicador.
Especifica o funcionamento do preadder. Para activar este parámetro, seleccione o seguinte para Seleccionar o modo de preadder: · COEF · ENTRADA · CADRADO ou · CONSTANTE
Especifica o número de bits para o bus de entrada C. Debe seleccionar INPUT para Seleccionar modo de preadder para activar este parámetro.

On Clock0 NINGUNHA NINGUNHA

Seleccione esta opción para habilitar o rexistro de entrada para o bus de entrada de datos. Debe configurar INPUT como parámetro Seleccionar modo de preadder para activar esta opción.
Seleccione Clock0 , Clock1 ou Clock2 para especificar o sinal de reloxo de entrada para o rexistro de entrada de datos. Debe seleccionar Rexistrar entrada de datos para activar este parámetro.
Especifica a fonte clara asíncrona para o rexistro de entrada de datac. Debe seleccionar Rexistrar entrada de datos para activar este parámetro.
Especifica a fonte clara síncrona para o rexistro de entrada de datac. Debe seleccionar Rexistrar entrada de datos para activar este parámetro.

18

Especifica o número de bits para

bus de entrada coefsel.

Debe seleccionar COEF ou CONSTANT para o modo preadder para activar este parámetro.

No reloxo 0

Seleccione esta opción para activar o rexistro de entrada para o bus de entrada coefsel. Debe seleccionar COEF ou CONSTANT para o modo preadder para activar este parámetro.
Seleccione Clock0 , Clock1 ou Clock2 para especificar o sinal de reloxo de entrada para o rexistro de entrada coefsel. Debe seleccionar Rexistrar a entrada de coefsel para activar este parámetro.
continuou…

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

Enviar comentarios

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

Parámetro
Cal é a fonte para a entrada clara asíncrona?

Parámetro xerado IP

Valor

gui_coef_regi ster_aclr

NINGUNHA ACLR0 ACLR1

Cal é a fonte para a entrada clara sincrónica

gui_coef_regi ster_sclr

NINGUNHA SCLR0 SCLR1

Coeficiente_0 Configuración

coef0_0 a coef0_7

0x00000 0xFFFFFFF

Coeficiente_1 Configuración

coef1_0 a coef1_7

0x00000 0xFFFFFFF

Coeficiente_2 Configuración

coef2_0 a coef2_7

0x00000 0xFFFFFFF

Coeficiente_3 Configuración

coef3_0 a coef3_7

0x00000 0xFFFFFFF

8.6.5. Ficha Acumulador

Táboa 34. Ficha Acumulador

Parámetro

Parámetro xerado IP

Valor

Habilitar o acumulador?

acumulador

SI NON

Cal é o tipo de operación do acumulador?

accum_directi ADD,

on

SUB

Valor predeterminado NONE
NINGUNHA
0x0000000 0
0x0000000 0
0x0000000 0
0x0000000 0

Descrición
Especifica a fonte clara asíncrona para o rexistro de entrada coefsel. Debe seleccionar Rexistrar a entrada de coefsel para activar este parámetro.
Especifica a fonte clara sincrónica para o rexistro de entrada coefsel. Debe seleccionar Rexistrar a entrada de coefsel para activar este parámetro.
Especifica os valores do coeficiente para este primeiro multiplicador. O número de bits debe ser o mesmo que o especificado en Que ancho debe ser o ancho do coef? parámetro. Debe seleccionar COEF ou CONSTANT para o modo preadder para activar este parámetro.
Especifica os valores do coeficiente para este segundo multiplicador. O número de bits debe ser o mesmo que o especificado en Que ancho debe ser o ancho do coef? parámetro. Debe seleccionar COEF ou CONSTANT para o modo preadder para activar este parámetro.
Especifica os valores do coeficiente para este terceiro multiplicador. O número de bits debe ser o mesmo que o especificado en Que ancho debe ser o ancho do coef? parámetro. Debe seleccionar COEF ou CONSTANT para o modo preadder para activar este parámetro.
Especifica os valores do coeficiente para este cuarto multiplicador. O número de bits debe ser o mesmo que o especificado en Que ancho debe ser o ancho do coef? parámetro. Debe seleccionar COEF ou CONSTANT para o modo preadder para activar este parámetro.

Valor predeterminado NO
ENGADIR

Descrición
Seleccione SI para activar o acumulador. Debe seleccionar Rexistrar a saída da unidade sumadora cando use a función acumulador.
Especifica o funcionamento do acumulador: · ADD para operación de suma · SUB para operación de resta. Debe seleccionar SI para Activar acumulador? parámetro para activar esta opción.
continuou…

Enviar comentarios

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

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

Parámetro
Constante de precarga Habilita a constante de precarga

Parámetro xerado IP

Valor

gui_ena_prelo On

ad_const

Desactivado

A que está conectada a entrada do porto de acumulación?

gui_accumula ACCUM_SLOAD, te_port_select SLOAD_ACCUM

Seleccione o valor para precarga loadconst_val 0 – 64

constante

ue

Cal é a fonte de entrada do reloxo?

gui_accum_sl oad_register_ reloxo

Reloxo0 Reloxo1 Reloxo2

Cal é a fonte para a entrada clara asíncrona?

gui_accum_sl oad_register_ aclr

NINGUNHA ACLR0 ACLR1

Cal é a fonte para a entrada clara sincrónica?

gui_accum_sl oad_register_ sclr

NINGUNHA SCLR0 SCLR1

Activar acumulador dobre

gui_double_a Activado

ccum

Desactivado

Valor predeterminado

Descrición

Desactivado

Activa o accum_sload ou

sinais sload_accum e entrada de rexistro

para seleccionar dinámicamente a entrada para o

acumulador.

Cando accum_sload é baixo ou sload_accum, a saída do multiplicador envíase ao acumulador.

Cando accum_sload é alto ou sload_accum, unha constante de precarga especificada polo usuario introdúcese no acumulador.

Debe seleccionar SI para Activar acumulador? parámetro para activar esta opción.

ACCUM_SL OAD

Especifica o comportamento do sinal accum_sload/sload_accum.
ACCUM_SLOAD: baixa accum_sload para cargar a saída do multiplicador no acumulador.
SLOAD_ACCUM: aumenta sload_accum para cargar a saída do multiplicador no acumulador.
Debe seleccionar a opción Activar constante de precarga para activar este parámetro.

64

Especifique o valor constante predefinido.

Este valor pode ser 2N onde N é o valor constante predeterminado.

Cando N=64, representa un cero constante.

Debe seleccionar a opción Activar constante de precarga para activar este parámetro.

Reloxo 0

Seleccione Clock0 , Clock1 ou Clock2 para especificar o sinal de reloxo de entrada para o rexistro accum_sload/sload_accum.
Debe seleccionar a opción Activar constante de precarga para activar este parámetro.

NINGUNHA

Especifica a fonte clara asíncrona para o rexistro accum_sload/sload_accum.
Debe seleccionar a opción Activar constante de precarga para activar este parámetro.

NINGUNHA

Especifica a fonte clara sincrónica para o rexistro accum_sload/sload_accum.
Debe seleccionar a opción Activar constante de precarga para activar este parámetro.

Desactivado

Activa o rexistro do dobre acumulador.

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

Enviar comentarios

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

8.6.6. Tab Sistólica/Chainout

Táboa 35. Ficha Sumador sistólico/Chainout

Parámetro Enable Chainout Adder

Parámetro xerado IP

Valor

chainout_add SI,

er

NON

Cal é o tipo de operación do sumador de encadeamento?

chainout_add AGREGAR,

dirección_er

SUB

Activar a entrada de "negación" para o sumador de encadeamento?

Port_negate

PORT_USED, PORT_UNUSED

Rexistrar a entrada de "negación"? negar_rexistro er

NON Rexistrado, CLOCK0, CLOCK1, CLOCK2, CLOCK3

Cal é a fonte para a entrada clara asíncrona?

negar_aclr

NINGUNHA ACLR0 ACLR1

Cal é a fonte para a entrada clara sincrónica?

negar_sclr

NINGUNHA SCLR0 SCLR1

Retraso sistólico
Activar rexistros de retardo sistólico

gui_systolic_d Activado

elay

Desactivado

Cal é a fonte de entrada do reloxo?

gui_systolic_d CLOCK0,

reloxo_elay

CLOCK1,

Valor predeterminado
NON

Descrición
Seleccione SI para activar o módulo de sumador de encadeamento.

ENGADIR

Especifica a operación do sumador de encadeamento.
Para a operación de resta, debe seleccionarse SIGNED para Cal é o formato de representación para as entradas de Multiplicadores A? e Cal é o formato de representación para as entradas de multiplicadores B? na pestana Multiplicadores.

PORT_UN USADO

Selecciona PORT_USED para activar o sinal de entrada de negación.
Este parámetro non é válido cando se desactiva o sumador de encadeamento.

ANULAR DE REXISTRO

Para activar o rexistro de entrada para o sinal de entrada de negación e especifica o sinal de reloxo de entrada para o rexistro de negación.
Seleccione SIN REGISTRAR se non é necesario o rexistro de entrada de negación
Este parámetro non é válido cando seleccionas:
· NON para Habilitar o sumador de encadeamento ou
· PORT_UNUSED para Habilitar a entrada "negar" para o sumador de encadeamento? parámetro ou

NINGUNHA

Especifica a fonte clara asíncrona para o rexistro de negación.
Este parámetro non é válido cando seleccionas:
· NON para Habilitar o sumador de encadeamento ou
· PORT_UNUSED para Habilitar a entrada "negar" para o sumador de encadeamento? parámetro ou

NINGUNHA

Especifica a fonte clara sincrónica para o rexistro de negación.
Este parámetro non é válido cando seleccionas:
· NON para Habilitar o sumador de encadeamento ou
· PORT_UNUSED para Habilitar a entrada "negar" para o sumador de encadeamento? parámetro ou

Desactivado CLOCK0

Seleccione esta opción para activar o modo sistólico. Este parámetro está dispoñible cando selecciona 2 ou 4 para Cal é o número de multiplicadores? parámetro. Debe activar a saída de rexistro da unidade sumadora para utilizar os rexistros de retardo sistólico.
Especifica o sinal de reloxo de entrada para o rexistro de retardo sistólico.
continuou…

Enviar comentarios

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

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

Parámetro

Parámetro xerado IP

Valor

CLOCK2,

Cal é a fonte para a entrada clara asíncrona?

gui_systolic_d elay_aclr

NINGUNHA ACLR0 ACLR1

Cal é a fonte para a entrada clara sincrónica?

gui_systolic_d elay_sclr

NINGUNHA SCLR0 SCLR1

Valor predeterminado
NINGUNHA
NINGUNHA

Descrición
Debe seleccionar activar rexistros de retardo sistólico para activar esta opción.
Especifica a fonte clara asíncrona para o rexistro de retardo sistólico. Debe seleccionar activar rexistros de retardo sistólico para activar esta opción.
Especifica a fonte clara sincrónica para o rexistro de retardo sistólico. Debe seleccionar activar rexistros de retardo sistólico para activar esta opción.

8.6.7. Ficha Tubería

Táboa 36. Ficha Tuberías

Configuración da canalización de parámetros

Parámetro xerado IP

Valor

Queres engadir un rexistro de canalización á entrada?

gui_pipelining Non, si

Valor predeterminado
Non

Especifique o

latencia

número de reloxo de latencia

ciclos

Calquera valor maior de 0 que 0

Cal é a fonte de entrada do reloxo?

gui_input_late ncy_clock

CLOCK0, CLOCK1, CLOCK2

Cal é a fonte para a entrada clara asíncrona?

gui_input_late ncy_aclr

NINGUNHA ACLR0 ACLR1

Cal é a fonte para a entrada clara sincrónica?

gui_input_late ncy_sclr

NINGUNHA SCLR0 SCLR1

CLOCK0 NINGUN NINGUNO

Descrición
Seleccione Si para activar un nivel adicional de rexistro de canalización aos sinais de entrada. Debes especificar un valor superior a 0 para o parámetro Especifique o número de ciclos de reloxo de latencia.
Especifica a latencia desexada en ciclos de reloxo. Un nivel de rexistro de canalización = 1 latencia no ciclo de reloxo. Debe seleccionar SI para Quere engadir un rexistro de canalización á entrada? para activar esta opción.
Seleccione Clock0 , Clock1 ou Clock2 para activar e especificar o sinal de reloxo de entrada do rexistro de canalización. Debe seleccionar SI para Quere engadir un rexistro de canalización á entrada? para activar esta opción.
Especifica a fonte clara asíncrona do rexistro para o rexistro de canalización adicional. Debe seleccionar SI para Quere engadir un rexistro de canalización á entrada? para activar esta opción.
Especifica a fonte clara sincrónica do rexistro para o rexistro de canalización adicional. Debe seleccionar SI para Quere engadir un rexistro de canalización á entrada? para activar esta opción.

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

Enviar comentarios

683490 | 2020.10.05/XNUMX/XNUMX Enviar comentarios

9. ALTMEMMULT (Multiplicador de coeficiente constante baseado en memoria) IP Core

Atención:

Intel eliminou a compatibilidade desta IP na versión 20.3 de Intel Quartus Prime Pro Edition. Se o núcleo IP do teu deseño está dirixido a dispositivos en Intel Quartus Prime Pro Edition, podes substituír a IP por LPM_MULT Intel FPGA IP ou volver xerar a IP e compilar o teu deseño usando o software Intel Quartus Prime Standard Edition.

O núcleo ALTMEMMULT IP utilízase para crear multiplicadores baseados en memoria usando os bloques de memoria onchip que se atopan nos FPGA Intel (con bloques de memoria M512, M4K, M9K e MLAB). Este núcleo IP é útil se non ten recursos suficientes para implementar os multiplicadores en elementos lóxicos (LE) ou recursos multiplicadores dedicados.
O núcleo ALTMEMMULT IP é unha función síncrona que require un reloxo. O núcleo ALTMEMMULT IP implementa un multiplicador co menor rendemento e latencia posibles para un determinado conxunto de parámetros e especificacións.
A seguinte figura mostra os portos para o núcleo IP ALTMEMMULT.

Figura 21. Portos ALTMEMMULT

ALTMEMMULT

entrada_datos[] sload_data coeff_in[]

resultado[] result_valid load_done

sload_coeff

reloxo sclr
inst

Funcións de información relacionada na páxina 71

9.1. Características
O núcleo ALTMEMMULT IP ofrece as seguintes funcións: · Crea só multiplicadores baseados en memoria utilizando bloques de memoria no chip que se atopan en
FPGA Intel · Admite un ancho de datos de 1 bits · Admite formatos de representación de datos asinados e non asinados · Admite canalización con latencia de saída fixa

Intel Corporation. Todos os dereitos reservados. Intel, o logotipo de Intel e outras marcas de Intel son marcas comerciais de Intel Corporation ou das súas subsidiarias. Intel garante o rendemento dos seus produtos FPGA e semicondutores segundo as especificacións actuais de acordo coa garantía estándar de Intel, pero resérvase o dereito de facer cambios en calquera produto e servizo en calquera momento e sen previo aviso. Intel non asume ningunha responsabilidade ou responsabilidade derivada da aplicación ou uso de calquera información, produto ou servizo descrito aquí, salvo que Intel o acorde expresamente por escrito. Recoméndase aos clientes de Intel que obteñan a versión máis recente das especificacións do dispositivo antes de confiar en calquera información publicada e antes de facer pedidos de produtos ou servizos. *Outros nomes e marcas poden ser reclamados como propiedade doutros.

Certificado ISO 9001:2015

9. ALTMEMMULT (Multiplicador de coeficiente constante baseado en memoria) IP Core 683490 | 2020.10.05/XNUMX/XNUMX
· Almacena múltiples constantes na memoria de acceso aleatorio (RAM)
· Ofrece unha opción para seleccionar o tipo de bloque de RAM
· Admite portos de entrada sincrónicos opcionais claros e de control de carga
9.2. Prototipo Verilog HDL
O seguinte prototipo Verilog HDL está situado no Verilog Design File (.v) altera_mf.v no directorio de síntese eda.
module altmemmult #( parámetro coeff_representation = "SIGNED", parámetro coeficient0 = "UNUSED", parámetro data_representation = "SIGNED", parámetro reason_device_family = "non usado", parámetro max_clock_cycles_per_result = 1, parámetro número_de_coeficientes = "AUT_block", parámetro = ram total_latency = 1, parámetro width_c = 1, parámetro width_d = 1, parámetro width_r = 1, parámetro width_s = 1, parámetro lpm_type = "altmemmult", parámetro lpm_hint = "non usado") (reloxo de cable de entrada, cable de entrada [width_c-1: 1]coeff_in, cable de entrada [width_d-0:1] data_in, cable de saída load_done, cable de saída [width_r-0:1] resultado, cable de saída result_valid, sclr cable de entrada, cable de entrada [width_s-0:1] sel, entrada cable sload_coeff, entrada cable sload_data)/* síntese syn_black_box=0 */; módulo final
9.3. Declaración de compoñentes VHDL
A declaración do compoñente VHDL está situada no Deseño VHDL File (.vhd) altera_mf_components.vhd no directorio librariesvhdlaltera_mf.
compoñente altmemmult xenérico ( coeff_representation:string := “SIGNED”; coefficient0:string := “UNUSED”; data_representation:string := “SIGNED”; expected_device_family:string := “non usado”; max_clock_cycles_per_result:natural := 1; := 1; ram_block_type: string:= “AUTO”; "altmemmult"); port( clock:in std_logic; coeff_in:in std_logic_vector(width_c-1 downto 1) := (outros => '0'); data_in:in std_logic_vector (width_d-0 downto 1);

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

Enviar comentarios

9. ALTMEMMULT (Multiplicador de coeficiente constante baseado en memoria) IP Core 683490 | 2020.10.05/XNUMX/XNUMX

load_done:out std_logic; resultado:out std_logic_vector(width_r-1 downto 0); result_valid:out std_logic; sclr:in std_logic := '0'; sel:in std_logic_vector(width_s-1 downto 0) := (outros => '0'); sload_coeff:in std_logic := '0'; sload_data:in std_logic := '0'); compoñente final;

9.4. Portos

As seguintes táboas enumeran os portos de entrada e saída para o núcleo IP ALTMEMMULT.

Táboa 37. Portos de entrada ALTMEMMULT

Nome do porto

Obrigatorio

Descrición

reloxo

Si

Entrada do reloxo ao multiplicador.

coeff_in[]

Non

Porto de entrada de coeficiente para o multiplicador. O tamaño do porto de entrada depende do valor do parámetro WIDTH_C.

datos_en[]

Si

Porto de entrada de datos ao multiplicador. O tamaño do porto de entrada depende do valor do parámetro WIDTH_D.

sclr

Non

Entrada clara sincrónica. Se non se utiliza, o valor predeterminado é activo alto.

sel[]

Non

Selección de coeficiente fixo. O tamaño do porto de entrada depende do WIDTH_S

valor do parámetro.

sload_coeff

Non

Porto de entrada de coeficiente de carga síncrona. Substitúe o valor do coeficiente seleccionado actual polo valor especificado na entrada coeff_in.

carga_datos

Non

Porto de entrada de datos de carga síncrona. Sinal que especifica unha nova operación de multiplicación e cancela calquera operación de multiplicación existente. Se o parámetro MAX_CLOCK_CYCLES_PER_RESULT ten un valor de 1, ignorarase o porto de entrada sload_data.

Táboa 38. Portos de saída ALTMEMMULT

Nome do porto

Obrigatorio

Descrición

resultado[]

Si

Porto de saída do multiplicador. O tamaño do porto de entrada depende do valor do parámetro WIDTH_R.

resultado_válido

Si

Indica cando a saída é o resultado válido dunha multiplicación completa. Se o parámetro MAX_CLOCK_CYCLES_PER_RESULT ten un valor de 1, non se utiliza o porto de saída result_valid.

cargar_feito

Non

Indica cando rematou de cargar o novo coeficiente. O sinal load_done confirma cando un novo coeficiente rematou de cargarse. A non ser que o sinal load_done sexa alto, non se pode cargar ningún outro valor de coeficiente na memoria.

9.5 Parámetros

A seguinte táboa enumera os parámetros para o núcleo IP ALTMEMMULT.

Táboa 39.
WIDTH_D WIDTH_C

ALTMEMMULT Parámetros
Nome do parámetro

Tipo Obrigatorio

Descrición

Número enteiro Si

Especifica o ancho do porto data_in[].

Número enteiro Si

Especifica o ancho do porto coeff_in[]. continuou…

Enviar comentarios

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

9. ALTMEMMULT (Multiplicador de coeficiente constante baseado en memoria) IP Core 683490 | 2020.10.05/XNUMX/XNUMX

Nome do parámetro WIDTH_R WIDTH

Documentos/Recursos

Intel FPGA Núcleos IP aritméticos enteros [pdfGuía do usuario
Núcleos IP aritméticos enteros FPGA, núcleos IP aritméticos enteros, núcleos IP aritméticos, núcleos IP

Referencias

Deixa un comentario

O teu enderezo de correo electrónico non será publicado. Os campos obrigatorios están marcados *