原创 FSM的安全选项——“安全”意味着什么?

2008-1-29 14:19 5576 7 6 分类: FPGA/CPLD

    Quartus II中的Safe State Machine编译选项对FSM在FPGA中的实现方式有很大影响。 riple


    这一影响在RTL视图中不可见。 riple


    这一选项是否引入了“Booby Trap”电路?观察Technology Map视图,可以发现一些原有的寄存器合并优化不执行了,实际的寄存器个数和HDL代码中描述的个数一样了,而且增加了一些组合逻辑。“Booby Trap”电路的恢复状态是哪一个?是不是default语句指定的状态? riple


    在StateCAD工具中的Options -> Machine Attribute -> Default State选项中可以指定恢复电路的缺省状态,在生成的HDL代码中可以很容易地找到对应的“Booby Trap”电路。在Quartus II中针对这一HDL代码编译后,可以在RTL视图中找到对应的电路。 riple


    在手工编写的HDL代码中,default语句并不能产生相应的恢复电路,综合工具通常忽略这一语句,为的是简化逻辑。只有像StateCAD生成的代码中描述的恢复电路才能被综合工具有效识别。 riple


    可以得出这样的结论:Quartus II对“Booby Trap”电路的插入是隐式的,StateCAD是显式的。 riple


    “安全”的FSM意味着:1. “Booby Trap”电路的插入;2. 寄存器合并优化失效了;3. 电路的时序性能下降了;4. 在正常使用环境下,无需过多考虑FSM“跑飞”的问题,也就不需要选择“安全”选项。 riple

文章评论2条评论)

登录后参与讨论

ash_riple_768180695 2008-7-23 22:52

问得好,我对这个问题也很含混。还没有从Altera的文档中找到标准答案。可以参考下面这篇文章: http://blog.ednchina.com/Upload/Blog/2007/10/9/b9e9d3bc-8385-4f1e-9edb-69ae2587b636.pdf

用户60452 2008-7-23 21:53

Quartus II自带的综合器,如果Safe State Machine打开,综合后的“Booby Trap”电路是怎么工作的,当状态机进入到一个无效的状态以后,“Booby Trap”电路会使状态机恢复到那个状态,是复位之后的初始状态还是when others中指定的状态?
相关推荐阅读
ash_riple_768180695 2015-12-18 11:06
学习示例程序:FPGA快速系统原型设计--敏捷实践
        学习与开发板配套的示例程序,是敏捷实践的起点。示例程序是厂商针对开发板上提供的硬件资源和接口量身定做的工程,可以展示其FPGA芯片的功能和性能特点。从示例程序入手最大的好处就是:示...
ash_riple_768180695 2015-11-03 16:46
开发板选取:FPGA快速系统原型设计--敏捷实践
    既然是“实践”,就不能只谈编码和仿真,必须要上板运行、调试。这个虚拟项目的目标是实现一块兼容Intel82574L以太网控制器的千兆网卡,需要运行在一块具备PCIe接口和10/100/10...
ash_riple_768180695 2015-10-22 12:41
开篇:FPGA快速系统原型设计--敏捷实践
    虽然借用了 “系统原型开发”的标题,本系列文章将围绕FPGA IP级别的开发这个主题展开,如果可能的话,将扩展至FPGA System级别的开发。     先上一篇PPT:RSPwFP...
ash_riple_768180695 2013-08-26 10:21
学习SystemVerilog(二)——学习它的理由
    学习SystemVerilog的理由也很多,我在阅读SystemVerilog for Design 和 SystemVerilog for Verification两本书前言的过程中,总...
ash_riple_768180695 2013-08-26 10:19
学习SystemVerilog(一)——不学习它的理由
    想要学习SystemVerilog已经很久了。曾经尝试通过Accellera网站上给出的LRM学习,怎奈内容众多,找不出入手点和重点,只能望而却步。虽然手头有三本SystemVerilog...
ash_riple_768180695 2011-06-26 23:20
Hardware-Assisted IEEE1588 Implementation Analysis
06/18/11 11:00:05 PM         最近一段时间在研究IEEE1588-2008精确时间同步协议(PTP)。该协议可以在软件中实现,如果需要提高时间同步...
我要评论
2
7
关闭 站长推荐上一条 /2 下一条