数字电子技术基础 第11章

上传人:ldj****22 文档编号:48695627 上传时间:2018-07-19 格式:PPT 页数:77 大小:1.10MB
返回 下载 相关 举报
数字电子技术基础 第11章_第1页
第1页 / 共77页
数字电子技术基础 第11章_第2页
第2页 / 共77页
数字电子技术基础 第11章_第3页
第3页 / 共77页
数字电子技术基础 第11章_第4页
第4页 / 共77页
数字电子技术基础 第11章_第5页
第5页 / 共77页
点击查看更多>>
资源描述

《数字电子技术基础 第11章》由会员分享,可在线阅读,更多相关《数字电子技术基础 第11章(77页珍藏版)》请在金锄头文库上搜索。

1、第11章 VHDL数字系统设计实例 第11章 VHDL数字系统设计实例 11.1 数字系统设计简介11.2 数字系统设计实例 第11章 VHDL数字系统设计实例 11.1 数字系统设计简介11.1.1 数字系统的基本结构数字系统由若干个数字电路和逻辑功能部件组成,它可以实现数据存储、传输和加工处理等复杂的逻辑功能。数 字系统从逻辑上可划分为数据处理单元和控制单元两部分 ,其结构框图如图11.1.1所示。数据处理单元实现信息的存储、传输和加工处理等功能。控制单元根据外部控制信号 和数据处理单元提供的当前状态信号,发出对数据处理单 元的控制序列信号,在此控制序列信号的作用下,数据处 理单元完成所规

2、定的操作,并向控制单元输出变化后的状 态信号,以表示当前的工作状态和数据处理结果。控制单 元接收到状态信号后,再发出下一步的控制序列信号,使 数据处理单元执行新一轮的操作。 第11章 VHDL数字系统设计实例 图11.1.1 数字系统的结构框图 第11章 VHDL数字系统设计实例 11.1.2 数字系统的基本设计方法传统的数字系统设计多采用自底向上的方法,通常设计者选用标准的通用集成电路芯片和其他元器件,由底层逐级向上构成子系统和系统。其设计过程是:书面设计硬件安装、调试制作样机。这样设计的系统不仅所用元件的种类和数量多,功耗大,可靠性差,而且花费时间多,修改电路和交流设计思想都很不方便。 第

3、11章 VHDL数字系统设计实例 EDA技术的发展和可编程逻辑器件的普及对数字系统硬件设计产生了很大的影响,它改变了传统的设计思想,使人 们可以利用EDA工具,通过芯片的设计来实现数字系统的功能。现代数字系统设计多采用自顶向下的方法。它是一种从 抽象到具体,从高层次到低层次,逐步由粗到细的分层次、 分模块的设计方法。设计者先将一个硬件系统划分成几个大 的模块,设计出各大模块的行为(功能)或结构,并进行仿 真以检验设计思想是否正确,然后将大的模块分给下一级设 计者。由于自顶向下的设计能够在高层次完成,即一开始进 行功能划分和结构设计时,就能通过仿真去检验系统设计思 想是否正确,在早期就能发现设计

4、中存在的错误,因而大大 提高了系统的设计效率,缩短了设计周期。 第11章 VHDL数字系统设计实例 数字系统设计主要分系统设计和逻辑设计两个阶段。数字系统的一般设计过程如下:(1)确定顶层系统的方案。这是设计过程的第一阶段,要求对设计任务进行透彻了解,并在此基础上决定设计任务和系统整体的功能、输入信号及输出信号。(2)描述系统功能,设计算法。 第11章 VHDL数字系统设计实例 描述系统功能是用符号、图形、文字、表达式等形式来正确描述系统应具有的逻辑功能和应达到的技术指标。设计算法是寻求一个解决问题的步骤,实质上是把系统要实现的复杂运算分解成一组有序进行的子运算。描述算法 的工具有算法流程图、

