哈工大数字电子技术大作业“状态机”

哈工大数字电子技术大作业“状态机”

ID:2544434

大小:2.69 MB

页数:0页

时间:2017-11-16

哈工大数字电子技术大作业“状态机”_第页
预览图正在加载中,预计需要20秒,请耐心等待
资源描述:

《哈工大数字电子技术大作业“状态机”》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、状态检测机设计电气六班刘悦HarbinInstituteofTechnology基于VerilogHDL语言的状态检测机设计0906106班刘悦1093710508联系方式:http://sz.user.qzone.qq.com/1953782418/infocenter?msg_id=4428812状态检测机设计电气六班刘悦设计要求设计一个基于VerilogHDL语言的状态检测机,其可以对输入的一串二进制数进行检测,用于检测序列中连续3个或3个以上的1。当检测到3个或3个以上的1时机器输出1,否则输出0。其状态转换图和状态转化表如下:图1状

2、态检测机状态转换图要求编写设计源程序,并生成仿真电路图和状态转换表,最后通过仿真实验验证设计的可靠性并给出仿真波形图。表格1状态检测机状态转换表现态A现态B输入x次态A次态B输出y00000000101001000001110010000012状态检测机设计电气六班刘悦101110110001111111设计思路根据要求中给出的状态检测机的状态转换图,可以确定这个问题最基本的做法是选用Moore型状态机,即输出是当前状态的函数。但是,也可以用Mealy型状态机来达到设计要求,进而将两种方案对比分析,加深对知识的理解。Moore型状态机1.1V

3、erilogHDL语言描述modulechange(clk,din,op);//Moore型状态机inputclk,din;outputop;reg[1:0]current_state,next_state;regop;parameterS0=2'b00,S1=2'b01,S2=2'b10,S3=2'b11;always@(posedgeclk)begincurrent_state<=next_state;endalways@(current_stateordin)begincase(current_state)S0:beginop=0;if

4、(din==0)next_state=S0;elsenext_state=S1;endS1:beginop=0;if(din==0)12状态检测机设计电气六班刘悦next_state=S0;elsenext_state=S2;endS2:beginop=0;if(din==0)next_state=S0;elsenext_state=S3;endS3:beginop=1;if(din==0)next_state=S0;elsenext_state=S3;enddefault:beginop=0;next_state=S0;endendcase

5、endendmodule1.2程序说明Clk为时钟,din为输入信号,op为输出信号,current_state为当前状态,next_state为下一个状态。程序中"parameterS0=2'b00,S1=2'b01,S2=2'b10,S3=2'b11;"声明了S0,S1,S2和S3分别为一个二进制数00、01、10和11.第一个always进程完成在时钟脉冲信号clk上升(或下降)沿到来时,当前状态(current_state)向新状态(next_state)转换的功能,这个模块是同步时序逻辑。12状态检测机设计电气六班刘悦第二个alwa

6、ys进程负责感应输入(din)值和目前状态(current_state)值,有case语句决定输出(op)值和下个状态(next_state)值。这个模块实现的是状态转换的条件,通过组合逻辑电路来实现。1.3仿真结果图2Moore型状态机的仿真波形图图3Moore型状态机的RTLViewer图2为Moore型状态机的仿真波形图,图3为Moore型状态机的RTLViewer,图4为Moore型状态机的仿真状态转换图,图5为Moore型状态机的仿真电路图。当状态为S0时,din为1,则下一个时钟上升沿到达时,状态变为S1,输出op为0;以此类推,

7、实现状态转换图图1的功能。图4Moore型状态机的仿真状态转换图12状态检测机设计电气六班刘悦图5Moore型状态机的仿真电路图Mealy型状态机2.1VerilogHDL语言描述modulechange1(clk,din,op,state);//Mealy型状态机inputclk,din;outputop;output[1:0]state;reg[1:0]current_state,next_state;regop;parameterS0=2'b00,S1=2'b01,S2=2'b10,S3=2'b11;assignstate=curren

8、t_state;always@(posedgeclk)begincurrent_state<=next_state;endalways@(current_state

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

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

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