版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 第八章第八章 数字系统分析与设计数字系统分析与设计2022-5-30 第八章第八章 数字系统分析与设计数字系统分析与设计n8.1 8.1 数字系统的基本概念数字系统的基本概念 n8.2 8.2 数字系统的设计方法数字系统的设计方法n8.3 8.3 数字系统设计的一般过程数字系统设计的一般过程n8.4 8.4 数字系统的算法描述数字系统的算法描述n8.5 8.5 数字系统设计实例数字系统设计实例2022-5-30 而而由若干数字电路和逻辑部件构成的、能够实现数据存由若干数字电路和逻辑部件构成的、能够实现数据存储、传输和处理等复杂功能的数字设备,则称为数字系统储、传输和处理等复杂功能的数字设备,
2、则称为数字系统(digital systemdigital system)。如电子计算机,数字钟,数字密码锁)。如电子计算机,数字钟,数字密码锁等均是典型的数字系统。等均是典型的数字系统。 在数字电子技术领域内,由各种逻辑器件构成的能够实现在数字电子技术领域内,由各种逻辑器件构成的能够实现某种单一特定功能的电路称为某种单一特定功能的电路称为功能部件级电路功能部件级电路,如前面各章介,如前面各章介绍的数据选择器、译码器、计数器、寄存器等就是典型的功能绍的数据选择器、译码器、计数器、寄存器等就是典型的功能部件级电路,它们只能实现数据选择、译码、计数、移位寄存部件级电路,它们只能实现数据选择、译码、
3、计数、移位寄存等单一功能。等单一功能。2022-5-30 数据子系统又称为数据处理单元,是数字系统的数据存数据子系统又称为数据处理单元,是数字系统的数据存储和处理单元,包括各种只能够实现某种单一特定功能的功能储和处理单元,包括各种只能够实现某种单一特定功能的功能部件级电路,如加法器,数据选择器,译码器,计数器等,实部件级电路,如加法器,数据选择器,译码器,计数器等,实现数据的存储、传送和处理。现数据的存储、传送和处理。 控制子系统又称为控制器,是数字系统的核心,负责统控制子系统又称为控制器,是数字系统的核心,负责统一协调和管理各功能部件的工作,使它们按一定顺序进行操作一协调和管理各功能部件的工
4、作,使它们按一定顺序进行操作,实现整个系统的复杂功能。,实现整个系统的复杂功能。 根据现代数字系统设计理论,任何数字系统都可按其结根据现代数字系统设计理论,任何数字系统都可按其结构从逻辑上划分为构从逻辑上划分为数据子系统和控制子系统数据子系统和控制子系统两大部分。两大部分。 数字系统基本结构数字系统基本结构2022-5-30数字系统基本结构数字系统基本结构通常以是否含有控制器作为区别功能部件和数字系统的标志。通常以是否含有控制器作为区别功能部件和数字系统的标志。 2022-5-30自上而下的设计方法自上而下的设计方法自下向上的设计方法自下向上的设计方法2022-5-30自上而下的自上而下的设计
5、方法设计方法从总体要求出发,自上而下的逐步从总体要求出发,自上而下的逐步将设计内容细化,即将所设计电路将设计内容细化,即将所设计电路的功能逐级细化为更简单的功能模的功能逐级细化为更简单的功能模块,直到这些模块都能方便实现,块,直到这些模块都能方便实现,最后完成系统硬件的整体设计。最后完成系统硬件的整体设计。 器件级描述器件级描述系统级描述系统级描述系统设计系统设计功能级描述功能级描述逻辑设计逻辑设计描述过程描述过程2022-5-30器件级描述器件级描述系统级描述系统级描述系统设计系统设计功能级描述功能级描述逻辑设计逻辑设计 确定系统的外部输入、输出确定系统的外部输入、输出信息,明确所要设计系统
6、的逻信息,明确所要设计系统的逻辑功能。作出系统方框图或逻辑功能。作出系统方框图或逻辑流程图。这是最高一级的描辑流程图。这是最高一级的描述。述。 确定系统方案与逻辑划分,确定系统方案与逻辑划分,将系统分为控制器和各个逻辑将系统分为控制器和各个逻辑功能模块,画出功能模块,画出ASM图。图。 指详细的逻辑电路图,它详指详细的逻辑电路图,它详细地给出了实际系统的单元电细地给出了实际系统的单元电路及它们之间的连线。在逻辑路及它们之间的连线。在逻辑设计阶段中,这是最低级别的设计阶段中,这是最低级别的描述。描述。2022-5-30自下而上的自下而上的设计方法设计方法设计方法是从底层开始,设计方法是从底层开始
7、,由简单到复杂,逐步向上由简单到复杂,逐步向上完成。通常用基本的单元完成。通常用基本的单元构成比较复杂的单元,较构成比较复杂的单元,较复杂的又为更复杂的功能复杂的又为更复杂的功能的实现提供基础。的实现提供基础。设计过程设计过程设计验证修改设计再验证特点:设计者凭自己的智慧和经验进行设计和加以修改,设计者凭自己的智慧和经验进行设计和加以修改, 可以充分利用已有设计成果,较快地设计出所要求的系统,可以充分利用已有设计成果,较快地设计出所要求的系统,设计成本较低。设计成本较低。缺点:在进行底层设计时,缺乏对整个系统总体性能的把在进行底层设计时,缺乏对整个系统总体性能的把握。其系统结构有时不是最佳的。
8、随着系统规模和复杂度的握。其系统结构有时不是最佳的。随着系统规模和复杂度的提高,其缺点越来越突出。提高,其缺点越来越突出。2022-5-30系统调研,确定总体方案系统调研,确定总体方案逻辑划分,导出系统框图逻辑划分,导出系统框图功能分解,构造数据子系统功能分解,构造数据子系统算法设计,实现控制子系统算法设计,实现控制子系统2022-5-30 进行一个数字系统设计时,首先要对所设计的系统的任进行一个数字系统设计时,首先要对所设计的系统的任务,要求和使用环境等进行深入的了解。在详细了解设计务,要求和使用环境等进行深入的了解。在详细了解设计任务的基础上,确定系统的逻辑功能,即根据用户要求,任务的基础
9、上,确定系统的逻辑功能,即根据用户要求,对设计任务作透彻的了解,确定系统的整体功能及其输入对设计任务作透彻的了解,确定系统的整体功能及其输入信号、输出信号、控制信号和控制信号与输入、输出信息信号、输出信号、控制信号和控制信号与输入、输出信息之间的关系等。之间的关系等。 明确了系统要实现的逻辑功能后,可根据系统的逻辑功明确了系统要实现的逻辑功能后,可根据系统的逻辑功能确定出系统设计的总体方案。这是设计过程中至为关键能确定出系统设计的总体方案。这是设计过程中至为关键的一步。的一步。 系统调研,确定总体方案系统调研,确定总体方案2022-5-30 系统总体方案确定后,可以将系统从逻辑上划分为数据系统
10、总体方案确定后,可以将系统从逻辑上划分为数据处理单元和控制器两部分,导出包含有必要的数据信息、控处理单元和控制器两部分,导出包含有必要的数据信息、控制信息和状态信息的结构框图。制信息和状态信息的结构框图。 逻辑划分的原则是,怎样更有利于实现系统的工作原理,逻辑划分的原则是,怎样更有利于实现系统的工作原理,就怎样进行逻辑划分。为了不使这一步的工作太过复杂,结就怎样进行逻辑划分。为了不使这一步的工作太过复杂,结构框图中的各个逻辑模块可以比较笼统,比较抽象,不必受构框图中的各个逻辑模块可以比较笼统,比较抽象,不必受具体芯片型号的约束。具体芯片型号的约束。逻辑划分,导出系统框图逻辑划分,导出系统框图2
11、022-5-30 将结构框图中的数据子系统根据逻辑功能进一步分解为将结构框图中的数据子系统根据逻辑功能进一步分解为多个功能模块,再将各功能模块分解为更小的模块,直至可多个功能模块,再将各功能模块分解为更小的模块,直至可用合适的芯片或模块来实现。用合适的芯片或模块来实现。 数据子系统所需要的各种控制信号,由控制器产生。必数据子系统所需要的各种控制信号,由控制器产生。必须注意,为了简化控制器的设计,数据子系统不仅要结构简须注意,为了简化控制器的设计,数据子系统不仅要结构简单、清晰,而且要便于控制单、清晰,而且要便于控制。功能分解,构造数据子系统功能分解,构造数据子系统2022-5-30 控制器是数
12、字系统能够正常工作的指挥中枢,因此它的控制器是数字系统能够正常工作的指挥中枢,因此它的设计是设计过程中极为重要部分。设计是设计过程中极为重要部分。 根据得出的数据子系统结构,编制出数字系统的控制算根据得出的数据子系统结构,编制出数字系统的控制算法,所谓控制算法,就是控制器对被控对象的控制关系。法,所谓控制算法,就是控制器对被控对象的控制关系。并进一步用算法流程图、并进一步用算法流程图、ASMASM图、图、MDSMDS图等工具来正确描述图等工具来正确描述系统控制器的控制算法。最后用合适的芯片或模块来设计系统控制器的控制算法。最后用合适的芯片或模块来设计实现。实现。算法设计,实现控制子系统算法设计
13、,实现控制子系统2022-5-30算法状态机图(算法状态机图( ASM图图)ASMASM图是描述数字系统图是描述数字系统控制算法控制算法的流程图,可以方便的流程图,可以方便地表示数字系统的时序操作。地表示数字系统的时序操作。不同于算法流程图,它是一种不同于算法流程图,它是一种时钟驱动时钟驱动的流程图。的流程图。ASMASM图可以用来图可以用来描述控制器的控制过程描述控制器的控制过程(即控制器的(即控制器的状态转换、转换条件以及控制器的输出等),还指明了状态转换、转换条件以及控制器的输出等),还指明了在被控制的数据处理器中应该实现的操作。在被控制的数据处理器中应该实现的操作。在这个意义上,在这个
14、意义上,ASMASM图定义了整个数字系统图定义了整个数字系统。 ASM图图2022-5-308.4.1. 8.4.1. ASM图符号图符号 ASMASM图由三个基本图形符号组成:状态框、判断框图由三个基本图形符号组成:状态框、判断框和条件输出框,如图和条件输出框,如图3-23-2所示。所示。 ASM的基本图形符号的基本图形符号操作内容操作内容状态名称状态名称状态编码状态编码(a)状态框)状态框输出内容输出内容输出内容(c)条件输出框)条件输出框(b)判断框)判断框判断条件判断条件判断条件判断条件2022-5-30操作内容操作内容状态名称状态名称状态编码状态编码(a a)状态框)状态框n状态框用
15、矩形框表示,一个矩形框,代表了数字系统控制器的状态框用矩形框表示,一个矩形框,代表了数字系统控制器的时序状态图中的一个状态。其表示方式为:在框内列出该状态下时序状态图中的一个状态。其表示方式为:在框内列出该状态下数据子系统应该进行的操作及为实现这种操作而产生的控制信号数据子系统应该进行的操作及为实现这种操作而产生的控制信号输出;框的左上方表明状态名称;右上方写上状态编码。输出;框的左上方表明状态名称;右上方写上状态编码。 S0010状态框实例状态框实例ba一个状态框占用一个一个状态框占用一个cpcp1 1、状态框、状态框2022-5-30(b)判断框)判断框判断条件判断条件判断条件判断条件X=
16、n?01n判断框的入口来自某一个状态框,在该状态占用一个时钟周期判断框的入口来自某一个状态框,在该状态占用一个时钟周期内,根据判断条件,以决定下一个时钟脉冲到来时,状态的走向,内,根据判断条件,以决定下一个时钟脉冲到来时,状态的走向,故判断框不占用新的故判断框不占用新的cpcp。n判断框用菱形表示,表示判断框用菱形表示,表示ASM图的状态分支。控制器可根据判图的状态分支。控制器可根据判断条件的取值,决定在下一个断条件的取值,决定在下一个CLK有效边沿到来时状态的转换有效边沿到来时状态的转换方向,或决定数据处理器执行相应的操作。方向,或决定数据处理器执行相应的操作。2 2、判断框、判断框2022
17、-5-30输出内容输出内容输出内容(c)条件输出框)条件输出框s1XR 0s210n条件框的入口必定与判断框的输出相连。条件框的入口必定与判断框的输出相连。n当判断框内的判断条件满足时,立即执行条件输出框内所规定当判断框内的判断条件满足时,立即执行条件输出框内所规定的操作。的操作。注意注意:条件输出框不是控制器的一个状态。:条件输出框不是控制器的一个状态。3 3、条件输出框、条件输出框2022-5-30v一个一个ASMASM块表示一个时钟周期块表示一个时钟周期内的系统状态,对应的是控制器内的系统状态,对应的是控制器的状态图中的一个状态及输出。的状态图中的一个状态及输出。v 每个每个ASMASM
18、块必定包含一个状块必定包含一个状态框且只允许包含一个状态框,态框且只允许包含一个状态框,与此状态框相连的若干个判断框与此状态框相连的若干个判断框和条件输出框也属于该和条件输出框也属于该ASMASM块。块。nASM图具有时间序列: ASM图中的每一个ASM块都对应了一个时钟脉冲周期应实现的操作。4 4、各种逻辑框之间的时间关系、各种逻辑框之间的时间关系条件输出框实例条件输出框实例s1s20XR 012022-5-308.4.2 ASM图含义图含义【例8.1】描述图中ASM图表的含义。S110X XA A +100R 0S201C 1S310EN 1CLKS1S2 或或S3R 0若若X=1,A A
19、+1C 1或或EN 1(a) ASM图表图表 (b)操作时间表操作时间表2022-5-30 助记状态图即助记状态图即备有记忆文挡的状态图备有记忆文挡的状态图。 它是它是1980年由美国人年由美国人William.Fletcher提出的一种系统设计方法。提出的一种系统设计方法。补充:补充: 助记状态图(助记状态图(MDS)1 1MDSMDS图符号图符号S Si i 表示状态表示状态SiSi。表示当系统时钟的有效沿到来时,状态从表示当系统时钟的有效沿到来时,状态从SiSi无条件地转换到无条件地转换到SjSj。S Si iS Sj j表示在满足条件表示在满足条件T T的情况下,且系统时钟的有效沿到来
20、时,状的情况下,且系统时钟的有效沿到来时,状态从态从SiSi转换到转换到SjSj;转换条件;转换条件T T可以是一个变量,也可以是一个可以是一个变量,也可以是一个复杂的布尔代数表达式。复杂的布尔代数表达式。T TS Si iS Sj jT T2022-5-30表示进入状态表示进入状态SiSi时,输出信号时,输出信号Z Z变为有效;若变为有效;若Z Z的有效电的有效电平已经确定,则可在平已经确定,则可在Z Z旁边注明。例如,旁边注明。例如,Z Z为高有效,则为高有效,则可用可用Z=HZ=H来代替来代替ZZ。ZSi表示进入状态表示进入状态SiSi时,输出信号时,输出信号Z Z变为无效;若变为无效;
21、若Z Z的有效电平已经的有效电平已经确定,则可在确定,则可在Z Z旁边注明。例如,旁边注明。例如,Z Z为高有效,则可用为高有效,则可用Z=HZ=H来来代替代替ZZ。Z Si表示进入状态表示进入状态SiSi时,输出信号时,输出信号Z Z变为有效;退出状态变为有效;退出状态SiSi时,时,Z Z变变为无效。若为无效。若Z Z的有效电平已确定,可在的有效电平已确定,可在Z Z旁边注明。例如,旁边注明。例如,Z Z为为高有效,则可用高有效,则可用Z=HZ=H来代替来代替ZZ。ZSi表示如果条件表示如果条件T T满足,则进入状态满足,则进入状态SiSi时,输出信号时,输出信号Z Z变为有变为有效;退出
22、状态效;退出状态SiSi时,时,Z Z变为无效。变为无效。Z=SiTSi表示表示T T是一个异步输入,而是一个异步输入,而SiSi是在异步输入是在异步输入T T的作用下才退出的作用下才退出这一状态。这一状态。TSiMDSMDS图符号图符号2022-5-302MDS图的建立 MDS图和状态图的转换,其区别在与输入、输出变量表示的不同。A/10B/11C/00 x2x1=00,1000,0100,0101,1101,1110,11a)状态图)状态图ABCx1z2x2x1x2x1x2z1z2b)MDS图图2022-5-30 由由ASM图导出图导出MDS图的原则有:图的原则有:(1 1)ASMASM图
23、的一个状态框对应于图的一个状态框对应于MDSMDS图的一个状态圆图的一个状态圆。两个状态框之。两个状态框之间只允许存在一个异步输入信号,当两个状态框之间多余一个异步间只允许存在一个异步输入信号,当两个状态框之间多余一个异步输入信号时,必须增加状态框,以免丢失异步输入信号;两个状态输入信号时,必须增加状态框,以免丢失异步输入信号;两个状态框之间若存在前后连续的多个判断框,则表示判断条件同时满足时,框之间若存在前后连续的多个判断框,则表示判断条件同时满足时,转入下一个状态框。转入下一个状态框。(2 2)ASMASM图的判断框对应于图的判断框对应于MDSMDS图中的分支。图中的分支。其中判断变量是转
24、换条其中判断变量是转换条件或分支条件的一部分或全部。两个状态圆之间只允许有一个分支。件或分支条件的一部分或全部。两个状态圆之间只允许有一个分支。(3 3)ASMASM图中的条件输出和图中的条件输出和MDSMDS图中的条件输出相对应图中的条件输出相对应。条件输出信。条件输出信号标注在当前状态圆旁边。号标注在当前状态圆旁边。(4 4)ASMASM图状态框上的信息就是图状态框上的信息就是MDSMDS图中对应的状态输出图中对应的状态输出。2MDS图的建立 MDS图和ASM图的转换2022-5-30ABCDS=1w=1z=1R=1YNYNYNa)ASM图ABDCswsw+szszR =Aswb)MDS图
25、2022-5-30实例:交通灯控制器实例:交通灯控制器 在一个具有主、支干道的十字路口,设计一个交通灯自动控制在一个具有主、支干道的十字路口,设计一个交通灯自动控制装置。要求:装置。要求:(1 1)当主干道与支干道均无车辆要求通行时,主干道应保)当主干道与支干道均无车辆要求通行时,主干道应保 持畅持畅通,亮绿灯,支干道亮红灯。通,亮绿灯,支干道亮红灯。(2 2)如果主干道无车,支干道有车,则允许支干道通行,主干道亮红)如果主干道无车,支干道有车,则允许支干道通行,主干道亮红灯,支干道亮绿灯。灯,支干道亮绿灯。(3 3)如果主干道和支干道均有车要求通行,则两者应交替通行,并要)如果主干道和支干道
26、均有车要求通行,则两者应交替通行,并要求主干道每次通行求主干道每次通行3030秒,支干道每次通行秒,支干道每次通行2020秒。秒。(4 4)每次绿灯变红灯时,黄灯应先亮)每次绿灯变红灯时,黄灯应先亮5 5秒钟。秒钟。2022-5-30传感器传感器控控 制制 器器时钟电路时钟电路定定 时时 器器SaSbcntcr30205rb yb gbra ya gaclk系统框图系统框图2022-5-30n控制器设计控制器设计n主干道主干道n支干道支干道nS0:S0:主干道绿灯亮,支干道红灯亮;主干道绿灯亮,支干道红灯亮;nS1:S1:主干道黄灯亮,支干道红灯亮;主干道黄灯亮,支干道红灯亮;nS2:S2:主
27、干道红灯亮,支干道绿灯亮;主干道红灯亮,支干道绿灯亮;nS3:S3:主干道红灯亮,支干道黄灯亮;主干道红灯亮,支干道黄灯亮;2022-5-30nASM图图2022-5-302022-5-30主绿、支红主绿、支红SacrS001SbSb30s主黄、支红主黄、支红111cnt000S12022-5-30主黄、支红主黄、支红S15scnt0cr1主红、支绿主红、支绿S22022-5-30主红、支绿主红、支绿SaSbSb01cntS210020s1cr1主红、支黄主红、支黄S3cnt05scnt01cr主绿、支红主绿、支红S02022-5-30n设计实现S0S1cnt= S0SaSb30scr= S0
28、(SaSb30s+ SaSb)cnt= S1 5scr= S1 5scnt= S3 5scr= S3 5s5s5s5s5sSaSb+ SaSb30s+ Sa SbSaSb30s+ Sa SbSb + SaSb20s SaSb20s+ Sa Sbcnt= S2Sb (20s+Sa)cr= S2(SaSb20s+ Sb)S2S32022-5-30数据处理单元数据处理单元控控 制制 单单 元元控制序控制序列信号列信号反馈应反馈应答信号答信号待处理待处理输入数据输入数据外部输入外部输入控制信号控制信号处理后处理后输出数据输出数据输输 出出控制信号控制信号数数 据据 流流控控 制制 流流单元单元控制控制
29、用来产生控制信号序列,以决用来产生控制信号序列,以决定何时进行何种数据运算。定何时进行何种数据运算。有限状态机设计有限状态机设计 9.5数 字 系 统 基 本 结 构数 字 系 统 基 本 结 构2022-5-309.5有限状态机的vhdl实现2022-5-30一、什么是状态机 通俗的说,状态机就是事物存在状态的一种综合描 述,是一种用来描述或处理数字控制系统的方法。 二、状态机在VHDL语言中的实现: 1、在VHDL语言中的状态机的设计不同于数字电路的状态机的设计,即不需要按照传统的设计方法进行烦琐的状态分配、绘制状态表,化简状态方程,根据MDS图(Mnemonic Documented S
30、tate Diagrams)直接对状态机进行描述。2、在整个VHDL设计中状态机起中心控制作用。2022-5-30三、状态机的分类三、状态机的分类:(1)、)、Moore状态机:次态状态机:次态=f(现态),(现态), 输出输出= f(现态)。(现态)。(2)、)、Mealy状态机:次态状态机:次态=f(现态,输入),(现态,输入), 输出输出= f(现态,输入)(现态,输入)Moore型状态机和Mealy型状态机在结构上的基本差别 :Moore型状态机与输入信号无关,而Mealy型状态机却和输入信号有关,但是它们在VHDL描述上差别并不大。2022-5-30一个有限状态机的VHDL描述应包括
31、如下内容: 至少包括一个状态信号 指定有限状态机的状态 状态转移指定和输出指定 对应于控制单元中与每 个控制步有关的转移条件 时钟信号 复位信号2022-5-30最一般和最常用的状态机通常包含以下几部分:1. 说明部分.2. 主控时序进程.3. 主控组合进程.4. 辅助进程.2022-5-301. 说明部分. ARCHITECTURE IS TYPE m_state IS (st0, st1, st2, st3, st4, st5); -定义新的数据类型 SIGNAL current_state, next_state: m_state; -定义状态;1. 一般放在结构体的ARCHITECTU
32、RE和BEGIN之间。2. 说明部分使用TYPE语句定义新的数据类型:枚举型 。且其元素通常都用状态机的状态名来定义。w状态变量(如现态和次态)应定义为信号,便于信息传递。w将状态变量的数据类型定义为含有既定状态元素的新定义的数据类型。 2022-5-302、主控时序进程: 所谓主控时序进程是指负责状态机运转和在时钟驱动下负责状态转换的进程。 resetPROCESSREGPROCESSCOMcurrent_statenext_stateclkS_inputS_outputFSM:一般状态机结构框图工作示意图一般状态机结构框图工作示意图主控时序主控时序进程进程主控组合主控组合进程进程主控时序进
33、程 实际上是一个对工作时钟信号敏感的进程,可看作状态机的“驱动泵”,而时钟 clk 相当于这个 “驱动泵”中的驱动功率电源。2022-5-30PROCESS (reset , clk) -主控时序进程 BEGIN IF reset= 1 THEN current_state=s0; -异步复位 ELSIF clkEVENT AND clk=1 THEN current_state comb_outputs=“10”; IF state_inputs=“00” THEN next_state=s0; ELSE next_state comb_outputs=“11”; IF state_inpu
34、ts=“00” THEN next_state=s1; ELSE next_state comb_outputs=“01”; IF state_inputs=“11” THEN next_state=s0; ELSE next_state comb_outputs=“00”; IF state_inputs=“11” THEN next_state=s3; ELSE next_state =s0; END IF;END case;END PROCESS;END behv; 2022-5-304 辅助进程用于配合状态机工作的组合进程或时序进程。2022-5-30S0/0010/0/1/1/0/1
35、/0/1/S3/111S1/011S2/101nMoore1.vhd2022-5-30Architecture behav of moore1 is type state_type is (s0,s1,s2,s3);signal ps,ns: state_type;beginLibrary ieee;Use ieee.std_logic_1164.all;Entity moore1 is port( clk,clr,din: in std_logic; q: out std_logic_vector(2 downto 0);End moore1 ;2022-5-30reg: process(c
36、lk,clr) -主控时序进程主控时序进程 begin if clr=1 then -异步复位信号异步复位信号 ps=s0; elsif rising_edge(clk) then ps q=001; if din=1 then ns=s1; else ns q=011; if din=1 then ns=s2; else ns q=101;n if din=1 thenn ns=s3;n else ns q=111;n if din=1 thenn ns=s0;n else ns if din=1 thenn ns=s1;q=001;n else ns=s0;q=000;n end if;M
37、ealy1.vhd2022-5-30n几种编程思路几种编程思路S0/0010/0/1/1/0/1/0/1/S3/111S1/011S2/1012022-5-30nArchitecture behav of moore2 is ntype state_type is (s0,s1,s2,s3);nsignal state: state_type;nbeginnprocess(clk,clr)n beginn if clr=1 thenn state q=001;n if din=1 thenn state=s1;n else state q q q q=111;n end case;n end
38、process;多进程描述多进程描述n with state selectn q=001 when s0,n 011 when s1,n “101 when s2,n “111 when s3;2022-5-30n设计三种彩灯控制系统的控制器。三种彩灯依次循环亮,设计三种彩灯控制系统的控制器。三种彩灯依次循环亮,其中苹果形图案灯亮其中苹果形图案灯亮16s16s,香蕉形图案灯亮,香蕉形图案灯亮12s12s,葡萄形,葡萄形图案灯亮图案灯亮9s9s。输入输入计时信号:计时信号:16s16s时间到,时间到,X=1X=1; 12s12s时间到,时间到,Y=1Y=1;9s9s时间到,时间到, Z=1Z=1
39、;定时信号:计时器计时开始,定时信号:计时器计时开始,t t1 1,否则否则t t0 0。输出输出苹果形图案灯亮苹果形图案灯亮, A=1;, A=1;香蕉形图案灯亮,香蕉形图案灯亮, B=1;B=1;葡萄形图案灯亮,葡萄形图案灯亮, G=1;G=1;2022-5-302022-5-30library library ieeeieee; ; 引用必要的库函数和包集合引用必要的库函数和包集合use ieee.std_logic_1164.all;use ieee.std_logic_1164.all;entity entity ctrctr is is 控制器的设计实体部分控制器的设计实体部分po
40、rt(clk,x,y,z:inport(clk,x,y,z:in std_logicstd_logic; ; 时钟输入信号和来自计数器的输入信号时钟输入信号和来自计数器的输入信号 A,B,G:outA,B,G:out std_logicstd_logic; ; 灯亮输出信号灯亮输出信号 t: out std_logic_vector(2 t: out std_logic_vector(2 downtodownto 0); 0); 控制计数器计数的相应输出信号控制计数器计数的相应输出信号end end ctrctr; ;2022-5-30architecture architecture beh
41、beh of of ctrctr is is 控制器的结构体部分控制器的结构体部分type state is( s0,s1,s2); type state is( s0,s1,s2); 自定义控制器的三个状态,为自定义控制器的三个状态,为 枚举类型枚举类型signal signal ns,ps:statens,ps:state; ; 定义状态机的状态变量定义状态机的状态变量SIGNAL led: STD_LOGIC_VECTOR(2 DOWNTO 0); SIGNAL led: STD_LOGIC_VECTOR(2 DOWNTO 0); 定义中间信号定义中间信号beginbeginreg:pr
42、ocess(clkreg:process(clk) ) 主控时序进程主控时序进程beginbeginif if clkeventclkevent and and clkclk=1 then=1 thenpsps=ns; led=100; if x=1 then t=010; ns=s1; else t=100; nsled=010; if y=1 then t=001; ns=s2; else t=010; nsled=001; if z=1 then t=100; ns=s0; else t=001; ns=s2; end if;end case;A= led(2); B= led(1);
43、Gled=100; if x=1 then t=010; state=s1; else t=100; state2022-5-303.4 3.4 数字系统设计实例数字系统设计实例n实例实例1: 41: 4位移位乘法器设计位移位乘法器设计n实例实例2 2: 高速并行乘法器的算法设计和电路结构高速并行乘法器的算法设计和电路结构n实例实例3 3: 十字路口交通灯控制器十字路口交通灯控制器n实例实例4 4: 多功能数字电子钟设计多功能数字电子钟设计n实例实例5 5: 数字密码锁电路设计数字密码锁电路设计n实例实例6 6:8 8位简易数字频率计设计位简易数字频率计设计n实例实例7 7:量程自动转换数字频
44、率计设计:量程自动转换数字频率计设计2022-5-30实例一、实例一、4 4位移位乘法器设计位移位乘法器设计移移 位位乘法器乘法器abstartMdone8444 4位移位乘法器方框图位移位乘法器方框图2022-5-30根据二进制乘法的运算规则,运算过程为:根据二进制乘法的运算规则,运算过程为:M = b0a20 + b1a21 + b2a22 + b3a23 若若a=1011,b=1101,则运算过程和运算结果是:,则运算过程和运算结果是: 1 0 1 1 -a 1 1 0 1 -b 1 0 1 1 - b0a20 0 0 0 0 - b1a21 (左移左移1位位) 1 0 1 1 - b2
45、a22 (左移左移2位位) + 1 0 1 1 - b3a23 (左移左移3位位) 1 0 0 0 1 1 1 -M2022-5-302022-5-304 4位乘法器的算法流程图位乘法器的算法流程图i=3?开始i=0, M=0M A*bi+M 结束i i+1A左移一位N0YES2022-5-30RMADDANDRACONTROLCON=3COUNTM=4A0 A1MUX2103Yb0b1b2b38888CACMCPCRQ0Q1a0a1a2a32022-5-30Cnt=3?Cnten=1NCnten=0s0NYCr=1;ca=1s1CM=1s2WaitEnd=1s3start=1?Y2022-5
46、-30 在上述乘法器的设计过程中,电路结构是一个在上述乘法器的设计过程中,电路结构是一个时时序结构序结构 的电路,的电路,运算运算 是通过左移操作一位一位地进是通过左移操作一位一位地进行的,行的,不适合高速运算不适合高速运算 。若设想左移操作不是通过移。若设想左移操作不是通过移位寄存器在时钟信号驱动下进行,而是位寄存器在时钟信号驱动下进行,而是硬件直接连接硬件直接连接而成而成 ,则运算速度可以大大提高。,则运算速度可以大大提高。要求:设计出一个要求:设计出一个高速并行运算高速并行运算乘法器,输入为两个乘法器,输入为两个带符号位的带符号位的4位二进制数。位二进制数。2022-5-303 2 1
47、0M0CO加加 法法 器器CI3 2 1 0M1CO加加 法法 器器CI3 2 1 0M2CO加加 法法 器器CI3 2 1 0M7 M6 M5 M4 M3CO加加 法法 器器CI0000b0ab1ab2ab3aMsXORas bs符号位符号位bia0bibia1bia2bia3a0a1a2a3bia 模块模块n高速乘法器的电路结构高速乘法器的电路结构2022-5-30实例实例3:十字路口交通灯控制器:十字路口交通灯控制器 在一个道路足够宽具有六车道的十字路口,设计一个交通灯自动控制在一个道路足够宽具有六车道的十字路口,设计一个交通灯自动控制装置。要求:装置。要求:(1 1)车辆直行时不允许车
48、辆左拐行驶)车辆直行时不允许车辆左拐行驶, ,但右拐可以同时进行但右拐可以同时进行, ,必须设有专门的必须设有专门的左拐时间左拐时间. .(2 2)车辆控制灯有直行,左拐和右拐三个绿色指示灯以及一个红色指示灯和)车辆控制灯有直行,左拐和右拐三个绿色指示灯以及一个红色指示灯和一个黄色指示灯。红色指示灯亮表示禁止通行。由绿灯变为红灯时,黄灯一个黄色指示灯。红色指示灯亮表示禁止通行。由绿灯变为红灯时,黄灯应亮应亮3 3秒钟。秒钟。(3 3)车辆通行时间为)车辆通行时间为4040秒,由各方向设置的倒计时计数器显示,向司机提示秒,由各方向设置的倒计时计数器显示,向司机提示该状态所剩余的时间。该状态所剩余
49、的时间。(4 4)警察有权可以随时指定系统停在某个状态,确保某个方向的车辆通行。)警察有权可以随时指定系统停在某个状态,确保某个方向的车辆通行。2022-5-30警察控制警察控制控控 制制 器器定定 时时 器器cntcrrb yb gbra ya gaclk系统框图系统框图2022-5-30n控制器设计控制器设计n南北南北n东西东西nS0:S0:南北向直行,各路可以右拐。南北向直行,各路可以右拐。nS1:S1:南北向可以左拐,各路可以右拐。禁止直行。南北向可以左拐,各路可以右拐。禁止直行。nS2:S2:南北向黄灯亮。南北向黄灯亮。.2022-5-30南北直行,南北直行,各路右拐各路右拐警察S0
50、030s南北左拐,南北左拐,各路右拐各路右拐1Cnt=10S112022-5-30计计数数器器Mclk1hz)mstartmstopresets7s0计计数数器器Bclk1hz)bstartbstops7s0计计数数器器Yclk1hz)ystartystops7s0控控制制器器resetmstopbstopystop状态机状态机2022-5-30n思思 考考n设计一个十字路口交通灯控制器。要求:设计一个十字路口交通灯控制器。要求:1.1. 能显示十字路口两个方向上的红、黄、绿灯的指示状态。能显示十字路口两个方向上的红、黄、绿灯的指示状态。 2.2. 能实现正常的倒计时功能;能实现正常的倒计时功
51、能; 3. 十字路口应有数字显示作为时间提示,便于人们更直接地十字路口应有数字显示作为时间提示,便于人们更直接地把握时间。系统要求:把握时间。系统要求: 绿、黄、红灯点亮时间分别为绿、黄、红灯点亮时间分别为20秒,秒,5秒,秒,25秒;数字显示作减秒;数字显示作减“1”计数显示。计数显示。 2022-5-305. 能实现系统复位功能能实现系统复位功能.6.6. 能实现夜间控制功能:能实现夜间控制功能:黄灯全亮,并且闪烁黄灯全亮,并且闪烁 .(.(附加附加) )4.能实现紧急状态处理的功能。能实现紧急状态处理的功能。A、出现紧急状态(例如消防车,警车执行特殊任务出现紧急状态(例如消防车,警车执行
52、特殊任务 时时要优先通行)时,两路上所有车禁止通行,红灯全亮要优先通行)时,两路上所有车禁止通行,红灯全亮,并且红灯并且红灯都都闪烁闪烁;B、 计数器停止计数并保持在原来的状态;计数器停止计数并保持在原来的状态;特殊状态解特殊状态解除后能返回原来状态继续运行。除后能返回原来状态继续运行。2022-5-30控控制制模模块块计计时时模模块块动态动态显示显示模块模块CPRESETURGENENRYGT1hT1lT2hT2l交通灯系统框图交通灯系统框图1分频模块分频模块night2022-5-30控控制制模模块块动态动态显示显示模块模块CPRESETRYGT1hT1lT2hT2l分频模块分频模块或非或
53、非Clkorand红灯红灯绿、黄灯绿、黄灯fshurgen交通灯系统框图交通灯系统框图22022-5-30n设计要求:设计要求: 1 1)具有以)具有以2424小时制计时、显示、整点报小时制计时、显示、整点报时、时间设置和闹钟的功能;时、时间设置和闹钟的功能; 2 2)设计精度要求为一秒;)设计精度要求为一秒;实例实例4:多功能数字电子钟设计:多功能数字电子钟设计2022-5-30系统功能描述:系统功能描述:系统输入系统输入:系统状态及校时、定时转换的控制信号为:系统状态及校时、定时转换的控制信号为k, set时钟时钟信号为信号为c l k,采用,采用1024hz;系统系统复位复位信号为信号为
54、reset。输入信号均由按键产生。输入信号均由按键产生。系统输出系统输出:led显示输出;蜂鸣器声音信号输出。显示输出;蜂鸣器声音信号输出。计时计时:正常工作状态下,每日按照:正常工作状态下,每日按照24h计时制计时并显示,计时制计时并显示,蜂鸣器无声,逢蜂鸣器无声,逢整点报时整点报时。n整点报时:蜂鸣器在整点报时:蜂鸣器在5959分钟的第分钟的第5151、5353、5555、5757秒发频率秒发频率为为512hz512hz的低音,在的低音,在5959秒发秒发1024hz1024hz的高音。的高音。2022-5-30校时校时:在计时显示状态下,按下:在计时显示状态下,按下setset键,进入键
55、,进入“小时小时”校准校准 状态,再次按下状态,再次按下setset键则进入分校准状态;键则进入分校准状态; 继续按下继续按下setset键,则进入键,则进入“秒复零秒复零”状态,第四次按下状态,第四次按下setset键则又恢复键则又恢复为正常计时显示状态。为正常计时显示状态。1) “小时小时”校准状态:显示小时的数码管校准状态:显示小时的数码管闪烁闪烁,按动,按动k k键,键,小时数以小时数以4hz4hz的频率递增计数;的频率递增计数;2) “分分”校准状态:显示分的数码管校准状态:显示分的数码管闪烁闪烁,按动,按动k k键,分以键,分以4hz4hz的频率递增计数;的频率递增计数;3)3)
56、秒复零状态,进入秒复零状态后,显示秒的数码管秒复零状态,进入秒复零状态后,显示秒的数码管闪烁闪烁,按动按动k k键键“秒秒” 4hz4hz的频率递增计数。的频率递增计数。2022-5-30闹钟闹钟: 闹钟定时时间到,蜂鸣器发出周期为闹钟定时时间到,蜂鸣器发出周期为1s1s的的 “ “滴滴”声,持续时间为声,持续时间为10s10s,闹钟定时显示。,闹钟定时显示。闹钟定时设置闹钟定时设置:在闹钟定时显示状态下,按下:在闹钟定时显示状态下,按下setset键,键, 进入闹钟的进入闹钟的“时时”设置状态,设置状态, 之后按下之后按下setset键,进入闹键,进入闹钟的分设置状态,钟的分设置状态, 继续
57、按下继续按下setset键则进入秒设置状态,键则进入秒设置状态,第四次按下第四次按下setset键又恢复到闹钟定时显示状态。键又恢复到闹钟定时显示状态。闹钟的时分秒设置过程和计时设置相同。闹钟的时分秒设置过程和计时设置相同。计时显示和闹钟定时显示之间的转换:计时显示和闹钟定时显示之间的转换:按动按动modemode键。键。2022-5-30数字钟系统电路结构框图数字钟系统电路结构框图控控制制器器计时计时校时校时电路电路定点定点报时报时闹铃闹铃电路电路显示显示选择选择控制控制电路电路Ksetresetcpmode闹钟闹钟定时定时比较比较电路电路显示显示驱动驱动电路电路蜂鸣器蜂鸣器时分秒时分秒信号
58、输出信号输出报时闹铃报时闹铃信号输出信号输出2022-5-30校时模块的设计校时模块的设计小时时钟小时时钟模模24进制小进制小时计数器时计数器二选一二选一校时时钟校时时钟钟(钟(4Hz)chh正常计时校时校分状态图状态图S0S1S2K1=1K2=1S3K3=1秒清02022-5-30系统时钟系统时钟1)秒计数时钟)秒计数时钟1Hz2) 校时时钟校时时钟4Hz3) 动显扫描时钟动显扫描时钟1KHz 4) 蜂鸣器时钟蜂鸣器时钟512Hz 蜂鸣器时钟蜂鸣器时钟1024Hz分频器分频器1Hz4Hz分频器1KHz分频器512Hz2022-5-30S0:S0:显示计时时间显示计时时间S1:S1:调计时的时
59、调计时的时S2:S2:调计时的分调计时的分S3:S3:调计时的秒调计时的秒S4:S4:显示闹铃时间显示闹铃时间S5:S5:调闹铃的时调闹铃的时S6S6:调闹铃的分:调闹铃的分S7S7:调闹铃的秒:调闹铃的秒s4s5s6s7set=1Mode=0Set=1set=1set=1set=1s0s1s2s3Set=1set=1Mode=1Set=12022-5-30实例实例5 5:数字密码锁电路:数字密码锁电路n设计要求:设计要求: 设计一个简易的数字密码锁电路设计一个简易的数字密码锁电路. . 其基本功能是:当使用者按序正确输入预其基本功能是:当使用者按序正确输入预置的密码(置的密码(3 3位十进制
60、数)时,使相应的指位十进制数)时,使相应的指示灯亮;若不一致,则表示错误的指示灯示灯亮;若不一致,则表示错误的指示灯亮。亮。2022-5-30n数字密码锁基本要求如下数字密码锁基本要求如下:n系统接通电源后,首先按动系统接通电源后,首先按动setupsetup键方投入运行。此时系键方投入运行。此时系统处于安锁状态。统处于安锁状态。n按启动键按启动键startstart启动开锁程序。启动开锁程序。n依次输入依次输入3 3个十进制码。个十进制码。n按按openopen键准备开门。若正确则绿灯亮。允许用户在开锁键准备开门。若正确则绿灯亮。允许用户在开锁过程中有一次错误,指示灯亮,如果有两次错误则报警
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年演出经纪人之《演出经纪实务》考前冲刺测试卷及答案详解一套
- 2025年福建省《保密知识竞赛必刷100题》考试题库附参考答案详解(基础题)
- 2026 高血压病人饮食的豆腐皮糊搭配课件
- 2026年县乡教师选调考试《教育学》检测卷含答案详解(突破训练)
- 2025年中西医结合医学考试试题及答案
- 2026七年级下新课标政治小论文写作
- 2026九年级上核心素养提升
- 古代宗教建筑空间神圣性构建与仪式实践研究-基于建筑考古资料与宗教人类学理论结合
- 人教版课标初中体育《营养、体育锻炼与控制体重》教学设计
- 第二节 履行义务承担责任教学设计中职思想政治经济政治与社会北京理工版
- 面部筋膜培训课件
- 二年级上册道法大单元全册教案
- SPC地板项目可行性研究报告-范文
- 小学课堂管理方法与技巧
- 《研学旅行课程设计》课件-1研学课程学生手册设计
- ISO27001最新版信息风险评估表
- 写字楼物业各项应急预案
- 基于无人机的公路基础设施健康监测与安全预警系统设计
- 连云港市花果山风景区管理处2023年招聘工作人员笔试参考题库(共500题)答案详解版
- 市场监管总局直属事业单位招聘考试题库2023
- 从性别文化视角看网络文学中的男性生育题材
评论
0/150
提交评论