- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数电实验二:简易计算器(设计报告)
数电实验2设计报告实验名称:简易计算器实验目的:1.熟练掌握综合逻辑电路的设计方法及调试方法2.掌握Verilog HDL数字系统设计方法3.熟悉PLD实验箱的结构和使用及QuartusII软件的基本操作4.掌握采用Quartus II软件和实验箱设计实现逻辑电路的基本过程设计任务及要求:利用LPM例化元件和适当的中小规模时序、组合逻辑电路设计一个4位简易计算器,实现2个4位二进制数的加、减、乘、除运算,完成主要模块的波形仿真,并将设计下载到实验箱进行功能测试。要求:用8个开关分别作为2个4位输入数据运算结果用数码管显示 电路设计过程:设定加、减、乘、除四个LPM例化元件 加法器:2个四位二进制输入(加数、被加数),1个4位二进制输出(和) 减法器:2个四位二进制输入(减数、被减数),1个4位二进制输出(差) 乘法器:2个四位二进制输入(乘数、被乘数),1个8位二进制输出(积) 除法器:2个四位二进制输入(除数、被除数),2个4位二进制输出(分别代表商和余数)加入组合逻辑电路和4选一数据选择器,控制进行运算的种类(1)组合逻辑电路输入:功能: 为了利用矩阵键盘对计算器对输入数字的加减乘除进行控制,我们画了这个组合逻辑电路,将矩阵键盘的行管脚和列管脚分别为输入后,当(1,1)位置的按键按下,则输出端输出2位2进制数11(控制减法操作),当(2,2)位置的按键按下,则输出端输出2位2进制数10(控制加法操作),当(3,3)位置的按键按下,则输出端输出2位2进制数01(控制乘法操作),当所有按键都没有按下时,输出默认为00,即控制除法操作。(2)4选一数据选择器功能 X1,y1为想要计算的两个4位2进制数,当S0,S1为11的时候,将X1,y1送入减法器输入端,当S0,S1为10的时候,将X1,y1送入加法器输入端,当S0,S1为01的时候,将X1,y1送入乘法器输入端,当S0,S1为00的时候,将X1,y1送入除法器输入端。此时未被选中其他LPM模块输入为零。 else if(s1) begin mul1=x; mul2=y; sub1=0; sub2=0; add1=0; add2=0; div1=0; div2=0; end else begin div1=x; div2=y; sub1=0; sub2=0; mul1=0; mul2=0; add1=0; add2=0; endendmodule数据选择器程序:Module mux_4 (x,y,s0,s1,sub1,sub2,add1,add2,mul1,mul2,div1,div2);input[3:0] x,y;input s0,s1;output[3:0] sub1,sub2,add1,add2,mul1,mul2,div1,div2;reg[3:0] sub1,sub2,add1,add2,mul1,mul2,div1,div2;always @(x,y,s0,s1) if(s0) if(s1) begin sub1=x; sub2=y; add1=0; add2=0; mul1=0; mul2=0; div1=0; div2=0; end else begin add1=x; add2=y; sub1=0; sub2=0; mul1=0; mul2=0; div1=0; div2=0; end3、在每个例化元件的输出结果后加上数码管编码和扫描,将结果译码为数码管显示的段位,并产生两个位选信号(1)数码管译码器功能:将输入的4位2进制计算结果编译成数码管十进制显示的段位。 4b0111: LED7S = 7b0000111 ; 4b1000: LED7S = 7b1111111 ; 4b1001: LED7S = 7b1101111 ; 4b1010: LED7S = 7b1110111 ; 4b1011: LED7S = 7b1111100 ; 4b1100: LED7S = 7b0111001 ; 4b1101: LED7S = 7b1011110 ; 4b1110: LED7S = 7b1111001 ; 4b1111: LED7S = 7b1110001 ; endcase endendmodule数码管译码器程序:module bianma (A, LED7S);input [3:0] A;output [6:0] LED7S;reg [6:0] LED7S;always @(A) begin case(A) 4b0000 : LED7S=7b0111111; 4b0001: LED7S = 7b0000110 ; 4b0010: LED7S = 7b1011011; 4b0011: LED7S = 7b1001111; 4b01
文档评论(0)