. 状态编码
状态分配、状态编码:
将一个码值分配给机器各个状态的任务。
状态编码决定了用以保持状态所需的触发
器的数量,并且影响着实现状态机下一状态和
输出逻辑的复杂度。
一个有N种状态的状态机将至少需要logN
个触发器来存储状态编码。
手动分配状态编码的原则:
、如果对于某个给定的输入,两个状态会跳转到
相同的下一状态,则给它们分配相邻的码值。
、对相邻的状态分配相邻的码值。
、对于某个给定的输入具有相同输出的状态,分
配相邻的码值。
以上原则可简化实现输出和下一状态功能的组合逻辑电路。
常见状态分配编码
#
Binary
One-Hot
Gray
Johnson
Binary码:
使用最少数量的触发器,译码逻辑较复杂。
Gray码:
与Binary位数相同,其特点是两个相邻的码值仅变化一位,使用时可减少电路中的电噪声。
Johnson码:
特点同Gray码。但使用位数较多。
Gray码和Johnson码的优点是不会产生中间过渡状态。
One-Hot(独热)码、One-Cold(独冷)码:
每个状态只有一个触发器有效;
下一状态及输出译码逻辑简单;
one-hot机有更快的速度;
状态的增减修改方便;
用较少的位完成状态转移,比二进制编
码更可靠。
. 隐式状态机、寄存器及
计数器的综合
状态机分为:
显式状态机(FSM)、
隐式状态机
.. 隐式状态机
隐式状态机:
不能用明确的寄存器变量(reg)来表示状
态机的状态值,而是由周期性(always…)
行为中动作的进程来隐性定义其状态。
任何一个在每个时钟周期中具有相同动作
流的时序机都是一个单周期隐式状态机,可用
一个状态来描述其动作。
always @ (posedge clk)
begin
reg_a<=reg_b; //第一个周期执行
reg_c<=reg_d;
@ (posedge clk)
begin
reg_g<=reg_f; //第二个周期执行
reg_m<=reg_r;
end
end
隐式状态机可以内嵌多个时钟同步的事件控制表达式,多个事件控制表达式将行为动作分派到机器的不同时钟周期。
.. 计数器综合
例. 位行波计数器
eh质量流量计培训资料 来自淘豆网www.taodocs.com转载请标明出处.