原创 学习状态机的总结

2011-9-12 09:29 2517 5 5 分类: FPGA/CPLD

学习状态机的总结

       ="FONT-FAMILY: 宋体; FONT-SIZE: 12pt">近日又开始恢复自己的FPGA学习计划。之前由于一个比赛停了几天,比赛完了后又抓紧时间继续FPGA的学习。这两天也学了一些新知识,拿出来与大家分享。

       我在写状态机的时候,发现了一些开始看似很简单,也很容易被自己忽视的问题,但自己却常常在这上面犯错误,今天将他们都捡起来,以后势必会经常看看。

1.      当我们需要产生开始、结束信号时,需要先将信号线拉低或拉高。然后再拉高或拉低。这样处理可以确保产生开始、结束信号。

2.      assign sda = link_sda ? sdabuf : 1’b0;  这种表达方便我们操作总线。

3.      如果对于某个模块,输入的是sclk,输出的是scl,而后面我们检测scl的状态,那么一般应使sclk的频率高于scl,以便我们可以通过posedge sclk实时检测到scl的状态。【这条非常有用,或许比较难懂】

4.      之前的第一条说到开始、结束信号的产生,这里我们再说一下如何检测到开始、结束信号。其实,方法也非常地简单,就是根据波形图,当输入的波形符合要求时,就置位标志位。【注意及时清零,这也是非常重要的一条,会给写程序带来极大地方便。】

如果,大家要看具体的例子的话,可以参考夏宇闻编著的《Verilog数字系统设计教程》第15章例【15.2】。

文章评论0条评论)

登录后参与讨论
我要评论
0
5
关闭 站长推荐上一条 /2 下一条