用verilog语言设计四位简单计算器

上传人:飞****9 文档编号:139682569 上传时间:2020-07-23 格式:DOC 页数:4 大小:73KB
返回 下载 相关 举报
用verilog语言设计四位简单计算器_第1页
第1页 / 共4页
用verilog语言设计四位简单计算器_第2页
第2页 / 共4页
用verilog语言设计四位简单计算器_第3页
第3页 / 共4页
用verilog语言设计四位简单计算器_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《用verilog语言设计四位简单计算器》由会员分享,可在线阅读,更多相关《用verilog语言设计四位简单计算器(4页珍藏版)》请在金锄头文库上搜索。

1、module jsq(clk,keyin,keyout,leda,ledb,num3);inputclk;input3:0keyin;output3:0keyout;reg3:0keyout;output3:0leda;reg3:0leda;output3:0ledb;reg3:0ledb;integer clk_klv;output31:0num3;always (posedge clk)/分频clk_klv=clk_klv+1;reg1:0keyhang=0;/按键扫描reg3:0keynum=0;/最近按键的值regkeyen=0;/按键锁定作用,每次都必须重新按下才有效regkeysi

2、gn=0;/当前按键的属性,0代表数字,1代表 +-*/=复位reg7:0delay=0;/按键消抖regorder2=0;/作用:延迟一个时钟,keyen跳变输出,确保keynum被赋值always (posedge clk_klv10)beginif(order2=0)begincase(keyhang,keyin)6b00_1110: begin delay=0;if(keyen=0)begin keysign=0;keynum=4h0;order2=1;end end6b00_1101: begin delay=0;if(keyen=0)begin keysign=0;keynum=4

3、h1;order2=1;end end6b00_1011: begin delay=0;if(keyen=0)begin keysign=0;keynum=4h2;order2=1;end end6b00_0111: begin delay=0;if(keyen=0)begin keysign=0;keynum=4h3;order2=1;end end6b01_1110: begin delay=0;if(keyen=0)begin keysign=0;keynum=4h4;order2=1;end end6b01_1101: begin delay=0;if(keyen=0)begin ke

4、ysign=0;keynum=4h5;order2=1;end end6b01_1011: begin delay=0;if(keyen=0)begin keysign=0;keynum=4h6;order2=1;end end6b01_0111: begin delay=0;if(keyen=0)begin keysign=0;keynum=4h7;order2=1;end end6b10_1110: begin delay=0;if(keyen=0)begin keysign=0;keynum=4h8;order2=1;end end6b10_1101: begin delay=0;if(

5、keyen=0)begin keysign=0;keynum=4h9;order2=1;end end6b10_1011: begin delay=0;if(keyen=0)begin keysign=1;keynum=4ha;order2=1;end end6b10_0111: begin delay=0;if(keyen=0)begin keysign=1;keynum=4hb;order2=1;end end6b11_1110: begin delay=0;if(keyen=0)begin keysign=1;keynum=4hc;order2=1;end end6b11_1101: b

6、egin delay=0;if(keyen=0)begin keysign=1;keynum=4hd;order2=1;end end6b11_1011: begin delay=0;if(keyen=0)begin keysign=1;keynum=4he;order2=1;end end6b11_0111: begin delay=0;if(keyen=0)begin keysign=1;keynum=4hf;order2=1;end enddefault: begin keyhang=keyhang+1;delay=delay+1;if(delay=100)keyen=0;endendc

7、asecase(keyhang)0:keyout=4b1110;1:keyout=4b1101;2:keyout=4b1011;3:keyout=4b0111;endcaseendelsebegin keyen=1;order2=0;endendreg 2:0order=0;/当前状态integernum1=0,num2=0,num3=0;/第一个,第二个,结果reg 3:0sign;/+-*/reg7:0lednum=100;/显示的数字reg3:0in_num=0;/限制显示的数字位,限制在2为:099always (posedge keyen)begincase(order)0:if(k

8、eysign)begin sign3:0=keynum3:0;order=order+1;in_num=0;end/在没有按下+-*/之前会存储数字else if(num110000)begin num1=num1*10+keynum;lednum=num1; in_num=in_num+1;end1:if(keysign)begin case(sign)/在没有按下=号之前会存储数字4ha:num3=num1+num2;4hb:num3=num1-num2;4hc:num3=num1*num2;4hd:num3=num1/num2;endcaselednum=num3+0;order=order+1;end else if(num210000)begin num2=num2*10;num2=num2+keynum;lednum=num2;in_num=in_num+1;endendcaseif(keynum=4hf)begin order=0;num1=0;num2=0;num3=0;lednum=100;end/复位endalways (*)/显示函数if(lednum=99)beginleda=lednum/10;ledb=lednum%10;endelsebeginleda=15;ledb=15;endendmodule

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 管理论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号