软件: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
阅读全文
757