8位加法器电路设计全加器设计word格式word格式

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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;

仿真数据:

本文来自网络,版权归原作者所有,请下载后,尽快删除。

相关文档
最新文档