(最新整理)数字电子技术基础第11章
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2021/7/26
5
第11章 VHDL数字系统设计实例 数字系统设计主要分系统设计和逻辑设计两个阶段。
(1) 这是设计过程的第一阶段,要求对设计任务进行透彻 了解,并在此基础上决定设计任务和系统整体的功能、输
(2)描述系统功能,设计算法。
2021/7/26
6
第11章 VHDL数字系统设计实例
描述系统功能是用符号、图形、文字、表达式等形式 来正确描述系统应具有的逻辑功能和应达到的技术指标。 设计算法是寻求一个解决问题的步骤,实质上是把系统要 实现的复杂运算分解成一组有序进行的子运算。描述算法 的工具有算法流程图、算法状态机图(ASM,Algorithmic stateMachine)、方框图、硬件描述语言等。在上述描述方 法中,硬件描述语言是一种最容易向计算机输入,由计算 机自动处理的现代化方法。方框图用于描述数字系统的模 型,是系统设计常用的重要手段,它可以详细描述系统的 总体结构,并作为进一步设计的基础。
end case ; end process;
process
begin
wait until clk′event and clk=′1′;
--
if en=′0′then
count<=( others=>′0′);
spk<=′1′;
2021/7/26
20
第11章 VHDL数字系统设计实例
count—ld/2时,spk=′1′,且加1 elsif count<(′0′&count—ld(12 downto 1))then
(3)当东西或南北两路中任一路出现特殊情况时,系统 可由交警手动控制立即进入特殊运行状态,即红灯全亮, 时钟停止计时,东西、南北两路所有车辆停止通行;当特 殊运行状态结束后,系统恢复工作,继续正常运行。
2021/7/26
25
第11章 VHDL数字系统设计实例
2. 本系统主要由分频器、计数器、控制器、倒计时显示器 等电路组成。分频器将晶振送来的4MHz信号变为1Hz时钟 信号;计数器实现总共90秒的计数,90秒也是交通控制系统 的一个大循环;控制器控制系统的状态转移和红、黄、绿灯 的信号输出;倒计时显示电路实现45秒倒计时和显示功能。
根据音乐学理论,每两个8度音之间可分为12个半音,每
两个半音之间的频率相差(12 2 =1.0599Hz)。若C调第一个音
名do的频率定为261.63Hz,
2MHz
钟的分频系数的关系如表11.2.1所示。
2021/7/26
9
第11章 VHDL数字系统设计实例
表11.2.1 音名与频率以及2MHz时钟的分频系数的关系
count<=count+1;
spk<=′1′;
count—ld/2且小于count—ld时,spk=′0′,且加1
elsif count<count—ldthen count<=count+1;
spk<=′0′; --当计数值计到count—ld时,计数器清零,spk=′1′
else count<=( others=>′0′);
architecture arc—m—freq ofm—freq is
signalcount—ld,count:std—logic—vector(12 downto 0);
begin
process(sel)
begin
case sel is
when ″000″=>count—ld<=″0111011101110″; 3822
when others=>sel<=″000″; en<=′0′;
end case ; end process; end arc—keyboard;
2021/7/26
17
第11章 VHDL数字系统设计实例
2) VHDL描述文件m—freq.vhd
library ieee;
use ieee.std—logic—1164.all;
其结构框图如图11.1.1所示。数据处理单元实现信息的存储、
传输和加工处理等功能。控制单元根据外部控制信号和数
据处理单元提供的当前状态信号,发出对数据处理单元的
控制序列信号,在此控制序列信号的作用下,数据处理单
元完成所规定的操作,并向控制单元输出变化后的状态信
号,以表示当前的工作状态和数据处理结果。控制单元接
2021/7/26
7
第11章 VHDL数字系统设计实例
(3) 算法明确后,根据算法选择电路结构,并将系统划分 为若干个子系统。若某部分规模仍然较大,则可进一步划 分。划分后的多个部分应逻辑功能清楚,便于进行电路设
(4) 描述系统功能的输入方式有多种,常用的有原理图输 入法、硬件描述语言输入法、波形图输入法等。可以采用
use ieee.std—logic—unsigned.all;
entitym—freq is
port(
clk,en:instd—logic;
sel:instd—logic—vector(2 downto 0); 3
spk:outstd—logic
);
end m—freq;
2021/7/26
18
第11章 VHDL数字系统设计实例
8
sel:outstd—logic—vector(2 downto 0);
3
en:outstd—logic
);
2021/7/26
15
第11章 VHDL数字系统设计实例
end keyboard; architecture arc—keyboard ofkeyboard is begin
process(k) begin
when ″101″=>count—ld<=″1001111101101″; 5101
when ″110″=>count—ld<=″1000111000000″; 4544
2021/7/26
19
第11章 VHDL数字系统设计实例 when ″111″=>count—ld<=″0111111010000″; 4048 when others=>count—ld<=″0111011101110″; 3822
2021/7/26
10
第11章 VHDL数字系统设计实例
简易电子琴的系统框图如图11.2.1所示,它由键盘编码 器和时钟分频器组成。键盘编码器产生按键编码信号;时 钟分频器产生不同的分频系数,将输入时钟频率分频至各 音名对应的频率值,从而驱动扬声器发出该频率的声音。
2021/7/26
11
第11章 VHDL数字系统设计实例
控制器的整个工作过程用状态机进行描述,其状态转移 关系如图11.2.5所示。5种状态描述如下:
2021/7/26
2021/7/26
16
第11章 VHDL数字系统设计实例
when ″11101111″=>sel<=″101″; en<=′1′;
when ″11011111″=>sel<=″110″; en<=′1′;
when ″10111111″=>sel<=″111″; en<=′1′;
when ″01111111″=>sel<=″000″; en<=′1′;
spk<=′1′;
end if;
end process;
end arc—m—freq;
2021/7/26
21
第11章 VHDL数字系统设计实例
11.2.2 1. 设计一个十字路口交通控制系统, (1)东西(用A表示)、南北(用B表示)方向均有绿灯、
黄灯、红灯指示,其持续时间分别是40秒、5秒和45秒,交通 灯运行的切换示意图和时序图分别如图11.2.3和图11.2.4所示。
2021/7/26
14
第11章 VHDL数字系统设计实例
2.
1) VHDL描述文件keyboard.vhd
library ieee;
use ieee.std—logic—1164.all;
use ieee.std—logic—unsigned.all;
entitykeyboard is
port(
k:instd—logic—vector(7 downto 0);
(最新整理)数字电子技术基础第11章
2021/7/26
1
第11章 VHDL数字系统设计实例
11.1 数字系统设计简介
11.1.1 数字系统的基本结构
数字系统由若干个数字电路和逻辑功能部件组成,它可
以实现数据存储、传输和加工处理等复杂的逻辑功能。数
字系统从逻辑上可划分为数据处理单元和控制单元两部分,
音名 低音 1(do) 低音 2(re) 低音 3(mi) 低音 4(fa) 低音 5(sol) 低音 6(la) 低音 7(si) 中音 1(do!)
频率(Hz) 261.23 293.67 329.63 349.23 391.99 440.00 493.88 523.25
分频系数 7643 6809 6066 5725 5101 4544 4048 3822
(5)设计验证(仿真、测试)和设计实现。
2021/7/26
8
第11章 VHDL数字系统设计实例
11.2 数字系统设计实例
11.2.1 1.系统原理框图 扬声器在不同频率的信号驱动下将发出不同的声音。
本设计是利用实验板上的8个按键产生不同的音阶信号,按 键不同时,不同的音阶信号产生不同频率的信号去驱动扬
2021/7/26
4
第11章 VHDL数字系统设计实例
EDA技术的发展和可编程逻辑器件的普及对数字系统硬 件设计产生了很大的影响,它改变了传统的设计思想,使人 们可以利用EDA工具,通过芯片的设计来实现数字系统的功 能。现代数字系统设计多采用自顶向下的方法。它是一种从 抽象到具体,从高层次到低层次,逐步由粗到细的分层次、 分模块的设计方法。设计者先将一个硬件系统划分成几个大 的模块,设计出各大模块的行为(功能)或结构,并进行仿 真以检验设计思想是否正确,然后将大的模块分给下一级设 计者。由于自顶向下的设计能够在高层次完成,即一开始进 行功能划分和结构设计时,就能通过仿真去检验系统设计思 想是否正确,在早期就能发现设计中存在的错误,因而大大 提高了系统的设计效率,缩短了设计周期。
case k is when ″11111110″=>sel<=″001″;
en<=′1′; when ″11111101″=>sel<=″010″;
en<=′1′; when ″11111011″=>sel<=″011″;
en<=′1′; when ″11110111″=>sel<=″100″;
en<=′1′;
when ″001″=>count—ld<=″1110111011011″; 7643
when ″010″=>count—ld<=″1101001010101″; 6809
when ″011″=>count—ld<=″1011110110010″; 6066
when ″100″=>count—ld<=″1011001011101″; 5725
收到状态信号后,再发出下一步的控制序列信号,使数据
处理单元执行新一轮的操作。
2021/7/26
2
第11章 VHDL数字系统设计实例
图11.1.1 数字系统的结构框图
2021/7/26
3
第11章 VHDL数字系统设计实例
11.1.2 传统的数字系统设计多采用自底向上的方法,通常设
计者选用标准的通用集成电路芯片和其他元器件,由底层 逐级向上构成子系统和系统。其设计过程是:书面设计— 硬件安装、调试—制作样机。这样设计的系统不仅所用元 件的种类和数量多,功耗大,可靠性差,而且花费时间多, 修改电路和交流设计思想都很不方便。
图11.2. 1 电子琴系统框图
2021/7/26
12
第11章 VHDL数字系统设计实例
图11.2.2 电子琴顶层原理图
2021/7/26
ቤተ መጻሕፍቲ ባይዱ
13
第11章 VHDL数字系统设计实例
图11.2.2为实现简易电子琴的顶层原理图。其 中,KEYBOARD模块实现对键盘的8-3编码,K[7..0]为键 盘输入,SEL[2..0]为3位二进制编码输出,EN为使能输出信 号(高电平有效);M—FREQ模块实现分频功能, CLK为时 钟输入,当SEL[2..0]编码输入不同,且EN输入为高电平 时,分频器产生不同的频率值,当SPK输出为1时扬声器响, 否则静音。
2021/7/26
22
第11章 VHDL数字系统设计实例
图11.2.3 交通控制系统运行切换示意图
2021/7/26
23
第11章 VHDL数字系统设计实例
图11.2.4 交通控制系统的时序图
2021/7/26
24
第11章 VHDL数字系统设计实例
(2)系统设有时钟,以倒计时方式显示每一路允许通行