哈尔滨工业大学
数电大作业二
检测3个连续的1
院系:自动化测试与控制系 班级:1001104班 姓名:孙少华 学号:1100100422
2012/12/22
一、利用Verilog HDL设计一个电路,对输入的一串二进制数,用于检测序列中连续3个或者3个以上的1,状态转换如图所示。
二、题目设计检测连续3个或者3个以上1的状态检测程序
1、程序:
modulezhuangtai(clk,states,out); inputclk,states; output out;
reg[1:0] current_state,next_state; reg out;
parameter S0=2'B00,S1=2'B01,S2=2'B10,S3=2'B11; always @ (posedgeclk) begin
current_state<=next_state; end
always @ (current_state or states) begin
case(current_state)
S0:begin out=0;
if(states==0) next_state=S0; else
next_state=S1; end S1:begin out=0;
if(states==0)
next_state=S0; else
next_state=S2; end S2:begin out=0;
if(states==0) next_state=S0; else
next_state=S3; end S3:begin out=1;
if(states==0) next_state=S0; else
next_state=S3; end
default:begin out=0;
next_state=S0; end endcase end
endmodule 2、状态转换图:
S0resetS1S2S3 3、电路图:
current_stateclkstatesclkstatesS3out 4、波形图:
5、局部放大图
6、心得体会
通过这两个大作业的练习,一方面熟悉了Quartus 软件的应用,如何建立工程,仿真,输出仿真电路,仿真波形;另一方面,将课堂上所学的Verilog HDL语言,在工程实践中得到了应用,特别是加深了对状态机的理解。对课本上的知识也有了更深刻的理解,也让我养成了学习实践相结合的好习惯。
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- nryq.cn 版权所有 赣ICP备2024042798号-6
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务