




已阅读5页,还剩13页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
.,1,第五讲,主要内容:有限状态机,.,2,有限状态机及其设计技术是实用数字系统中的重要组成部分,是实现高效率高可靠逻辑控制的重要途径。我们主演介绍一般有限状态机的设计。用VHDL可以设计出不同表达方式和不同实用功能的状态机,然而它们都有相对固定语句和程序表达方式,只要把握了这些固定的语句表达部分,就能根据实际需要写出各种不同风格的VHDL状态机。一、用户自定义数据类型定义语句用户自定义数据类型是用类型定义语句TYPE和子类型定义语句SUBTYPE实现的,以下介绍这两种使用方法。1.TYPE语句使用如下:TYPE数据类型名IS数据类型定义OF基本数据类型;或TYPE数据类型名IS数据类型定义;,.,3,其中,数据类型名由设计者自定;数据类型定义部分用来描述所定义的数据类型的表达方式和表达内容;关键词OF后的基本数据类型是指数据类型定义中所定义的元素的基本数据类型,一般都是取已有的预定义数据类型。如BIT,STD_LOGIC或INTEGER。例如:TYPEst1ISARRAY(0TO15)OFSTD_LOGIC;TYPEweekIS(sun,mon,tue,wed,thu,fri,sat);VHDL中的枚举数据类型是一种特殊的数据类型,它们是用文字符号来表示一组实际的二进制数。为了更利于阅读、编译和VHDL综合器的优化,往往将表征每一状态的二进制数组用文字符号来代表,即所谓状态符号化。例如:,.,4,TYPEm_stateIS(st0,st1,st2,st3,st4,st5);SIGNALpresent_state,next_state:m_state;其中,st0st5代表六组唯一的二进制数值。综合器在编码过程中自动将每一枚举元素转变成位矢量,位矢量的长度根据实际情况决定,这个例子中表达6个状态的位矢量长度可以为3,编码默认为:st0=“000”,st1=“001”,st2=“010”,st3=“011”,st4=“100”,st5=“101”。一般地,编码方式也会因综合器及综合控制方式不同而不同,为了某些特殊的需要,编码顺序也可以认为设置。SUBTYPE语句使用如下:SUBTYPE子类型IS基本数据类型RANGE约束范围;子类型的定义只是在基本数据类型上作一些约束,并没有定义新的数据类型,这是与TYPE最大的不同之处。子类型定义中的基本数据类型必须在前面已有过TYPE定义的类型,包括已在VHDL预定义程序包中用TYPE定义过的。,.,5,例如:SUBTYPEdigitsISINTEGERRANGE0TO9;事实上,在程序包STANDARD中,已有两个预定义子类型,即自然数类型(Natural)和正整数类型(Positive),它们的基本数据类型都是INTEGER。二、状态机的优越性有限状态机库克服了纯硬件数字系统顺序方式控制的不灵活的缺点。状态机的工作方式是根据控制信号按照预先设定的状态进行顺序运行的,状态机是纯硬件数字系统中的顺序控制电路,因此状态机在其运行方式上类似于控制灵活和方便的CPU,而在运行速度和工作可靠性方面都优于CPU。由于状态机的结构相对简单,设计方案相对固定,特别是可以定义符号化枚举类型的状态,为VHDL综合器尽可能发挥其强大的优化功能提供了有利条件。,.,6,3.与VHDL的其他描述方式相比,状态机的VHDL表述丰富多样、程序层次分明,结构清晰,易读易懂;在排错、修改和模块移植方面也有其独到的特点。4.状态机容易构成性能良好的同步时序逻辑模块,这对于对付大规模逻辑电路设计中令人深感棘手的竞争冒险现象无疑是一个上佳的选择。5.就可靠性而言,状态机的优势也是十分明显。首先它是由纯硬件电路构成,不存在CPU运行软件过程中许多固有的缺陷;其次是由于状态机的设计中能使用各种完整的容错技术;再次是当状态机进入非法状态并从中跳出,进入正常状态所消耗的时间十分短暂,通常只有2、3个时钟周期,约数十个ns,尚不足以对系统的运行构成损害;而CPU通过复位方式从非法运行方式中恢复过来,耗时达数十ms,这对于高速高可靠系统是无法容忍的。,.,7,6.在高速运算和控制方面,一个单独的状态机(或多个并行运行的状态机)以顺序方式所能完成的运算的控制方面的工作与一个CPU的功能相似。因此,一个设计实体的功能便类似于一个含有并行运行的多CPU的高性能微处理器的功能。在速度方面,CPU是按照指令周期,以逐条执行指令的方式运行的;每一条指令,通常只能完成一项简单的操作,而一个指令周期须有多个机器周期构成,一个机器周期又由多个时钟节拍构成;一个含有运算和控制的完整设计程序往往需要成百上千条指令。而状态机状态变换周期只有一个时钟周期,由于在每一个状态中,状态机可以可以完成许多并行的运算和控制操作。一般有状态机构成的硬件系统比CPU所能完成的同样功能的软件系统的工作速度要高出三至四个数量级。,.,8,三、用VHDL设计的状态机的分类形式从状态机的信号输出方式上分有Mealy型和Moore型。从结构上分,有单进程状态机和多进程状态机。从状态表达方式上分有符号化状态机和确定状态编码的状态机。从编码方式上分有顺序编码状态机、一位热码编码状态机或其他编码方式状态机。,.,9,四、一般有限状态机的设计最一般和最常用的状态机通常包含说明部分、主控时序进程、主控组合进程、辅助进程几个部分。说明部分说明部分中使用TYPE语句定义新的数据类型,此数据类型为枚举型,其元素通常都用状态机的状态名来定义。状态变量(如现态和次态)应定义为信号,便于信息传递,并将状态变量的数据类型定义为含有既定状态元素的新定义的数据类型。说明部分一般放在结构体的ARCHITECTURE和BEGIN之间,例如:ARCHITECTUREISTYPEFSM_STIS(s0,s1,s2,s3);SIGNALcurrent_state,next_state:FSM_ST;.,.,10,主控时序进程所谓主控时序进程是指负责状态机运转和在时钟驱动下负责状态转换的进程。状态机是随外部时钟信号,亦同步时序方式工作的。因此,状态机中必须包含一个对工作时钟信号敏感的进程,作为状态机的“驱动泵”,时钟clk相当于这个“驱动泵”中电机的驱动功率电源。当时钟发生有效跳变时,状态机的状态才发生变化。状态机向下一状态(包括再次进入本次状态)转换的实现仅仅取决于时钟信号的到来。一般的,主控时序进程可以不负责下一状态的具体取值,如s0,s1,s2,s3中的某一状态值。当时钟的有效跳变到来时,时序进程只是机械的代表次态信号next_state中的内容送入现态的信号current_state中,而信号next_state中的内容完全有其他的进程根据实际情况来决定,当然此进程中也可以放置一些同步或异步清零或置位方面的控制信号。总的来说,总控时序进程的设计比较固定、单一和简单。,.,11,3.主控组合进程主控组合进程的任务是根据外部输入的控制信号(包括来自状态机外部的信号和来自状态机内部其他非主控的组合或时序进程的信号),或(和)当前状态的状态值确定下一状态(next_state)的取向,即next_state的取值内容,以及确定对外输出或内部其他组合或时序进程输出控制信号的内容。4.辅助进程其作用就是配合状态机的组合进程和时序进程更好工作,例如为了完成某种算法的进程;或者用于配合状态机的其他时序进程,例如为了稳定输出设置的数据锁存器等等。,.,12,.,13,.,14,.,15,.,16,.,17,.,18,实验内容,1、利用参数可设置LPM兆功能块设计一个4位乘法器。(See教材P94)2、熟悉Max+plus的VHDL文本设计流程全过程。设计1位二进制全加器,并进行时序仿真;在实验箱上锁定引脚并进行硬件下载测试。(See教材P117、实验指导书)3、用VHDL设
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 玉米栽培的土壤改良考核试卷
- 稀土金属冶炼与国际标准对接考核试卷
- 海洋渔业资源与渔业资源国际友好合作共识考核试卷
- 稀土金属矿选矿厂智能化工厂设计与实施策略考核试卷
- 聚乳酸改性与加工技术考核试卷
- 玻璃制品的耐紫外线性能测试考核试卷
- 老年生活关爱考核试卷
- 跨境人民币双向资金池资金结算与监管合同
- 医疗健康数据可视化数字孪生平台开发合同
- 海外房产买卖经纪合同样本
- 劳动教育智慧树知到期末考试答案章节答案2024年华中师范大学
- 新时代大学生劳动教育智慧树知到期末考试答案章节答案2024年江西中医药大学
- 2022金融科技SDL安全设计Checklist-v1.0
- 免疫缺陷病例讨论
- 排球比赛规则与裁判法
- 中考生物二轮复习实验突破课件:花生果实大小的变异探究实验(含答案)
- 决策树在饲料技术推广中的应用研究
- 空管自动化系统的基本组成与功能课件
- 安宁疗护之舒适护理
- 2023年杭州市规划局拱墅规划分局编外人员招考考前自测高频难、易考点模拟试题(共500题)含答案详解
- 大模型的因果推理与可解释性
评论
0/150
提交评论