2009-02-28 142 views
2

如何模拟VHDL中堆栈或队列的行为?任何指针?如何在VHDL中实现堆栈/队列等数据结构?

我曾想过使用一些比特逻辑移位操作的东西,但如何检查堆栈的约束是空的还是堆栈溢出的情况?

+3

你问如何“模拟行为”。你想写可综合的代码(去硬件),还是你想为你的模拟代码。这对你可以使用的VHDL结构有很大的影响。 – Philippe 2011-03-21 20:25:13

回答

1

不要实现堆栈。使用FPGA供应商的核心。

+3

我会反对使用供应商的核心。推断的逻辑具有与供应商核心一样高效的潜力。它还可以使您的设计技术独立,让您选择切换FPGA供应商或针对不同的ASIC技术。 – Philippe 2011-03-21 20:28:53

0

您可以制作一个RAM组件,并将其用作FIFO,LIFO或任何您想要的数据结构。

如果你需要一个堆栈,在使RAM组件不使用地址总线之后,建立一个包含栈顶地址的变量。然后使用POP降低它(首先将输出发送到数据总线),并用PUSH增加它(然后将输入保存到TOS [栈顶​​]变量)。

如果你需要更多我可以告诉你更多...