文档详情

基于FPGA地全加器地设计.pdf

发布:2018-05-25约8.32千字共18页下载文档
文本预览下载声明
实验二 全加器设计 一、 验目的 1 设计并实现一个一位全加器。 2 、编写testbench 并仿真。 二、 验原理 计算机中的加法器一般就是全加器,它实现多位带进位加法。下面以一位全加器介绍。 一位全加器有三个输入、两个输出,见图2-1 。 (被加数)Ai (全加和)Si (被加数)Bi 全加器 (进位入)Ci- 1 (进位出)Ci 图2- 1 一位全加器示意图 图中的 进位入”Ci-1 指的是低位的进位输出, 进位出”Ci 即是本位的进位输出。一位全 加器的真值表见表2-1 。 表2-1 : 输入 输出 Ci-1 Bi Ai Si Ci 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 1 1 0 1 1 0 0 1 0 1 0 1 0 1 1 1 0 0 1 1 1 1 1 1 根据表2-1 便可写出逻辑函数表达式: Si Ai Bi C Ai Bi C Ai Bi C Ai Bi C i1 i1 i1 i1 Ci Ai Bi Ai C Bi C i1 i1 全加功能的硬件实现方法有多种,例如:可以把全加和看作是Ai 与Bi 的半加和Hi 与 进位输入Ci-1 的半加和来实现。 多位全加器就是在一位的原理上扩展而成的。集成电路全加器有7480 7481 7483 等。 实验源程序 件名是fulladder.vhd 。 三、 验代码 (含TESTBENCH ) 1 全加器代码 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY fulladder IS PORT(a,b,cin:IN STD_LOGIC; s,co:OUT STD_LOGIC M : out std_logic_vector(3 downto 0));-- 4 位功能选择位M[3:0],设置状态为0001, 即16 位拨码开关接到 16 位数据总线上。 END fulladder; ARCHITECTURE half2 of fulladder IS signal temp: STD_LOGIC_VECTOR(1 DOWNTO 0); BEGIN M = 0001; temp=(0a) + b+cin; s=temp(0);
显示全部
相似文档