您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > EDA大作业_Quartus-II_简易计算器_实验报告
实验报告——简易计算器目录:一、实验目的.................................................................................................................................1二、实验任务.................................................................................................................................1三、电路设计及仿真.....................................................................................................................21.结构设计图示如下:.........................................................................................................22.设计描述.............................................................................................................................23.一位全加器:.....................................................................................................................24.四位全加器:.....................................................................................................................25.补码器.................................................................................................................................36.四位加减器.........................................................................................................................47.八位全加器.........................................................................................................................58.乘法器.................................................................................................................................59.整体电路:.........................................................................................................................6四、实验总结.................................................................................................................................71.实验收获:.........................................................................................................................82.实验中出现的问题及解决:.............................................................................................8一、实验目的1.学习面向可编程器件(FPGA)的简单数字系统的设计流程。2.熟练掌握EDA设计软件QuartusII的原理图输入方式和层次化设计模式。3.熟悉实验装置——实验箱。二、实验任务1.设计1位全加器,并将其封装成1位全加器模块,仿真验证运算结果;2.设计4位加/减运算器。用封装好的1位全加器模块组成成4位加/减运算器。仿真验证运算结果;3.以全加器为基础设计一个4位乘法器并封装成乘法器模块,输出显示乘积和正负数标志。仿真验证运算结果;4.使用已生成的器件模块为基础设计一个简易计算器,根据控制端的状态,完成加、减、乘法运算,用十进制显示运算结果;用发光二极管显示负数标志。仿真验证运算结果;即实现如下设计:三、电路设计及仿真1.结构设计图示如下:2.设计描述①利用门电路组合成1位全加器,封装;②调用1位全加器组合4位全加器和4位补码全加器(实现补码和相加),分别封装;③利用门电路实现补码器,封装;(可改进——使用4位全加器实现,见下);④调用4位补码全加器和补码器实现4位加减器;⑤调用4位全加器实现8位全加器,封装;⑥调用8位全加器实现乘法器;⑦译码(二进制码——BCD码);⑧组合4位加减器和乘法器成简易计算器;3.一位全加器:①利用门电路组合而成4位全加器;电路图如下:②将其封装成1位全加器模块。4.四位全加器:①利用1位全加器模块搭建4位补码全加器(实现补码后相加),电路如下:②将其封装成4位补码全加器模块。③仿真波形:5.补码器①根据真值表可得如下表达式:'FCOK•=COK•='H)())(⊕()(R''0'1'2'33''3COKSSSSSCOK••+••=)())(⊕()(R''0'1'22''2COKSSSSCOK••+••=)()⊕()(R''0'11''1COKSSSCOK••+••=0'0''0)()(RSCOKSCOK=•+••=;其中K,CO,S3,S2,S1,S0的含义由四位补码全加器表明;F表示结果的符号;H,R3,R2,R1,R0依次表示运算结果的从高到低位;R3,R2,R1,R0具有高度对称性;②利用门电路组合而成4位补码器,电路图如下:③将其封装成4位补码器模块。④改进说明:直接根据由'FCOK•=得到的符号位,用类似运算前求补码的方式求结果的补码;即令原先A3,A2,A1,A0输入端都等于0,将S3,S2,S1,S0接入原先B3,B2,B1,B0输入端;F(由'FCOK•=得到)接入原先K输入端;便可通过4位全加器实现求补码运算。即得到如下电路(求补码时取CO输出端接运算结果的最高位H):6.四位加减器①调用4位补码全加器和4位补码器实现4位加减器,电路如下:7.八位全加器①用4位全加器实现8位全加器,电路如下:②将其封装成8位全加器模块,供乘法器使用。8.乘法器①根据错位相加法原理利用8位全加器模块组合而成乘法器,电路如下:②将其封装成乘法器模块,供简易计算器调用。③仿真波形:9.整体电路:①将4位加减器和乘法器组合起来,根据控制端的状态,完成加、减、乘法运算;②将模块电路输出的二进制码转换为BCD码输出;整体电路如下:③功能仿真波形:④时序仿真波形:四、实验总结1.实验收获:①通过在QuartusII上用门电路搭建和组合原理图并实现封装调用,掌握了层次化的设计模式和由小到大、由简单到复杂的设计流程;②掌握了引脚锁定,功能下载的方法,熟悉了实验装置——实验箱的操作方法,并能通过开关、按键输入,数码管、二极管输出来验证简易计算器的运算结果是否正确。2.实验中出现的问题及解决:①首先遇到的问题是封装后调用出错的问题,即在新建的工程文件中新建原理图,调用之前封装的模块,但编译不能通过。但将工程放在同一文件夹下即可避免此问题。出错原因是封装后的模块的原理图不再当前文件夹下。最后采用将封装模块和原理图文件都拷贝到需要此模块的文件夹下,在新建工程时添加.bdf文件即可。②实现4位加减运算器时借鉴组合电路设计实验中2位加减运算器的设计方法。但需要考虑到最后将补码转换为原码的方法。方法a采用门单路实现,较复杂;方法b仿照运算前取补码的方式,将补码相加后的结果和符号类比输入的加数和符号,同时被加数位全部置0,即可实现求补码运算。③由于忽视实验指导中的要求,最后将二进制码转化为BCD码。故开始没有转化,在实验中只能得到10以下的正确结果。最后利用74185及其组合电路将运算器输出的结果转化为BCD码,再接到数码管上,便能得到正确结果。④时序仿真时,由于设置的波形不合理,造成输出波形不断跳变而无法判断输出结果的问题原因是由于传输延时时间和周期同等数量级大小,致使输出尚未稳定时输入即发生变化,故输出不断跳变。最后将周期扩大为传输延迟时间的20倍左右,输出就能够保持一定的稳定时间,便可清晰地观察到出输出结果,用于验证时序仿真下运算结果的正确性。⑤乘法运算时由于没考虑到0参与运算时符号的特殊处理,造成出现0x0或0x某数或某数x0=-0的错误结果。最后通过检查乘法电路,将两数输入出现至少有一个为0时的情况的输出符号位直接置0即可。⑥总之,此次EDA实验通过利用组合电路知识实现门电路、时序和功能仿真、在实验箱上验证功能的过程,并发现和解决其中出现的问题,初步掌握了面向可编程器件(FPGA)的简单数字系统的设计方法。
本文标题:EDA大作业_Quartus-II_简易计算器_实验报告
链接地址:https://www.777doc.com/doc-4811248 .html