用verilog语言设计四位简单计算器(共4页).doc

上传人:飞****2 文档编号:13564872 上传时间:2022-04-30 格式:DOC 页数:4 大小:74KB
返回 下载 相关 举报
用verilog语言设计四位简单计算器(共4页).doc_第1页
第1页 / 共4页
用verilog语言设计四位简单计算器(共4页).doc_第2页
第2页 / 共4页
点击查看更多>>
资源描述

《用verilog语言设计四位简单计算器(共4页).doc》由会员分享,可在线阅读,更多相关《用verilog语言设计四位简单计算器(共4页).doc(4页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

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;/按键锁定作用,每次都必须重新

2、按下才有效regkeysign=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 keysi

3、gn=0;keynum=4h1;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(key

4、en=0)begin keysign=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: begi

5、n delay=0;if(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 en

6、d6b11_1101: begin 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)ke

7、yen=0;endendcasecase(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

8、(order)0:if(keysign)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专心-专注-专业

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

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