1、基于FPGA的加法器设计一、实验目的1.熟悉用Quartus编译Verilog语言的方法。2.掌握用VerilogHDL语言描述加法器的方法。3.利用nios核建立加法器。二、实验原理1.半加器器设计 1)半加法器 a.b为加数和被加数,s.c为和和进位。 (1)半加法器真值表 (2)原理图输入(3)分析功能(用波形仿真来看)(4)VHDL语言编程 use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity hjfq i
2、s port(a,b: in std_logic; s,c: out std_logic); end hjfq; architecture behave of hjfq is begin s<=not(a xor (not b)); c<=a and b; end behave; 2、全加法器a.b.c为加数、被加数和低位进位,so.co为和与进位。(1)全加法器真值表(2)全加法器原理图:(3)波形仿真时序图:(4)VHDL语言编程: li
3、brary ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity jfq is port(a,b,c: in std_logic; so,co: out std_logic); end jfq; architecture behave of jfq is signal bb: std_logic_vector(2 downto
4、 0); begin bb<=a&b&c; process(b) begin case b is when "000"=>co<='0';so<='0'; when "001"=>co<='0';so<='1'; when "010"=>co<='0';so<='1'; when "011"=>co<='1';so<='0'; when "100"=>co<='0';so<='1
5、'; when "101"=>co<='1';so<='0'; when "110"=>co<='1';so<='0'; when "111"=>co<='1';so<='1'; when others => null; end case; end process; end behave;三、实验步骤(1)打开QuartusⅡ软件,熟悉软件界面及窗口命令。(2) 选择File < New Project Wizard弹出对话
6、框,该对话框显示Wizard所包含的各项内容,在弹出的窗口中输入项目的名称和存储位置。如果选中Don’t show me this introduction again。那么在下一次在新建项目是可以不再显示本对话框。点击Next按钮。(3)选择实验板的具体型号,芯片型号。选择设置参数完成后显示如图,点击finish按钮完成工程建立。(4)选择tools< MegaWizardplug-InManager建立加法器(5)利用nios核建立加法器,选择Arithmetic< ALTFP_ADD_SUB(6)在“File=