辽东学院自编教材
《可编程逻辑器件原理及应用实验》指导书
李海成编
(计算机科学与技术、电子信息工程专业用)
姓名:
学号:
班级:
信息技术学院
2013年6月
目录
目录 (1)
实验一MAX+PLUS-II设计三八译码器......... 错误!未定义书签。实验二半加器 . (2)
实验三带进位输入的8位加法器 (4)
实验四数据比较器 (6)
实验五编码器 (9)
实验六组合逻辑电路的设计 (12)
实验七计数器 (14)
实验八触发器功能的模拟实现 (17)
(被加数)Ai
(被加数)Bi
(半加和)Hi
(本位进位)Ci
实验二 半加器
实验类型: 验证性
实验课时: 2
指导教师: 李海成 时 间:201 年 月 日 课 次:第 节
教学周次:第 周
实验分室: 实验台号: 实 验 员:
一、 实验目的
1.设计并实验一个一位半加器
2.掌握CPLD/FPGA 组合逻辑设计基本方法。 二、 实验原理
计算机中数的操作都是以二进制进位的,最基本的运算就是加法运算。按照进位是否加入,加法器分为半加器和全加器电路两种。计算机中的异或指令的功能就是求两个操作数各位的半加和。一位半加器有两个输入、输出,如图2-1。
图2-1 一位半加器示意图
表2-1
一个半加大路的真值表如表2-1所示,根据真值表可得到半加器的函数表达式:
Bi Ai Bi Ai Hi ?+?= Bi Ai Ci ?=
三、 实验连线
半加器的两个输入所对应的管脚同两位拨码开关相连,两个输入管脚名为a 、b ;两个输出所对应的管脚同两位发光二极管相连,两个输出管脚名为 c0和s,其中c0表示进位, s 表示相加结果。
四、 实验记录
五、实验注意事项
1.提前编辑实验程序。
2.根据教师要求正确操作,并检验逻辑的正确性
六、思考题
1.EDA半加器实现与数字电路设计方法的根本区别。
2.简述EDA设计半加器的不同方法,并比较其优缺点。
3.心得体会及其他。
实验三 带进位输入的8位加法器
实验类型: 验证性
实验课时: 2 指导教师:
时 间:200 年 月 日 课 次:第 节
教学周次:第 周
实验分室: 实验台号: 实 验 员:
一、 实验目的
1. 设计并实现一个8位全加器
2. 掌握EDA 中模块调用方法 二、 实验原理
利用实验二构建的半加器构建一位的全加器,然后设计一个8 位的全加器,其框图如图4-1所示。图中的“进位入”C i-1指的是低位的进位输出,“进位出”Ci 即是本位的进位输出。
图 4-1 8位全加器原理图
三、 实验连线
全加器的17个输入所对应的管脚同17位拨码开关相连,17个输入管脚是a0~a7、b0~b7和cin a0~a7、b0~b7代表两个8位二进制数,cin 代表进位位;9个输出所对应的管脚同9位发光二极管相连,9个输出管脚是sum0~sum7和cout ,sum0~sum7代表相加结果,cout 代表进位位。
四、 实验记录
(被加数)Bi(7..0)
(被加数)Ai(7..0) (进位入)C i-1
(全加和)Si(7..0)
(进位出)Ci
五、实验结果分析与思考
1.半加器与全加器的区别。
2.实验设计程序
3实验结果总结
实验四数据比较器
实验类型:设计性实验课时: 2 指导教师:李海成时间:201 年月日课次:第节教学周次:第周实验分室:实验台号:实验员:
一、实验目的
1.设计并实现一个4位二进制数据比较器
2.掌握数据比较器的构建及其方法
二、实验原理
二进制比较器是提供关于两个二进制操作数间关系信息的逻辑电路。两个操作数的比较结果有三种情况:A等于B、A大于B和A小于B。
考虑当操作数A和B都是一位二进制数时,构造比较器的真值表见表9-1。输出表达式如下:
AEQB=A’B’+AB=(AB)’
A>B=AB’
A
表
在一位比较器的基础上,我们可以继续得到两位比较器,然后通过“迭代设计”得到4位的数据比较器。对于4位比较器的设计,我们可以通过原理图输入法或VHDL描述来完成,其中用VHDL语言描述是一种最为简单的方法。下面是一个3位比较器的VHDL描述:library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity comp is
port(a,b: in std_logic_vector(2 downto 0);
sel_f: in std_logic_vector(1 downto 0);
q: out Boolean);
end;
architecture a of comp is
begin
process(sel_f,a,b)
begin
case sel_f is
when”00” => q <= a=b;
when”01” => q <= a
when”10” => q <= a>b;
when others => q <=false;
end case;
end process;
end a;
实验源程序名是comp.vhd。
三、实验连线
输入信号有A0~A3、B0~B3、CLK和RST,其中A0~A3和B0~B3代表两路相互比较的数,接拨码开关,CLK接时钟,RST接复位端;输出信号有AEQB(A=B)、AGTB(A>B)、ALTB(A
四、实验记录
同前,对比较器造表,得到其真值表,并分析其运算结果的正确性。
五、实验结果分析与思考
1.比较器的应用场合。
2.实验设计程序
3实验结果总结
实验五编码器
实验类型:验证性实验课时: 2 指导教师:李海成时间:201 年月日课次:第节教学周次:第周实验分室:实验台号:实验员:
一、实验目的
1.设计并实现一个16-4优先编码器
2.掌握编码器的设计方法。
二、实验原理
常用的编码器有:4-2编码器、8-3编码器、16-4编码器,下面我们用一个8-3编码器的设计来介绍编码器的设计方法。
8-3编码器如图11-1所示,其真值表如表11-1。
图11-1 8-3编码器
整个编码器的VHDL语言描述如下:
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY ENCODE IS
PORT(D: IN STD_LOGIC_VECTOR(7 DOWNTO 0);
EIN: I N STD_LOGIC;
A0N,A1N,A2N,GSN,EON: OUT STD_LOGIC);
END ENCODE;
ARCHITECTURE A OF ENCODE IS
SIGNAL Q: STD_LOGIC_VECTOR(2 DOWNTO 0);
BEGIN
A0N <=Q(0); A1N<=Q(1); A2N<=Q(2);
PROCESS(D)
BEGIN
IF EIN =’1’ THEN
Q<=”111”;
GSN<=’1’; EON<=’1’;
ELSIF D(0)=’0’THEN
Q<=”111”;GSN<=’0’;EON<=’1’;
ELSIF D(1)=’0’THEN
Q<=”110”;GSN<=’0’;EON<=’1’;
ELSIF D(2)=’0’THEN
Q<=”101”;GS N<=’0’;EON<=’1’;
ELSIF D(3)=’0’THEN
Q<=”100”;GSN<=’0’;EON<=’1’;
ELSIF D(4)=’0’THEN
Q<=”011”;GSN<=’0’;EON<=’1’;
ELSIF D(5)=’0’THEN
Q<=”010”;GSN<=’0’;EON<=’1’;
ELSIF D(6)=’0’THEN
Q<=”001”;GSN<=’0’;EON<=’1’;
ELSIF D(7)=’0’THEN
Q<=”000”;GSN<=’0’;EON<=’1’;
ELSIF D=”11111111”THEN
Q<=”111”;GSN<=’1’;EON<=’0’;
END IF;
END PROCESS;
END A;
实验源程序名是encode.vhd。
请参考以上程序设计一16-4编码器。
三、实验连线
输入信号D0~D15(代表16路输入数据)、EIN(代表输入允许控制端)、EON、GSN (代表2个输出允许控制端),都接拨码开关;输出信号A0N~A3N(代表四路编码结果输出)接发光二极管。改变拨码开关的状态,对照表11-1 8-3优先编码器真值表,观察实验结果。
四、实验记录
对编码器造表,得到其真值表,并分析其运算结果的正确性。
五、实验结果分析与思考
1.编码器常用芯片有哪些,比较专用芯片和EDA设计的优缺点。
2.实验过程出现问题及处理方法
3实验结果总结
实验六组合逻辑电路的设计
实验类型:设计性实验课时: 2 指导教师:李海成时间:201 年月日课次:第节教学周次:第周实验分室:实验台号:实验员:
一、实验目的:
1.掌握组合逻辑电路的设计方法。
2.掌握组合逻辑电路的静态测试方法。
3.加深PLD设计的过程,并比较原理图输入和文本输入的优劣。
二、实验的硬件要求:
1.输入:按键开关(常高)4个;拔码开关4位。
2.输出:LED灯。
3.主芯片:Altera EPF10K10LC84-4。
三、实验内容:
1. 设计一个四舍五入判别电路,其输入为8421BCD码,要求当输大于或等于5时,判别电路输出为1,反之为0。
2. 设计四个开关控制一盏灯的逻辑电路,要求合任一开关,灯亮;断任一开关,灯灭。(即任一开关的合断改变原来灯亮灭的状态)
3. 设计一个优先权排队电路,其框图如下:
排队顺序:
A=1 最高优先级
B=1 次高优先级
C=1 最低优先级
要求输出端最高只能有一端为“1”,即只能是优先级较高的输入端所对应的输出端为“1”。
四、实验连线:
1. 四位拔码开关连D3,D2,D1,D0信号对应的管脚。
OUT输出信号管脚接LED灯。
2. 四位按键开关分别连K1,K2,K3,K4信号对应的管脚。
OUT输出信号管脚接LED灯。
3. A、B、C信号对应管脚分别连三个按键开关。
输出A_OUT,B_OUT,C_OUT信号对应的管脚分别连三个LED灯。
(具体管脚参考反标注原理图和实验箱上的标记)
五、实验报告要求
1.对于原理图设计要求有设计过程,并写出程序设计代码。
2.详细论述实验步骤。
3.写一些对于两种硬件设计输入法的优劣心得。
实验报告内容:
实验七计数器
实验类型:验证性实验课时: 2 指导教师:李海成时间:201 年月日课次:第节教学周次:第周实验分室:实验台号:实验员:
一、实验目的
1、设计一个带使能输入及同步清0的增1计数器,仿真波形图见图20-1,实验源程序名
是counter1.vhd;
2、设计一个带使能输入及同步清0的增1/减1的8位计数器,仿真波形图见图20-2A
和20-2B,实验源程序名是up-down.vhd。
二、实验内容
图20-1 计数器2波形图
图20-2A 加减控制计数器
波形图
在用VHDL语言描述一个计数器时,如果使用了程序包ieee.std_logic_unsigned,则在描述计数器时就可以使用其中的函数“+”(递增计数)和“-”(递减计数)。假定设计对象是增1计数器并且计数器被说明为向量,则当所有位均为‘1’时,计数器的下一状态将自动变成‘0’。举例来说,假定计数器的值到达“111”是将停止,则在增1之前必须测试计数器的值。
图20-2B 加减控制计数器波形图如果计数器被说明为整数类型,则必须有上限值测试。否则,在计数顺值等于7,并且要执行增1操作时,模拟器将指出此时有错误发生。
下面的例子是一个3位增1/减1计数器:当输入信号UP等于1 时计数器增1;当输入信号UP等于0时计数器减1。
Library ieee;
Use ieee.std_logic_1164.all;
Use ieee.std_logic_unsigned.all;
Entity up_down is
Port(clk,rst,en,up: in std_logic;
Sum: out std_logic_vector(2 downto 0);
Cout: out std_logic);
End;
Architecture a of up_down is
Signal count: std_logic_vector(2 downto 0);
Begin
Process(clk,rst)
Begin
If rst=’0’ then
Count<=(others=>’0’);
Elsif rising_edge(clk) then
If en=’1’ then
Case up is
When ‘1’ => count<=count+1;
When others =>count<=count-1;
End case;
End if;
End if;
End process;
Sum<=count;
Cout <=’1’ when en=’1’ and ((up=’1’ and count=7) or (up=’0’ and count=0)) else
‘0’;
End;
参考以上实例完成实验目的中所要求的3个计数器的设计。
三、实验连线
实验1输入信号有clk(时钟信号)、clr(复位信号)、en(使能控制输入信号),clk用CPLD/FPGA适配器板子上的时钟信号,接数字信号源的CLK5,频率调节到1Hz左右,clr、en接拨码开关,工作时clr为低电平,en为高电平;输出信号有Q0~Q3,接LED灯。
实验2输入信号有clk(时钟信号)、rst(复位信号)、en(使能控制输入信号)、up (加减控制输入信号),clk用CPLD/FPGA适配器板子上的时钟信号,接数字信号源的CLK5,频率调节到1Hz左右,rst、en、up接拨码开关,工作时rst和en为高电平,up为高电平时增计数,为低电平时减计数;输出信号有SUM0~SUM2(代表输出数据)和COUT(代表进位或借位),都接LED灯。
在做实验时,请注意仿真波形图中各个输入信号的有效电平。
四、实验报告
1.设计问题及解决方法
2.设计过程及代码
实验八触发器功能的模拟实现
实验类型:设计性实验课时: 2 指导教师:李海成时间:201 年月日课次:第节教学周次:第周实验分室:实验台号:实验员:
一、实验目的:
1.掌握触发器功能的测试方法。
2.掌握基本RS触发器的组成及工作原理。
3.掌握集成JK触发器和D触发器的逻辑功能及触发方式。
4.掌握几种主要触发器之间相互转换的方法。
通过实验,体会EPLD芯片的高集成度和多I/O口。
实验源程序是t33.gdf。
二、实验说明
将基本RS触发器,同步RS触发器,集成J-K触发器,D触发器同时集成一个EPLD 芯片中模拟其功能,并研究其相互转化的方法。
实验的具体实现要连线测试。实验原理如图33-1 :
图33-1
电路中各个触发器的仿真波形图如下:
图33-2 RS触发器仿真波形图
图33-3 RS锁存器仿真波形图
图33-4 JK触发器仿真波形图
图33-5 D触发器仿真波形图
三、实验连线:
输入信号Sd、Rd对应的管脚接按键开关,CLK接时钟源(频率在1Hz左右);输入信号J,K,D,R,S对应的管脚分别接拨码开关;输出信号QRS,NQRS,QRSC,NQRSC,QJK,NQJK,QD,NQD对应管脚分别接LED灯。
另外准备几根连线,在改变为T‘触发’器时,短接相应管脚,或连接“0”“1”电平。
四、实验报告:填下述表格表一,表二,表三,表四。表一: RS 寄存器
表二: RS 锁存器
表三: JK 触发器
表四:D 触发器
。