当前位置:文档之家 > 可编程逻辑电路原理实验指导书(学生用)

可编程逻辑电路原理实验指导书(学生用)

可编程逻辑电路原理实验指导书

(学生用)

学院:光电工程信息学院

必修实验:实验一:四位加法器

实验目的:

一、熟悉MAX+plusⅡ软件和AEDK实验箱操作

二、熟悉可编程器件开发流程

三、巩固VHDL语言

四、掌握层次化设计方法

实验内容:用层次化设计方法设计一个4位加法器:

1.顶层用原理图输入方式,底层用文本输入方式,用结构体三种实现方式分别编写程序,编译,调试。

2.仿真,分析结果,绘制波形。

3绑定引脚,在教学实验箱上完成相应的搭线、下载.分析加法器实现的结果。实验步骤:

一、在计算机上用浏览器建立自己的文件夹,要求用英文。

二、用图形编辑器建立顶层文件,并存入前一步的文件夹中。利用4个一位全加器,前一

个的输出cout为下一个的输入cin来完成串行四位加法器。文件建立后点工具栏上

可编程逻辑电路原理实验指导书(学生用)

图符(完成存盘、将项目绑定到现有文件、检验三个步骤)。点击菜单MAX+plusⅡ\Hierarchy Display,观察此时的项目层次图。

可编程逻辑电路原理实验指导书(学生用)

三、用文本输入法建立底层模块:用三种结构体描述方法(行为、数据流、结构描述)

给出一位全加器的VHDL语言描述。建议使用模板。文件建立后点工具栏上图符

存盘检验。点击菜单MAC+plusⅡ\Hierarchy Display,观察此时的项目层次图。(程序要求写在附页)。

四、回到图形编辑窗口,选择菜单File\Project\Set Project to Cureent File,观察此时的窗口

标题栏和项目层次图变化。

五、用作时序仿真,画出时序仿真波形图。(四位数据要求以总线形式显示)

六、选择器件,绑定引脚,设置下载接口,编程下载。以按键模拟数字输入,LED模拟

可编程逻辑电路原理实验指导书(学生用)

开关设置

S2-7,OFF L8-L1 不允许显示

实验注意事项:

本实验的教学录像仅供不熟练者参考,已掌握者可以放手自己操作。不应只是跟着录像走过场,而要真正理解MAX+plusⅡ这种EDA软件的设计流程,和层次化设计中的模块划分。实验过程大约需要3-4个小时,分两次进行。如果事先复习课上内容和书上有关章节,理清设计流程,可以节约时间,并且效果会更好。

实验报告要求:

1.提交程序,用三种结构体描述方法(行为、数据流、结构描述)给出一位全加器的VHDL语言描述。

2.作时序仿真,画出时序仿真波形图。(四位数据要求以总线形式显示)。

实验评分:

1.完成程序编译无误者,打C;

2.在上面的基础上,给出正确的时序仿真波形者,打B;

3.在上面的基础上,下载验证并可以正确解释相加结果者,打A。

实验二键盘扫描实验

实验目的:

熟悉VHDL的语法和编译排错,重点掌握组合逻辑中显示译码器的设计。附加学习键盘和数码管显示控制。

实验内容:

