08 第八章 使用VHDL来设计时序电路 习题答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
填空题
1、而时序电路的输出不仅仅和电路当前输入相关,还和电路过去输入相关。
2、由于时序电路的输出和其过去的状态也相关,所以时序电路中必然有记忆元件,用于记忆和过去输入信号相关的信息。
3、时序电路可以分为同步时序电路和异步时序电路两大类。
4、任何时序逻辑电路都是以时钟为驱动信号的。
5、时序逻辑电路的时钟信号边沿分为上升沿和下降沿。
6、显式表示时钟敏感信号是指时钟信号显式地出现在进程语句PROCESS后面的敏感信号列表中。
7、在隐式表示时钟敏感信号的时候,使用WAIT语句来控制进程的执行。
8、时钟信号是一个系统稳定工作的关键,它是一个系统的最小的时间刻度。
9、根据复位信号对时序逻辑电路的复位方式的不同,可以分为同步复位方式和异步复位方式。
10、在VHDL程序中描述时序电路的同步复位时,会采用IF语句来描述复位条件。
11、构成时序逻辑电路的基本单元是触发器。
12、移位寄存器从数据输入方式上可以分为并行输入和串行输入两种。
综述题
1、请简述同步时序电路和异步时序电路的区别。
答案:
●同步时序电路:其所有电路都是用一个公共的时钟信号,电路中所有的记忆元件
都受到这个时钟信号的同一控制,只有在该信号来到的时候记忆元件的状态才能
发生变化,从而使时序电路的输入发生变化;而且每次时钟信号到来的时候,记
忆元件的状态和电路的输出状态才会发生改变。
●异步时序电路:其电路中没有一个统一的时钟信号,各个记忆元件也不受到同一
个时钟控制,电路状态的改变是因为输入信号引起的。
2、请简述时序逻辑电路在电路结构上的两个显著特点。
●时序逻辑电路通常包含组合电路和存储电路两个组成部分,而存储电路是必不可
少的。
●时序逻辑电路的存储电路的输出状态必须反馈到电路的输入端,与输入信号一起
共同决定电路的输出。
•2 •
3、请画出时序逻辑电路中时钟上升沿和下降沿的波形并且写出其在VHDL语言中的描述方法。
答案:
上升沿:
VHDL语言描述时钟的上升沿
clk=‘1’AND clk’LAST_VALUE=‘0’ AND clk’EVENT
下降沿:
VHDL语言描述时钟的下降沿
clk=‘0’AND clk’LAST_VALUE=‘1’ AND clk’EVENT
clk'EVENT
4、在使用时钟作为敏感信号的时候,需要注意哪三点?
答案:
●无论是用PROCESS语句还是WAIT语句,在对时钟边沿说明时,一定要说明是
上升沿还是下降沿(前沿还是后沿),仅仅说明边沿是不够的。
●当时钟信号作为进程的敏感信号时,在敏感信号列表中不能同时出现多个时钟信
号,但是其他信号量可以和时钟信号并列地放在敏感信号列表中。
●采用隐式表示时钟信号时,由于它是进程的同步点,它要么放在进程的最前面,
要么放在进程的最后面。
5、请简述同步计数器和异步计数器的差别。
答案:
●异步计数器:高触发位的时钟信号往往是由低一位触发器的输出提供的,高触发
器的翻转有待低一位触发器的翻转之后才能进行,其缺点是计数速度比较慢,而且位数越多,计数速度越慢。
●同步计数器:各个触发器的时钟脉冲是由同一个脉冲供给的,各个触发器是同时
• 3 •
翻转的,其最高工作频率只和一个触发器的始终到输出的传输延迟以及有关控制门的传输延迟之和有关,所以其工作频率比异步计数器高。
实验题
实验【一】8位寄存器的设计
实验目的:学习8位寄存器的设计原理和VHDL实现方法,熟悉VHDL时序逻辑电路的设计流程、仿真和硬件测试。
实验任务:参考8.5.1中关于寄存器的介绍和例8.10的6位寄存器/D触发器设计方法,使用VHDL语言实现一个8位带清除端的寄存器。
答案:
library IEEE;
use IEEE.Std_logic_1164.all; --库文件
entity VHDLREG is --实体
port(
D : in std_logic_vector(8 downto 0);
Q : out std_logic_vector(8 downto 0);
CLRBAR, CLK : in std_logic); --引脚定义,带时钟和清除端
end VHDLREG;
architecture RT of VHDLREG is
begin
Q <= (others => '0') when (CLRBAR = '0') --清除信号有效
else D when rising_edge(CLK) --在时钟激励下工作
else unaffected;
end RT;
实验【二】十进制计数器的设计
实验目的:学习计数器的设计原理和VHDL实现方法,熟悉VHDL时序逻辑电路的设计流程、仿真和硬件测试。
实验任务:参考8.7.1中关于计数器的介绍和例8.15的十六进制计数器设计方法,使用VHDL语言实现一个十进制计数器。
答案:
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL; --库文件
ENTITY VHDLCOUNTER IS --实体
PORT(
CLK: IN BIT;
OE: OUT BIT;