- 1、本文档共15页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
为什么要设计有限状态机
有限状态机数字系统示意图 * 为什么要设计有限状态机? 数字逻辑电路的构成: - 组合逻辑:输出只是输入逻辑电平的函数(有延时),与电路的原始状态无关。 - 时序逻辑:输出不只是输入的逻辑电平的函数,还与前一状态有关。同步时序逻辑是在同一时钟跳变节拍的前提下,如输入条件满足,则进入下一状态,否则仍留在原来的状态的状态机。 为什么要设计有限状态机? 数字逻辑电路的构成: - 组合逻辑:由与、或、非门组成的网络。常用的有:多路器、数据通路开关、加法器、乘法器…. - 时序逻辑: 由多个触发器和多个组合逻辑块组成的网络。常用的有:计数器、复杂的数据流动控制逻辑、运算控制逻辑、指令分析和操作控制逻辑。同步时序逻辑的设计是设计复杂的数字逻辑系统的核心。 为什么要设计有限状态机? 组合逻辑举例之一:一个八位数据通路控制器 `define ON 1 ‘b 1 `define OFF 1 ‘b 0 wire ControlSwitch; wire [7:0] Out, In; assign Out = (ControlSwith== `ON) ? In : 8 ‘h00 In[7] ControlSwitch Out[7] In[0] Out[0] …... …... 为什么要设计有限状态机? 一个八位数据通路控制器的波形: In[7] ControlSwitch Out[7] In[0] Out[0] …... …... ControlSwitch in [7:0] 开 关 out[7:0] t t 31 02 15 32 62 88 02 15 32 00 00 为什么要设计有限状态机? : 带寄存器的八位数据通路控制器的波形 In[7] ControlSwitch Q[7] CLOCK D Q[7] In[6] ControlSwitch Q[6] CLOCK D Q[6] 。。。 为什么要设计有限状态机? 组合逻辑举例之二:一个八位三态数据通路控制器 `define ON 1 ‘b 1 `define OFF 1 ‘b 0 wire LinkBusSwitch; wire [7:0] outbuf; inout [7:0] bus; assign bus = (LinkBusSwitch== `ON) ? outbuf : 8 ‘hzz outbuf[7] LinkBusSwitch bus[7] outbuf[0] bus[0] …... …... 为什么要设计有限状态机? 八位三态数据通路控制器的波形: outbuf[7] LinkBusSwitch bus[7] outbuf[0] bus[0] …... …... 关 outbuf [7:0] 开 bus[7:0] t t 31 02 15 32 62 88 02 15 32 ZZ ZZ LinkBusSwitch 为什么要设计有限状态机? 开关逻辑应用举例:寄存器间数据流动的控制开关 q d q d q d q d q d q d q d q d q d q d q d q d clock 开关S1 开关S2 组合逻辑 组合逻辑 寄存器1 寄存器2 寄存器3 为什么要设计有限状态机? 开关逻辑应用举例:寄存器间数据流动的控制开关 clock 开关S5 寄存器C q d 开关S6 开关S3 寄存器B q d 开关S4 开关S1 寄存器A q d 开关S2 为什么要设计有限状态机? 开关逻辑的时延问题:控制数据运算和流动的开关的开启和关闭时序. 组合逻辑 输出控制开关Sn in [7:0] out [15:0] in [7:0] 8 ‘ d 31 8 ‘ d 202 16 ‘ d 93 16‘ d 606 延时10ns Sn 开 关 out[15:0] t t t 为什么要设计有限状态机? 如果能严格以时钟跳变沿为前提,按排好时序,来操作逻辑系统中每一个开关Si,则系统中数据的流动和处理会按同一时钟节拍有序地进行,避免了冒险和竞争现象,时延问题就能有效地加以解决。 利用有限状态机就能产生复杂的以时钟跳变沿为前提的同步时序逻辑,并提供操作逻辑系统的开关阵列所需要的复杂控制时序(具有信号无锁和先后次序等要求的)。 为什么要设计有限状态机? clock 10ns S2 开 关 S1 t t t Sn S3 t t t S4 为什么要设计有限状态机? 如果我们能设计这样一个电路: 1)能记住自己目前所处的状态 ; 2)状态的变化只可能在同一个时钟的跳变沿时刻发生,而不可能发生在任意时刻; 3)在时钟跳变沿时刻,如输入条件满
文档评论(0)