您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > 基于VHDL-4位加法器的设计
实验三基于VHDL4位加法器的设计一、实验目的1、进一步熟悉QUARTUSII软件的使用方法和VHDL输入的全过程。2、进一步掌握实验系统的使用。二、实验原理AND2instXORinst1VCCaINPUTVCCbINPUTcoOUTPUTsoOUTPUT图2-1半加器原理图abcosoh_adderinstabcosoh_adderinst1OR2inst2VCCainINPUTVCCbinINPUTVCCcinINPUTcoutOUTPUTsumOUTPUT图2-21位全加器原理图ainbincincoutsumf_adderinstainbincincoutsumf_adderinst1ainbincincoutsumf_adderinst2ainbincincoutsumf_adderinst3VCCa[3..0]INPUTVCCb[3..0]INPUTa[0]b[0]sum[0]b[1]a[1]b[2]a[2]b[3]a[3]sum[1]sum[2]sum[3]GNDsum[4..0]OUTPUTsum[4]图2-34位加法器原理图4位加法器(如图2-3)是以1位全加器作为基本硬件,由4个1位全加器串行构成,1位全加器又可以由两个1位的半加器和一个或门连接而成(如图2-2),而1位半加器可以由若干门电路组成(如图2-1)。三、实验内容本次实验使用AlteraFPGA的开发工具QuartusⅡ,利用原理图输入设计方法设计一个4位加法器,取实验板上的8位按键的高4位与低4位分别作为4位加数与被加数,其中8个LED取5位作为结果输出,LED2~LED5作为4位相加之和的输出结果,LED1作为两数高4位相加的进位(LED亮,表示低电平“0”,LED灭,表示高电平“1”)四、实验步骤1、打开QUARTUSII软件,新建一个工程。2、建完工程之后,再新建一个VHDLFile。新建一个VHDL文件的过程如下:1)选择QUARTUSII软件中的File-New命令,出现New对话框。如图2-1所示。图2-1新建设计文件选择窗口2)在New对话框(图2-1)中选择DesignFiles页下的VHDLFile,点击OK按钮,打开VHDL编辑器对话框,如图2-2所示。图2-2VHDL编辑窗口3、按照实验原理和自己的想法,在VHDL编辑窗口编写1位半加器的VHDL程序。如图2-3所示。图2-31位半加器VHDL程序4、编写完半加器VHDL程序后,保存,文件名为h_adder.vhd(注意文件名要与实体名保持一致),再将半加器文件设置为顶层文件,然后进行编译并仿真,对程序的错误进行修改。5、再用同样的方法进行或门的VHDL程序(or2a.vhd)输入、编译和仿真。图2-4或门VHDL程序6、利用半加器与或门进行1位全加器的VHDL程序(f_adder.vhd)设计、编译与仿真。图2-31位全加器VHDL程序7、利用1位全加器进行4位加法器的VHDL程序(adder4bits.vhd)设计、编译与仿真。图2-34位加法器VHDL程序1、引脚锁定。编译仿真无误后,依照按键、LED与FPGA的管脚连接表进行管脚分配,表2-1是管脚分配表。分配完成后,再进行全编译一次,以使管脚分配生效。端口名使用模块信号对应FPGA管脚说明a[3]按键S1PIN_1074位加法器的被加数输入a[2]按键S2PIN_108a[1]按键S3PIN_110a[0]按键S4PIN_112b[3]按键S5PIN_1134位加法器的加数输入b[2]按键S6PIN_114b[1]按键S7PIN_115b[0]按键S8PIN_116Sum[4]LED灯LED1PIN_1424位加法器的和输出Sum[3]LED灯LED2PIN_141Sum[2]LED灯LED3PIN_139Sum[1]LED灯LED4PIN_138Sum[0]LED灯LED5PIN_137表2-1端口管脚分配表2、编程下载。用下载电缆通过JTAG口将对应的sof文件加载到FPGA中。观察实验结果是否与自己的设计思想一致。五、实验现象与结果当设计文件加载到目标器件后,我们可以通过对8位按键的高4位和低4位作为加数与被加数进行输入,可以看到LED2~LED5作为D3~D0位输出结果的正确无误,LED1作为加数与被加数的D3位相加向D4位的进位。其中LED灯亮表示低电平“0”,灯灭表示高电平“1”。六、扩展实验1、利用VHDL程序设计8位全加器。2、利用VHDL程序设计4位全减器。七、实验报告1、将实验原理、实验内容、设计过程和硬件测试结果记录下来。2、绘出仿真波形,并作简要分析。
本文标题:基于VHDL-4位加法器的设计
链接地址:https://www.777doc.com/doc-6342137 .html