1、第三篇 电子线路EDA实验,信息工程学院 吴友宇,电子线路EDA,第三篇 Quartus II平台与实验,EDA实验箱组成 CPLD适配器板 8位7段数码显示单元 点阵显示单元 拨码开关单元 按键单元、 20M时钟源(clock) JTAG下载接口 LED显示单元 D/A转换单元、单片机单元、功能扩展区域、存储器单元(2864)、逻辑电平单元、电压比较器单、模拟量输出单元(蜂鸣器)、信号源、电源单元结构。,电子线路EDA,第三篇 Quartus II平台与实验,开放型实验箱组成,第三篇 Quartus II平台与实验,可编程逻辑器件Cyclone系列EP1C3T144C8,20M 时钟源,JT
2、AG 下载口,电源电路,AS下载口,LED指示灯,复位按键,下载适配器,电子线路EDA,第三篇 Quartus II平台与实验,核心板,交通灯显示,8位 共阴7段数码管,8位LED显示,电源开关,LCD显示,拨码开关,按键开关,点阵显示模块,电子线路EDA,第三篇 Quartus II平台与实验,核心板,模数转换,PS/2,音频输出,温度采集,数模转换,串口通信,VGA显示,电子线路EDA,第三篇 Quartus II平台与实验,8位LED数码管a、b、c、d、e、f、g、dp段并联连接。 8位LED数码管共用同一个数据口。必须采用动态扫描方式 显示。,8位数码管段选码并接在一起 段选码并行输
3、入,位选信号输入口,位选38译码器 75138,电子线路EDA,第三篇 Quartus II平台与实验,时钟电路采用的是20M的有源晶振,送入FPGA的全局时钟网络。 时钟输入管脚锁定p16。 为了满足特定电子系统的需求,需要设计分频器将频率20M时钟变为系统所需要的时钟。,20M有源晶振Oscillator,实验一 Quartus II开发环境入门,信息工程学院 吴友宇,电子线路EDA,实验一 Quartus II开发环境入门,实验目的 了解QuartusII软件及基本操作(以发光二极管LED静态显示为例) 熟悉图形编辑器Block Builder/Schematic File的设计输入 掌
4、握电路的编译和适配 掌握电路仿真与时序分析,电子线路EDA,实验一 Quartus II开发环境入门,实验步骤 设计输入 软件启动,电子线路EDA,实验一 Quartus II开发环境入门,新建工程文件夹 任何一项设计都是一项工程(Project),首先应为工程建立一个放置所有相关的文件的文件夹。此文件夹将被EDA软件默认为工作库(Work Library),不同的设计项目最好放在不同的文件夹中,而同一工程的所有文件必须放在同一文件夹中。,电子线路EDA,实验一 Quartus II开发环境入门,新建工程 选择菜单“File”“New Preject Wizard”,即弹出创建工程对话框。,电
5、子线路EDA,实验一 Quartus II开发环境入门,芯片选择选择实验箱上的芯片 Cyclone系列的EP1C6Q240C8 或者7000S系列的EPM7128SLC84-15芯片; 或者FPGA芯片EPFl0K20 TC144-4 多次点击next。当设计者看到工程文件配置信息报告时,点击Finish完成新建工程的建立,电子线路EDA,实验一 Quartus II开发环境入门,新建图形设计文件 选择File/New或点击主菜单中的空白图标,进入新建文件状态,电子线路EDA,实验一 Quartus II开发环境入门,选择图形编辑器输入方式Block Diagrams /Schematics
6、Files,单击OK按钮,打开原理图编辑器,电子线路EDA,实验一 Quartus II开发环境入门,设计的输入(放置元件、标记输入/输出端口、器件连线、保存原理图、设置此项目为当前文件)。以3/8线译码器为例说明:,输入端口INPUT 反相器(3个) 3输入与门(8个) 输出端口OUTPUT,电子线路EDA,实验一 Quartus II开发环境入门,电子线路EDA,实验一 Quartus II开发环境入门,保存原理图 单击保存按钮图标,对于新建文件,出现类似文件管理器的图框,请选择保存路径、文件名称保存原理图,原理图的扩展名为.bdf,电子线路EDA,实验一 Quartus II开发环境入门
7、,电路的编译与适配 点击AssignmentsDevice菜单选择芯片,芯片选择 选用CPLD芯片7000S系列的EPM7128SLC84-15芯片; 选用FPGA芯片EPFl0K20 TC144-4来实现; 选用Cyclone系列的EP1C6Q240C8。 选用Cyclone系列的EP1C3T144C8。 在Device & Pin Options对话框中选择Unused Pins标签页进行设置,将未使用管脚设置为高阻输入,电子线路EDA,实验一 Quartus II开发环境入门,编译适配 点击Project Navigator窗口中的Files标签下的decoder38文件单击鼠标右键,在
8、弹出菜单中点击Set as Top-Level-Entity设置此文件为顶层文件。,电子线路EDA,实验一 Quartus II开发环境入门,编译适配 启动Processing Start Compilation菜单,或点击主菜单下的快捷键,开始编译,并显示编译结果,生成下载文件。,电子线路EDA,实验一 Quartus II开发环境入门,电路仿真与时序分析 功能仿真 选择(FileNew)命令,打开新建文件对话框,在新建对话框中选择Other Files,从中选择Vector Waveform File,点击OK建立一个空的波形编辑器窗口。点击FileSave as改名为decode38.v
9、wf并保存。,电子线路EDA,实验一 Quartus II开发环境入门,电路仿真与时序分析 功能仿真 添加节点 选择仿真时间 为电路输入端口添加激励波形 保存激励信号编辑结果:使用FileSave,注意此时的文件名称不要随意改动,单击OK按钮保存激励信号波形。 电路仿真。选择ProcessinglSimulator Tool命令 选择仿真文件decode38,然后选择功能仿真Functional,点击Generate Functional Simulation Netlist生成仿真网表。同时将overwrite simulation input file with simulation re
10、sults选项打钩。点击Start开始仿真,最后点击Open打开仿真后的波形文件。,电子线路EDA,实验一 Quartus II开发环境入门,器件编程下载与硬件实现 实验箱电路板上的连线 器件的编程下载,电子线路EDA,实验一 Quartus II开发环境入门,用硬件描述性语言VHDL完成3-8译码器设计 新建文件 选择Text Editor file点击OK 生成设计项目文件,设置为当前项目 键入程序 保存为.vhd文件,然后进行编译适配即可。其它操作都与原理图设计输入相同。,电子线路EDA,实验一 Quartus II开发环境入门,- A simple 3 to 8 decoder lib
11、rary ieee; use ieee.std_logic_1164.all;entity decoder isport ( inp: in std_logic_vector(2 downto 0);outp: out std_logic_vector(7 downto 0); end decoder;architecture behave of decoder is begin outp(0) = 1 when inp = “000“ else 0; outp(1) = 1 when inp = “001“ else 0; outp(2) = 1 when inp = “010“ else
12、0; outp(3) = 1 when inp = “011“ else 0; outp(4) = 1 when inp = “100“ else 0; outp(5) = 1 when inp = “101“ else 0; outp(6) = 1 when inp = “110“ else 0; outp(7) = 1 when inp = “111“ else 0; end behave;,实验二 全加器设计,信息工程学院 吴友宇,电子线路EDA,实验二 全加器设计,实验目的 1. 设计并实现一个全加器; 2. 掌握布尔方程的结构体编程方法; 3. 掌握with select when结
13、构体编程方法; 4. 掌握when else 结构体编程方法; 5. 掌握顺序语句if then else 和 case when结构体编程方法。,电子线路EDA,实验二 全加器设计,实验原理 全加器输入端有:数据输入端Ai、Bi;低位进位输入端Ci-1。其输出端有和Si和向高位进位Ci。,电子线路EDA,实验二 全加器设计,其逻辑功能是,电子线路EDA,实验二 全加器设计,实验步骤 1、使用并行语句布尔方程实现全加器; 2、使用并行语句真值表with select when实现全加器; 3、使用并行语句真值表when else 实现全加器; 4、使用顺序语句真值表if then else 实
14、现全加器 5、使用顺序语句真值表case when实现全加器。,实验三 触发器及计数器设计,信息工程学院 吴友宇,电子线路EDA,实验三 触发器及计数器设计,实验目的 1. 掌握用VHDL语言设计时序电路。 2. 用VHDL语言设计D锁存器。 3. 用VHDL语言设计JK触发器。 4. 用VHDL语言设计一个十进制可预置计数器。,电子线路EDA,实验三 触发器及计数器设计,实验原理 1. 锁存器。正跳沿触发的触发器的电路符号如下图所示。它是一个正边沿触发的D触发器,有一个数据输入端D,一个时钟输入端CLK和一个数据输出端Q。,电子线路EDA,实验三 触发器及计数器设计,实验原理 D锁存器的真值
15、表如下表所示。从表中可以看到,D锁存器的输出端只有在正边沿脉冲过后,输入端D的数据才可以传递到输出端Q,电子线路EDA,实验三 触发器及计数器设计,2. JK触发器。带有复位/置位功能的触发器电路符号如下图所示。JK触发器的输入端有置位输入端SD(低电平有效),复位输入端RD(低电平有效),数据输入端J和K,时钟输入端CLK;输出端Q和反向输出端QB。,电子线路EDA,实验三 触发器及计数器设计,JK触发器的真值表,电子线路EDA,实验三 触发器及计数器设计,3. 十进制可预置计数器 计数器是最常用的寄存器逻辑电路,从微处理器的地址发生器到频率计都需要用到计数器。一般计数器分为两类:加法计数器
16、和减法计数器。加法计数器每来一个脉冲计数值加1;减法计数器每来一个脉冲计数值减1。,电子线路EDA,实验三 触发器及计数器设计,十进制可预置计数器功能表,电子线路EDA,实验三 触发器及计数器设计,实验内容 1. 用VHDL语言设计D锁存器,并仿真和调试。 2. 用VHDL语言设计JK触发器,并仿真和调试。 3. 用VHDL语言设计一个十进制可预置计数器,并仿真和调试。,实验四 动态扫描显示电路设计,信息工程学院 吴友宇,电子线路EDA,实验四 动态扫描显示电路设计,实验目的 1. 了解EDA实验箱中七段数码管显示模块的工作原理。 2. 用VHDL语言设计七段译码器,用VHDL语言设计一个八进
17、制计数器 3. 利用实验箱上的3/8线译码器实现数码管的位选。 4. 掌握用VHDL语言实现动态扫描显示电路的顶层连线。,电子线路EDA,实验四 动态扫描显示电路设计,实验原理 一个动态扫描电路由计数器、译码显示驱动器、3/8线译码器及7段数码管组成,电子线路EDA,实验四 动态扫描显示电路设计,实验内容 1. 用拨码开关产生8421BCD码,用CPLD产生字形编码电路和扫描驱动电路,然后进行仿真,观察波形,正确后进行设计实现,适配化分配。调节时钟频率,感受“扫描”的过程,并观察字符亮度和显示刷新的效果。 2. 编一个简单的从0F轮换显示十六进制数的电路。,实验五 综合层次性实验 交通灯设计,
18、信息工程学院 吴友宇,电子线路EDA,实验五 综合层次性实验交通灯设计,实验目的 1. 设计一个交通灯控制器; 2. 显示十字路口东西南北两个方向的红、黄、绿的指示状态; 3. 实现正常的倒计时功能,并用数码管显示倒计时剩余时间。,电子线路EDA,实验五 综合层次性实验交通灯设计,实验说明 本实验属于综合性实验。设计一个交通灯控制器,能显示十字路口东西南北两个方向的红、黄、绿的指示状态;能用共阴极数码管动态扫描显示倒计时的剩余时间。本实验由学生自行设计方案加以实现。 由于该项目的设计的工作量大,4学时的实验时间难以满足教学要求;因此,在教学中提前1周布置实验任务,按照1:1的学时在课下由学生进
19、行方案准备、基本模块的设计和总体设计,在课上完成调试,在实验箱上验证设计成果。为提倡和督促学生人人动手动脑、用于实践,整个实验过程为1人/组。,电子线路EDA,实验五 综合层次性实验交通灯设计,实验内容 利用实验箱的红黄绿发光二极管代替相应颜色的交通灯;利用实验箱的七段数码管显示倒计时剩余时间;利用实验箱的拨码开关实现复位;利用实验箱的时钟源作为交通信号灯控制器。用VHDL语言实现交通灯控制器,用功能仿真的方法验证,通过观察有关波形确认电路设计是否正确。,电子线路EDA,实验五 综合层次性实验交通灯设计,实验原理 交通信号灯的工作过程:东西向红黄绿灯工作状态完全相同,南北向红黄绿灯完全相同。
20、东西向为主干道,绿灯亮时间为60秒,并显示其剩余时间;南北向为辅干道,绿灯亮时间为35秒,并显示其剩余时间; 灯亮变化规律为绿变黄(3秒),黄变红,红变绿。,电子线路EDA,实验五 综合层次性实验交通灯设计,实验原理 该实验电路由时钟电路、分频器、交通灯控制状态机、动态扫描显示和计时器电路构成。 分频器将时钟电路变换成1Hz的时钟供给计时器电路使用,同时将时钟分频为200Hz以上供8个数码管(可以使用两位数码管)动态扫描使用,保证每个数码管1秒钟被点亮24次以上。,电子线路EDA,实验五 综合层次性实验交通灯设计,交通灯控制器状态表,电子线路EDA,实验五 综合层次性实验交通灯设计,实验报告要
21、求 1. 写出交通灯控制器的VHDL源程序,用层次化设计方法设计该电路; 2. 在本次实验时序逻辑电路的VHDL语言编程中,仿真中是否出现错误提示,具体的提示有哪些,你是如何改正的? 3. 实验箱进行功能验证时是否正确,如不正确你是怎样解决的?,实验六 综合层次性实验 数字钟设计,信息工程学院 吴友宇,电子线路EDA,实验六 综合层次性实验数字钟设计,实验目的 1. 设计一个多功能数字钟; 2. 能实现时(24进制)、分(60进制)、秒(60进制)的计时功能; 3. 能用数码管显示时(24进制)、分(60进制)、秒(60进制)的计时数据; 4. 能实现“校时”“校分”功能。 5. 能实现整点报
22、时功能。 6. 选作闹钟功能。,电子线路EDA,实验六 综合层次性实验数字钟设计,实验内容及说明 本实验属于综合性实验。 设计一个数字钟,用六位共阴极数码管采用动态扫描方式显示时(24进制)、分(60进制)、秒(60进制);该数字钟具有“校时”“校分”功能;选作整点报时功能。 本实验由学生自行设计方案设计数字钟的逻辑结构并实现每个逻辑功能块。,电子线路EDA,实验六 综合层次性实验数字钟设计,实验原理 多功能数字钟由信号发生器、分频器、计时电路、译码驱动电路、显示电路、校准电路和整点报时电路组成。,电子线路EDA,实验六 综合层次性实验数字钟设计,实验原理 计时器:其工作原理是当秒计数器计数达
23、59时,再来一个秒脉冲,秒计数器清零,秒进位信号为“1”向分计数器提供分秒冲,分计数器加“1”。 当分计数器计数达59时,且秒计数器计数达59时,再来一个秒脉冲,分、秒计数器清零,分进位信号为“1”向时计数器提供时秒冲,时计数器加“1”。 当时计数器计数达23时,分计数器计数达59时,且秒计数器计数达59时,再来一个秒脉冲,时、分、秒计数器清零。,电子线路EDA,实验六 综合层次性实验数字钟设计,校准电路:校准电路由按键、按键消抖电路、校时控制电路、校分控制电路、秒清零电路组成。当校时按键ch按下时,计时器迅速递增(2Hz脉冲),并按24进制循环,计满23小时后回“00”; 当校分按键cm按下
24、时,计分器迅速递增(按秒脉冲),并按60进制循环,计满59分钟后回“00”,但不向“时”进位。当秒清零按键cs按下时,秒清零。,电子线路EDA,实验六 综合层次性实验数字钟设计,按键消抖:常用的非编码键盘,每个键都是一个常开开关电路。通常的按键所用开关为机械弹性开关,在闭合及断开的瞬间均伴随有一连串的抖动,如图3-6-1所示。抖动时间的长短由按键的机械特性决定,一般为5ms10ms。键抖动会引起一次按键被误读多次。 为确保电路对按键的一次闭合仅作一次处理,必须去除键抖动。按键消抖有硬件或软件两种方法。 硬件消抖:可用RS触发器。 软件消抖:检测出键闭合后执行一个延时程序,产生5ms10ms的延
25、时,再次检测键的状态,如果仍保持闭合状态电平,则确认为真正有键按下。当检测到按键释放后,也要给5ms10ms的延时,待后沿抖动消失后才能转入该键的处理程序。,电子线路EDA,实验六 综合层次性实验数字钟设计,整点报时电路: 当计时到达5950”时开始报时,在5950”、5952”、5954”、5956”、5958”鸣叫,鸣叫声频为500Hz;当计时到达5960”时为最后一声整点报时,整点报时鸣叫声频为1000Hz。,电子线路EDA,实验六 综合层次性实验数字钟设计,实验报告要求 1. 画出顶层原理图; 2. 写出各功能模块的VHDL语言源文件; 3. 说明按键消抖电路的工作原理,画出有关波形; 4. 若设计一个闹钟电路,详述其工作原理,绘出详细电路或框图,并写出VHDL语言源文件; 5. 在本次实验时序逻辑电路的VHDL语言编程中,仿真中是否出现错误提示,具体的提示有哪些,你是如何改正的? 6. 实验箱进行功能验证时是否正确,如不正确你是怎样解决的?,