EDA技术与VHDL设计(西电版)第9章-数字电子系统设计及典型实例课件.ppt
《EDA技术与VHDL设计(西电版)第9章-数字电子系统设计及典型实例课件.ppt》由会员分享,可在线阅读,更多相关《EDA技术与VHDL设计(西电版)第9章-数字电子系统设计及典型实例课件.ppt(140页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1第9章 数字电子系统设计及典型实例 第9章 数字电子系统设计及典型实例 9.1 数字电子系统的构成 9.2 数字电子系统设计基本流程 9.3 数字电子系统设计实例 2第9章 数字电子系统设计及典型实例 9.1 数字电子系统的构成数字电子系统通过数字电路逻辑器件,以数字方式对信息进行处理、传送或存储,来实现其特定的、复杂的功能。从功能上,数字电子系统通常可以分为系统接口、数据处理器和控制器三个部分,如图9-1 所示。3第9章 数字电子系统设计及典型实例 图9-1 数字电子系统的构成 4第9章 数字电子系统设计及典型实例 其中,系统接口是完成将物理量转化为数字量或将数字量转化为物理量的功能部件,
2、例如键盘、打印机、音响系统、显示系统等;数据处理器的主要功能是实现对数字信息的处理,在接受控制命令,执行相应动作的同时,还将自身的状态反馈给控制部分,其逻辑功能常常可分解为若干个子处理单元来完成,例如译码器、运算器等;控制器的功能则是接收外部输入信号,以及数据处理器反馈的信号,管理各个子系统的局部及整个系统按规定顺序工作。5第9章 数字电子系统设计及典型实例 6第9章 数字电子系统设计及典型实例 9.2 数字电子系统设计基本流程在现代电子系统设计领域,EDA 技术已经成为电子系统设计的重要手段。基于EDA 技术及VHDL 的数字电子系统是采用自顶向下和层次化结构建模的方法来进行设计的,其基本的
3、设计流程如下:7第9章 数字电子系统设计及典型实例 1分析设计要求进行数字电子系统设计,首先要正确理解项目的任务、要求和指标。例如:设计一个数字电子钟系统,需要理解数字电子钟的基本功能,工作原理,输入、输出端口,显示方式,测试精度等相关知识,这些基本概念是提出设计方案的前提和依据,也是完成整个设计任务的关键。相关设计项目的技术资料可以通过搜寻相关网站或查阅参考文献完成。8第9章 数字电子系统设计及典型实例 2确定方案根据设计任务的总体框架、技术指标,找出可以实现设计任务的不同方案,然后从可行性、性能价格比、复杂度、可靠性、通用性、扩展性、工作速度、所需器件的资源、成本等多方面进行分析、计算和比
4、较,选择出合适、高效、稳定的设计方案。在方案确定中,需要考虑的一个关键因素是系统实现的最终硬件环境,也就是CPLD/FPGA 器件的选型。选型一般采取两步走的方式:首先采用CPLD/FPGA 适配板或开发板来实现既定功能,在设计项目确保验证无误后,再转化成实际的电子系统。9第9章 数字电子系统设计及典型实例 10第9章 数字电子系统设计及典型实例 3细化设计方案确定设计方案后,需要把设计项目分解成若干个功能清晰、易于设计的模块,构成层次化设计方案的结构框图,再将结构框图从粗至细,步步细化,直到每个模块易于实现为止。要明确每一个模块的基本功能(任务)、输入/输出端口以及各模块间的接口信号、控制关
5、系,使之合情合理,满足设计要求。11第9章 数字电子系统设计及典型实例 4.设计模块电路设计模块电路时,首先需明确各模块的工作原理、设计思路。根据实际需要,可选取原理图或HDL 语言描述方式来实现。一个好的设计构思,应简单明了、结构清晰、易于扩充,这不仅能提高设计效率,而且能有好的设计方案。每完成一个模块设计,都要进行仿真测试,检验每一个模块能否实现预定的技术指标,及时发现问题并予以修正,确保设计工作顺利进行。12第9章 数字电子系统设计及典型实例 13第9章 数字电子系统设计及典型实例 7硬件验证进行硬件验证的目的,一方面是实际检验目标芯片的逻辑功能,另一方面是检验系统电路的响应速度、带载能
6、力、抗干扰能力、电能损耗等多项性能指标。只有对目标芯片编程下载成功并通过了硬件验证的设计项目才会是合格的项目。当然,对于不同的设计项目,进行硬件验证的方式、方法、手段都可能有所不同。8文件归档和撰写设计总结报告当硬件测试结果符合设计要求后,最后的工作即是文件归档和撰写设计总结报告。文件归档指将所有设计文件归纳整理,删除不必要的中间文件,保留最终版本的设计文件。14第9章 数字电子系统设计及典型实例 15第9章 数字电子系统设计及典型实例 9.3 数字电子系统设计实例本节以数字跑表的设计、交通信号灯控制系统的设计以及离线误码检测仪的设计共三个实例来进一步说明数字电子系统的设计。9.3.1 数字跑
7、表的设计1设计要求数字跑表是体育比赛中常用的计时仪器。它使用简单、携带方便,通过按键控制计时的起点和终点,其主要技术指标是计时精度和计时范围。16第9章 数字电子系统设计及典型实例 本例设计的数字跑表计时精度为10毫秒,计时范围为0分00秒00毫秒59分59秒99毫秒,具有复位、开始计时、停止计时及显示等功能。2确定方案通过对设计要求的分析可以看出,数字跑表的核心功能就是控制、计时和显示。计时功能可以通过计数器来实现,显示功能可以通过对8位数码管扫描控制来实现;而复位、开始计时、停止计时功能实际上是对计数器进行控制,可通过按键输入信号控制计数器是否清零、是否开始或停止计数来实现。由此可得出数字
8、跑表的系统总体设计框图,如图9-2所示。17第9章 数字电子系统设计及典型实例 18第9章 数字电子系统设计及典型实例 数字跑表的硬件验证环境可以先采用FPGA/CPLD 适配板或开发板,当设计无误后,再选用最合适的芯片,设计PCB 板来最终实现。下面将EDA 综合实验箱作为开发平台进行设计。(1)核心部分:由FPGA 器件Cyclone 系列EP3C10E144C8 实现所有的逻辑功能。(2)输入部分:以EDA 综合实验箱提供的40 MHz 的晶振时钟作为输入时钟信号,按需要进行不同的分频;使用EDA 核心板上的按键SW0和SW1分别作为复位和开始计时/停止计时信号。(3)输出部分:采用8位
9、七段数码管分别对分、秒、百分之一秒进行显示,其格式如图9-3 所示。19第9章 数字电子系统设计及典型实例 图9-3 数字跑表输出格式 20第9章 数字电子系统设计及典型实例 3.细化设计方案根据数字跑表的计时、控制、显示这三个功能,可以把FPGA 设计方案进一步细化,按照功能来分割模块。(1)计时功能:由稳定、准确的输入计数时钟和计数模块来实现。考虑到设计指标要求跑表精度为0.01秒,那么计数器的时钟输入就应该是频率为100 Hz 的脉冲,但EDA 综合实验箱提供的时钟晶振是40 MHz,不能直接使用。所以要先设计一个分频系数是400000的分频器,该分频器的输出才能作为计数器的最低位的计数
10、时钟信号。其次,计数模块设计应考虑跑表的计时范围(0 分0秒00毫秒59分59秒99毫秒)。可以看出,需要6位计数输出,其中有两位是六进制形式(分和秒的十位),其余四位是十进制形式,即可通过4个模10计数器和2个模6计数器来实现,其中低一级的进位输出就是高一级的计数时钟信号。计数器模块构成如图9-4 所示。21第9章 数字电子系统设计及典型实例 图9-4 计数器模块构成图 22第9章 数字电子系统设计及典型实例(2)按键控制功能:通过开始计时/停止计时、复位两个按键来控制计数器的工作状态。复位按键端口直接接到计数器的清零端rst即可实现复位。开始计时/停止计时按键可通过控制计数器的使能端en
11、来实现对计数器的控制,当en 取值为“0”时,计数器开始计数;反之,则停止计数。但是此按键输入需要先经过消抖处理,否则容易误判按键键值;然后再进行信号转化。23第9章 数字电子系统设计及典型实例 24第9章 数字电子系统设计及典型实例 图9-5 数字跑表的原理框图 25第9章 数字电子系统设计及典型实例 4模块设计1)时钟分频模块时钟分频模块的功能是将实验箱提供的40MHz 的晶振信号进行分频,产生用于数码管扫描的1kHz 的扫描时钟clk_s,以及用于计数器模块进行计数的100Hz 的计数时钟clk_c。时钟分频模块的VHDL 源代码见例9-1,仿真结果见图9-6。26第9章 数字电子系统设
12、计及典型实例【例9-1】27第9章 数字电子系统设计及典型实例 28第9章 数字电子系统设计及典型实例 图9-6 分频模块仿真波形 29第9章 数字电子系统设计及典型实例 2)计数模块计数模块由4个十进制计数器和2个六进制计数器构成,低一级的计数进位信号作为高一级的计数器的时钟信号,结构如图9-4 所示。这里先分别构造十进制计数器(见例9-2)和六进制计数器(见例9-3)。图9-7 是十进制计数器的仿真结果,图9-8 是六进制计数器的仿真结果。30第9章 数字电子系统设计及典型实例 31第9章 数字电子系统设计及典型实例 32第9章 数字电子系统设计及典型实例 图9-7 十进制计数器仿真结果
13、33第9章 数字电子系统设计及典型实例【例9-3】34第9章 数字电子系统设计及典型实例 35第9章 数字电子系统设计及典型实例 图9-8 六进制计数器仿真结果 36第9章 数字电子系统设计及典型实例 在计数器设计完成后就可以直接调用它们完成计数模块的设计,可以采用原理图的形式或VHDL 元件例化的形式。图9-9 采用原理图的形式调用计数器,例9-4 采用元件例化的形式调用计数器。计数器元件图如图9-10 所示,有3个输入端和6个计数输出端。计数器总体设计仿真结果见图9-11 和图9-12。37第9章 数字电子系统设计及典型实例【例9-4】38第9章 数字电子系统设计及典型实例 39第9章 数
14、字电子系统设计及典型实例 图9-9 计数模块设计原理图 40第9章 数字电子系统设计及典型实例 图9-10 计数器元件图 41第9章 数字电子系统设计及典型实例 图9-11 计数模块仿真结果(1)42第9章 数字电子系统设计及典型实例 图9-12 计数模块仿真结果(2)43第9章 数字电子系统设计及典型实例 3)显示控制模块显示控制模块的目的是控制数码管按设计要求正确显示计时结果。数码管以发光二极管作为字段来进行显示,分为共阴和共阳两种,其差别在于:共阴数码管的发光二极管的阴极连接在一起,而阳极对应各段分别控制;共阳数码管则刚好相反,发光二极管的阳极连接在一起,阴极对应各段分别控制。5.5.4
15、节中已对数码管电路和显示编码进行了讲解,这里不再赘述。44第9章 数字电子系统设计及典型实例 EDA 综合实验箱采用共阴数码管,且8位数码管的段选信号是连接在一起的,即只能采用动态扫描的形式进行显示。位选信号以一定的扫描速度依次选通数码管,即驱动数码管轮流进行显示,利用发光二极管的余辉与人眼的视觉暂存作用,使人眼感觉数码管是同时进行显示的。显示控制模块可分为两个子模块:译码子模块和扫描子模块。译码子模块实现4位二进制计数结果与对应数码管各段编码的转换;扫描子模块则通过1 kHz 的扫描信号依次选中数码管,并决定该位数码管显示的数字。45第9章 数字电子系统设计及典型实例(1)译码子模块。译码子
16、模块将输入的4位二进制计数结果转化为对应的数码管编码,VHDL 代码见例9-5。其仿真结果如图9-13 和图9-14 所示。由图9-14 可以看出,当输入数字是除09以及分隔符外,均不显示。46第9章 数字电子系统设计及典型实例【例9-5】47第9章 数字电子系统设计及典型实例 48第9章 数字电子系统设计及典型实例 图9-14 译码子模块仿真结果(2)图9-13 译码子模块仿真结果(1)49第9章 数字电子系统设计及典型实例(2)扫描子模块。扫描子模块利用时钟分频模块产生的分频输出信号clk_s 作为扫描信号,依次选中每个数码管,控制位选信号。同时还决定当不同数码管选中时,该数码管显示哪一位
17、计数结果,如分高位mh、分低位ml 等。扫描子模块VHDL 代码见例9-6,仿真结果见图9-15。50第9章 数字电子系统设计及典型实例【例9-6】51第9章 数字电子系统设计及典型实例 52第9章 数字电子系统设计及典型实例 图9-15 扫描子模块仿真结果 53第9章 数字电子系统设计及典型实例(3)显示控制模块总体设计。显示控制模块由译码子模块和扫描子模块组成,可采用 VHDL 例化语句(见例9-7)或原理图的形式将它们连接起来。原理图的形式请读者自行完成。显示控制模块元件如图9-16 所示。54第9章 数字电子系统设计及典型实例【例9-7】55第9章 数字电子系统设计及典型实例 56第9
18、章 数字电子系统设计及典型实例 图9-16 显示控制模块元件图 57第9章 数字电子系统设计及典型实例 4)使能控制模块由于使能按键信号是单个脉冲信号,而计数器要持续计数所需的使能信号是持续的电平,因此,使能控制模块的功能是对输入的开始计时/停止计时按键信号进行处理,使之变成能直接控制计数器模块的使能信号。另外,由于按键是一种机械开关(单个按键工作原理见图9-17),核心部件是弹性金属簧片,在开关切换的瞬间(即按键开关按下或松开时)会在触点出现来回弹跳的现象,如图9-18 所示。弹跳现象引起的信号抖动会造成电路的误判,从而影响系统的正确性。一般而言,抖动的时间是510 ms。所以,使能控制模块
19、首先需要对按键信号进行消除抖动处理,然后再完成信号的转换。58第9章 数字电子系统设计及典型实例 图9-17 按键工作原理 59第9章 数字电子系统设计及典型实例 图9-18 按键抖动波形 60第9章 数字电子系统设计及典型实例 消除按键抖动有多种方法,如:计数器型消抖、D 触发器型消抖、状态机消抖等。由于篇幅有限,这里不再详细阐述,可参考EDA 技术与VHDL 设计实验指导一书实验9。例9-8 采用计数器型消抖的方法来消除按键的抖动。计数时钟采用时钟分频模块的1 kHz 分频输出信号clk_s,即一次计数周期为1 ms,从0计数到15共计数16次,延时时间16 ms,满足抖动时间要求。仿真结
20、果见图9-19 和图9-20。消除抖动后,按下一次按键key_en,输出使能端en_out 为“1”,再按下一次,en_out 为“0”。61第9章 数字电子系统设计及典型实例【例9-8】62第9章 数字电子系统设计及典型实例 63第9章 数字电子系统设计及典型实例 图9-20 使能控制模块仿真结果(2)图9-19 使能控制模块仿真结果(1)64第9章 数字电子系统设计及典型实例 5顶层电路设计将时钟分频、计数器、显示控制以及使能控制4个模块连接起来,即可构成顶层电路。顶层电路设计既可采用原理图的形式,如图9-21 所示;也可采用VHDL 元件例化的形式。请读者自行完成元件例化实现的顶层电路设
21、计。顶层电路的仿真与各功能模块的仿真类似,但由于时钟初值为40 MHz,与仿真时间(几秒)相差过大,导致仿真速度过慢,这里不再展示顶层原理仿真结果。65第9章 数字电子系统设计及典型实例 图9-21 数字跑表顶层电路原理图 66第9章 数字电子系统设计及典型实例 6适配下载系统设计在完成逻辑描述与仿真测试并确认达到设计要求后,需要下载到含有目标芯片的开发系统上,进行硬件验证。本例采用EDA 综合实验箱,选用Altera 公司的Cyclone 系列EP3C10E114C8 作为FPGA 目标芯片,外部输入时钟为40 MHz,清零、开始计时/停止计时按键采用实验箱核心板上的SW0、SW1两个按键,
22、利用8个数码管显示计时输出。EDA 综合实验箱共有07共8个模式,其中模式04是单片机模式,模式57是可编程逻辑器件模式,本例采用模式5,电路结构如图9-22 所示。可以看到,模式5包含8位数码管、8个发光二极管、3个时钟输入、独立按键SW0SW7、矩阵按键等硬件资源。具体引脚锁定见表9-1。67第9章 数字电子系统设计及典型实例 图9-22 EDA 综合实验箱模式5电路结构 68第9章 数字电子系统设计及典型实例 表9-1 数字跑表引脚锁定 69第9章 数字电子系统设计及典型实例 7硬件验证硬件验证主要有两方面的工作:其一,检查按键功能是否满足要求;其二,观察数码管输出是否正确,是否达到预定
23、要求。经测试,本例设计能够达到要求,计时结果如图9-23 所示。70第9章 数字电子系统设计及典型实例 图9-23 硬件验证结果 71第9章 数字电子系统设计及典型实例 8撰写设计报告当硬件测试结果满足要求后,就需要撰写设计总结报告以对整个设计过程进行总结。报告内容包括:概述、任务书(设计要求)、目录、方案论证、系统电路设计、模块电路设计、成员分工及进度、结论与收获、参考文献等。设计报告有利于设计者总结设计过程,提升设计能力,也有利于其他设计者了解项目设计。72第9章 数字电子系统设计及典型实例 9.3.2 十字路口交通信号灯控制系统的设计1设计要求某个道路十字路口,在东西、南北两个方向设置红
24、(R)、绿(G)、黄(Y)及左拐(L)四盏信号灯。绿灯亮时,准许车辆通行;黄灯亮时,已越过停止线的车辆可以继续通行;红灯亮时,禁止车辆通行;左拐灯亮时,车辆允许左拐通行。四盏灯按合理的顺序亮灭,并将灯亮的时间以倒计时显示出来。南北方向是主干道,车流量大,因此南北方向通行的时间比东西方向要长一些。交通灯信号系统工作状态见表9-2,其中“1”表示灯亮,“0”表示灯灭。73第9章 数字电子系统设计及典型实例 表9-2 交通灯信号系统工作状态表 74第9章 数字电子系统设计及典型实例 2确定方案根据交通灯工作规则及设计要求,整个系统可由三个模块构成,它们分别是显示模块、倒计时模块和控制模块,如图9-2
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- EDA 技术 VHDL 设计 西电版 数字 电子 系统 典型 实例 课件
限制150内