Pergunta

Como posso simular o comportamento de uma pilha ou uma fila em VHDL? Os ponteiros?

Eu tinha pensado em usar alguma coisa como operação de deslocamento lógico de bits mas como verificar as restrições de pilha estar vazio ou o caso de estouro de pilha?

Foi útil?

Solução

Você pode começar por ler Peter Ashenden livro "O Guia do Designer para VHDL". No capítulo 19, ele implementa uma rede de filas e ele vai longamente para explicar como implementar filas em VHDL. Você pode obter os arquivos VHDL para que o livro em: http: // www. csee.umbc.edu/help/VHDL/ashenden/ch_19/

Outras dicas

Você vai querer implementar um FIFO se você estiver trabalhando em VHDL / Verilog. Se isso vai ser instanciado em um FPGA real, você vai modelar a FIFO com ponteiros de leitura e gravação para a memória RAM bloco no FPGA. Confira uma implementação bem desenvolvida no OpenCores ...

http://opencores.org/project,versatile_fifo

Do not implementar uma pilha. Use núcleo do fornecedor FPGA.

Você pode fazer um componente RAM e usá-lo como FIFO, LIFO ou qualquer tipo de estrutura de dados que deseja.

Se você precisa de um Stack, depois de fazer RAM Componente não usar ônibus Endereço para ele, fazer uma variável que contêm Top Of endereço Stack. depois com POP diminuí-lo (primeiro enviar a saída para barramento de dados) e com push aumentá-la (então salvar a entrada para TOS [topo da pilha] Variável).

Se você precisa mais que eu posso lhe dizer mais ...

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top