VHDL圖靈是否完整?我的理解是,VHDL創建一個註冊機器,並且註冊機器 - 沒有任意RAM - 不是圖靈完整的。VHDL圖靈是否完整?
這是準確的嗎?對於註冊機器無法解決的問題,是否有標準方法 - 例如在VHDL之外使用RAM,並通過VHDL進行管理?
VHDL圖靈是否完整?我的理解是,VHDL創建一個註冊機器,並且註冊機器 - 沒有任意RAM - 不是圖靈完整的。VHDL圖靈是否完整?
這是準確的嗎?對於註冊機器無法解決的問題,是否有標準方法 - 例如在VHDL之外使用RAM,並通過VHDL進行管理?
主要有3 criteria for Turing Completeness:
對內存的要求是不在於它是無限的(這是不可能有現代化的技術,所有的語言會失敗),但它是無界的,或無限可擴展:即。如果用完了,可以添加更多並重試。
所以是的,我認爲VHDL肯定有資格。它可以做所有這些事情。
你能給出一個代碼示例顯示VHDL中的遞歸嗎? – SRobertJames 2014-10-30 21:26:57
我找到了[一個有示例的線程](https://groups.google.com/d/topic/comp.lang.vhdl/6iriCKNutv8/discussion)。 – 2014-10-31 05:01:14
@SRobertJames:狀態機可以非常容易地呈現遞歸,我不認爲有人會認爲我們不能用VHDL構建狀態機。 – 2014-10-31 13:39:25
另一種方式展現圖靈完全是變革鏈:
所以VHDL是圖靈完備。
你當然可以在VHDL中實現RAM,作爲開始。對於綜合來說,大多數FPGA將把你的RAM映射到專用存儲器模塊。它可能不是最便宜的記憶形式,但這是一個經濟論證,而不是根本的。 – 2014-10-30 10:58:55
VHDL具有動態內存分配,因此它與任何其他系統編程語言一樣完整。 – 2014-10-30 15:38:27