8位加法器电路设计全加器设计word格式word格式
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
项目四8位加法器电路设计
1.实训目标
1)通过8位加法器的设计,掌握组合逻辑电路的设计方法。
2)分别使用原理图和文字编辑的方法实现8位加法器的设计,通过电路的仿真和硬件
验证,进一步掌握原理图设计与文本设计的过程。
2.实训步骤
1)采用原理图编辑法,采用Altera MAX+PLUS II的MF函数里面调用8位全加器宏函
数8fadd实现电路设计。编程器件型号选择ACE1k系列的EP1K30TC144-3。完成项目编辑及功能仿真。
2)采用文本编辑法,即利用VHDL语言描述8位加法器,4位加法器的参考代码如下。
然后对其进行编译,编程器件型号选择ACE1k系列的EP1K30TC144-3,完成程序仿真,记录仿真数据。
3)由两个并行的4位加法器级联而成。选用原理图编辑发或者文本编辑法实现8位全
加器电路。并通过仿真验证。
3.实训数据1)原理图编辑法设计的8位加法器的电路。
2)原理图编辑法仿真结果。简述仿真波形的意义。
A[8..1]B[8..1]—输出端Cout—进位端
3)步骤2、步骤3选做一种,记录电路图或程序。
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity adder8bit is
port(cin:in std_logic;
a,b:in std_logic_vector(7 downto 0);
s:out std_logic_vector(7 downto 0);
cout:out std_logic);
end adder8bit;
architecture beh of adder8bit is
signal sint:std_logic_vector(8 downto 0);
signal aa,bb:std_logic_vector(8 downto 0);
begin
aa<='0'&a(7 downto 0);--
bb<='0'&b(7 downto 0);
sint<=aa+bb+cin;
s(7 downto 0)<=sint(7 downto 0);
cout<=sint(8);
end beh;
4)对设计的8位全加器进行仿真验证,记录仿真结果。简述仿真波形的意义
4、思考题
根据步骤2中4位加法器的参考程序,设计一个4位减法器,并记录其仿真数据。程序:
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity psubadd4 is
port(cin:in std_logic;
a,b:in std_logic_vector(3 downto 0);
s:out std_logic_vector(3 downto 0);
cout:out std_logic);
end ;
architecture beh of psubadd4 is
signal sint:std_logic_vector(4 downto 0);
signal aa,bb:std_logic_vector(4 downto 0);
begin
aa<='0'&a(3 downto 0);
bb<='0'&b(3 downto 0);
sint<=cin+aa-bb;
s(3 downto 0)<=sint(3 downto 0);
cout<=sint(4);
end beh;
仿真数据:
本文来自网络,版权归原作者所有,请下载后,尽快删除。