riple

Stay Hungry, Stay Foolish.

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

QuartusII中的SafeStateMachine编译选项对FSM在FPGA中的实现方式有很大影响。这一影响在RTL视图中不可见。这一选项是否引入了“BoobyTrap”电路?观察TechnologyMap视图,可以发现一些原有的寄存器合并优化不执行了,实

FSM的状态编码——还是托付给综合工具吧

在QuartusII的AssignmentEditor里可以指定任意一个FSM的状态编码方式;在编译报告里可以看到FSM的最终状态编码。即使选用User-Encoded的方式,也有可能状态寄存器的个别位的逻辑会发生翻转。QuartusII可以通过复位信号识别IDLE状态,并且针对这一状态

FSM的时序优化——输入逻辑预计算和流水化

1.跨时钟域同步。对于FPGA的异步输入信号,这是必须的,对于FSM更是如此。因为没有跨时钟域信号的前级驱动时钟特性信息,所以需要在同步器前设置时序约束:false_path。2.复杂组合逻辑寄存。增加的一级寄存器会引入一个周期的延时,需要在设计中通过“预计算&rdquo

FSM的最佳描述——输出同步的Mealy型状态机

在上一篇关于FSM的blog中,我分析了状态机输出同步对状态机运行性能的影响——结论是,输出同步可以带来运行性能的提升。这一结论是通过分析一个简单的Mealy型FSM得到的。该结论是否也适用于Moore型状态机呢?对于Moore型状态机,输出同步

FSM的时序优化——输出逻辑同步和响应速度

一、“x段式”描述的由来。考虑了时序优化的FSM的描述由两部分组成:状态寄存器及其更新逻辑和输出寄存器及其更新逻辑。如果把寄存器和更新逻辑分开描述,一个FSM可以最多采用四段代码进行描述:状态寄存器现态赋值(时序逻辑)状态寄存器

StateCAD——简介和使用心得

什么是StateCAD?StateCAD是XilinxISE中集成的一款FSM状态图输入和验证工具。StateCAD原本是VisualSoftwareSolutions公司的主打产品,1994年底发布了2.0版本,那时还不支持VerilogHDL。Xilinx最初(2000.8)通过EDAALLianceSTARter项目在FoundationISE版本和WebPACKISE

FSM的几种“口味”

FSM是什么?FSM就是Finite(有限)State(状态)机(Machine)的缩写。(之所以中英文混写,是为了强调学懂FSM的原理是根本,刻意去采用“几段式”的写法并不重要)FSM的“口味”,说的是FSM的种类和编辑方式,以及由此带来的不