Verilog状态机设计技术.ppt

Verilog状态机设计技术.ppt

ID:58389236

大小:1.25 MB

页数:69页

时间:2020-09-07

Verilog状态机设计技术.ppt_第1页
Verilog状态机设计技术.ppt_第2页
Verilog状态机设计技术.ppt_第3页
Verilog状态机设计技术.ppt_第4页
Verilog状态机设计技术.ppt_第5页
资源描述:

《Verilog状态机设计技术.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、EDA技术与应用第10章Verilog状态机设计技术EDA技术与应用§10.1Verilog状态机的一般形式广义而论,只要涉及触发器的电路,无论电路大小,都能归结为状态机。有限状态机用来实现一个数字电路的控制部分。与CPU的功能类似,综合了时序逻辑和组合逻辑电路。CPU是通过操作指令和硬件操作单元来实现控制功能,而有限状态机是通过状态转移来实现控制功能。综合器能从不同表述形态的HDL代码中轻易萃取出状态机,并加以多侧面、多目标和多种形式的优化。EDA技术与应用§10.1.1状态机的特点与优势面对同一个设计项目的不同形式的逻辑设计方案中,利用有限状态机的设计方案来

2、描述和实现将可能是最佳选择。有限状态机的优越性:(1)高效的顺序控制模型(2)容易利用现成的EDA工具进行优化设计(3)性能稳定(4)高速性能(5)高可靠性能EDA技术与应用§10.1.2状态机的一般结构用Verilog设计的状态机根据不同的分类标准可以分为多种不同形式:从状态机的信号输出方式上分:Mealy型和Moore型状态机从状态机的结构描述上分:单过程状态机和多过程状态机从状态表达方式上分:符号化状态机和确定状态编码的状态机从状态机编码方式上分:顺序编码、一位热编码或其他编码方式状态机最一般和最常用的状态机结构中通常包含了说明部分、主控时序过程、主控组合

3、过程、辅助过程等几个部分EDA技术与应用说明部分中包含状态转换变量的定义和所有可能状态的说明,必要时还要确定每一状态的编码形式,最好是纯抽象的符号化状态机,即所定义的状态序列和状态转换变量都不涉及具体的数值、编码,甚至数据类型或变量类型。1、状态机说明部分parameter[2:0]s0=0,s1=1,s2=2,s3=3,s4=4;reg[2:0]current_state,next_state;状态元素s0、s1等用关键词parameter来定义,各状态元素所取得数值或编码必须写出具体值。parameter旁的位宽说明可写可不写current_state是现态

4、变量和next_state是次态变量EDA技术与应用2005版本的SystemVerilog1、状态机说明部分typedefenum{s0,s1,s2,s3,s4}type_user;type_usercurrent_state,next_state;typedef是用户数据类型自定义语句关键词enum是定义枚举类型关键词type_user是用户定义状态元素s0、s1、s2、s3、s4为type_user类型的标识符第二句将状态变量current_state、next_state定义为type_user类型EDA技术与应用2、主控时序过程主控时序过程指负责状态机

5、运转和在时钟驱动下负责状态转换的过程。状态机是随外部时钟信号,以同步时序方式工作的,状态机中必须包含一个对工作时钟敏感的过程,状态机向下一状态转换的实现仅取决于时钟信号的到来。当时钟的有效跳变到来时,时序过程只是机械地将代表次态的信号next_state中的内容送入现态的信号current_state中,而信号next_state中的内容完全由其他过程根据实际情况来决定。此时序过程中也可放置一些同步或异步清0或置位方面的控制信号。EDA技术与应用3、主控组合过程主控组合过程根据当前状态和外部的信号发出控制信号,同时确定下一状态的走向。在时钟的作用下,REG时序过

6、程将次态信号的内容next_state传递给现态信号current_stateCOM组合过程通过信号current_state中的状态值,进入相应的状态;在此状态中根据外部的信号(如state_inputs)向内或向外发出控制信号(如com_outputs);同时根据外部信号(如state_inputs)向次态信号next_state中赋相应的状态值,确定下一状态的走向;此状态值通过next_state传给REG时序过程,直到下一个时钟脉冲的到来。EDA技术与应用4、辅助过程辅助过程用于配合状态机工作的组合过程或时序过程。例如为了完成某种算法的过程,或为了存储数

7、据的存储过程,或用于配合状态机工作的其他时序过程等。例10-1moduleFSM_EXP(clk,reset,state_inputs,comb_outputs);inputclk;//状态机工作时钟inputreset;//状态机复位控制input[0:1]state_inputs;//来自外部的状态机控制信号output[3:0]comb_outputs;//状态机对外部发出的控制信号输出reg[3:0]comb_outputs;parameters0=0,s1=1,s2=2,s3=3,s4=4;//定义状态参数reg[4:0]c_st,next_state

8、;//定义现态和次态的状

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。