ImageVerifierCode 换一换
格式:DOCX , 页数:12 ,大小:257.23KB ,
资源ID:3725685      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-3725685.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(简易数字跑表设计Word文档下载推荐.docx)为本站会员(b****1)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

简易数字跑表设计Word文档下载推荐.docx

1、 1)画状态图: 按键 状态 输出 复位:00 开始:S0 清 零:z=0; 启/停:01 计数:S1 不清零:z=1; 存/回显:10 暂停:S2S32)写程序: 在一个module模块里,有多个always块;有分频、计数、存储、输出等模块;测试模块的输入输出与源程序的输入输出相反;2.系统仿真: Verilog仿真所需仿真环境:modelsim 3.管脚配置: 1.4、软件设计:源程序 module paobiao(clk,rst,pause,save,mg,md,bg,bd);/秒高,秒低,百分秒高,百分秒低 input clk,rst,pause,save; output reg 3

2、:0 mg,md,bg,bd;reg 15:0 zd,zz,zg;/中间变量reg 17:0 count1;reg clk1;/100msreg pause_temp,save_temp;/取上升沿reg 13:0 count2,reg0,reg1,reg2,reg3,reg4,reg5;reg 2:0 count3;/reg 1:0 state,next_state;reg cn1;parameter S0=2b00,S1=2b01,S2=2b11;/分频always (posedge clk or negedge rst) begin if(!rst) count1=0; else if(

3、count1=200000) count1/200000 else count1=count1+1; end always (posedge clk )rst) clk1else if(count1=99999) clk1=clk1;/99999else clk1=clk1;end/总计时always (negedge clk1 or negedge rst)/clk1rst) count2 else if(state=S1) count2=count2+1; / else if(state=S2) count2=count2; else count2 end/存储个数计数always (ne

4、gedge rst or negedge save)rst) count3 else if (next_state=S1) count3=count3+1; else if (next_state=S2) count3=count3-1; else count3=count3; /毫秒低位显示结果 always (negedge rst or posedge clk) begin if(!rst) bd else if(state=S1) bd=count2%10; else if(state=S2) begin case (count3) 3b000: bd=reg0%10;b001:=re

5、g1%10;b010:=reg2%10;b011:=reg3%10;b100:=reg4%10;b101:=reg5%10; default: endcase else bd=bd;/毫秒高位显示结果 rst) bg else if(state=S1) bg=(count2/10)%10; bg=(reg0/10)%10;=(reg1/10)%10;=(reg2/10)%10;=(reg3/10)%10;=(reg4/10)%10;=(reg5/10)%10; else bg=bg; /秒位显示结果 rst) md else if(state=S1) md=(count2/100)%10; e

6、lse if(state=S2) begin case (count3) md=(reg0/100)%10;=(reg1/100)%10;=(reg2/100)%10;=(reg3/100)%10;=(reg4/100)%10;=(reg5/100)%10;endcase else md=md;end /十秒位显示结果 rst) mg else if(state=S1) mg=(count2/1000)%10; begin mg else mg=mg;always (negedge rst or posedge clk)/定义当前状态rst) state=S0;/异步复位,S0为初始状态 el

7、se state=next_state; /状态转移always (state or pause or pause_temp ) case (state) S0:begin if(pause=0&pause_temp=1) next_state=S1; else next_state S1:=S2; S2:next_state/存数always(negedge rst or negedge save )rst) begin reg0 reg1 reg2 reg3 reg4reg5 else begin if(count3=0) reg0 else if(count3=1) reg1 else

8、if(count3=2) reg2 else if(count3=3) reg3 else if(count3=4) reg4 else if(count3=5) reg5 else begin reg0reg1reg2reg4 /取启停键上升沿rst) pause_temp else pause_temp=pause; /取保存翻看上升沿 rst) save_temp else save_temp=save;endmodule 2.测试程序module paobiao_tp;reg clk,rst,pause,save;wire3:parameter DELY=10;paobiao u1(c

9、lk,rst,pause,save,mg,md,bg,bd);always #(DELY/2) clk=clk;initial begin clk=0;pause=0;save=0;rst=0; #DELY rst=1; #DELY pause=1; #DELY pause=0; #DELY save=1;endmodule五、实验结果1. 仿真图像2.硬件电路显示六、个人完成工作及心得体会 我们组设计的是数字跑表,我负责画状态图和系统程序和仿真。画状态图时由于对状态机理解不到位,画的状态图有点问题,后来经老师指导改正了;我负责写仿真测试程序,这需要对源程序的输入输出很清晰,对其暂停、启停、存储、回显的掌握;再就是系统仿真,先在modelsim 上仿真,出来波形后再在开发板上仿真,刚开始程序分频、计数输出都有问题,后来逐项排除错误代码,仿真才出来。 课设过程中,我学到了很多关于Verilog的知识,比如写程序要注意的分频、计数、输入输出等问题,仿真时要注意时间长短的选择、进制间的转换等等,还有最后往开发板下载程序时注意的问题等。认识比较深刻的是:一个小组,只有相互帮助、团结努力,才能很好地完成任务。

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2