FSM(fsm三段式状态转移)

小学三年级英语上册教案-股票

2021年6月23日发(作者:793)


两段式状态机描述方法
(2010-09-17 16:04:06)
转载
1 状态机描述方法
状态机描述时关键是要描述清楚几个状态机的要素,即如何进行状态转移,每个
状态的输出是什么,状态转移的条件等。

具体描述时方法各种各样,最常见的有
三种描述方式:
1、一段式:整个状态机写到一个always模块里面,在该模块中既描述状态转移,
又描述状态的输入和输出;
2、二段式:用两个always模块来描述状态机,其中一个always模块采用同步
时序描述状态转移;另一个模块采用组合逻辑判断状态转移条件,描述状态转移
规律以及输出;
3、三段式:在两个always模块描述方法基础上,使用三个always模块,一个
always模块采用同步时序描述状态转移,一个always采用组合逻辑判断状态转
移条件,描述状态转移规律,另一个always模块描述状态输出(可以用组合电路
输出,也可以时序电路输出)。


一般而言,推荐的FSM 描述方法是后两种。

这是因为:FSM和其他设计一样,最
好使用同步时序方式设计,以提高设计的稳定性,消除毛刺。

状态机实现后,一
般来说,状态转移部分是同步时序电路而状态的转移条件的判断是组合逻辑。


第二种描述方法同第一种描述方法相比,将同步时序和组合逻辑分别放到不同的
always模块中实现,这样做的好处不仅仅是便于阅读、理解、维护,更重要的
是利于综合器优化代码,利于用户添加合适的时序约束条件,利于布局布线器实
现设计。

在第二种方式的描述中,描述当前状态的输出用组合逻辑实现,组合逻
辑很容易产生毛刺,而且不利于约束,不利于综合器和布局布线器实现高性能的
设计。


第三种描述方式与第二种相比,关键在于根据状态转移规律,在上一状态根据输
入条件判断出当前状态的输出,从而在不插入额外时钟节拍的前提下,实现了寄
存器输出。


2实例
为了使FSM 描述清晰简介,易于维护,易于附加时序约束,使综合器和布局布
线器更好的优化设计,推荐使用两段式FSM 描述方法。


本例的两段式描述代码如下:
2-paragraph method to describe FSM
Describe sequential state transition in 1 sequential always block
State transition conditions in the other combinational always block
Package state output by task. Then register the output
module state2 ( nrst,clk,
i1,i2,
o1,o2,
err
);
input nrst,clk;
input i1,i2;
output o1,o2,err;
reg o1,o2,err;
reg [2:0] NS,CS;
parameter [2:0] one hot with zero idle
IDLE = 3'b000,
S1 = 3’b001,
S2 = 3’b010,
ERROR = 3’b100;
sequential state transition
always @ (posedge clk or negedge nrst)
if (!nrst)


CS <= IDLE;
else
CS <=NS;
combinational condition judgment
always @ (CS or i1 or i2)
begin
NS = 3'bx;
ERROR_out;
case (CS)
IDLE: begin
IDLE_out;
if (~i1) NS = IDLE;
if (i1 && i2) NS = S1;
if (i1 && ~i2) NS = ERROR;
end
S1: begin
S1_out;
if (~i2) NS = S1;
if (i2 && i1) NS = S2;
if (i2 && (~i1)) NS = ERROR;
end
S2: begin
S2_out;

浏阳河2008歌词-奇信股份


护卫员-恒大地产股票


银行储蓄存款-股市行情大盘


四年级上册英语pep-基金定投是怎么回事


应急预案操作手册-国美股票


南方航空-


开心鬼2电影-全通教育


易燃易爆物品管理制度-民生控股


更多推荐
50etf分红,中粮工科,大连国际股吧,600496股吧,广汽集团a股,002310,002630,600455,300414,天通股份股吧,木林森股份,鞍钢股份吧,000737,002450,吉贝尔,600290股吧,亿能科技,300537,新朋股份股票,广汇股份股吧,300669,常铝股份股票,光大量化,欧盟宣布制裁伊朗,六大稀土集团,神马股份股票,300141股票,600395股票,100056基金净值,山东虎子的博客,德业股份,南京高科股吧,东方财富网官方网,康斯特,600319,600731湖南海利,邱衍汉,519994,国电南瑞股吧,002190股吧,soon,东方博客,江淮动力股吧,中海集运股吧,超级材料,中国宝安,煤焦,债券投资指南,天珑移动,杨欣,st北生股吧,000962股吧,
发布时间:2021-06-23 10:45:22
本文来自网络的,不代表本站立场,转载请注明出处: https://www.hnkaiping.cn/hnka/642989.html

作者: admin

股票市场吧|今天股票行情|股票时间

发表评论

9条评论

  1. 二段式:用两个always模块来描述状态机

  2. 更重要的是利于综合器优化代码

  3. 具体描述时方法各种各样

  4. 这样做的好处不仅仅是便于阅读

  5. 一段式:整个状态机写到一个always模块里面

  6. 本例的两段式描述代码如下: 2-paragraph method to describe FSM Describe sequential state transition in 1 sequential always block State transition conditions in the other combinational always block Package state output by task. Then register the output module state2 ( nrst