软件:Quartus
语言:VHDL
代码功能:
8位全加器设计
1、设计1位全加器
2、基于1位全加器设计2位全加器
3、例化4个2位全加器组成8位全加器
FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com
演示视频:
设计文档:
1. 工程文件
2. 程序文件
3. 程序编译
4. RTL图
5. 仿真文件
6. 仿真图
二进制显示
转换为十进制显示
部分代码展示:
LIBRARY ieee; USE ieee.std_logic_1164.all; --8位全加器 ENTITY adder_8bit IS PORT ( A : IN STD_LOGIC_VECTOR(7 DOWNTO 0);--输入8位加数 B : IN STD_LOGIC_VECTOR(7 DOWNTO 0);--输入8位加数 CIN : IN STD_LOGIC;--输入进位 S : OUT STD_LOGIC_VECTOR(7 DOWNTO 0);--输出和 COUT : OUT STD_LOGIC--输出进位 ); END adder_8bit; ARCHITECTURE behave OF adder_8bit IS --例化2位全加器 COMPONENT adder_2bit IS PORT ( A : IN STD_LOGIC_VECTOR(1 DOWNTO 0); B : IN STD_LOGIC_VECTOR(1 DOWNTO 0); CIN : IN STD_LOGIC; S : OUT STD_LOGIC_VECTOR(1 DOWNTO 0); COUT : OUT STD_LOGIC ); END COMPONENT; --定义中间进位信号 SIGNAL C1 : STD_LOGIC; SIGNAL C2 : STD_LOGIC; SIGNAL C3 : STD_LOGIC; BEGIN --4个2位全加器级联 --前一个全加器的进位输出连接到下一个全加器的进位输入,实现级联 --调用第1个2位全加器 fa0 : adder_2bit PORT MAP ( A=>A(1 DOWNTO 0), B=>B(1 DOWNTO 0), CIN=>CIN,--输入进位 S=>S(1 DOWNTO 0), COUT=>C1--输出第1级进位 ); --调用第2个2位全加器 fa1 : adder_2bit PORT MAP ( A=>A(3 DOWNTO 2), B=>B(3 DOWNTO 2), CIN=>C1,--输入第1级进位 S=>S(3 DOWNTO 2), COUT=>C2--输出第2级进位 ); --调用第3个2位全加器 fa2 : adder_2bit PORT MAP ( A=>A(5 DOWNTO 4), B=>B(5 DOWNTO 4), CIN=>C2,--输入第2级进位 S=>S(5 DOWNTO 4), COUT=>C3--输出第3级进位 );
点击链接获取代码文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=1238
阅读全文
1320