logo资料库

EDA技术 实验报告8位二进制加法器设计.doc

第1页 / 共5页
第2页 / 共5页
第3页 / 共5页
第4页 / 共5页
第5页 / 共5页
资料共5页,全文预览结束
《EDA技术》实验报告
实验名称:8位二进制全加器设计
姓名:
班级:
学号:
实验日期:
指导教师:
一、实验设计要求
二、设计原理
三、实验程序
四、编译及仿真结果
五、总结
《EDA 技术》实验报告 实验名称: 8 位二进制全加器设计 姓名: 班级: 学号: 实验日期: 指导教师:
一、实验设计要求 以一位二进制全加器为基本元件,用例化语句写出 8 位并行二进制全加器的顶层文件, 并讨论此加法器的电路特性。 二、设计原理 电路结构图或原理图 电路功能描述 定义了 8 位二进制全加器顶层设计元件端口信号,输入端口:AIN, BIN,是八 个二进制数,数据类型被定义为 STD_LOGIC_VECTOR。 CIN 是输入的进位, 数据类型 IN STD_LOGIC;输出端口:SUM 为和,数据类型 IN STD_LOGIC COUT 为输出的进位。 三、实验程序 程序 1:一位二进制全加器设计顶层描述 功能:程序功能简介 VHDL 源程序代码 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY F_ADDER IS PORT (AIN, BIN, CIN : IN STD_LOGIC; COUT, SUM : OUT STD_LOGIC ); END ENTITY F_ADDER; ARCHITECTURE FD1 OF F_ADDER IS
COMPONENT H_ADDER IS PORT (A, B : IN STD_LOGIC; CO, SO : OUT STD_LOGIC ); END COMPONENT; SIGNAL D, E, F : STD_LOGIC; BEGIN U1 : H_ADDER PORT MAP(A => AIN, B => BIN, CO => D, SO => E); U2 : H_ADDER PORT MAP(A => E, B => CIN, CO => F, SO => SUM); COUT <= D OR F; END ARCHITECTURE FD1; 程序 2:8 位并行二进制全加器顶层文件 功能:程序功能简介 VHDL 源程序代码 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY F_ADDER8 IS PORT ( AIN, BIN : IN STD_LOGIC_VECTOR(7 DOWNTO 0); CIN : IN STD_LOGIC; SUM : OUT STD_LOGIC_VECTOR(7 DOWNTO 0); COUT : OUT STD_LOGIC ); END F_ADDER8; ARCHITECTURE ONE OF F_ADDER8 IS COMPONENT F_ADDER IS PORT (AIN, BIN, CIN : IN STD_LOGIC; COUT, SUM : OUT STD_LOGIC ); END COMPONENT; SIGNAL C1, C2, C3,C4,C5,C6,C7: STD_LOGIC; BEGIN U1 : F_ADDER PORT MAP(AIN => AIN(0), BIN => BIN(0), CIN => CIN, SUM => SUM(0), COUT => C1); U2 : F_ADDER PORT MAP(AIN => AIN(1), BIN => BIN(1), CIN => C1, SUM => SUM(1), COUT => C2); U3 : F_ADDER PORT MAP(AIN => AIN(2), BIN => BIN(2), CIN => C2, SUM => SUM(2), COUT => C3); U4 : F_ADDER PORT MAP(AIN => AIN(3), BIN => BIN(3), CIN => C3, SUM => SUM(3), COUT => C4); U5 : F_ADDER PORT MAP(AIN => AIN(4), BIN => BIN(4), CIN => C4, SUM => SUM(4), COUT => C5); U6 : F_ADDER PORT MAP(AIN => AIN(5), BIN => BIN(5), CIN => C5, SUM => SUM(5), COUT => C6); U7 : F_ADDER PORT MAP(AIN => AIN(6), BIN => BIN(6), CIN => C6, SUM
=> SUM(6), COUT => C7); U8 : F_ADDER PORT MAP(AIN => AIN(7), BIN => BIN(7), CIN => C7, SUM => SUM(7), COUT => COUT); END ONE; 四、编译及仿真结果 选用器件型号 cyclone 编译后使用器件资源情况、引脚配置情况(硬件实验) 仿真结果显示: 该 设计是成功的。输入的进位也要加上去。 0---255 全加器的 COUNT 没有进 位,而当加到 256,COUNT=1,SUM 输出 0. 五、总结 .1 编译不通过,检查后发现在建立工程时,同一工程的所有文件都必须放在同 一文件夹中,而这一步没做。
2 程序中没有将文件名与实体名保持一致出错。输入半加器的 VHDL 程序保存文 件,将输入的 VHDL 语言程序保存为 h _adder.vhd. 3 不知道如何将输入/输出引脚号都添加到矢量波形编辑窗口中。 解决办法:view—utility window—noder finder 将需要引脚拖拽。
分享到:
收藏