数字系统设计基础.ppt

上传人:max****ui 文档编号:8582070 上传时间:2020-03-30 格式:PPT 页数:89 大小:1.02MB
返回 下载 相关 举报
数字系统设计基础.ppt_第1页
第1页 / 共89页
数字系统设计基础.ppt_第2页
第2页 / 共89页
数字系统设计基础.ppt_第3页
第3页 / 共89页
点击查看更多>>
资源描述
第13章数字系统设计基础 第13章数字系统设计基础 数字系统的设计模型 数字系统的设计方法 数字系统的设计准则 数字系统的设计步骤 本章小结 数字系统设计举例 VHDL状态机 13 1数字系统的设计模型 数字系统指的是交互式的 以离散形式表示的 具有存储 传输 信息处理能力的逻辑子系统的集合 用于描述数字系统的模型有多种 各种模型描述数字系统的侧重点不同 图13 1介绍了一种普遍采用的模型 这种模型根据数字系统的定义 将整个系统划分为两个模块或两个子系统 数据处理子系统和控制子系统 图13 1数字系统的设计模型 数据处理子系统主要完成数据的采集 存储 运算和传输 数据处理子系统主要由存储器 运算器 数据选择器等功能电路组成 数据处理子系统与外界进行数据交换 在控制子系统 或称控制器 发出的控制信号作用下 数据处理子系统将进行数据的存储和运算等操作 控制子系统是执行数字系统算法的核心 具有记忆功能 因此控制子系统是时序系统 控制子系统由组合逻辑电路和触发器组成 与数据处理子系统共用时钟 把数字系统划分为控制子系统和数据处理子系统两个主要部分 使设计者面对的电路规模减小 二者可以分别设计 采用该模型的优点 由于数字系统中控制子系统的逻辑关系比较复杂 将其独立划分出来后 可突出设计重点和分散设计难点 当数字系统划分为控制子系统和数据处理子系统后 逻辑分工清楚 各自的任务 13 2数字系统的设计方法 数字系统设计有多种方法 如模块设计法 自顶向下设计法和自底向上设计法等 数字系统的设计一般采用自顶向下 由粗到细 逐步求精的方法 一 自底向上的设计方法 传统的电子设计流程通常是自底向上的 即首先确定构成系统的最底层的电路模块或元件的结构和功能 然后根据主系统的功能要求 将它们组合成更大的功能块 使它们的结构和功能满足高层系统的要求 以此流程 逐步向上递推 直至完成整个目标系统的设计 系统测试与性能分析 完整系统 功能模块 基本元器件 缺点 1 设计过程依赖现有的通用元器件 手工及经验 2 设计后期的仿真和调试3 自下而上思想的局限性4 设计周期长 灵活性差 效率低 传统电路设计方法 自下而上 Bottom Up 的设计方法 二 自顶向下的设计方法 将数字系统的整体逐步分解为各个子系统和模块 若子系统规模较大 则还需将子系统进一步分解为更小的子系统和模快 层层分解 直至整个系统中各个子系统关系合理 并便于逻辑电路级的设计和实现为止 自上而下设计中可逐层描述 逐层仿真 保证满足系统指标 自顶向下设计方法是一种模块化设计方法 对设计的描述从上到下逐步由粗略到详细 符合常规的逻辑思维习惯 优点 针对具体的设计 实施自顶向下的设计方法的形式会有所不同 但均需遵循以下两条原则 逐层分解功能和分层次进行设计 同时 应在各个设计层次上 考虑相应的仿真验证问题 适合多个设计者同时进行设计 随着技术的不断进步 许多设计由一个设计者已无法完成 由多个设计者分工协作完成一项设计的情况越来越多 13 3数字系统的设计准则 进行数字系统设计时 通常需要考虑多方面的条件和要求 如设计的功能和性能要求 元器件的资源分配和设计工具的可实现性 系统的开发费用和成本等 虽然具体设计的条件和要求千差万别 实现的方法也各不相同 但数字系统设计还是具备一些共同的方法和准则的 一 分割准则 自顶向下的设计方法或其他层次化的设计方法 需要对系统功能进行分割 然后用逻辑语言进行描述 分割过程中 若分割过粗 则不易用逻辑语言表达 分割过细 则带来不必要的重复和繁琐 二 系统的可观测性 在系统设计中 应该同时考虑功能检查和性能的测试 即系统观测性的问题 一些有经验的设计者会自觉地在设计系统的同时设计观测电路 即观测器 指示系统内部的工作状态 三 同步和异步电路 异步电路会造成较大延时和逻辑竞争 容易引起系统的不稳定 而同步电路则是按照统一的时钟工作 稳定性好 因此 在设计时应尽可能采用同步电路进行设计 避免使用异步电路 在必须使用异步电路时 应采取措施来避免竞争和增加稳定性 四 最优化设计 由于可编程器件的逻辑资源 连接资源和I O资源有限 器件的速度和性能也是有限的 用器件设计系统的过程相当于求最优解的过程 因此 需要给定两个约束条件 边界条件和最优化目标 五 系统设计的艺术 一个系统的设计 通常需要经过反复的修改 优化才能达到设计的要求 一个好的设计 应该满足 和谐 的基本特征 对数字系统可以根据以下几点做出判断 设计是否总体上流畅 无拖泥带水的感觉 资源分配 I O分配是否合理 设计上和性能上是否有瓶颈 系统结构是否协调 是否具有良好的可观测性 是否易于修改和移植 器件的特点是否能得到充分的发挥 数字系统设计中的第一步是明确系统的任务 在设计任务书中 可用各种方式提出对整个数字系统的逻辑要求 常用的方式有自然语言 逻辑流程图 时序图或几种方法的结合 当系统较大或逻辑关系较复杂时 系统任务 逻辑要求 逻辑的表述和理解都不是一件容易的工作 所以 分析系统的任务必须细致 全面 不能有理解上的偏差和疏漏 一 系统任务分析 13 4数字系统的设计步骤 二 确定逻辑算法 实现系统逻辑运算的方法称为逻辑算法 也简称为算法 一个数字系统的逻辑运算往往有多种算法 设计者的任务不但是要找出各种算法 还必须比较优劣 取长补短 从中确定最合理的一种 数字系统的算法是逻辑设计的基础 算法不同 则系统的结构也不同 算法的合理与否直接影响系统结构的合理性 确定算法是数字系统设计中最具创造性的一环 也是最难的一步 三 建立系统及子系统模型 当算法明确后 应根据算法构造系统的硬件框架 也称为系统框图 将系统划分为若干个部分 各部分分别承担算法中不同的逻辑操作功能 如果某一部分的规模仍嫌大 则需进一步划分 划分后的各个部分应逻辑功能清楚 规模大小合适 便于进行电路级的设计 四 系统 或模块 逻辑描述 当系统中各个子系统 指最低层子系统 和模块的逻辑功能和结构确定后 则需采用比较规范的形式来描述系统的逻辑功能 设计方案的描述方法可以有多种 常用的有方框图 流程图和描述语言等 对系统的逻辑描述可先采用较粗略的逻辑流程图 再将逻辑流程图逐步细化为详细逻辑流程图 最后将详细逻辑流程图表示成与硬件有对应关系的形式 为下一步的电路级设计提供依据 五 逻辑电路级设计及系统仿真 电路级设计是指选择合理的器件和连接关系以实现系统逻辑要求 电路级设计的结果常采用两种方式来表达 电路图方式和硬件描述语言方式 EDA软件允许以这两种方式输入 以便作后续的处理 六 系统的物理实现 物理实现是指用实际的器件实现数字系统的设计 用仪表测量设计的电路是否符合设计要求 现在的数字系统往往采用大规模和超大规模集成电路 由于器件集成度高 导线密集 故一般在电路设计完成后即设计印刷电路板 在印刷电路板上组装电路进行测试 需要注意的是 印刷电路板本身的物理特性也会影响电路的逻辑关系 13 5数字系统的设计举例 例13 1 数字频率计的设计 1 方案构思 8位十进制数字频率计可以由一个测频控制信号发生器TESTCTL 八个有时钟使能的十进制计数器CNT10 一个32位锁存器REG32B组成 2 顶层电路的设计及VHDL实现 1 顶层电路逻辑图 图13 28位十进制数字频率计逻辑图 2 顶层的VHDL源程序LIBRARYIEEE USEIEEE STD LOGIC 1164 ALL ENTITYFREQISPORT FSIN INSTD LOGIC CLK INSTD LOGIC DOUT OUTSTD LOGIC VECTOR 31DOWNTO0 ENDENTITYFREQ ARCHITECTUREARTOFFREQIS COMPONENTCNT10IS 待调用的有时钟使能的十进制计数器端口定义PORT CLK CLR ENA INSTD LOGIC CQ OUTSTD LOGIC VECTOR 3DOWNTO0 CARRY OUT OUTSTD LOGIC ENDCOMPONENTCNT10 COMPONENTREG32BIS 待调用的32位锁存器端口定义 COMPONENTTESTCTLIS 待调用的测频控制信号发生器端口定义 SIGNALSE SC SL STD LOGIC SIGNALS1 S2 S3 S4 S5 S6 S7 S7 S8 STD LOGIC SIGNALSD STD LOGIC VECTOR 31DOWNTO0 BEGINU0 TESTCTLPORTMAP CLK CLK TSTEN SE CLR CNT SC LOAD SL U1 CNT10PORTMAP CLK FSIN CLR SC ENA SE CQ SD 3DOWNTO0 ARRY OUT S1 名字关联 U2 CNT10PORTMAP CLK S1 CLR SC ENA SE CQ SD 7DOWNTO4 CARRY OUT S2 U3 CNT10PORTMAP S2 SC SE SD 11DOWNTO8 S3 位置关联U4 CNT10PORTMAP S3 SC SE SD 15DOWNTO12 S4 U5 CNT10PORTMAP S4 SC SE SD 19DOWNTO16 S5 U6 CNT10PORTMAP S5 SC SE SD 23DOWNTO20 S6 U7 CNT10PORTMAP S6 SC SE SD 27DOWNTO24 S7 U8 CNT10PORTMAP S7 SC SE SD 31DOWNTO28 S8 U9 REG32BPORTMAP LOAD SL DIN SD 31DOWNTO0 DOUT DOUT ENDARCHITECTUREART 3 次级模块电路的分析与设计 1 32位锁存器REG32B的设计设置锁存器的好处是 显示的数据稳定 不会由于周期性的清零信号而不断闪烁 2 32位锁存器的VHDL源程序LIBRARYIEEE USEIEEE STD LOGIC 1164 ALL ENTITYREG32BISPORT LOAD INSTD LOGIC DIN INSTD LOGIC VECTOR 31DOWNTO0 DOUT OUTSTD LOGEC VECTOR 31DOWNTO0 ENDENTITYREG32B ARCHITECTUREARTOFREG32BISBEGINPROCESS LOAD DIN ISBEGINIFLOAD EVENTANDLOAD 1 THENDOUT DIN 锁存输入数据ENDIF ENDPROCESS ENDARCHITECTUREART 3 十进制计数器CNT10的设计此十进制计数器的特殊之处是 有一时钟使能输入端ENA 用于锁定计数值 当高电平时计数允许 低电平时计数禁止 4 十进制计数器CNT10的VHDL源程序LIBRARYIEEE USEIEEE STD LOGIC 1164 ALL ENTITYCNT10ISPORT CLK INSTD LOGIC 计数时钟信号CLR INSTD LOGIC 清零信号ENA INSTD LOGIC 计数使能信号CQ OUTINTEGERRANGE0TO15 4位计数结果输出CARRY OUT OUTSTD LOGIC 计数进位 ENDENTITYCNT10 ARCHITECTUREARTOFCNT10ISSIGNALCQI INTEGERRANGE0TO15 BEGINPROCESS CLK CLR ENA ISBEGINIFCLR 1 THENCQI 0 计数器异步清零ELSIFCLK EVENTANDCLK 1 THENIFENA 1 THEN IFCQI 9THENCQI CQI 1 ELSECQI 0 ENDIF 等于9 则计数器清零ENDIF ENDIF ENDPROCESS PROCESS CQI ISBEGINIFCQI 9THENCARRY OUT 1 进位输出ELSECARRY OUT 0 ENDIF ENDPROCESS CQ CQI ENDARCHITECTUREART 4 测频控制信号发生器设计频率测量的基本原理是计算每秒钟内待测信号的脉冲个数 测频控制信号发生器的工作时序如图13 3所示 为了产生这个时序图 需首先建立一个由D触发器构成的二分频器 在每次时钟CLK上沿到来时其值翻转 图13 3测频控制信号发生器工作时序 测频控制信号发生器的源程序LIBRARYIEEE USEIEEE STD LOGIC 1164 ALL USEIEEE STD LOGIC UNSIGNED ALLENTITYTESTCTLISPORT CLK INSTD LOGIC 1Hz测频控制时钟TSTEN OUTSTD LOGIC 计数器时钟使能CLR CNT OUTSTD LOGIC 计数器清零LOAD OUTSTD LOGIC 输出锁存信号 ENDENTITYTESTCTL ARCHITECTUREARTOFTESTCTLISSIGNALDIV2CLK STD LOGIC BEGINPROCESS CLK ISBEGINIFCLK EVENTANDCLK 1 THEN 1HZ时钟二分频DIV2CLK NOTDIV2CLK ENDIF ENDPROCESS PROCESS CLK DIV2CLK ISBEGINIFCLK 0 ANDDIV2CLK 0 THEN 产生计数器清零信号CLR CNT 1 ELSECLR CNT 0 ENDIF ENDPROCESS LOAD NOTDIV2CLK TSTEN DIV2CLK ENDARCHITECTUREART 13 6VHDL状态机 状态机克服了纯硬件数字系统顺序方式控制不灵活的缺点 优势 由于状态机的结构相对简单 设计方案相对固定 容易构成性能良好的同步时序逻辑模块 在高速运算和控制方面 状态机更有其巨大的优势 高可靠性 与VHDL的其他描述方式相比 状态机的VHDL表述丰富多样 程序层次分明 结构清晰 易读易懂 在排错 修改和模块移植方面也有其独到的好处 一 状态机设计相关语句 TYPE数据类型名IS数据类型定义OF基本数据类型 TYPE数据类型名IS数据类型定义 TYPEst1ISARRAY 0TO15 OFSTD LOGIC TYPEweekIS sun mon tue wed thu fri sat TYPEm stateIS st0 st1 st2 st3 st4 st5 SIGNALpresent state next state m state 1 类型定义语句 1 说明部分 ARCHITECTURE ISTYPEFSM STIS s0 s1 s2 s3 SIGNALcurrent state next state FSM ST 2 状态机结构 2 主控时序进程 图13 4一般状态机结构框图 2 状态机结构 3 主控组合进程 4 辅助进程 2 状态机结构 例13 2 LIBRARYIEEE USEIEEE STD LOGIC 1164 ALL ENTITYs machineISPORT clk reset INSTD LOGIC state inputs INSTD LOGIC VECTOR 0TO1 comb outputs OUTINTEGERRANGE0TO15 ENDs machine ARCHITECTUREbehvOFs machineISTYPEFSM STIS s0 s1 s2 s3 数据类型定义 状态符号化SIGNALcurrent state next state FSM ST 将现态和次态定义为新的数据类型BEGINREG PROCESS reset clk 主控时序进程BEGINIFreset 1 THENcurrent state s0 检测异步复位信号ELSIFclk 1 ANDclk EVENTTHENcurrent state next state ENDIF ENDPROCESS COM PROCESS current state state Inputs 主控组合进程 接下页 BEGINCASEcurrent stateISWHENs0 comb outputscomb outputscomb outputscomb outputs 14 IFstate inputs 11 THENnext state s3 ELSEnext state s0 ENDIF ENDcase ENDPROCESS ENDbehv 图13 5例13 2状态机的工作时序 3 状态机类型 从状态机的信号输出方式上分 有Moore型和Mealy型两类状态机 从输出时序上看 Mealy型属于异步输出状态机 其输出是当前状态和所有输入信号的函数 它的输出是在输入变化后立即发生的 不依赖时钟的同步 Moore型属于同步输出状态机 其输出仅为当前状态的函数 这类状态机在输入发生变化时必须等待时钟的到来 时钟使状态发生变化时才导致输出的变化 图13 6ADC0809工作时序 二 Moore状态机 1 多进程状态机 图13 7控制ADC0809采样状态图 5 2 1多进程状态机 图13 8采样状态机结构框图 例13 3 LIBRARYIEEE USEIEEE STD LOGIC 1164 ALL ENTITYADCINTISPORT D INSTD LOGIC VECTOR 7DOWNTO0 来自0809转换好的8位数据CLK INSTD LOGIC 状态机工作时钟EOC INSTD LOGIC 转换状态指示 低电平表示正在转换ALE OUTSTD LOGIC 8个模拟信号通道地址锁存信号START OUTSTD LOGIC 转换开始信号OE OUTSTD LOGIC 数据输出3态控制信号ADDA OUTSTD LOGIC 信号通道最低位控制信号LOCK0 OUTSTD LOGIC 观察数据锁存时钟Q OUTSTD LOGIC VECTOR 7DOWNTO0 8位数据输出ENDADCINT ARCHITECTUREbehavOFADCINTISTYPEstatesIS st0 st1 st2 st3 st4 定义各状态子类型SIGNALcurrent state next state states st0 SIGNALREGL STD LOGIC VECTOR 7DOWNTO0 SIGNALLOCK STD LOGIC 转换后数据输出锁存时钟信号BEGINADDA 1 当ADDA 0 模拟信号进入通道IN0 当ADDA 1 则进入通道IN1Q REGL LOCK0 LOCK COM PROCESS current state EOC BEGIN 规定各状态转换方式CASEcurrent stateIS 接下页 WHENst0 ALEALEALEALEALEnext state st0 ENDCASE ENDPROCESSCOM REG PROCESS CLK BEGINIF CLK EVENTANDCLK 1 THENcurrent state next state ENDIF ENDPROCESSREG 由信号current state将当前状态值带出此进程 REGLATCH1 PROCESS LOCK 此进程中 在LOCK的上升沿 将转换好的数据锁入BEGINIFLOCK 1 ANDLOCK EVENTTHENREGL D ENDIF ENDPROCESSLATCH1 ENDbehav 图13 9ADC0809采样状态机工作时序 例13 4 COM1 PROCESS current state EOC BEGINCASEcurrent stateISWHENst0 next statenext stateIF EOC 1 THENnext statenext statenext statenext stateALEALEALEALEALEALE 0 START 0 LOCK 0 ENDCASE ENDPROCESSCOM2 例13 5 LIBRARYIEEE USEIEEE STD LOGIC 1164 ALL ENTITYMOORE1ISPORT DATAIN INSTD LOGIC VECTOR 1DOWNTO0 CLK RST INSTD LOGIC Q OUTSTD LOGIC VECTOR 3DOWNTO0 ENDMOORE1 ARCHITECTUREbehavOFMOORE1ISTYPEST TYPEIS ST0 ST1 ST2 ST3 ST4 SIGNALC ST ST TYPE BEGINPROCESS CLK RST BEGINIFRST 1 THENC ST ST0 Q 0000 ELSIFCLK EVENTANDCLK 1 THEN 接下页 2 单进程状态机 5 2Moore状态机 5 2 2单进程Moore状态机 CASEC STISWHENST0 IFDATAIN 10 THENC STIFDATAIN 11 THENC STIFDATAIN 01 THENC STIFDATAIN 00 THENC STIFDATAIN 11 THENC STC ST ST0 ENDCASE ENDIF ENDPROCESS ENDbehav 图13 10例13 5状态机综合后的部分主要RTL电路模块 Synplify综合 图13 11例13 5单进程状态机工作时序 图13 12对应例13 5的二进程状态机工作时序图 例13 6 LIBRARYIEEE USEIEEE STD LOGIC 1164 ALL ENTITYMEALY1ISPORT CLK DATAIN RESET INSTD LOGIC Q OUTSTD LOGIC VECTOR 4DOWNTO0 ENDMEALY1 ARCHITECTUREbehavOFMEALY1ISTYPEstatesIS st0 st1 st2 st3 st4 SIGNALSTX states BEGINCOMREG PROCESS CLK RESET BEGIN 决定转换状态的进程IFRESET 1 THENSTXIFDATAIN 1 THENSTXIFDATAIN 0 THENSTXIFDATAIN 1 THENSTXIFDATAIN 0 THENSTXIFDATAIN 1 THENSTXSTX st0 ENDCASE 接下页 三 Mealy状态机 ENDIF ENDPROCESSCOMREG COM1 PROCESS STX DATAIN BEGIN 输出控制信号的进程CASESTXISWHENst0 IFDATAIN 1 THENQIFDATAIN 0 THENQIFDATAIN 1 THENQIFDATAIN 0 THENQIFDATAIN 1 THENQQ 00000 ENDCASE ENDPROCESSCOM1 ENDbehav 例13 7 LIBRARYIEEE MEALYFSMUSEIEEE STD LOGIC 1164 ALL ENTITYMEALY2ISPORT CLK DATAIN RESET INSTD LOGIC Q OUTSTD LOGIC VECTOR 4DOWNTO0 ENDMEALY2 ARCHITECTUREbehavOFMEALY2ISTYPEstatesIS st0 st1 st2 st3 st4 SIGNALSTX states SIGNALQ1 STD LOGIC VECTOR 4DOWNTO0 BEGINCOMREG PROCESS CLK RESET 决定转换状态的进程BEGINIFRESET 1 THENSTXIFDATAIN 1 THENSTXIFDATAIN 0 THENSTXIFDATAIN 1 THENSTXIFDATAIN 0 THENSTXIFDATAIN 1 THENSTXSTX st0 ENDCASE 接下页 ENDIF ENDPROCESSCOMREG COM1 PROCESS STX DATAIN CLK 输出控制信号的进程VARIABLEQ2 STD LOGIC VECTOR 4DOWNTO0 BEGINCASESTXISWHENst0 IFDATAIN 1 THENQ2 10000 ELSEQ2 01010 ENDIF WHENst1 IFDATAIN 0 THENQ2 10111 ELSEQ2 10100 ENDIF WHENst2 IFDATAIN 1 THENQ2 10101 ELSEQ2 10011 ENDIF WHENst3 IFDATAIN 0 THENQ2 11011 ELSEQ2 01001 ENDIF WHENst4 IFDATAIN 1 THENQ2 11101 ELSEQ2 01101 ENDIF WHENOTHERS Q2 00000 ENDCASE IFCLK EVENTANDCLK 1 THENQ1 Q2 ENDIF ENDPROCESSCOM1 Q Q1 ENDbehav 图13 13例13 6状态机工作时序图 图13 14例13 7状态机工作时序图 表13 1控制信号状态编码表 四 状态编码 1 直接输出型编码 5 4状态编码 5 4 1直接输出型编码 例13 8 LIBRARYIEEE USEIEEE STD LOGIC 1164 ALL ENTITYAD0809IS PORT D INSTD LOGIC VECTOR 7DOWNTO0 CLK EOC INSTD LOGIC ALE START OE ADDA OUTSTD LOGIC c state OUTSTD LOGIC VECTOR 4DOWNTO0 Q OUTSTD LOGIC VECTOR 7DOWNTO0 ENDAD0809 ARCHITECTUREbehavOFAD0809ISSIGNALcurrent state next state STD LOGIC VECTOR 4DOWNTO0 CONSTANTst0 STD LOGIC VECTOR 4DOWNTO0 00000 CONSTANTst1 STD LOGIC VECTOR 4DOWNTO0 11000 CONSTANTst2 STD LOGIC VECTOR 4DOWNTO0 00001 CONSTANTst3 STD LOGIC VECTOR 4DOWNTO0 00100 CONSTANTst4 STD LOGIC VECTOR 4DOWNTO0 00110 SIGNALREGL STD LOGIC VECTOR 7DOWNTO0 SIGNALLOCK STD LOGIC BEGINADDA 1 Q REGL START current state 4 ALE current state 3 OE current state 2 LOCK current state 1 c state current state COM PROCESS current state EOC BEGIN 规定各状态转换方式 接下页 5 4状态编码 表5 1控制信号状态编码表 5 4 1直接输出型编码 CASEcurrent stateISWHENst0 next statenext stateIF EOC 1 THENnext statenext statenext statenext state st0 ENDCASE ENDPROCESSCOM REG PROCESS CLK BEGINIF CLK EVENTANDCLK 1 THENcurrent state next state ENDIF ENDPROCESSREG 由信号current state将当前状态值带出此进程 REGLATCH1 PROCESS LOCK 此进程中 在LOCK的上升沿 将转换好的数据锁入BEGINIFLOCK 1 ANDLOCK EVENTTHENREGL D ENDIF ENDPROCESSLATCH1 ENDbehav 图13 15例13 8状态机工作时序图 表13 2编码方式 2 顺序编码 例13 9 SIGNALCRURRENT STATE NEXT STATE STD LOGIC VECTOR 2DOWNTO0 CONSTANTST0 STD LOGIC VECTOR 2DOWNTO0 000 CONSTANTST1 STD LOGIC VECTOR 2DOWNTO0 001 CONSTANTST2 STD LOGIC VECTOR 2DOWNTO0 010 CONSTANTST3 STD LOGIC VECTOR 2DOWNTO0 011 CONSTANTST4 STD LOGIC VECTOR 2DOWNTO0 100 图13 16一位热码编码方式选择对话框 3 一位热码编码 表13 3剩余状态 WHENst ilg1 next statenext state st0 五 非法状态处理 例13 10 TYPEstatesIS st0 st1 st2 st3 st4 st ilg1 st ilg2 st ilg3 SIGNALcurrent state next state states COM PROCESS current state state Inputs 组合逻辑进程BEGINCASEcurrent stateIS 确定当前状态的状态值 WHENOTHERS next state st0 ENDcase 例13 11 alarm st0AND st1ORst2ORst3ORst4ORst5 OR st1AND st0ORst2ORst3ORst4ORst5 OR st2AND st0ORst1ORst3ORst4ORst5 OR st3AND st0ORst1ORst2ORst4ORst5 OR st4AND st0ORst1ORst2ORst3ORst5 OR st5AND st0ORst1ORst2ORst3ORst4 五 状态机举例 序列信号检测器 图13 17序列信号检测器的状态图 QuartusII 本章小结 数字系统指的是交互式的 以离散形式表示的 具有存储 传输 信息处理能力的逻辑子系统的集合 用于描述数字系统的模型有多种 各种模型描述数字系统的侧重点不同 数字系统一般划分为两个模块或两个子系统 数据处理子系统和控制子系统 数字系统设计有多种方法 如自顶向下设计法和自底向上设计法等 数字系统的设计一般采用自顶向下 由粗到细 逐步求精的方法 进行数字系统设计时 通常需要考虑多方面的条件和要求 实现的方法也各不相同 但数字系统设计还是具备一些共同的方法和准则的 状态机克服了纯硬件数字系统顺序方式控制不灵活的缺点 与VHDL的其他描述方式相比 状态机的VHDL表述丰富多样 程序层次分明 结构清晰 易读易懂 在排错 修改和模块移植方面也有其独到的好处 从状态机的信号输出方式上分 有Moore型和Mealy型两类状态机 从输出时序上看 Mealy型属于异步输出状态机 其输出是当前状态和所有输入信号的函数 Moore型属于同步输出状态机 其输出仅为当前状态的函数
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!