1.设计一个BCD码到LED的七段译码器DICEDIS,非BCD值时仅G段亮(输出为一。

2.下载验证键盘显示实验。

3.改写程序,将1-6的数据固定地显示在1-6位数码管上。

4.将F键功能改为换向键,即可以控制数字滚动显示的方向。

实验步骤:

1.用文本输入法,在键盘显示程序的译码部分,分别用三种语法填写BCD到LED的译码器。三种语法为When else、With select、Case,建议使用模板。每一种都需编译通过提交程序。

2.选一种语法,编译,绑定引脚,下载验证结果。

3.改写程序,将1-6的数据固定地显示在1-6位数码管上。编译、下载验证结果。

4.将F键功能改为换向键,即可以控制数字滚动显示的方向。编译、下载验证结果。

实验硬件图:

可编程逻辑电路原理实验指导书(学生用)

使用信号:适配卡连线如下表所示:

可编程逻辑电路原理实验指导书(学生用)

开关设置

S2-6,ON LED数码管允许显示

实验文件:(需要填写译码部分)

KEYSCAN时钟扫描程序

文件名:KEYSCAN.VHD

library IEEE;

use IEEE.std_logic_1164.all;

use IEEE.STD_LOGIC_ARITH.ALL;--算术运算库

use IEEE.STD_LOGIC_UNSIGNED.ALL;--非BIT类型的加减乘除

entity KEYSCAN is

port (

CLK1: in STD_LOGIC;

KEYIN1,KEYIN2: in STD_LOGIC;

LED_SA: out STD_LOGIC;

LED_SB: out STD_LOGIC;

LED_SC: out STD_LOGIC;

LED_A: out STD_LOGIC;

LED_B: out STD_LOGIC;

LED_C: out STD_LOGIC;

LED_D: out STD_LOGIC;

LED_E: out STD_LOGIC;

LED_F: out STD_LOGIC;

LED_G: out STD_LOGIC;

LED_DP: out STD_LOGIC);

end KEYSCAN;

architecture KEYSCAN_ARCH of KEYSCAN is

SIGNAL SEG : STD_LOGIC_VECTOR (6 DOWNTO 0); --段选缓存

SIGNAL SEL : STD_LOGIC_VECTOR (2 DOWNTO 0); --位选缓存

SIGNAL NUM : STD_LOGIC_VECTOR (3 DOWNTO 0); --显示数字号

SIGNAL COUNT : STD_LOGIC_VECTOR (4 DOWNTO 0); --时钟计数

SIGNAL COUNT0: STD_LOGIC;

Begin

--计数器模块

PROCESS (CLK1)

BEGIN

IF CLK1'event AND CLK1 = '1' THEN

COUNT <= COUNT+1;

END IF;

END PROCESS;

COUNT0 <= COUNT(0);

--键盘输入模块

PROCESS (count0,COUNT,KEYIN1,KEYIN2)

BEGIN

IF Count0'event and (COUNT0 = '1')THEN--锁存

IF (KEYIN1 = '0') and (COUNT(1) = '0') THEN-- --第一列

NUM(3)<= '0';

NUM(2 DOWNTO 0) <= COUNT(4 DOWNTO 2); --第二列

ELSIF (KEYIN2 = '0') AND (COUNT(1) = '0') THEN --COUNT(1)只起4分频延时作用NUM <='1' & COUNT(4 DOWNTO 2);

END IF;

END IF;

END PROCESS;

--COUNT(4 DOWNTO 2)为3-8译码输入,驱动LED的位选和扫描键盘的位线

SEL <= COUNT(4 DOWNTO 2);

--译码显示模块

--请编写八段数码显示管译码部分。输入NUM,输出SEG,七段编码顺序gfedcba

--译码部分完,输出到段选,同时选通位选端

LED_SA <= SEL(0);

LED_SB <= SEL(1);

LED_SC <= SEL(2);

LED_A <= SEG(0);

LED_B <= SEG(1);

LED_C <= SEG(2);

LED_D <= SEG(3);

LED_E <= SEG(4);

LED_F <= SEG(5);

LED_G <= SEG(6);

LED_DP <= '0';

end KEYSCAN_ARCH;

实验注意事项:

程序较大,结合电路理解很费时间,应事先预习。如果没有单片机键盘显示电路的前续知识,查找资料学习。

实验报告要求:

提交自己编写的那部分程序清单。

实验评分标准:

1.完成步骤1的评C.

2.完成步骤2的评B

3.完成步骤3或4的评A.

实验三交通灯实验

实验目的:

熟悉VHDL语言状态机的编程。设计逻辑电路,完成交通灯控制逻辑。

实验内容:

设计状态机程序控制交通灯的显示和切换。

实验步骤:

1.用文本输入法,使用状态机的模板,编辑交通灯程序。

2.编译,绑定引脚,下载验证结果。

使用信号和模块:

模块11(交通灯模块);模块17(脉冲和上下沿模块);模块18(脉冲源模块)

开关设置

S2-2,ON 交通灯显示

硬件电路图

可编程逻辑电路原理实验指导书(学生用)

主板连线:模块18的CLK1接1KHz

可编程逻辑电路原理实验指导书(学生用)

交通灯实验模块是采用红绿黄三种颜色的LED来模拟十字路口的交通灯状况。其中驱动对应关系如下表所示:

可编程逻辑电路原理实验指导书(学生用)

实验注意事项:

交叉路口上状态切换次序为(复位)红红-红绿-红黄-绿红-黄红-红绿。南北和东西分别对称。状态机靠时钟计数器推动。

实验报告要求:

提交自己编写的那部分程序清单。

实验评分标准:

1.完成步骤1的评B.

2.完成步骤2的评A

选修实验实验四A/D转换实验

实验目的:

熟悉软件使用,了解CPLD设计的过程。掌握A/D芯片接口技术,设计逻辑电路,完成A/D转换并把结果在LED上显示出来。

实验内容:

1.由调压电路模块提供模拟输入电压,或者通过模块2的IN2-7输入模拟电压;

1.由脉冲源提供电路的驱动时钟;

2.参考电源模块提供A/D芯片的基准电源;

3.开关输入决定转换的通道;

4.设计电路,完成A/D转换;

5.转换结果在输出指示模块输出。

使用信号和模块:

使用到模块1(调压电路模块)

模块2(A/D转换模块)。

模块3(参考电源模块)

模块12(输出指示模块)

模块18(脉冲源模块)

模块22(开关设置模块)

适配卡连线如下表所示:

可编程逻辑电路原理实验指导书(学生用)

开关设置

S2-7,ON L8-L1 允许显示

主板连线:模块18的CLK1接1KHz

实验五D/A转换实验

实验目的:

熟悉软件使用,了解CPLD设计的过程。掌握D/A芯片接口技术,设计逻辑电路,完成D/A转换并输出锯齿波。

实验内容:

1.由调压电路模块提供模拟输入电压,作为D/A输出的比较电压通过模块4显示输出结果;

2.由脉冲源提供电路的驱动时钟;

3.参考电源模块提供D/A芯片的基准电源;

4.设计电路,完成D/A转换;

5.转换结果用示波器观察,应该输出锯齿波。

6.调整模块1的RP5,能够看到模块4的LED闪动不同的占空比。

使用信号和模块:

使用到模块1(调压电路模块)

模块3(参考电源模块)

模块4(电源比较模块)

模块5(D/A转换模块)。

模块18(脉冲源模块)

模块22(开关设置模块)

适配卡连线如下表所示:

可编程逻辑电路原理实验指导书(学生用)

开关设置

S2-1-S2-7 OFF

主板连线:模块18的CLK1接1KHz,连接不同的频率,可以改变所产生锯齿波的频率。

实验六蜂鸣器实验

实验目的:

熟悉VHDL语言,掌握计数器和波形调制的编程,利用实验箱上蜂鸣器输出报警声。

实验内容:

1.设计VHDL程序,输出如下的波形。

可编程逻辑电路原理实验指导书(学生用)

(分频:如果用11.059MHZ的时钟,中音1(523.3HZ)对应的分频系数为11.059×106/(523.3×2)=0x2945。我们箱子上有5M和5M/10n的时钟)

2.下载程序,利用实验箱上蜂鸣器输出报警声。

使用信号和模块:

模块10(蜂鸣器模块)

模块18(脉冲源模块)

适配卡连线如下表所示:

可编程逻辑电路原理实验指导书(学生用)

开关设置

S2-1,ON 蜂鸣器开

主板连线:模块18的CLK1接时钟。

蜂鸣器原理图:当OUT19为高电平时蜂鸣器发声。

可编程逻辑电路原理实验指导书(学生用)

AEDK-EDA实验系统

实验七电子琴实验

实验目的:

练习综合设计能力,设计一个键盘控制的电子琴。

实验内容:

1.CLK1引入时钟信号;

2.设计一个键盘控制的电子琴的VHDL程序,利用实验箱上的时钟分频得到不同的乐音,并可以弹奏。附乐音表如下。

可编程逻辑电路原理实验指导书(学生用)

使用信号:

可编程逻辑电路原理实验指导书(学生用)

开关设置

S2-1,ON 蜂鸣器开

蜂鸣器原理图:当OUT19为高电平时蜂鸣器发声。

可编程逻辑电路原理实验指导书(学生用)

13

附录1 EDA-A3适配卡信号表(ALTERA EPM7128SLC84)

可编程逻辑电路原理实验指导书(学生用)

14

AEDK-EDA实验系统

可编程逻辑电路原理实验指导书(学生用)

* 如使用Quartus II 4.0加载,不需要进行编译,如进行编译,则输入/输出信号与芯片脚的连接应根据pin文件进行设置进行。

15

附录2 EDA实验系统介绍

该系统由实验机结合可编程技术开发而成。适用于Xilinx,Lattice,Altera等多种芯片教学实验。可使用ABLE,VHDL,原理图,状态图多种方式设计,通过实验加深对前后级仿真结果的印象。

AEDK-EDA实验系统具有如下特点:

性能特点

1,从基本组合、时序逻辑到键盘、时钟、秒表计时等多种综合;

2,骰子,交通信号灯和LED点阵,数码管等综合实验;

3,A/D,D/A转换,步进电机,直流马达驱动控制接口;

4,备有89C52,LCD液晶,62256,27256等模块供使用;

5,适用于Xilinx,Lattice,Altera等多种芯片;

6,可使用ABLE,VHDL,原理图,状态图多种方式设计,通过实验加深对前后级仿真结果的印象。

实验项目

●简单组合逻辑

●交通灯控制器

可编程逻辑电路原理实验指导书(学生用)

●LED译码器

●电子秒表/数字钟

●扫描数码显示器

●骰子游戏

●点矩阵LED

●键盘扫描

●A/D实验

●D/A实验

●8951/8051单片机实验

●阶梯波等发生器

●8*8 字符显示

●LCD实验

●直流电机,步进电机

●4位二进制加法器

●乐曲实验

16

AEDK-EDA 实验系统

可编程逻辑电路原理实验指导书(学生用)

可编程逻辑电路原理实验指导书(学生用)

17

实验箱布局