1、第8章 数字系统设计8.1 数字系统设计概要 8.2 数字系统设计举例 8.3 实训 习题 第8章 数字系统设计8.1 数字系统设计概要数字系统设计概要日常生活中可以发现无数数字系统的例子,如自动播放器、CD播放机、电话系统、个人计算机以及视频游戏等。可以简单地将数字系统定义为仅用数字来“处理”信息以实现计算和操作的电子系统。但是,数字系统中的数字来自于二进制计数系统,只有两个可能的值:0和1,即只使用0和1来完成所有的计算和操作任务。因此,数字系统必须实现如下功能:(1)将现实世界的信息转换成数字网络可以理解的二进制“语言”。(2)仅用数字0和1完成所要求的计算和操作。(3)将处理的结果以我
2、们可以理解的方式返回给现实世界。第8章 数字系统设计8.1.1 数字系统设计模型数字系统设计模型我们所设计的数字系统一般只限于同步时序系统,其所执行的操作是由时钟控制分组按序进行的。一般的数字系统可分为受控器与控制器两大部分,受控器又称为数据子系统或信息处理单元,控制器又称为控制子系统。数字系统的方框图如图8-1所示。第8章 数字系统设计图8-1 数字系统方框图第8章 数字系统设计数据子系统主要完成数据的采集、存储、运算处理和传输任务,它主要由存储器、运算器、数据选择器等组成,与外界进行数据交换,它所有的存取、运算等操作都是在控制子系统发出的控制信号的作用下进行的。数据子系统与控制子系统之间的
3、联系是:数据子系统接收由控制子系统来的控制信号,同时将自己的操作进程作为条件信号输出给控制子系统。控制子系统是执行算法的核心,它必须具备记忆能力,因此是一个时序系统。它由一些组合逻辑电路和触发器等组成,与数据子系统共享一个时钟。控制子系统的输入是外部控制信号和由数据子系统来的条件信号,按照设计方案中既定的算法程序,按序地进行状态转换,与每个状态以及有关条件对应的输出作为控制信号去控制数据子系统的操作顺序。第8章 数字系统设计8.1.2 数字系统设计基本步骤数字系统设计基本步骤1明确设计要求明确设计要求拿到一个设计任务,首先要对它进行分析理解,将设计要求罗列成条,每一条都应是无疑义的。这一步主要
4、明确待设计系统的逻辑功能及性能指标,在明确了设计要求之后应能画出系统的简单示意方框图,标明输入、输出信号及必要的指标。第8章 数字系统设计2确定系统方案确定系统方案明确了设计要求之后,就要确定实现系统功能的原则和方法,这是最具创造性的工作。同一功能可能有不同的实现方案,而方案的优劣直接关系到系统的质量及性能价格比,因此要反复比较与权衡。常用方框图、流程图或描述语言来描述系统方案。系统方案确定后要求画出系统方框图、详细的流程图或用描述语言写出算法,如有需要与可能还应画出必要的时序波形图。3受控器的设计受控器的设计根据系统方案,选择合适的器件构成受控器的电原理图。根据设计要求可能要对此电原理图进行
5、时序设计,最后得到实用的受控器电原理图。第8章 数字系统设计4控制器的设计控制器的设计根据描述系统方案的模型导出MDS图或ASM图,按照规则及受控器的要求选择电路构成控制器,必要时也要进行时序设计,最后得到实用的控制器电原理图。然后再将控制器和受控器电路合在一起,从而得到整个系统的电原理图。在整个设计过程中应尽可能多地利用EDA软件,及时进行逻辑仿真、优化,以保证设计工作优质、快速地完成。第8章 数字系统设计8.2 数字系统设计举例数字系统设计举例8.2.1 系统的设计要求系统的设计要求本节要求设计一个24小时制的数字闹钟,该数字闹钟的面板如图8-2所示,它包括以下几个组成部分:(1)显示屏,
6、由7个七段数码管组成,其中6个用于显示当前时间(时:分:秒)或设置的闹钟时间,另一个用于显示系统内部产生的周期性循环变化的待选预置数字。第8章 数字系统设计图8-2 数字闹钟面板第8章 数字系统设计(2)YES(确认)键,在输入新的时间或新的闹钟时间时,用于对每位待选预置数字输入的确认。(3)TIME(时间)键,用于确定新的时间设置。(4)ALARM(闹钟)键,用于确定新的闹钟时间设置,或显示已设置的闹钟时间。(5)扬声器,在当前时钟时间与闹钟时间相同时,发出蜂鸣声。第8章 数字系统设计该数字闹钟的具体功能要求如下。(1)计时功能:这是本数字闹钟设计的基本功能,每隔1秒钟计时一次,并在显示屏上
7、显示当前时间。(2)闹钟功能:如果当前时间与设置的闹钟时间相同,则扬声器发出蜂鸣声。第8章 数字系统设计(3)设置新的计时器时间:系统内部产生周期性循环变化的待选预置数字,当用户按“YES”键后则该数字将作为预置数字输入。在输入过程中,输入数字在显示屏上从右到左依次显示。例如,用户要设置新的时间12:48:56,则按顺序先后输入“1”、“2”、“4”、“8”、“5”、“6”,与之对应,显示屏依次显示的信息为“1”、“12”、“124”、“1248”、“12485”、“124856”。如果用户在输入任意几个数字后较长时间内(例如5秒)没有按任何键,则计时器恢复到正常的计时显示状态。第8章 数字系
8、统设计(4)设置新的闹钟时间:用YES键输入新的闹钟时间,然后按“ALARM”键确认,过程与(3)类似。(5)显示所设置闹钟时间:在正常计时显示状态下,直接按下“ALARM”键则已设置的闹钟时间显示在显示屏上。根据该系统的设计功能要求,整个系统大致有如下几个组成部分:用于预置数字输入的预置数字缓冲器,用于数字闹钟计时的计数器,用于保存闹钟时间的寄存器,用于显示的七段数码显示电路以及控制以上各个部分协同工作的控制器。第8章 数字系统设计8.2.2 系统的总体设计系统的总体设计根据该数字闹钟的设计要求,我们可得到其外部端口如图8-3所示。各个输入/输出端口的作用如下:(1)CLK为外部时钟信号,R
9、ESET为复位信号。(2)当YES为高电平时(YES=1),表示用户选择了某个预置数字。(3)当ALARM_BUTTON为高电平时,表示用户按下ALARM键。(4)当TIME_BUTTON为高电平时,表示用户按下TIME键。第8章 数字系统设计图8-3 计时器的外部端口第8章 数字系统设计(5)SEG7是数据动态扫描显示的公共七段数码显示管驱动端,而LEDW则是数码管的位选择端,它经过外接的3-8译码器译码后接数码管的公共端COM。(6)SOUND_ALARM用于控制扬声器发声,当SOUND_ ALARM=1时,扬声器发出蜂鸣声,表示设定的闹钟时间到。根据系统的设计要求,整个系统可分为闹钟控制
10、器(CONTROL)、预置寄存器(KEYBUFFER)、分频电路(DIVIDER)、时间计数器(COUNTER)、闹钟寄存器(REG)、显示驱动控制器(DRIVER)等6个模块,其总体设计原理图如图8-4所示。各个模块的作用介绍如下。第8章 数字系统设计图8-4 系统总体设计原理图 第8章 数字系统设计(1)闹钟控制器:它是整个系统正常有序工作的核心,按设计要求产生相应的控制逻辑,以控制其他各部分的协调工作。(2)预置寄存器:这是一个预置数字产生器和移位寄存器的结合体,通过对YES进行操作,选择欲输入的数字,暂存用户输入的数字,并且用户每输入一个数字,暂存数字移位一次,实现用户输入数字在显示器
11、上从右到左依次显示。(3)分频电路:将较高速的外部时钟频率分频成每秒钟一次的时钟频率,以便进行时钟计数。第8章 数字系统设计(4)时间计数器:实际上是一个异步复位、异步置数的累加器,通常情况下进行时钟累加计数,必要时可置入新的时钟值,然后从该值开始新的计数。(5)闹钟寄存器:用于保存用户设置的闹钟时间,是一个异步复位寄存器。(6)显示驱动器:根据需要显示当前时间、用户设置的闹钟时间或用户输入的预置时间,同时判断当前时间是否已到闹钟时间,实际上是一个多路选择器加比较器,对具体数据的显示采用动态扫描显示方式。第8章 数字系统设计8.2.3 闹钟控制器设计闹钟控制器设计闹钟控制器的外部端口如图8-5
12、所示,各端口的作用如下:(1)CLK为外部时钟信号,RESET为复位信号。(2)当KEY为高电平(KEY=1)时,表示用户按下数字键(“0”“9”)。(3)当ALARM_BUTTON为高电平时,表示用户按下“ALARM”键。(4)当TIME_BUTTON为高电平时,表示用户按下“TIME”键。(5)当LOAD_NEW_A为高电平时,控制(闹钟时间寄存器)加载新的闹钟时间值。第8章 数字系统设计图8-5 闹钟控制器的外部端口第8章 数字系统设计(6)当LOAD_NEW_C为高电平时,控制(时钟计数器)设置新的时间值。(7)当SHOW_NEW_TIME为高电平时,控制(七段数码显示电路)显示新的时
13、间值,即用户输入的预置时间;否则,当SHOW_NEW_TIME为低电平时,根据SHOW_A信号的值控制显示当前时间或闹钟时间。此时,当SHOW_A为高电平时,控制显示闹钟时间,否则,显示当前时间。第8章 数字系统设计控制器的功能可以通过有限状态自动机(FSM)的方式来实现。根据设计要求及端口设置,需要五个状态:S0电路初态即正常时钟计数状态,完成计时功能。S1接收预置数字输入状态。在状态S0时用户按下“YES”键后进入此状态。在此状态下,显示屏上显示的是用户预置的数字。S2设置新的闹钟时间,在状态S1时用户按下ALARM键后进入此状态。S3设置新的计时器时间,在状态S1时用户按下TIME键后进
14、入此状态。第8章 数字系统设计S4显示闹钟时间,在状态S0时用户直接按下ALARM键后进入此状态。在此状态下,显示屏上显示的是所设置的闹钟时间。注意:在此状态下,用户按下ALARM键后,显示屏上保持显示闹钟时间,经过一段时间以后,再返回状态S0显示计时器时间。相应的状态转换及控制输出表如表8-1所示。第8章 数字系统设计第8章 数字系统设计表8-1中没有显式说明的控制信号赋值,表示信号的值为零。例如在状态S0,当信号YES=1时,SHOW_NEW _ TIME信号的赋值为1,而其他信号LOAD_ NEW_A、LOAD_ NEW_C和SHOW_A的值此时都赋为0。另外,表中关于“超时”判断处理的
15、细节见VHDL源程序中的有关部分。由于在整个系统中有多个模块需要用到自行设计的数据类型,并且这些数据类型大部分相同,因此为了使用上的方便,可设计一个程序包P_ALARM,该程序包既可加在调用该程序包的程序前面,也可加在整个系统的顶层设计程序前面。但是对于一个比较复杂系统的设计,一般分模块进行设计和调试,所以加在各个调用该程序包的程序前面会比较方便。程序包P_ALARM的具体设计如下:第8章 数字系统设计第8章 数字系统设计第8章 数字系统设计第8章 数字系统设计第8章 数字系统设计第8章 数字系统设计第8章 数字系统设计第8章 数字系统设计第8章 数字系统设计第8章 数字系统设计第8章 数字系
16、统设计第8章 数字系统设计第8章 数字系统设计第8章 数字系统设计8.2.4 预置寄存器设计预置寄存器设计预置寄存器是一个预置数字产生器和移位寄存器的结合体,通过对YES键进行操作,选择欲输入的数字,暂存用户输入的数字,并且用户每输入一个数字,暂存数字移位一次,实现用户输入数字在显示器上从右到左的依次显示。图8-6为预置寄存器示意图。图8-6 预置寄存器示意图第8章 数字系统设计第8章 数字系统设计第8章 数字系统设计第8章 数字系统设计第8章 数字系统设计8.2.5 闹钟寄存器设计闹钟寄存器设计闹钟寄存器模块的功能是在时钟上升沿同步下,根据LOAD_NEW_A端口的输入信号控制ALARM_T
17、IME端口的输出;当控制信号有效(高电平)时,把NEW_ALARM_TIME端口的输入信号值输出;RESET端口输入信号对ALARM_TIME端口的输出进行异步清零复位。图8-7是闹钟寄存器的示意图。第8章 数字系统设计图8-7 闹钟寄存器示意图第8章 数字系统设计第8章 数字系统设计第8章 数字系统设计第8章 数字系统设计8.2.6 分频电路设计分频电路设计分频电路模块的功能是将CLK_IN端口输入的时钟信号分频后送给CLK_OUT端口;当RESET端口输入信号有效(高电平)时,CLK_OUT端口输出信号清零。图8-8为分频电路示意图。第8章 数字系统设计图8-8 分频器示意图第8章 数字系
18、统设计第8章 数字系统设计第8章 数字系统设计第8章 数字系统设计8.2.7 时间计数器设计时间计数器设计时间计数器模块的功能是当RESET端口输入信号为高电平时,对CURRENT_TIME端口的输出信号清零复位;当LOAD_ NEW_C端口输入信号为高电平时,将NEW_CURRENT_TIME端口的输入信号输出给CURRENT_TIME端口。RESET端口的控制优先于LOAD_NEW_C端口。当这两个控制信号都无效时,在时钟上升沿同步下,对CURRENT_TIME端口输出信号累加1,并根据小时、分钟、秒的规律处理进位。图8-9是时间计数器示意图。第8章 数字系统设计图8-9 时间计数器示意图
19、第8章 数字系统设计第8章 数字系统设计第8章 数字系统设计第8章 数字系统设计第8章 数字系统设计第8章 数字系统设计第8章 数字系统设计 i_current_time=c_t;end if;i_current_time=c_t;end if;end if;end process;current_time=i_current_time;end architecture art;第8章 数字系统设计8.2.8 显示驱动器设计显示驱动器设计显示驱动器模块的功能是当SHOW_NEW_TIME端口输入信号有效(高电平)时,根据NEW_TIME端口的输入信号(时间数据)产生相应的6个待显示的数据。当S
20、HOW_NEW_TIME端口输入信号无效(低电平)时,判断SHOW_A端口的输入信号,为高电平时,根据ALARM_TIME端口的输入信号(时间数据)产生相应的6个待显示的数据;为低电平时,根据CURRENT_TIME端口的输入信号产生相应的6个待显示的数据。对于各个待显示的数据,用动态扫描显示方式在driver端口输出相应的数据显示驱动信息和数码管选择信息。当ALARM_TIME 端口的输入信号值与CURRENT_TIME端口的输入信号值相同时,SOUND_ALARM端口的输出信号有效(高电平),反之无效。图8-10为显示驱动器示意图。第8章 数字系统设计图8-10 显示驱动器示意图第8章 数
21、字系统设计第8章 数字系统设计第8章 数字系统设计第8章 数字系统设计第8章 数字系统设计第8章 数字系统设计第8章 数字系统设计第8章 数字系统设计8.2.9 系统的总装设计系统的总装设计根据图8-4数字闹钟系统的总体设计原理图,请读者用原理图或VHDL文本输入方式自行完成数字闹钟的顶层总装设计。8.2.10 系统的硬件验证系统的硬件验证根据自己所拥有的EDA实验开发系统的实际情况,将本系统直接或进行适当修改后进行硬件验证。第8章 数字系统设计8.3 实实 训训8.3.1 交通灯控制系统设计交通灯控制系统设计一、实训目的一、实训目的(1)掌握数字系统的设计流程。(2)掌握利用原理图与VHDL
22、混合设计数字系统的方法。(3)掌握交通灯的设计原理与设计实现。第8章 数字系统设计二、实训原理与要求二、实训原理与要求1要求要求(1)能显示十字路口东西、南北两个方向的红、黄、绿灯的指示状态,用两组红、黄、绿三色灯作为两个方向的红、黄、绿灯。(2)能实现正常的倒计时功能,用两组数码管作为东西、南北方向的倒计时显示,显示时间为红灯45秒,绿灯40秒,黄灯5秒。第8章 数字系统设计(3)能实现特殊状态的功能。按S1键后,能实现以下特殊状态:显示倒计时的两组数码管闪烁。计数器停止计数并保持在原来的状态。东西、南北路口均显示红灯状态。特殊状态解除后能继续计数。(4)能实现总体清零功能。按下SB键后,系
23、统实现总体清零,计数器由初状态计数,对应状态的指示灯亮。(5)用VHDL语言设计上述功能的交通灯控制器,并用层次化方法设计该电路。(6)完成电路全部设计后,通过系统实验箱下载验证所设计课题的正确性。第8章 数字系统设计2设计思路设计思路交通灯控制器的电路控制原理框图如图8-11所示,主要包括置数器模块、定时计数器模块、主控制器模块和译码器模块。置数器模块将交通灯的点亮时间预置到置数电路中。计数器模块以秒为单位倒计时,当计数值减为零时,主控电路改变输出状态,电路进入下一个状态的倒计时。核心部分是主控制模块。具体控制情况见表8-2。第8章 数字系统设计图8-11 电路控制原理框图第8章 数字系统设
24、计第8章 数字系统设计3设计流程图设计流程图由以上要求可以得到该系统的程序流程图如图8-12所示。其中,GA、RA、YA表示A支路的绿灯、红灯、黄灯,GB、RB、YB表示B支路的绿灯、红灯、黄灯,S表示特殊功能按键,T表示计时的时间。第8章 数字系统设计图8-12 程序流程图第8章 数字系统设计三、实训内容三、实训内容(1)分析流程,搞清其逻辑功能。(2)用VHDL设计顶层各个模块的源程序,并进行分析。(3)通过软件进行仿真,并分析仿真结果。(4)通过原理图输入设计顶层原理图,并检查编译。(5)对系统进行仿真。(6)下载验证设计电路的正确性。第8章 数字系统设计四、实训步骤四、实训步骤(略略)
25、五、器件下载编程与硬件实现五、器件下载编程与硬件实现在进行硬件测试时,按键k1对应复位端reset,按键k2对应紧急开关urgent。EDA实验开发系统上的时钟cp2对应计数时钟CLK,数码管M3、M4对应东西走向的时钟显示。LED灯l16、l15、l14对应东西走向的绿灯G1、黄灯Y1、红灯R1。数码管M1、M2对应南北走向的时钟显示。LED灯l1、l2、l3对应南北走向的绿灯G2、黄灯Y2、红灯R2(读者可以根据自己拥有的EDA实验开发系统设置对应的按键、LED灯和数码管)。对应的硬件结构示意图如图8-13所示。第8章 数字系统设计图8-13 交通灯控制系统的硬件示意图第8章 数字系统设计
26、六、实训报告六、实训报告(1)画出顶层原理图。(2)对照交通灯电路框图分析电路工作原理。(3)写出各功能模块的VHDL源程序。(4)详述控制器部分的工作原理,绘出详细电路图,写出VHDL源文件,画出有关状态机变化图。第8章 数字系统设计七、参考源程序七、参考源程序系统结构图如图8-14所示。图8-14 交通灯控制系统结构图第8章 数字系统设计第8章 数字系统设计第8章 数字系统设计第8章 数字系统设计第8章 数字系统设计第8章 数字系统设计第8章 数字系统设计begin if subevent and sub=1 then if set2=1 then count2=setstate2;els
27、if count2(3 downto 0)=0000 then count2=count2-7;else count2=count2-1;end if;g2=tg2;r2=tr2;y2=ty2;end if;end process label2;第8章 数字系统设计第8章 数字系统设计8.3.2 数字频率计设计数字频率计设计一、实训目的一、实训目的(1)掌握数字系统的设计流程。(2)掌握利用原理图与VHDL混合设计数字系统的方法。(3)掌握数字频率计的设计原理与设计实现。第8章 数字系统设计二、实训原理与要求二、实训原理与要求频率计的基本原理是用一个频率稳定度高的频率源作为基准时钟,对比测量其
28、他信号的频率。通常情况下计算每秒内待测信号的脉冲个数,此时我们称闸门时间为1秒。闸门时间也可以大于或小于1秒。闸门时间越长,得到的频率值就越准确,但闸门时间越长则每测一次频率的时间间隔就越长。闸门时间越短,测得频率值刷新得就越快,但测得的频率精度受影响。频率计的结构包括一个测频控制信号发生器、一个计数器和一个锁存器。第8章 数字系统设计设计频率计的关键是设计一个测频控制信号发生器,产生测量频率的控制时序。控制时钟信号CLK取为1 Hz,2分频后即可产生一个脉宽为1秒的时钟TEST_EN,以此作为计数闸门信号。当TEST_EN为高电平时,允许计数;当TEST_EN由高电平变为低电平(下降沿到来)
29、时,应产生一个锁存信号,将计数值保存起来;锁存数据后,还要在下次TEST_EN上升沿到来之前产生清零信号CLEAR,将计数器清零,为下次计数作准备。计数器以待测信号作为时钟,清零信号CLEAR到来时,异步清零。TEST_EN为高电平时开始计数,计数以十进制数显示。本例设计了一个简单的10 kHz以内信号的频率计,如果需要测试较高频率的信号,可将DOUT的输出位数增加,当然锁存器的位数也要相应增加。第8章 数字系统设计当TEST_EN下降沿到来时,将计数器的计数值锁存,可由外部的七段译码器译码并在数码管上显示。设置锁存器的好处是显示的数据稳定,不会由于周期性的清零信号而不断闪烁。锁存器的位数应跟
30、计数器完全一样。数字频率计外部接口如图8-15所示。第8章 数字系统设计图8-15 数字频率计外部接口第8章 数字系统设计三、实训内容三、实训内容(1)分析流程,搞清其逻辑功能。(2)用VHDL设计各个模块的源程序,并进行分析。(3)通过软件进行仿真,并分析仿真结果。(4)通过原理图输入设计顶层原理图,并检查编译。(5)对系统进行仿真。(6)下载验证设计电路的正确性。第8章 数字系统设计四、实训步骤四、实训步骤(略略)五、器件下载编程与硬件实现五、器件下载编程与硬件实现在进行硬件测试时,通过EDA实验开发系统的扩展口,接由信号发生器产生的信号,设计系统的工作频率为1 Hz,通过4个数码管显示被
31、测的频率。对应的硬件结构示意图如图8-16所示。第8章 数字系统设计图8-16 数字频率计的硬件示意图第8章 数字系统设计六、实训报告六、实训报告(1)画出顶层原理图。(2)对照电路框图分析电路工作原理。(3)写出各功能模块的VHDL源程序。(4)详述控制器各部分的工作原理,绘出详细电路图,写出VHDL源文件,画出有关状态机的变化状况。七、参考源程序七、参考源程序系统结构图如图8-17所示。第8章 数字系统设计图8-17 系统结构图第8章 数字系统设计第8章 数字系统设计第8章 数字系统设计第8章 数字系统设计第8章 数字系统设计第8章 数字系统设计 -reg4b.vhd 源程序 librar
32、y ieee;use ieee.std_logic_1164.all;entity reg4b is port(load:in std_logic;din:in std_logic_vector(3 downto 0);dout:out std_logic_vector(3 downto 0);end reg4b;architecture two of reg4b is 第8章 数字系统设计第8章 数字系统设计习习 题题8.1 设计用于体育比赛用的数字秒表,要求:(1)计时精度应大于0.01 s,计时器能显示0.01 s的时间,提供给计时器内部定时的时钟频率应大于100 Hz,建议选用1kHz
33、。(2)计时器的最长计时时间为1小时,为此需要一个6位的显示器,显示的最长时间为59分59.99秒。(3)设置有复位开关和起停开关。第8章 数字系统设计8.2 设计一个数码锁,要求:(1)采用3位十进制密码,密码用DIP开关(或键盘)确定,必要时可以更换。(2)系统通电后必须处于关门状态,按动SETUP键后开始运行,运行时标志开门的灯或警报灯(警铃)皆不工作,系统处于安全状态。第8章 数字系统设计开锁过程如下:(1)按启动键(START)启动开锁程序,此时系统内部应处于初始状态。(2)依次键入3个十进制码。(3)按开门键(OPEN)准备开门。若按上述程序执行且拨号正确,则开门继电器工作,绿灯L
34、O亮;若按错密码或未按上述程序执行,则按开门键OPEN后警报装置鸣叫,红灯LA亮。第8章 数字系统设计(4)开锁事务处理完毕后,应将门关上,按SETUP键,使系统重新进入安全状态(若在警报状态,按下SETUP或START键应不起作用,需另用一内部I_SETUP键才能使系统进入安全状态)。(5)使用者如按错号码,可在按OPEN键之前按START键重新启动开锁程序。(6)号码09、START、OPEN均用按键产生,并均有消抖和同步电路。设计符合上述功能的密码锁,并用层次化方法设计该电路。第8章 数字系统设计8.3 设计一个16路彩灯控制器,要求6种花型循环变化,有清零开关,并且可以选择快慢两种节拍。整个系统共有3个输入信号:控制彩灯节奏快慢的基准时钟信号CLK_IN、系统清零信号CLR、彩灯节奏快慢选择开关CHOSE_KEY;共有16个输出信号LED15.0,分别用于控制16路彩灯。8.4 汽车车灯控制系统的VHDL语言实现。系统功能及要求:汽车上有一转弯控制杆,此杆有3种状态:中间位置时,汽车不转弯;向上时,汽车左转;向下时,汽车右转。汽车转弯时相应尾灯和头灯均闪烁。当应急开关合上时,头灯、尾灯均闪烁。汽车刹车时,两个尾灯发出一直亮的信号。如果汽车刹车时正在转弯,则相应的转弯闪烁信号不受影响。