5、算法状态机图(ASM,Algorithmic stateMachine)、方框图、硬件描述语言等。在上述描述方法中,硬件描述语言是一种最容易向计算机输入,由计算机自动处理的现代化方法。方框图用于描述数字系统的模型,是系统设计常用的重要手段,它可以详细描述系统的总体结构,并作为进一步设计的基础。 第11章 VHDL数字系统设计实例 (3)根据算法选择电路结构。算法明确后,根据算法选择电路结构,并将系统划分为若干个子系统。若某部分规模仍然较大,则可进一步划分。划分后的多个部分应逻辑功能清楚,便于进行电路设 计。(4)设计输入。描述系统功能的输入方式有多种,常用的有原理图输入法、硬件描述语言输入法、

6、波形图输入法等。可以采用 其中一种方法输入,也可以多种方法混合使用。(5)设计验证(仿真、测试)和设计实现。 第11章 VHDL数字系统设计实例 11.2 数字系统设计实例11.2.1 简易电子琴1.系统原理框图扬声器在不同频率的信号驱动下将发出不同的声音。 本设计是利用实验板上的8个按键产生不同的音阶信号,按键不同时,不同的音阶信号产生不同频率的信号去驱动扬 声器,从而实现电子琴的功能。根据音乐学理论,每两个8度音之间可分为12个半音,每 两个半音之间的频率相差( =1.0599Hz)。若C调第一个音 名do的频率定为261.63Hz,则各音名与频率以及 2MHz 时 钟的分频系数的关系如表

7、11.2.1所示。 第11章 VHDL数字系统设计实例 表11.2.1 音名与频率以及2MHz时钟的分频系数的关系 第11章 VHDL数字系统设计实例 简易电子琴的系统框图如图11.2.1所示,它由键盘编码器和时钟分频器组成。键盘编码器产生按键编码信号;时钟分频器产生不同的分频系数,将输入时钟频率分频至各音名对应的频率值,从而驱动扬声器发出该频率的声音。 第11章 VHDL数字系统设计实例 图11.2. 1 电子琴系统框图 第11章 VHDL数字系统设计实例 图11.2.2 电子琴顶层原理图 第11章 VHDL数字系统设计实例 图11.2.2为实现简易电子琴的顶层原理图。其中,KEYBOARD

8、模块实现对键盘的8-3编码,K70为键盘输入,SEL20为3位二进制编码输出,EN为使能输出信号(高电平有效);MFREQ模块实现分频功能, CLK为时钟输入,当SEL20编码输入不同,且EN输入为高电平时,分频器产生不同的频率值,当SPK输出为1时扬声器响,否则静音。 第11章 VHDL数字系统设计实例 2.模块设计1)键盘编码器VHDL描述文件keyboard.vhd如下:library ieee;use ieee.stdlogic1164.all;use ieee.stdlogicunsigned.all;entitykeyboard isport(k:instdlogicvector(

9、7 downto 0); 8位键盘输入sel:outstdlogicvector(2 downto 0); 3位键盘编码输出en:outstdlogic使能输出); 第11章 VHDL数字系统设计实例 end keyboard; architecture arckeyboard ofkeyboard is beginprocess(k)begincase k iswhen 11111110=selselselselselselselselselcountldcountldcountldcountldcountldcountldcountldcountldcountld0);spk0);spk0

10、);end if;end if;end process; 第11章 VHDL数字系统设计实例 process 状态机的状态转移描述beginwait until clkevent and clk=1;current stateifhold=0thennext stateif hold=0thennext state 第11章 VHDL数字系统设计实例 if hold=0thennext stateif hold=0thennext stateif hold=0thennext statearedaredaredaredared0);end if;end process; 第11章 VHDL数字

11、系统设计实例 sin波形发生电路将一个周期的正弦波(共64点)的幅度值直接送给信号qsinprocessbeginwait until clkevent and clk=1;convinteger(counter(7 downto 2)将stdlogicvector类型的数 据counter(7 downto 2)转换成interger类型的数据case convinteger(counter(7 downto 2) is when 0=qsinqsinq sinqsinqsinq sinqsinqsinq sinqsinqsinq sin0);elsecounter0);elsephaseshift=counter+p;end if;end process;address=phaseshift;dout=Rom(convinteger(address); ROM寻址并输出数据end arc; 第11章 VHDL数字系统设计实例 图11.2.14 DDS波形发生器的仿真波形

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号