下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、西安邮电大学数字控制系统课程设计报告书院(系)名称:自动化学院学生姓名:自动化专业名称:自动11032014年9月1日至2014年9月12日乘法器设计一、设计要求:计时精度10ms,计时范围59.99秒。(1) 对单人计时,能实现暂停、显示及清零功能,在数码管上实时显示,设置启动/暂停、清零按键;(2) 对多个人同时计时,在数码管上实时显示,并能回显出六个时间。可控制显示,设置清零、取时按键;(3) 采用状态机设计;(4) 百分秒在数码管上实时显示,秒利用多个数码管显示BCD值。二、设计过程:1. 方案设计:1) 画状态图:按键状态输出复位: 00开始: S0清 零: z=0;启/ 停:01计
2、数:S1不清零: z=1;存/ 回显:10暂停: S2存/ 回显: S32)写程序:在一个 module 模块里,有多个 always 块; 有分频、计数、存储、输出等模块; 测试模块的输入输出与源程序的输入输出相反;2. 系统仿真:Verilog 仿真所需仿真环境: modelsim3. 管脚配置:1.四、软件设计 :源程序秒高,秒module paobiao(clk,rst,pause,save,mg,md,bg,bd);/低,百分秒高,百分秒低input clk,rst,pause,save;output reg 3:0 mg,md,bg,bd;reg 15:0 zd,zz,zg;/中间
3、变量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=2'b00,S1=2'b01,S2=2'b11;/ 分频always (posedge clk or negedge rst)begin if(!rst) count1<=0;else if(count1=200000) co
4、unt1<=0;/200000 else count1<=count1+1;end always (posedge clk ) begin if(!rst) clk1<=0;else if(count1=99999) clk1<=clk1;/99999else clk1<=clk1;end/ 总计时always (negedge clk1 or negedge rst)/clk1begin if(!rst) count2<=0;else if(state=S1) count2<=count2+1;/ else if(state=S2) count2&l
5、t;=count2;else count2<=count2;end/ 存储个数计数always (negedge rst or negedge save)begin if(!rst) count3<=0;else if (next_state=S1) count3<=count3+1;else if (next_state=S2) count3<=count3-1;else count3<=count3;end/ 毫秒低位显示结果always (negedge rst or posedge clk)begin if(!rst) bd<=0;else if(s
6、tate=S1) bd<=count2%10;else if(state=S2) begin case (count3)3'b000:bd<=reg0%10;3'b001:bd<=reg1%10;3'b010:bd<=reg2%10;3'b011:bd<=reg3%10;3'b100:bd<=reg4%10;3'b101:bd<=reg5%10;default:bd<=reg0%10;endcaseendelsebd<=bd;end/ 毫秒高位显示结果always (negedge rst o
7、r posedge clk)begin if(!rst) bg<=0;else if(state=S1) bg<=(count2/10)%10;else if(state=S2) begin case (count3)3'b000:bg<=(reg0/10)%10;3'b001:bg<=(reg1/10)%10;3'b010:bg<=(reg2/10)%10;3'b011:bg<=(reg3/10)%10;3'b100:bg<=(reg4/10)%10;3'b101:bg<=(reg5/10)%10
8、;default:bg<=(reg0/10)%10;endcaseelseend bg<=bg;end/ 秒位显示结果always (negedge rst or posedge clk)begin if(!rst) md<=0;else if(state=S1) md<=(count2/100)%10;else if(state=S2)begincase (count3)3'b000:md<=(reg0/100)%10;3'b001:md<=(reg1/100)%10;3'b010:md<=(reg2/100)%10;3
9、9;b011:md<=(reg3/100)%10;3'b100:md<=(reg4/100)%10;3'b101:md<=(reg5/100)%10;default:md<=(reg0/100)%10;endcase endelse md<=md;end/ 十秒位显示结果always (negedge rst or posedge clk)begin if(!rst) mg<=0;else if(state=S1) mg<=(count2/1000)%10;else if(state=S2)begincase (count3)3'
10、;b000:mg<=(reg0/100)%10;3'b001:mg<=(reg1/100)%10;3'b010:mg<=(reg2/100)%10;3'b011:mg<=(reg3/100)%10;3'b100:mg<=(reg4/100)%10;3'b101:mg<=(reg5/100)%10;default:mg<=(reg0/100)%10;endcaseendelse mg<=mg;endalways (negedge rst or posedge clk)/ 定义当前状态begin if(!rst
11、) state<=S0;/异步复位, S0 为初始状态else state<=next_state;end/ 状态转移always (state or pause or pause_temp )begincase (state)S0:begin if(pause=0&&pause_temp=1)next_state<=S1;else next_state<=S0;endS1:begin if(pause=0&&pause_temp=1) next_state<=S2;else next_state<=S1;endS2:begi
12、n if(pause=0&&pause_temp=1) next_state<=S1;else next_state<=S2;enddefault:next_state<=S0;endcaseend/ 存数always(negedge rst or negedge save )begin if(!rst) beginreg0<=0; reg1<=0; reg2<=0; reg3<=0;reg4<=0;reg5<=0;endelsebegin if(count3=0) reg0<=count2;else if(count
13、3=1) reg1<=count2;else if(count3=2) reg2<=count2;else if(count3=3) reg3<=count2;else if(count3=4) reg4<=count2;else if(count3=5) reg5<=count2;else begin reg0<=0;reg1<=0;reg2<=0;reg3<=0;reg4<=0;reg5<=0;endendend/ 取启停键上升沿always (posedge clk )begin if(!rst) pause_temp&l
14、t;=0;else pause_temp<=pause;end/ 取保存翻看上升沿always (posedge clk )begin if(!rst) save_temp<=0;else save_temp<=save;end endmodule 2. 测试程序module paobiao_tp;reg clk,rst,pause,save;wire3:0 mg,md,bg,bd;parameter DELY=10;paobiao u1(clk,rst,pause,save,mg,md,bg,bd);always #(DELY/2) clk=clk;initialbegin clk=0;pause=0;save=0;rst=0;#DELY rst=1;save=0;pause=0;#DELY pause=1;#DELY pause=0;#DELY save=1;endendmodule五、实验结果1. 仿真图像2. 硬件电路显示 六、个人完成工作及心得体会我们组设计的是数字跑表, 我负责画状态图和系统程序和仿真。画状态图时由于对状态机理解不到位, 画的状态图有点问题, 后来经 老师指导改正了; 我负责写仿真测试程序, 这需要对源程序的输入输
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年房地产经纪协理之房地产经纪操作实务考试题库含完整答案(夺冠系列)
- 2025年福建莆田市城厢区霞林学校初中部编外教师招聘若干人考试参考题库附答案
- 2026年教师资格之中学教育知识与能力考试题库300道及参考答案【b卷】
- 2026年初级经济师之初级建筑与房地产经济考试题库300道附答案(考试直接用)
- 2026年心理咨询师之心理咨询师基础知识考试题库附参考答案【典型题】
- 2026年资产评估师之资产评估基础考试题库500道(满分必刷)
- 一级2026年注册建筑师之设计前期与场地设计考试题库300道附完整答案【必刷】
- 2026年投资项目管理师之投资建设项目实施考试题库200道附答案【a卷】
- 2024年洞口县招教考试备考题库及答案1套
- 2026年投资项目管理师之宏观经济政策考试题库300道附答案(研优卷)
- 沃柑销售合同范本
- PS板绘课件教学课件
- 2025年居家养老助餐合同协议
- 公安车辆盘查课件
- 生产性采购管理制度(3篇)
- 协议书代还款协议书
- 数学人教版五年级上册课件练习二十四
- 高考语文复习二元思辨作文结构模式+课件42张
- GB/T 33248-2016印刷技术胶印橡皮布
- GB/T 18487.1-2015电动汽车传导充电系统第1部分:通用要求
- 高三期末考试心态调整和考试技巧指导课件
评论
0/150
提交评论