O que faz a inferência de memória significa?

S

State

Guest
Olá Existe alguém que pode me explicar o que significa exatamente "inferência de memória". Eu não encontrei qualquer definição do que ram inferir pode ser. Todo mundo parece ser preocupação inferir trava estar e realmente perigoso ter esse tipo de alerta em seu código. Então eu gostaria de saber por que eu deveria preocupado com isso e qual a metodologia de codificação eu deveria evitar para se livrar disso?? thx Estado
 
Inferência de memória na programação HDL não é qualquer coisa que você tem que temer. É basicamente uma característica dos compiladores de HDL para gerar elementos estruturais sem uma declaração explicite. A referida "inferência trava", apesar de aparecer em mensagens de aviso às vezes, é um processo semelhante. Suponha que um array (ou constante) variável definida em VHDL ou Verilog.
Code:
 TIPO MyArrayType É ARRAY [0 .. 255] DE UNSIGNED [7 DOWNTO 0]; SINAL MyArray: MyArrayType;
Esta definição é variável candidato a inferência de memória, mas também poderia ser, que a matriz de uma grande registos individuais é sintetizado. A maioria das famílias FPGA ter incorporado RAM, ea ferramenta de síntese deve preferir RAM para armazenamento de variável, porque 2048 registros podem ser salvos desta maneira. Mas RAM só pode ser usado, se a memória é acessada seqüencialmente, um endereço em um tempo (pode ser dois com porta dupla RAM, mas é a inferência pode ser suportado pelo compilador). A natureza síncrona de RAM define restrições adicionais na sua utilização. Se todos os requisitos forem cumpridos, a ferramenta de síntese memória inferir a partir do código por padrão, mas você pode bloquear este por atributos adicionais de síntese. Caso contrário ele irá usar registradores. HDL compilador manuais costumam discutir em detalhe os requisitos para a inferência de memória, o mesmo com outros elementos estruturais como flip-flops, travas ou multiplicadores
 
A ferramenta de síntese de HDL reconhece (deduz) operações familiares no seu código HDL, e converte-os em entidades de hardware, tais como contadores, RAMs, flip-flops, portas, travas, Inferência mudança registros máquinas, estado somadores, etc é geralmente um coisa boa, uma grande economia de tempo. No entanto, se você escrever o código HDL descuidado, a ferramenta de síntese pode-se inferir algo diferente do que você pretende. Não posso ler sua mente, ele só lê o que você escreveu. Sua síntese ferramenta manual usuários devem explicar como escrever código HDL que ajuda a ferramenta de síntese inferir corretamente os recursos de hardware diferentes, como um bloco de RAM FPGA. Por exemplo, a Xilinx XST Usuário capítulo "Guia HDL técnicas de codificação".
 

Welcome to EDABoard.com

Sponsor

Back
Top