学生姓名: 学号: 专业班级:
实验类型:■验证□综合□设计□创新实验日期: 实验成绩:
实验一一位二进制全减器设计
一、实验目的
(1)熟悉和掌握Quartus II软件的各模块功能和使用方法。
(2)熟悉掌握EDA设计流程,复习简单组合电路的设计,掌握系统仿真,学会分析硬件测试结果。
(3)熟悉EDA实验箱内各模块的元器件。
二、实验要求
采用原理图输入法和文本输入法分别实现,分层设计,底层由半加器(也用原理图输入法)和逻辑门组成。
三、设计原理
㈠:原理图输入法设计原理
全减器可由两个半减器和或门组成。
表1:半减器真值表(co是本位向高位的借位,so是结果)
a
b
so
co
0
0
0
0
0
1
1
1
1
0
1
0
1
1
0
0
由真值表可以画出实验电路原理图
图1: h-suber的原理图
表2:全减器的真值表(F是结果,co是本位向高位的借位,C是地位向本位的借位)
A
B
C
F
CO
0
0
0
0
0
0
1
0
1
1
1
0
0
1
0
1
1
0
0
0
0
0
1
1
1
0
1
1
0
1
1
0
1
0
0
1
1
1
1
1
再由全减器真值表得到实验电路原理图
图2:f_suber的原理图
(二)、文本输入法设计原理(——程序根据书本P80的例4—17完成。)
用VHDL语言对一位二进制全减器进行描述:(利用CASE语句按照真值表来描述)
LIBRARY IEEE; --全减器描述,真值表描述方法
USE ;
ENTITY f_suber2 IS
PORT (a,b,c : IN STD_LOGIC; --信号输入端口,a为被减数,b为减数,c为来自低位的借位
F,co : OUT STD_LOGIC ) ; --信号输出端口,F为本位差,co为向高位的借位(相当于符号位)
END ENTITY f_suber2;
ARCHITECTURE one OF f_suber2 IS
SIGNAL abc : STD_LOGIC_VECTOR(2 DOWNTO 0);
BEGIN
abc <= a&b&c; --a,b,c的并置操作
PROCESS(abc)
BEGIN
CASE abc IS --赋值法实现全减器功能
WHEN"000"=> F<='0'; co<='0' ;
WHEN"010"=> F<='1'; co<='1' ;
WHEN"100"=> F<='1'; co<='0' ;
WHEN"110"=> F<='0'; co<='0' ;
WHEN"001"=> F<='1'; co<='1' ;
WHEN"011"=> F<='0'; co<='1' ;
WHEN"101"=> F<='0'; co<='0' ;
WHEN"111"=> F<='1'; co<='1' ;
WHEN OTHERS => NULL ;
END CASE;
END PROCESS;
END ARCHITECTURE;
eda全减器 来自淘豆网m.daumloan.com转载请标明出处.