2009-02-28 140 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 [棧頂​​]變量)。

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