基于FPGA的加法器设计一、实验目的1.熟悉用Quartus编译Verilog语言的方法。2.掌握用VerilogHDL语言描述加法器的方法。3.利用nios核建立加法器。二、实验原理1.半加器器设计1)半加法器a.b为加数和被加数,s.c为和和进位。(1)半加法器真值表(2)原理图输入(3)分析功能(用波形仿真来看)(4)VHDL语言编程useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entityhjfqisport(a,b:instd_logic;s,c:outstd_logic);endhjfq;architecturebehaveofhjfqisbegins=not(axor(notb));c=aandb;endbehave;2、全加法器a.b.c为加数、被加数和低位进位,so.co为和与进位。(1)全加法器真值表(2)全加法器原理图:(3)波形仿真时序图:(4)VHDL语言编程:libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entityjfqisport(a,b,c:instd_logic;so,co:outstd_logic);endjfq;architecturebehaveofjfqissignalbb:std_logic_vector(2downto0);beginbb=a&b&c;process(b)begincasebiswhen000=co='0';so='0';when001=co='0';so='1';when010=co='0';so='1';when011=co='1';so='0';when100=co='0';so='1';when101=co='1';so='0';when110=co='1';so='0';when111=co='1';so='1';whenothers=null;endcase;endprocess;endbehave;三、实验步骤(1)打开QuartusⅡ软件,熟悉软件界面及窗口命令。(2)选择FileNewProjectWizard弹出对话框,该对话框显示Wizard所包含的各项内容,在弹出的窗口中输入项目的名称和存储位置。如果选中Don’tshowmethisintroductionagain。那么在下一次在新建项目是可以不再显示本对话框。点击Next按钮。(3)选择实验板的具体型号,芯片型号。选择设置参数完成后显示如图,点击finish按钮完成工程建立。(4)选择toolsMegaWizardplug-InManager建立加法器(5)利用nios核建立加法器,选择ArithmeticALTFP_ADD_SUB(6)在“File=New”的窗口中选择建立Verilog文件。(7)单击OK后,在Quartus窗口的右方看到该文件,写入代码后选择“File=Save”,将文件保存在与项目文件同样的位置即可。然后可以看到如下状态:(8)设置仿真Assignmentssettings(9)选择ProcessingstartStartTestBenchTemplateWriter波形进行编译,打开simulation写仿真文件(10)设置仿真波形Tools-runEDAsimulationtool-EDARTLsimulation查看加法器仿真波形四、实验结果整个实验过程就是一个提成方案,描述方案,找到问题,解决问题的过程,并且通过这个过程来找到实验的意义。通过这次实验,主要是对浮点数的运算用verilog代码来描述有了更加深刻的认识,同时也为其他的数据算法用verilog描述有了进一步的心得。为用verilog构建复杂的数据模块奠定基础,对今后的数字电路设计有深刻的影响。