文档详情

Verilog程序设计与EDA(二版) 课件 第8章 时序电路设计实例.pptx

发布:2025-05-13约3.45千字共52页下载文档
文本预览下载声明

8.1序列检测器

8.2脉冲分配器

8.38路抢答器

8.4数字跑表

8.5交通灯控制系统

;在时序逻辑电路中,任一个时刻的输出不仅与该时刻输入变量的取值有关,而且与决定电路原状态的过去输入情况有关。时序电路通常包含组合逻辑电路和由触发器组成的存储电路两部分。按照状态变化的特点,时序电路分为同步时序电路和异步时序电路。在同步时序逻辑电路中,电路状态的变化在同一时钟脉冲的作用下发生,即各个触发器状态的转换同步完成。在异步时序电路中,触发器不使用同一个时钟脉冲信号源,即各个触发器状态的转换异步完成。;8.1序列检测器;检测器有一个输入端a和一个输出端p。被检测的信号为二进制序列串行输入,当连续出现4个1时,输出为1,其余情况均输出为0。如:

a:1101111110110

p:0000001110000

思路1用VerilogHDL设计的序列检测器源文件如下:;仿真测试模块如下:;在XilinxISE13环境下得到的仿真波形(部分)如图8.1所示。;在Lattice公司的EDA开发软件环境下得到的仿真波形如图8.2所示。;测试模块如下:;思路3这是一个涉及时序电路的模块,并且与状态机有关,下面采用三段式状态机的方法编写源文件。;思路4采用状态机思路编写源文件,并用Lattice公司的EDA开发软件进行仿真。;8.2脉?冲?分?配?器;脉冲分配器的状态图如图8.5所示。脉冲分配器电路能在时钟脉冲的作用下按顺序轮流地输出脉冲信号,即将脉冲信号按顺序分配到W0、W1、W2、W3各个输出端。;仿真测试模块如下:;8.38??路?抢?答?器;player_8为8路抢答器抢答输入端;flag为确定哪个抢答器为首先抢答标志;cnt_7为计时器数码管输出端;rst为异步复位端,下降沿复位;en为使能端,高电平有效;clklk为1kHz时钟输入端。

抢答时间的分辨率为1ms,可以分辨出8路抢答器中抢答的先后顺序。为了使程序设计简洁,并且容易读懂,我们采用有限状态机的编写方法。

8路抢答器的源文件如下:;8.4数字跑表;设计一个数字跑表,该跑表具有复位、暂停、秒表计时等功能。首先对数字跑表进行结构和功能的划分。跑表设置三个输入端,分别为时钟输入(CLK)、复位(CLR)和启动/暂停(STOP)按键。复位信号(CLR)当出现高电平时复位,可对跑表异步清零。当启动/暂停为低电平时,开始计时;为高电平时,计时暂停,再次变为低电平后在原来的数值基础上继续计数。数字跑表示意图如图8.7所示。

模块中各信号含义说明如下:

BSH、BSL:百分秒的高位和低位。

SH、SL:秒信号的高位和低位。

MH、ML:分钟信号的高位和低位。

数字跑表模块的源文件如下:;在XilinxISE13环境下得到的仿真波形(部分)如图8.8所示。;8.5交通灯控制系统;用LAMPA0~LAMPA2分别控制A方向的绿灯、黄灯和红灯的亮灭;LAMPB0~LAMPB2分别控制B方向的绿灯、黄灯和红灯的亮灭;ADISPLAY代表A方向灯的倒计时时间,8位,通过两个数码管进行显示;BDISPLAY代表B方向灯的倒计时时间,8位,通过两个数码管进行显示。

交通灯控制系统模块如下:;在XilinxISE13环境下得到的测试仿真波形(部分)如图8.9所示。;测试仿真波形分析:ADISPLAY[7:0]行与竖线交叉处即25,A方向绿灯倒计时开始。此时,A方向的两个数码管中代表低位的数码管a[0]b[0]c[0]d[0]e[0]f[0]g[0]=1011011,即5;代表高位的数码管a[1]b[1]c[1]d[1]e[1]f[1]g[1]=1101101,即2。在ADISPLAY[7:0]行竖线交叉处向右的下一个时钟周期,变即24,A方向绿灯倒计时25-1。此时,A方向的两个数码管中代表低位的数码管a[0]b[0]c[0]d[0]e[0]f[0]g[0]=0110011,即4;代表高位的数码管a[1]b[1]c[1]d[1]e[1]f[1]g[1]=1101101,即2。

由于B方向的两个数码管显示部分未加入系统模块中,因此代表低位的数码管a[2]b[2]c[2]d[2]e[2]f[2]g[2]=X,代表高位的数码管a[3]b[3]c[3]d[3]e[3]f[3]g[3]?=?X。

观察仿真波形,经过依次验证可看出,灯的状态变化正确,数码管显示正确。;8.6以2递增的变模计数器;在控制信号S0、S1的控制下,实现变模(模值为9、11、13、15)计数。rst_n为复位信号,低电平有效;clk为时钟输入,out为变模计数器输出。

以2递增的变模计数器源文件如下:;仿真测试模块如下:

显示全部
相似文档