当前位置:首页 >> 信息与通信 >>

加法器、减法器的设计 VHDL




验 报 告

课程名称 实验项目 实验仪器

电子设计自动化实验(基于 FPGA)

加法器、减法器的设计 计算机 + Quartus Ⅱ 9.1

系 专

别 业

信息与通信工程学院 通信工程

班级/学号 学生姓名 实验日期 成 2012、5

绩 _______________________

指导教师 _______________________
1 Higashi Q83831295

加法器、减法器的设计
完成一个 8 位二进制带符号数的加减电路设计。 设计要求如下: 通过拨码开关输入两组 8 位二进制数,最高位为符号位,0 表示正数,1 表示负数,其余位表示二进制数值。用一 按键对加、减方式进行控制,0 表示加,1 表示减。输出用四位 LED 数码管显示 BCD 码。其 中 LED 显示器最高位为符号位。

VHDL 代码
LIBRARY IEEE; USE IEEE.std_logic_1164.all; USE IEEE.std_logic_arith.all; USE IEEE.std_logic_unsigned.all; ENTITY add IS PORT(a:in std_logic_vector(7 downto 0); b:in std_logic_vector(7 downto 0); ctrl:in std_logic; bcd:out std_logic_vector(15 downto 0)); END ENTITY; ARCHITECTURE func OF add IS SIGNAL x:std_logic_vector(9 SIGNAL y:std_logic_vector(9 SIGNAL z:std_logic_vector(9 SIGNAL c:std_logic_vector(8 SIGNAL dec:integer; BEGIN yunsuan:BLOCK BEGIN PROCESS(a) BEGIN
2 Higashi Q83831295

downto downto downto downto

0); 0); 0); 0);

--运算模块

IF (a(7) = '0') THEN --判断正负 x <= '0'&'0'&a; ELSE x(9 downto 8) <= '1'&'1'; x(7 downto 0) <= NOT('0'&a(6 downto 0)) + 1; END IF; END PROCESS; PROCESS(a,ctrl) BEGIN IF(ctrl = '0') THEN --控制键为 0,则做加法 IF(b(7) = '0') THEN y <= '0'&'0'&b; ELSE y <= '1'&'1'&(NOT('0'&b(6 downto 0))+1); END IF; ELSE IF(b(7) = '1') THEN y <= '0'&'0'&'0'&b(6 downto 0); ELSE y <= '1'&'1'&(NOT('0'&b(6 downto 0))+1); END IF; END IF; END PROCESS; PROCESS(a,b) BEGIN IF(a(6 downto 0) = 0) THEN z <= y; ELSE IF(b(6 downto 0) = 0) THEN z <= x; ELSE z <= x + y; END IF; END IF; END PROCESS; PROCESS(z) BEGIN IF(z(9) = '1') THEN --判断结果的正负 c(7 downto 0) <= NOT z(7 downto 0) + 1; c(8) <= '1'; ELSE c(8 downto 0) <= '0'&z(7 downto 0);
3 Higashi Q83831295

END IF; END PROCESS; END BLOCK; bcdout:BLOCK BEGIN dec <= CONV_INTEGER(c);

--二进制转十进制

