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

加法器、减法器的设计 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


相关文章:
8位加法器的设计
例如,为了节省逻辑资源,减法器 和硬件乘法器都可由加法器来构成。多位加法器的...VHDL 文本编辑中还可能出现许多其它错误,如: 1)错将设计文件存入了根目录,并...
vhdl 加法器减法器 乘法器
加法器减法器的设计 VHD... 5页 免费 VHDL加法器与乘法器 8页 5财富值 ...嵌入播放器: 普通尺寸(450*500pix) 较大尺寸(630*500pix) 预览复制 收藏此文...
VHDL加法器设计1
设计设计要求: 采用 QuartusII 集成开发环境利用 VHDL 硬件描述语言设计传播进位加法器,直接进位加 法器,线形进位加法器,平方根进位加法器,并比较这四种加法器的...
实验二 VHDL设计进阶一(加法器设计)
实验二 VHDL设计进阶一(加法器设计)_电子/电路_工程科技_专业资料。实验二 VHDL 设计进阶一—全加器的 VHDL 层次化设计 2013-2014 学年第 1 学期 实验课程 ...
8位加法器设计
(2)VHDL 丰富的仿真语句 和库函数, 使得在任何大系统的设计早期就能查验设计...加法器是数字系统中的基本逻辑器件, 减法器和硬件乘法器都可由加 法器来构成。...
简易计算器设计
设计方案先用 vhdl 设计一个 ALU 包括加法器减法器、乘法器、除法器、清零、移位,由于按键是 4*4 的,所以只能输入 4 位数,而且必须只能输入一个数,所以 -...
vhdl八位加法器设计实验报告
数字系统中的基本逻辑器件例如为了节省资源减法器和硬件乘法器都 可由加法器来...掌握全加器原理,能进行多位加法器的设计。 五、实验内容: 1、用VHDL 设计一...
组合逻辑课程设计4位二进制全加器全减器原创
例如:为了节省资源,减法器和硬件乘法器都可以用加法器 来构成。 但宽位加法器...VHDL 1 总电路设计 1.1 硬件电路的设计该 4 位二进制全加器以 74LS283 ...
八位减法器_图文
6.3 八位减法器的设计 1、在一位全减器的基础上,编写 8 位减法器的 VHDL ...减法器 15页 免费 加法器、减法器 57页 免费 运算放大器_加法器_减法.....
EDA实验8位加法器的设计实验报告_王炜20150414
(3)掌握 VHDL 程序的软件及硬件的仿真方法。 2.实验内容设计并调试好一个由...加法器是数字系统中的基本逻辑器件, 减法器和硬件乘法器都可以由加法器来构成。...
更多相关标签:
vhdl加法器 | 加法器实现减法 | 加法器 减法器 | vhdl 16位加法器 | vhdl四位加法器 | 并行加法器vhdl | 用加法器实现减法 | 加法器数码管vhdl |