intel UG-20094 Cyclone 10 GX Núcleo IP DSP de ponto fixo nativo
Intel® Cyclone® 10 GX Native Point DSP IP Core Guia do usuário
O núcleo IP DSP de ponto fixo nativo Intel Cyclone® 10 GX instancia e controla um único bloco Intel Cyclone 10 GX Variable Precision Digital Signal Processing (DSP). O núcleo Cyclone 10 GX Native Fixed Point DSP IP está disponível apenas para dispositivos Intel Cyclone 10 GX.
Cyclone 10 GX Native Ponto Fixo DSP IP Núcleo Diagrama de Blocos Funcionais
Informações relacionadas
Introdução aos núcleos IP FPGA da Intel.
Cyclone 10 GX Native Point DSP IP Core Features
O núcleo Cyclone 10 GX Native Fixed Point DSP IP suporta os seguintes recursos:
- Operações de multiplicação de alto desempenho, otimizadas para energia e totalmente registradas
- Comprimentos de palavra de 18 bits e 27 bits
- Dois multiplicadores 18 × 19 ou um multiplicador 27 × 27 por bloco DSP
- Registro integrado de adição, subtração e acumulação dupla de 64 bits para combinar resultados de multiplicação
- Cascata de 19 bits ou 27 bits quando o pré-somador está desativado e cascata de 18 bits quando o pré-somador é usado para formar a linha de atraso de toque para aplicação de filtragem
- Barramento de saída de 64 bits em cascata para propagar resultados de saída de um bloco para o próximo bloco sem suporte lógico externo
- Pré-adicionador rígido suportado nos modos de 19 bits e 27 bits para filtros simétricos
- Banco de registradores de coeficiente interno nos modos de 18 bits e 27 bits para implementação de filtro
- Filtros sistólicos de resposta ao impulso finito (FIR) de 18 bits e 27 bits com adicionador de saída distribuído
Começando
Este capítulo fornece uma visão geral sobreview do fluxo de design do núcleo Intel FPGA IP para ajudá-lo a começar rapidamente com o núcleo Cyclone 10 GX Native Fixed Point DSP IP. A biblioteca Intel FPGA IP é instalada como parte do processo de instalação do Intel Quartus® Prime. Você pode selecionar e parametrizar qualquer núcleo Intel FPGA IP da biblioteca. A Intel fornece um editor de parâmetros integrado que permite personalizar o núcleo Intel FPGA DSP IP para oferecer suporte a uma ampla variedade de aplicativos. O editor de parâmetros orienta você na configuração dos valores dos parâmetros e na seleção de portas opcionais.
Informações relacionadas
- Introdução aos núcleos IP Intel FPGA
Fornece informações gerais sobre todos os núcleos IP Intel FPGA, incluindo parametrização, geração, atualização e simulação de núcleos IP. - Criação de scripts de simulação de IP e Platform Designer (padrão) independentes da versão
Crie scripts de simulação que não exijam atualizações manuais para atualizações de software ou versão de IP. - Práticas recomendadas de gerenciamento de projetos
Diretrizes para gerenciamento eficiente e portabilidade de seu projeto e IP files.
Cyclone 10 GX Native Point Fixed DSP IP Core Parâmetros
Você pode personalizar o núcleo Cyclone 10 GX Native Fixed Point DSP IP especificando os parâmetros usando o editor de parâmetros no software Intel Quartus Prime.
Guia do Modo de Operação
Parâmetro | Parâmetro gerado por IP | Valor | Descrição |
Por favor, escolha o modo de operação | modo de operação | m18×18_full m18×18_sumof2 m18×18_plus36 m18×18_systolic m27×27 | Selecione o modo operacional desejado. |
Configuração do multiplicador | |||
Formato de representação para multiplicador x operando superior | assinado_max | assinado não assinado | Especifique o formato de representação para o multiplicador x operando superior. |
Parâmetro | Parâmetro gerado por IP | Valor | Descrição |
Formato de representação para o multiplicador superior y operando | assinado_maio | assinado não assinado | Especifique o formato de representação para o operando multiplicador y superior. |
Formato de representação para multiplicador inferior x operando | assinado_mbx | assinado não assinado | Especifique o formato de representação para o multiplicador inferior x operando. |
Formato de representação para multiplicador inferior y operando | assinado_mby | assinado não assinado | Especifique o formato de representação para o operando do multiplicador inferior.
Sempre selecione não assinado para m18×18_mais36 . |
Ativar porta 'sub' | habilitar_sub | Não Sim | Selecione Sim para habilitar
subporta. |
Registre a entrada 'sub' do multiplicador | sub_relógio | Não Relógio0 Relógio1 Relógio2 | Selecione Relógio0, Relógio1, ou Relógio2 para habilitar e especificar o sinal de clock de entrada para o subregistro de entrada. |
Cascata de entrada | |||
Habilita cascata de entrada para entrada 'ay' | pode_usar_scan_in | Não Sim | Selecione Sim para ativar o módulo de cascata de entrada para qualquer entrada de dados.
Quando você ativa o módulo de cascata de entrada, o núcleo Cyclone 10 GX Native Fixed Point DSP IP usa os sinais de entrada de varredura como entrada em vez de sinais de entrada y. |
Ativar cascata de entrada para entrada 'por' | por_use_scan_in | Não Sim | Selecione Sim para ativar o módulo de cascata de entrada por entrada de dados.
Quando você habilita o módulo de cascata de entrada, o núcleo Cyclone 10 GX Native Fixed Point DSP IP usa os sinais de entrada ay como entrada em vez de por sinais de entrada. |
Ativar registro de atraso de dados | atraso_scan_out_ay | Não Sim | Selecione Sim para ativar o registro de atraso entre ay e por registros de entrada.
Este recurso não é suportado em m18×18_mais36 e m27x27 modo operacional. |
Parâmetro | Parâmetro gerado por IP | Valor | Descrição |
Ativar dados por registro de atraso | atraso_scan_out_by | Não Sim | Selecione Sim para habilitar o registro de atraso entre os registros de entrada e o barramento de saída de varredura.
Este recurso não é suportado em m18×18_mais36 e m27x27 modo operacional. |
Ativar porta de varredura | habilitar_gui_scanout | Não Sim | Selecione Sim para habilitar
barramento de saída de varredura. |
largura do barramento de saída 'scanout' | largura_saída_de_varredura | 1–27 | Especifique a largura de
barramento de saída de varredura. |
Configuração de dados 'x' | |||
largura do barramento de entrada 'ax' | largura_do_ax | 1–27 | Especifique a largura de
barramento de entrada ax.(1) |
Registre a entrada 'ax' do multiplicador | relógio_ax | Não Relógio0 Relógio1 Relógio2 | Selecione Relógio0, Relógio1, ou Relógio2 para habilitar e especificar o sinal de clock de entrada para o registro de entrada ax.
registro de entrada ax não está disponível se você definir origem do operando 'ax' para 'coef'. |
largura do barramento de entrada 'bx' | largura_bx | 1–18 | Especifique a largura de
barramento de entrada bx.(1) |
Registre a entrada 'bx' do multiplicador | relógio_bx | Não Relógio0 Relógio1 Relógio2 | Selecione Relógio0, Relógio1, ou Relógio2 para habilitar e especificar o sinal de clock de entrada para o registro de entrada bx.
O registro de entrada bx não está disponível se você definir fonte do operando 'bx' para 'coef'. |
Configuração de dados 'y' | |||
largura do barramento 'ay' ou 'scanin' | ay_scan_em_largura | 1–27 | Especifique a largura do barramento de entrada ay ou scanin.(1) |
Registre a entrada 'ay' ou a entrada 'scanin' do multiplicador | ay_scan_in_relógio | Não Relógio0 Relógio1 Relógio2 | Selecione Relógio0, Relógio1, ou Relógio2 para habilitar e especificar o sinal de clock de entrada para o registro de entrada ay ou scanin. |
'por' largura do barramento de entrada | por_largura | 1–19 | Especifique a largura do barramento de entrada.(1) |
Parâmetro | Parâmetro gerado por IP | Valor | Descrição |
Registre a entrada 'por' do multiplicador | por_relógio | Não Relógio0 Relógio1 Relógio2 | Selecione Relógio0, Relógio1, ou Relógio2 para habilitar e especificar o sinal de clock de entrada para by ou scanin
registro de entrada.(1) |
Configuração de 'resultado' de saída | |||
largura do barramento de saída 'resultado' | resultado_a_largura | 1–64 | Especifique a largura de
barramento de saída de resultado. |
Largura do barramento de saída 'resultb' | resultado_b_largura | 1–64 | Especifique a largura do barramento de saída resultb. resultb disponível apenas ao usar o operation_mode m18×18_completo. |
Usar registrador de saída | relógio_saída | Não Relógio0 Relógio1 Relógio2 | Selecione Relógio0, Relógio1, ou Relógio2 para habilitar e especificar o sinal de clock de entrada para os registros de saída result e resultb. |
Aba Pré-adicionador
Parâmetro | Parâmetro gerado por IP | Valor | Descrição |
fonte do operando 'ay' | operando_source_may | Preader de entrada | Especifique a origem do operando para uma entrada y. Selecione pregador para habilitar o módulo pré-somador para o multiplicador superior. As configurações para ay e por fonte de operando devem ser as mesmas. |
'por' fonte do operando | operando_source_mby | Preader de entrada | Especifique a origem do operando por entrada. Selecione pregador para habilitar o módulo pré-somador para o multiplicador inferior. As configurações para ay e por fonte de operando devem ser as mesmas. |
Definir uma operação de pré-somador para subtração | preadder_subtrair_a | Não Sim | Selecione Sim para especificar a operação de subtração para o módulo pré-somador para o multiplicador superior. As configurações do pré-somador para o multiplicador superior e inferior devem ser as mesmas. |
Defina a operação do pré-somador b para subtração | preadder_subtract_b | Não Sim | Selecione Sim para especificar a operação de subtração para o módulo pré-somador para o multiplicador inferior. As configurações do pré-somador para o multiplicador superior e inferior devem ser as mesmas. |
Configuração de dados 'z' | |||
Largura do barramento de entrada 'az' | largura_az | 1–26 | Especifique a largura do barramento de entrada az.(1) |
Registre a entrada 'az' do multiplicador | z_clock | Não Relógio0 Relógio1 Relógio2 | Selecione Relógio0, Relógio1, ou Relógio2 para habilitar e especificar o sinal de relógio de entrada para registros de entrada az. As configurações de relógio para os registros de entrada ay e az devem ser as mesmas. |
largura do barramento de entrada 'bz' | largura_bz | 1–18 | Especifique a largura do barramento de entrada bz.(1) |
Registre a entrada 'bz' do multiplicador | relógio_bz | Não Relógio0 Relógio1 Relógio2 | Selecione Relógio0, Relógio1, ou Relógio2 para habilitar e especificar o sinal de clock de entrada para os registradores de entrada bz. As configurações de relógio para registros de entrada by e bz devem ser as mesmas. |
Aba Coeficiente Interno
Parâmetro | Parâmetro gerado por IP | Valor | Descrição |
origem do operando 'ax' | operando_source_max | entrada coef | Especifique a origem do operando para o barramento de entrada ax. Selecione coef para ativar o módulo de coeficiente interno para o multiplicador superior.
Selecione Não para Registre a entrada 'ax' do multiplicador parâmetro quando você habilita o recurso de coeficiente interno. |
Parâmetro | Parâmetro gerado por IP | Valor | Descrição |
As configurações para a origem do operando ax e bx devem ser as mesmas. | |||
fonte do operando 'bx' | operando_fonte_mbx | entrada coef | Especifique a origem do operando para o barramento de entrada bx. Selecione coef para ativar o módulo de coeficiente interno para o multiplicador superior.
Selecione Não para Registre a entrada 'bx' do multiplicador parâmetro quando você habilita o recurso de coeficiente interno. As configurações para a origem do operando ax e bx devem ser as mesmas. |
Configuração do Registro de Entrada 'coefsel' | |||
Registre a entrada 'coefsela' do multiplicador | coef_sel_a_clock | Não Relógio0 Relógio1 Relógio2 | Selecione Relógio0, Relógio1, ou Relógio2 para habilitar e especificar o sinal de clock de entrada para os registradores de entrada coefsela. |
Registre a entrada 'coefselb' do multiplicador | coef_sel_b_relógio | Não Relógio0 Relógio1 Relógio2 | Selecione Relógio0, Relógio1, ou Relógio2 para habilitar e especificar o sinal de clock de entrada para os registradores de entrada coefselb. |
Configuração de armazenamento de coeficiente | |||
coef_a_0–7 | coef_a_0–7 | Inteiro | Especifique os valores de coeficiente para o barramento de entrada ax.
Para o modo de operação de 18 bits, o valor máximo de entrada é 218 – 1. Para operação de 27 bits, o valor máximo é 227 – 1. |
coef_b_0–7 | coef_b_0–7 | Inteiro | Especifique os valores dos coeficientes para o barramento de entrada bx. |
Aba Acumulador/Cascata de Saída
Parâmetro | Parâmetro gerado por IP | Valor | Descrição |
Ativar porta 'acumular' | habilitar_acumular | Não Sim | Selecione Sim para habilitar
porta do acumulador. |
Ativar porta 'negar' | habilitar_negar | Não Sim | Selecione Sim para habilitar
negar porta. |
Ativar porta 'loadconst' | enable_loadconst | Não Sim | Selecione Sim para habilitar
porta loadconst. |
Registre a entrada 'acumular' do acumulador | acumular_relógio | Não Relógio0 Relógio1 Relógio2 | Selecione Relógio0 , Relógio1, ou Relógio2 para habilitar e especificar o sinal de clock de entrada para os registradores de entrada acumulados. |
Parâmetro | Parâmetro gerado por IP | Valor | Descrição |
Registre a entrada 'loadconst' do acumulador | relógio_constante_de_carga | Não Relógio0 Relógio1 Relógio2 | Selecione Relógio0, Relógio1, ou Relógio2 para habilitar e especificar o sinal de clock de entrada para os registradores de entrada loadconst. |
Registre a entrada 'negar' da unidade adicionadora | relógio_negado | Não Relógio0 Relógio1 Relógio2 | Selecione Relógio0, Relógio1, ou Relógio2 para habilitar e especificar o sinal de clock de entrada para os registradores de entrada de negação. |
Ativar acumulador duplo | habilitar_acumulação_dupla | Não Sim | Selecione Sim para ativar o recurso de acumulador duplo. |
N valor da constante predefinida | valor_const_de_carga | 0 – 63 | Especifique o valor constante predefinido.
Este valor pode ser 2N onde N é o valor constante predefinido. |
Habilitar porta chainin | usar_chainadder | Não Sim | Selecione Sim para ativar o módulo de cascata de saída e o barramento de entrada chainin.
O recurso de cascata de saída não é suportado em m18×18_completo modo de operação. |
Habilitar porta chainout | gui_chainout_ativar | Não Sim | Selecione Sim para habilitar o barramento de saída chainout. O recurso de cascata de saída não é suportado em
m18×18_completo modo de operação. |
Aba Pipelining
Parâmetro | Parâmetro gerado por IP | Valor | Descrição |
Adicionar registro de pipeline de entrada ao sinal de dados de entrada (x/y/z/coefsel) | relógio_do_pipeline_de_entrada | Não Relógio0 Relógio1 Relógio2 | Selecione Relógio0, Relógio1, ou Relógio2 para ativar e especificar o sinal de clock de entrada para os registros de entrada do pipeline x, y, z, coefsela e coefselb. |
Adicionar registro de pipeline de entrada ao sinal de dados 'sub' | sub_pipeline_relógio | Não Relógio0 Relógio1 Relógio2 | Selecione Relógio0, Relógio1, ou Relógio2 para habilitar e especificar o sinal de clock de entrada para o registro de entrada do subpipeline. (2) |
Adicionar registro de pipeline de entrada ao sinal de dados 'acumulado' | relógio_acum_pipeline | Não Relógio0 Relógio1 Relógio2 | Selecione Relógio0, Relógio1, ou Relógio2 para habilitar e especificar o sinal de clock de entrada para o registro de entrada de pipeline acumulado.(2) |
Adicionar registro de pipeline de entrada ao sinal de dados 'loadconst' | relógio_const_do_pipeline_de_carga | Não Relógio0 Relógio1 Relógio2 | Selecione Relógio0, Relógio1, ou Relógio2 para habilitar e especificar o sinal de clock de entrada para o registro de entrada do pipeline loadconst.(2) |
Adicionar registro de pipeline de entrada ao sinal de dados 'negar' | negar_relógio_do_pipeline | Não Relógio0 Relógio1 Relógio2 | Selecione Relógio0, Relógio1, ou Relógio2 para habilitar e especificar o sinal de clock de entrada para o registro de entrada de pipeline negativo.(2) |
Largura máxima de dados de entrada por modo de operação
Você pode personalizar a largura de dados para entradas x, y e z conforme especificado na tabela.
Todos os registros de entrada de pipeline para sinais de controle dinâmico devem ter a mesma configuração de relógio.
Modo de operação | Largura Máxima dos Dados de Entrada | |||||
ax | ay | az | bx | by | bz | |
Sem pré-somador ou coeficiente interno | ||||||
m18×18_completo | 18 (assinado)
18 (sem assinatura) |
19 (assinado)
18 (não assinado) |
Não usado | 18 (assinado)
18 (sem assinatura) |
19 (assinado)
18 (sem assinatura) |
Não usado |
m18×18_soma de 2 | ||||||
m18×18_sistólica | ||||||
m18×18_mais36 | ||||||
m27×27 | 27 (assinado)
27 (não assinado) |
Não usado | ||||
Somente com recurso de pré-adicionador | ||||||
m18×18_completo | 18 (assinado)
18 (não assinado) |
|||||
m18×18_soma de 2 | ||||||
m18×18_sistólica | ||||||
m27×27 | 27 (assinado)
27 (sem assinatura) |
26 (assinado)
26 (não assinado) |
Não usado | |||
Somente com recurso de coeficiente interno | ||||||
m18×18_completo | Não usado | 19 (assinado)
18 (não assinado) |
Não usado | 19 (assinado)
18 (sem assinatura) |
Não usado | |
m18×18_soma de 2 | ||||||
m18×18_sistólica | ||||||
m27×27 | 27 (assinado)
27 (não assinado) |
Não usado |
Descrição funcional
O núcleo Cyclone 10 GX Native Fixed Point DSP IP consiste em 2 arquiteturas; Multiplicação 18 × 18 e multiplicação 27 × 27. Cada instanciação do núcleo Cyclone 10 GX Native Fixed Point DSP IP gera apenas 1 das 2 arquiteturas, dependendo dos modos operacionais selecionados. Você pode habilitar módulos opcionais para seu aplicativo.
Informações relacionadas
Variable Precision DSP Blocks in Intel Cyclone 10 GX Devices Chapter, Intel Cyclone 10 GX Core Fabric and General Purpose I/Os Handbook.
Modos Operacionais
O núcleo Cyclone 10 GX Native Fixed Point DSP IP suporta 5 modos operacionais:
- O modo completo 18 × 18
- A Soma 18 × 18 do Modo 2
- O modo 18 × 18 mais 36
- O modo sistólico 18 × 18
- O modo 27 × 27
O modo completo 18 × 18
Quando configurado como modo completo 18 × 18, o núcleo Cyclone 10 GX Native Fixed Point DSP IP opera como dois núcleos independentes 18 (assinado/não assinado) × 19 (assinado) ou 18
(assinado/não assinado) × 18 (sem sinal) multiplicadores com saída de 37 bits. Este modo aplica as seguintes equações:
- resultado = ax * ay
- resultadob = bx * por
A arquitetura de modo completo 18 × 18
A Soma 18 × 18 do Modo 2
Nos modos Soma de 18 18 × 2, o núcleo Cyclone 10 GX Native Fixed Point DSP IP habilita os multiplicadores superior e inferior e gera um resultado de adição ou subtração entre os 2 multiplicadores. O sinal de controle subdinâmico controla um somador para realizar as operações de adição ou subtração. A largura de saída resultante do núcleo Cyclone 10 GX Native Fixed Point DSP IP pode suportar até 64 bits quando você habilita o acumulador/cascata de saída. Este modo aplica a equação de resultado =[±(ax * ay) + (bx * by)].
A soma de 18 × 18 da arquitetura de 2 modos
O modo 18 × 18 mais 36
Quando configurado como modo 18 × 18 Plus 36, o núcleo Cyclone 10 GX Native Fixed Point DSP IP habilita apenas o multiplicador superior. Este modo aplica a equação de resultado = (ax * ay) + concatenate(bx[17:0],by[17:0]).
A arquitetura de modo 18 × 18 Plus 36
Você deve definir o formato de representação para multiplicadores inferiores y operando como sem sinal ao usar este modo. Quando o barramento de entrada for menor que 36 bits neste modo, você deverá fornecer a extensão assinada necessária para preencher a entrada de 36 bits.
Usando menos de 36 bits operando no modo 18 × 18 Plus 36
Este exampO arquivo mostra como configurar o núcleo Cyclone 10 GX Native Fixed Point DSP IP para usar o modo operacional 18 × 18 Plus 36 com dados de entrada assinados de 12 bits de 101010101010 (binário) em vez de um operando de 36 bits.
- Defina o formato de representação para o multiplicador inferior x operando: para assinado.
- Defina o formato de representação para o multiplicador inferior y operando: para não assinado.
- Defina a largura do barramento de entrada 'bx' para 18.
- Defina a largura do barramento de entrada 'by' para 18.
- Forneça dados de '111111111111111111' para o barramento de entrada bx.
- Forneça dados de '111111101010101010' para o barramento de entrada.
O modo sistólico 18 × 18
Nos modos operacionais sistólicos 18 × 18, o núcleo Cyclone 10 GX Native Fixed Point DSP IP habilita os multiplicadores superior e inferior, um registro sistólico de entrada para o multiplicador superior e um registro sistólico de cadeia para a cadeia nos sinais de entrada. Quando você ativa a cascata de saída, este modo suporta largura de saída de resultado de 44 bits. Ao habilitar o recurso de acumulador sem cascata de saída, você pode configurar a largura de saída do resultado para 64 bits.
A arquitetura do modo sistólico 18 × 18
O modo 27 × 27
Quando configurado como modos 27 × 27, o núcleo Cyclone 10 GX Native Fixed Point DSP IP permite um multiplicador 27 (assinado/não assinado) × 27 (assinado/não assinado). O barramento de saída pode suportar até 64 bits com acumulador/cascata de saída habilitado. Este modo aplica a equação de resultado = ax * ay.
A arquitetura do modo 27 × 27
Módulos opcionais
Os módulos opcionais disponíveis no Cyclone 10 GX Native Fixed Point DSP IP Core são:
- cascata de entrada
- Pré-adicionadores
- Coeficiente Interno
- Acumulador e cascata de saída
- Registros de pipeline
Cascata de entrada
O recurso de cascata de entrada é suportado em ay e por barramento de entrada. Quando você define Ativar cascata de entrada para entrada 'ay' como Sim, o núcleo Cyclone 10 GX Native Fixed Point DSP IP receberá entradas de sinais de entrada de varredura em vez de um barramento de entrada ay. Quando você define Ativar cascata de entrada para entrada 'por' como Sim, o núcleo Cyclone 10 GX Native Fixed Point DSP IP receberá entradas de qualquer barramento de entrada em vez de um barramento de entrada.
Recomenda-se habilitar os registradores de entrada para ay e/ou by sempre que a cascata de entrada for habilitada para a correção da aplicação.
Você pode ativar os registradores de atraso para corresponder ao requisito de latência entre o registrador de entrada e o registrador de saída. Existem 2 registradores de atraso no núcleo. O registro de atraso superior é usado para portas de entrada ay ou scan-in, enquanto o registro de atraso inferior é usado para portas de saída de saída. Esses registradores de atraso são suportados no modo 18 × 18 completo, 18 × 18 somas de 2 modos e 18 × 18 modos sistólicos.
Pré-adicionador
O pré-adicionador pode ser configurado nas seguintes configurações:
- Dois pré-adicionadores independentes de 18 bits (assinados/não assinados).
- Um pré-somador de 26 bits.
Quando você habilita o pré-somador nos modos de multiplicação 18 × 18, ay e az são usados como barramento de entrada para o pré-somador superior, enquanto by e bz são usados como barramento de entrada para o pré-somador inferior. Quando você habilita o pré-somador no modo de multiplicação 27 × 27, ay e az são usados como barramento de entrada para o pré-somador. O pré-somador suporta operações de adição e subtração. Quando ambos os pré-somadores no mesmo bloco DSP são usados, eles devem compartilhar o mesmo tipo de operação (seja adição ou subtração).
Coeficiente Interno
O coeficiente interno pode suportar até oito coeficientes constantes para os multiplicandos nos modos de 18 e 27 bits. Ao ativar o recurso de coeficiente interno, serão gerados dois barramentos de entrada para controlar a seleção do multiplexador de coeficiente. O barramento de entrada coefsela é usado para selecionar os coeficientes predefinidos para o multiplicador superior e o barramento de entrada de conselho é usado para selecionar os coeficientes predefinidos para o multiplicador inferior.
O armazenamento de coeficiente interno não suporta valores de coeficiente controláveis dinamicamente e o armazenamento de coeficiente externo é necessário para executar tal operação.
Acumulador e cascata de saída
O módulo acumulador pode ser habilitado para realizar as seguintes operações:
- Operação de adição ou subtração
- Operação de arredondamento tendencioso usando um valor constante de 2N
- Acumulação de canal duplo
Para executar dinamicamente a operação de adição ou subtração do acumulador, controle o sinal de entrada negativo. Para uma operação de arredondamento tendencioso, você pode especificar e carregar uma constante predefinida de 2N antes que o módulo do acumulador seja ativado, especificando um número inteiro para o valor do parâmetro N da constante predefinida. O inteiro N deve ser menor que 64. Você pode ativar ou desativar dinamicamente o uso da constante predefinida controlando o sinal loadconst. Você pode usar esta operação como um muxing ativo do valor redondo no caminho de realimentação do acumulador. O custo carregado e o uso de sinal acumulado são mutuamente exclusivos.
Você pode habilitar o registro do acumulador duplo usando o parâmetro Ativar acumulador duplo para realizar o acúmulo duplo. O módulo acumulador pode suportar o encadeamento de vários blocos DSP para operações de adição ou subtração, habilitando a porta de entrada de encadeamento e a porta de saída de encadeamento. No modo sistólico 18 × 18, apenas 44 bits do barramento de entrada da cadeia e do barramento de saída da cadeia serão usados. No entanto, todas as cadeias de 64 bits no barramento de entrada devem ser conectadas ao barramento de saída do bloco DSP anterior.
Registro de Oleoduto
O núcleo Cyclone 10 GX Native Fixed Point DSP IP suporta um único nível de registro de pipeline. O registrador de pipeline suporta até três fontes de relógio e um sinal claro assíncrono para redefinir os registradores de pipeline. Existem cinco registradores de pipeline:
- registro de pipeline de barramento de entrada de dados
- registro de pipeline de sinal de controle subdinâmico
- nega registro de pipeline de sinal de controle dinâmico
- acumular registro de pipeline de sinal de controle dinâmico
- registro de pipeline de controle dinâmico loadconst
Você pode optar por habilitar cada registro de pipeline de barramento de entrada de dados e os registros de pipeline de sinal de controle dinâmico independentemente. No entanto, todos os registradores de pipeline habilitados devem usar a mesma fonte de relógio.
Esquema de Cronometragem
A entrada, o pipeline e os registros de saída no núcleo Cyclone 10 GX Native Fixed Point DSP IP suportam três fontes/habilitações de relógio e duas limpezas assíncronas. Todos os registros de entrada usam aclr[0] e todos os registros de pipeline e saída usam aclr[1]. Cada tipo de registro pode selecionar uma das três fontes de relógio e sinais de habilitação de relógio. Quando você configura o núcleo Cyclone 10 GX Native Fixed Point DSP IP para o modo de operação sistólica 18 × 18, o software Intel Quartus Prime definirá o registro sistólico de entrada e a fonte de relógio do registro sistólico da cadeia para a mesma fonte de relógio que o registro de saída internamente.
Quando você habilita o recurso de acumulador duplo, o software Intel Quartus Prime definirá a fonte de relógio do registro do acumulador duplo para a mesma fonte de relógio que o registro de saída internamente.
Restrições do Esquema de Relógio
Esta guia mostra as restrições que você deve aplicar para todos os esquemas de relógio de registro.
Doença | Restrição |
Quando o pré-adicionador está ativado | A fonte de clock para os registros de entrada ay e az deve ser a mesma. |
A fonte de clock para os registros de entrada by e bz deve ser a mesma. | |
Quando os registros de pipeline estão ativados | A origem do relógio para todos os registradores de pipeline deve ser a mesma. |
Quando qualquer um dos registros de entrada para sinais de controle dinâmico | A fonte de clock para registros de entrada para sub, acumula, loadconst e negate deve ser a mesma. |
Sinais núcleo DSP IP de ponto fixo nativo Cyclone 10 GX
A figura a seguir mostra os sinais de entrada e saída do núcleo Cyclone 10 GX Native Fixed Point DSP IP.
Sinais núcleo DSP IP de ponto fixo nativo Cyclone 10 GX
Sinais de entrada de dados
Nome do sinal | Tipo | Largura | Descrição |
machado[] | Entrada | 27 | Barramento de dados de entrada para o multiplicador superior. |
sim[] | Entrada | 27 | Barramento de dados de entrada para o multiplicador superior.
Quando o pré-somador está habilitado, esses sinais são servidos como sinais de entrada para o pré-somador superior. |
z[] | Entrada | 26 | Esses sinais são sinais de entrada para o pré-somador superior.
Esses sinais só estão disponíveis quando o pré-adicionador está habilitado. Esses sinais não estão disponíveis em m18×18_mais36 modo operacional. |
bx[] | Entrada | 18 | Barramento de dados de entrada para o multiplicador inferior.
Esses sinais não estão disponíveis em m27×27 modo operacional. |
de[] | Entrada | 19 | Barramento de dados de entrada para o multiplicador inferior.
Quando o pré-somador está ativado, esses sinais servem como sinais de entrada para o pré-somador inferior. Esses sinais não estão disponíveis em m27×27 modo operacional. |
beleza[] | Entrada | 18 | Esses sinais são sinais de entrada para o pré-somador inferior. Esses sinais só estão disponíveis quando o pré-adicionador está ativado. Esses sinais não estão disponíveis em m27×27 e m18×18_mais36 modos operacionais. |
Sinais de Saída de Dados
Nome do sinal | Tipo | Largura | Descrição |
resultado[] | Saída | 64 | Barramento de dados de saída do multiplicador superior.
Esses sinais suportam até 37 bits para m18×18_completo modo operacional. |
resultadob[] | Saída | 37 | Barramento de dados de saída do multiplicador inferior.
Estes sinais só estão disponíveis em m18×18_completo modo operacional. |
Sinais de Relógio, Ativar e Limpar
Nome do sinal | Tipo | Largura | Descrição |
clique[] | Entrada | 3 | Sinais de clock de entrada para todos os registradores.
Esses sinais de clock estão disponíveis apenas se qualquer um dos registradores de entrada, registradores de pipeline ou registrador de saída estiver definido como Relógio0, Relógio1, ou Relógio2. • clk[0] = Relógio0 • clk[1] = Relógio1 • clk[2] = Relógio2 |
ena[] | Entrada | 3 | Ativação do relógio para clk[2:0]. Este sinal é ativo-alto.
• ena[0] é para Relógio0 • ena[1] é para Relógio1 • ena[2] é para Relógio2 |
acl[] | Entrada | 2 | Sinais de entrada claros assíncronos para todos os registradores. Este sinal é ativo-alto.
Usar acl[0] para todos os registradores de entrada e uso acl[1] para todos os registradores de pipeline e registradores de saída. Por padrão, esse sinal é desativado. |
Sinais de controle dinâmico
Nome do sinal | Tipo | Largura | Descrição |
sub | Entrada | 1 | Sinal de entrada para somar ou subtrair a saída do multiplicador superior com a saída do multiplicador inferior.
• Desative este sinal para especificar a operação de adição. • Ative este sinal para especificar a operação de subtração. Por padrão, esse sinal é desativado. Você pode ativar ou desativar este sinal durante o tempo de execução.(3) |
negar | Entrada | 1 | Sinal de entrada para adicionar ou subtrair a soma dos multiplicadores superior e inferior com os dados dos sinais chainin.
• Desative este sinal para especificar a operação de adição. • Ative este sinal para especificar a operação de subtração. Por padrão, esse sinal é desativado. Você pode ativar ou desativar este sinal durante o tempo de execução.(3) |
acumular | Entrada | 1 | Sinal de entrada para habilitar ou desabilitar o recurso do acumulador.
• Desativar este sinal para desativar o recurso do acumulador. • Ative este sinal para habilitar o recurso do acumulador. Por padrão, esse sinal é desativado. Você pode ativar ou desativar este sinal durante o tempo de execução.(3) |
cargaconst | Entrada | 1 | Sinal de entrada para habilitar ou desabilitar o recurso de constante de carga.
• Desativar este sinal para desativar o recurso de constante de carga. • Ative este sinal para habilitar o recurso de constante de carga. Por padrão, esse sinal é desativado. Você pode ativar ou desativar este sinal durante o tempo de execução.(3) |
Sinais de Coeficiente Interno
Nome do sinal | Tipo | Largura | Descrição |
coefsela[] | Entrada | 3 | Sinais de seleção de entrada para 8 valores de coeficiente definidos pelo usuário para o multiplicador superior. Os valores dos coeficientes são armazenados na memória interna e especificados por parâmetros coef_a_0 para coef_a_7.
• coefsela[2:0] = 000 refere-se a coef_a_0 • coefsela[2:0] = 001 refere-se a coef_a_1 • coelsela[2:0] = 010 refere-se a coef_a_2 • … e assim por diante. Esses sinais estão disponíveis apenas quando o recurso de coeficiente interno está habilitado. |
coefself[] | Entrada | 3 | Sinais de seleção de entrada para 8 valores de coeficiente definidos pelo usuário para o multiplicador inferior. Os valores dos coeficientes são armazenados na memória interna e especificados por parâmetros coef_b_0 para coef_b_7.
• coefselb[2:0] = 000 refere-se a coef_b_0 • coefselb[2:0] = 001 refere-se a coef_b_1 • coelselb[2:0] = 010 refere-se a coef_b_2 • … e assim por diante. Esses sinais estão disponíveis apenas quando o recurso de coeficiente interno está habilitado. |
Sinais de Cascata de Entrada
Nome do sinal | Tipo | Largura | Descrição |
digitalizando[] | Entrada | 27 | Barramento de dados de entrada para módulo de cascata de entrada.
Conecte esses sinais aos sinais de varredura do núcleo DSP anterior. |
escaneamento[] | Saída | 27 | Barramento de dados de saída do módulo de entrada em cascata.
Conecte esses sinais aos sinais de varredura do próximo núcleo DSP. |
Sinais de Cascata de Saída
Nome do sinal | Tipo | Largura | Descrição |
encadeando[] | Entrada | 64 | Barramento de dados de entrada para módulo em cascata de saída.
Conecte esses sinais aos sinais de encadeamento do núcleo DSP anterior. |
encadeamento[] | Saída | 64 | Barramento de dados de saída do módulo de cascata de saída.
Conecte esses sinais aos sinais chainin do próximo núcleo DSP. |
Histórico de revisão do documento para o Cyclone 10 GX Native Fixed Point DSP IP Core User Guide
Data | Versão | Mudanças |
Novembro de 2017 | 2017.11.06 | Lançamento inicial. |
Corporação Intel. Todos os direitos reservados. Intel, o logotipo da Intel e outras marcas da Intel são marcas comerciais da Intel Corporation ou de suas subsidiárias. A Intel garante o desempenho de seus produtos FPGA e semicondutores de acordo com as especificações atuais de acordo com a garantia padrão da Intel, mas reserva-se o direito de fazer alterações em quaisquer produtos e serviços a qualquer momento sem aviso prévio. A Intel não assume nenhuma responsabilidade decorrente do aplicativo ou uso de qualquer informação, produto ou serviço aqui descrito, exceto conforme expressamente acordado por escrito pela Intel. Os clientes da Intel são aconselhados a obter a versão mais recente das especificações do dispositivo antes de confiar em qualquer informação publicada e antes de fazer pedidos de produtos ou serviços.
Outros nomes e marcas podem ser reivindicados como propriedade de terceiros.
Documentos / Recursos
![]() |
intel UG-20094 Cyclone 10 GX Núcleo IP DSP de ponto fixo nativo [pdf] Guia do Usuário UG-20094 Cyclone 10 GX Native Point Fixed Point DSP IP Core, UG-20094, Cyclone 10 GX Native Fixed Point DSP IP Core, Native Fixed Point DSP IP Core, Fixed Point DSP IP Core, DSP IP Core |