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