PROCESS(c) BEGIN CASE c(8) IS --判断最高位正负 WHEN '0' => bcd(15 downto 12) <= "0000"; WHEN '1' => bcd(15 downto 12) <= "0001"; WHEN OTHERS => bcd(15 downto 12) <= NULL; END CASE; CASE dec/100 IS --判断百位数字 WHEN 0 => bcd(11 downto 8) <= "0000"; WHEN 1 => bcd(11 downto 8) <= "0001"; WHEN OTHERS => bcd(11 downto 8) <= NULL; END CASE; CASE (dec REM 100)/10 IS WHEN 0 => bcd(7 downto 4) <= "0000"; WHEN 1 => bcd(7 downto 4) <= "0001"; WHEN 2 => bcd(7 downto 4) <= "0010"; WHEN 3 => bcd(7 downto 4) <= "0011"; WHEN 4 => bcd(7 downto 4) <= "0100"; WHEN 5 => bcd(7 downto 4) <= "0101"; WHEN 6 => bcd(7 downto 4) <= "0110"; WHEN 7 => bcd(7 downto 4) <= "0111"; WHEN 8 => bcd(7 downto 4) <= "1000"; WHEN 9 => bcd(7 downto 4) <= "1001"; WHEN OTHERS => bcd(7 downto 4) <= NULL; END CASE; CASE dec REM 10 IS WHEN 0 => bcd(3 downto 0) <= "0000"; WHEN 1 => bcd(3 downto 0) <= "0001"; WHEN 2 => bcd(3 downto 0) <= "0010"; WHEN 3 => bcd(3 downto 0) <= "0011"; WHEN 4 => bcd(3 downto 0) <= "0100"; WHEN 5 => bcd(3 downto 0) <= "0101"; WHEN 6 => bcd(3 downto 0) <= "0110"; WHEN 7 => bcd(3 downto 0) <= "0111"; WHEN 8 => bcd(3 downto 0) <= "1000"; WHEN 9 => bcd(3 downto 0) <= "1001";
4 Higashi Q83831295

WHEN OTHERS => bcd(3 downto 0) <= NULL; END CASE; END PROCESS; END BLOCK; END ARCHITECTURE; 未下载验证、调试,如发现错误,见谅! ——Higashi Q83831295

5 Higashi Q83831295


相关文章:
VHDL之一位全减器
减器的实验程序为: library ieee; use ieee.std_logic_1164.all; entity ...4,8位全加器vhdl程序 2页 免费 1用VHDL设计的一位二进制... 2页 免费 用...
基于VHDL 4位加法器的设计
基于VHDL 4位加法器的设计_计算机软件及应用_IT/计算机_专业资料。实验三 基于...2、利用 VHDL 程序设计 4 位全减器。 七、 实验报告 1、将实验原理、实验...
实验12 VHDL 加法器的设计与仿真
实验十二 加法器的设计与仿真 一、实验内容 1.在 Quartus II 中用逻辑图和 VHDL 语言设计全加器; 2.利用设计的全加器组成串行加法器; 3.用逻辑图和 VHDL ...
全加器与全减器设计
加器与全减器; 2 、用双 8 选 1 数据选择器 74LS151 设计 1 位二进制全加器与全减器; 3 、用广义译码器 VHDL 语言设计 1 位二进制全加器与全减器...
8位硬件加法器的VHDL设计
EDA 技术试验 学号 xxxxxxxx 指导教师评定:___ 一、实验目的 1、学习8位硬件加法器的设计; 2、进一步了解使用 VHDL 表达和设计电路的方法。 二、实验仪器: ...
加法器与减法器
电子设计自动化 大作业题 目 加法器减法器 学班姓学 院级名号 泉城学院 ...(2)端口定义 )输入端:S[0…3] 输出端:Y[0…15] (3) VHDL 源程序 ...
4位加法器设计EDA实验
加法电路实验报告实验任务 1、建立新的工程,编写四位加法器VHDL 代码。 2、编译、仿真并下载到 DE2 实验板测试,完成 4 位加法器的设计。 实验内容 1、4 ...
并行二进制、BCD码加法器VHDL设计
并行二进制、BCD码加法器VHDL设计_电子/电路_工程科技_专业资料。并行二进制、BCD 码加法器一. 目的 (1) 设计一个 4 位二进制或 BCD 码加法器。 (2) 层次...
FPGA设计实例 四位加法器(含VHDL源程序)
基于FPGA的快速加法器的... 3页 免费 VHDL 与FPGA设计 64页 3下载券喜欢...EDA FPGA 四位加法器设计 说明:程序使用原件例化语句编写。 半加器程序: 半...
采用VHDL层次化文件设计一个四位全加器
采用VHDL层次化文件设计一个四位全加器_电子/电路_工程科技_专业资料。4位二进制...位二进制加法器原理框图 2.设计底层设计文件 (1)设计减器文件 halfadd.vhd...
更多相关标签: