教程逻辑部分.ppt
《教程逻辑部分.ppt》由会员分享,可在线阅读,更多相关《教程逻辑部分.ppt(69页珍藏版)》请在三一办公上搜索。
1、数字系统设计的核心知识,复杂数字系统的构成;基本电路和 Verilog 的对应关系;同步有限状态机在电路中的作用;时钟树与自动综合技术,数字逻辑电路的构成,-组合逻辑:输出只是输入逻辑电平的函数(有延时),与电路的原始状态无关。时序逻辑:输出不只是输入的逻辑电平的函数,还与电路所处的状态有关。同步时序逻辑是在同一时钟跳变节拍的前提下,如输入条件满足,则进入下一状态,否则仍留在原来的状态的状态机。,数字逻辑电路的构成,组合逻辑:由与、或、非门组成的网络。常用的有:多路器、数据通路开关、加法器、乘法器等,没有记忆功能。时序逻辑:由多个触发器和多个组合逻辑块组成的网络。常用的有:计数器、复杂的数据流
2、动控制逻辑、运算控制逻辑、指令分析和操作控制逻辑。同步时序逻辑的设计是设计复杂的数字逻辑系统的核心。存储器和寄存器:用于暂时存储数据信息。,组合逻辑举例之一一个八位数据通路控制器,define ON 1 b 1define OFF 1 b 0 wire ControlSwitch;wire 7:0 out,in;assign out=(ControlSwith=ON)?in:8 h00,一个八位数据通路控制器的波形:,带寄存器的八位数据通路控制器的波形,带寄存器的八位数据通路控制器的Verilog描述,define ON 1 b 1define OFF 1 b 0 wire ControlSw
3、itch;wire clock wire 7:0 out,in;always(posedge clock)if(ControlSwith=ON)out=in;else out=out;,带复位端和使能端的寄存器,module regena(clock,ena,reset,R,Q);parameter n=8;input n-1:0 R;input clock,ena reset;output n-1:0 Q;always(posedge clock or negedge reset)if(!reset)Q=0;else if(ena)Q=R;endmodule,ena,R,clock,D,Q,
4、Q,reset,具有并行置数和使能控制输入的移位寄存器,具有并行置数和使能控制输入的移位寄存器,module shiftregs(R,load,ena,w,clock,Q,reset);input 3:0 R;input w,load,ena,reset,clock;output 3:0 Q;reg 3:0 Q;integer k;always(posedge clock or negedge reset)if(!reset)Q=0;else if(load)Q=R;else if(ena)begin Q0=W;for(k=1;k4;k+1)Qk=Qk-1;endendmodule,组合逻辑举
5、例之二:一个八位三态数据通路控制器,define ON 1 b 1define OFF 1 b 0 wire LinkBusSwitch;wire 7:0 outbuf;inout 7:0 bus;assign bus=(LinkBusSwitch=ON)?outbuf:8 hzz,.,.,八位三态数据通路控制器的波形:,静态随机存储器(SRAM),Sel信号必须维持一定时间,直到经过两个反向器传递过来的Data信号可以自动保持;Data的驱动能力必须大于小反向器的驱动能力;用的三极管很少,可以把密度做得很高。,静态随机存储器(SRAM)阵列,地址译码和SRAM块的读写,Data output
6、,开关逻辑应用举例寄存器间数据流动的控制开关,开关逻辑应用举例寄存器间数据流动的控制开关,开关逻辑的时延问题控制数据运算和流动的开关的开启和关闭时序.,全局时钟网和平衡树结构,避免冒险和竞争,由于组合逻辑和布线的延迟引起,避免冒险和竞争与流水线,组合逻辑和布线的延迟在组合逻辑中的叠加,为什么要设计有限状态机?,如果能严格以时钟跳变沿为前提,按排好时时序,来操作逻辑系统中每一个开关Si,则系统中数据的流动和处理会按同一时钟节拍有序地进行,可以控制冒险和竞争现象对逻辑运算的破坏,时延问题就能有效地加以解决。利用同步有限状态机就能产生复杂的以时钟跳变沿为前提的同步时序逻辑,并提供操作逻辑系统的开关阵
7、列所需要的复杂控制时序(具有信号互锁和先后次序等要求的)。,为什么要设计有限状态机?,如果我们能设计这样一个电路:1)能记住自己目前所处的状态;2)状态的变化只可能在同一个时钟的跳变沿时刻发生,而不可能发生在任意时刻;3)在时钟跳变沿时刻,如输入条件满足,则进入下一状态,并记住自己目前所处的状态,否则仍保留原来的状态;4)在进入不同的状态时刻,对系统的开关阵列做开启或关闭的操作。,为什么要设计有限状态机?,clock,10ns,S2,开,关,S1,t,t,t,Sn,S3,t,t,t,S4,为什么要设计有限状态机?,有了以上电路,我们就不难设计出复杂的控制序列来操纵数字系统的控制开关阵列。能达到
8、以上要求的电路就是时序和组合电路互相结合的产物:同步有限状态机和由状态和时钟共同控制的开关逻辑阵列。我们只要掌握有限状态机的基本设计方法,加上对基本电路的掌握,再加上对数据处理的过程的细致了解,我们就可以避免由于逻辑器件和布线延迟产生的冒险竞争现象所造成的破坏,设计出符合要求的复杂数字逻辑系统。,数字系统的构成示意图,同步有限状态机的设计,什么是有限状态机(FSM)FSM的种类和不同点设计举例,什么是有限状态机?,-有限状态机是由寄存器组和组合逻辑构成的 硬件时序电路;-其状态(即由寄存器组的1和0的组合状态所 构成的有限个状态)只能在同一时钟跳变沿 的 情况下才能从一个状态转向另一个状态;-
9、究竟转向哪一状态不但取决于各个输入值,还取决于当前状态。-状态机可用于产生在时钟跳变沿时刻开关的 复杂的控制逻辑,是数字逻辑的控制核心。,Mealy 状态机下一个状态=F(当前状态,输入信号);输出信号=G(当前状态,输入信号);,图1.时钟同步的状态机结构(Mealy 状态机),Moor 状态机下一个状态=F(当前状态,输入信号)输出信号=G(当前状态);,带流水线输出的 Mealy 状态机下一个状态=F(当前状态,输入信号);输出信号=G(当前状态,输入信号);,输出,简单的状态机设计举例,状态转移图表示RTL级可综合的 Verilog 模块表示,有限状态机的图形表示,图形表示:状态、转移
10、、条件和逻辑开关,图3.4 状态转移图,有限状态机的Verilog描述,定义模块名和输入输出端口;定义输入、输出变量或寄存器;定义时钟和复位信号;定义状态变量和状态寄存器;用时钟沿触发的always块表示状态转移过程;在复位信号有效时给状态寄存器赋初始值;描述状态的转换过程:符合条件,从一个状态到另外一个状态,否则留在原状态;验证状态转移的正确性,必须完整和全面。,表示方法之一,module fsm(Clock,Reset,A,K2,K1);input Clock,Reset,A;/定义时钟、复位和输入信号output K2,K1;/定义输出控制信号的端口reg K2,K1;/定义输出控制信号
11、的寄存器reg 1:0 state;/定义状态寄存器parameter Idle=2b00,Start=2b01,Stop=2b10,Clear=2b11;/定义状态变量参数值 always(posedge Clock)if(!Reset)begin/定义复位后的初始状态和输出值 state=Idle;K2=0;K1=0;end,表示方法之一(续),else case(state)Idle:begin if(A)begin state=Start;K1=0;end else state=Idle;end Start:begin if(!A)state=Stop;else state=Start
12、;end,表示方法之一(续),Stop:begin/符合条件进入新状态,否则留在原状态 if(A)begin state=Clear;K2=1;end else state=Stop;end Clear:begin if(!A)begin state=Idle;K2=0;K1=1;end else state=Clear;end endcaseendmodule,表示方法之二,我们还可以用另一个 Verilog HDL模型来表示同一个有限状态,见下例。(用可综合的Verilog模块设计用独热码表示状态的状态机)module fsm(Clock,Reset,A,K2,K1);input Cloc
13、k,Reset,A;output K2,K1;reg K2,K1;reg 3:0 state;parameter Idle=4b1000,Start=4b0100,Stop=4b0010,Clear=4b0001;,表示方法之二(续),always(posedge clock)if(!Reset)begin state=Idle;K2=0;K1=0;end else case(state)Idle:if(A)begin state=Start;K1=0;end else state=Idle;,表示方法之二(续),Start:if(!A)state=Stop;else state=Start;
14、Stop:if(A)begin state=Clear;K2=1;end else state=Stop;Clear:if(!A)begin state=Idle;K2=0;K1=1;end else state=Clear;,表示方法之二(续),default:state=Idle;endcaseendmodule 例2与例1的主要不同点是状态编码,例2采用了独热编码,而例1则采用Gray码,究竟采用哪一种编码好要看具体情况而定。,表示方法之三,在比较复杂的状态机设计过程中,我们往往把状态的变化与输出开关的控制分成两部分来考虑。就象前面讲过的Mealy状态机输出部分的组合逻辑。为了调试方便,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 教程 逻辑 部分

链接地址:https://www.31ppt.com/p-6293554.html