(精品)VerilogHDL夏宇闻--数字系统设计的核心知识.ppt
《(精品)VerilogHDL夏宇闻--数字系统设计的核心知识.ppt》由会员分享,可在线阅读,更多相关《(精品)VerilogHDL夏宇闻--数字系统设计的核心知识.ppt(69页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、数字系统设计的核心知识数字系统设计的核心知识数字系统设计的核心知识数字系统设计的核心知识 复杂数字系统的构成;复杂数字系统的构成;复杂数字系统的构成;复杂数字系统的构成;基本电路和基本电路和基本电路和基本电路和 VerilogVerilogVerilogVerilog 的的的的对应关系;对应关系;对应关系;对应关系;同步有限状态机在电路中的作用;同步有限状态机在电路中的作用;同步有限状态机在电路中的作用;同步有限状态机在电路中的作用;时钟树与自动综合技术时钟树与自动综合技术时钟树与自动综合技术时钟树与自动综合技术 数字逻辑电路的构成数字逻辑电路的构成数字逻辑电路的构成数字逻辑电路的构成-组合逻
2、辑组合逻辑组合逻辑组合逻辑:输出只是输入逻辑电平的函输出只是输入逻辑电平的函输出只是输入逻辑电平的函输出只是输入逻辑电平的函数(有延时),与电路的原始状态无关数(有延时),与电路的原始状态无关数(有延时),与电路的原始状态无关数(有延时),与电路的原始状态无关。-时序逻辑时序逻辑时序逻辑时序逻辑:输出不只是输入的逻辑电平输出不只是输入的逻辑电平输出不只是输入的逻辑电平输出不只是输入的逻辑电平的函数,还与电路所处的状态有关。的函数,还与电路所处的状态有关。的函数,还与电路所处的状态有关。的函数,还与电路所处的状态有关。同步时序逻辑是在同一时钟跳变节拍的前提下,同步时序逻辑是在同一时钟跳变节拍的前
3、提下,同步时序逻辑是在同一时钟跳变节拍的前提下,同步时序逻辑是在同一时钟跳变节拍的前提下,同步时序逻辑是在同一时钟跳变节拍的前提下,同步时序逻辑是在同一时钟跳变节拍的前提下,如输入条件满足,则进入下一状态,否则仍留如输入条件满足,则进入下一状态,否则仍留如输入条件满足,则进入下一状态,否则仍留如输入条件满足,则进入下一状态,否则仍留如输入条件满足,则进入下一状态,否则仍留如输入条件满足,则进入下一状态,否则仍留在原来的状态的状态机。在原来的状态的状态机。在原来的状态的状态机。在原来的状态的状态机。在原来的状态的状态机。在原来的状态的状态机。数字逻辑电路的构成数字逻辑电路的构成数字逻辑电路的构成
4、数字逻辑电路的构成-组合逻辑组合逻辑组合逻辑组合逻辑:由与、或、非门组成的网络。常用的有:由与、或、非门组成的网络。常用的有:由与、或、非门组成的网络。常用的有:由与、或、非门组成的网络。常用的有:由与、或、非门组成的网络。常用的有:由与、或、非门组成的网络。常用的有:多路器、数据通路开关、加法器、乘法器等,没有记忆功多路器、数据通路开关、加法器、乘法器等,没有记忆功多路器、数据通路开关、加法器、乘法器等,没有记忆功多路器、数据通路开关、加法器、乘法器等,没有记忆功多路器、数据通路开关、加法器、乘法器等,没有记忆功多路器、数据通路开关、加法器、乘法器等,没有记忆功能。能。能。能。能。能。-时序
5、逻辑时序逻辑时序逻辑时序逻辑:由多个触发器和多个组合逻辑块组成的网由多个触发器和多个组合逻辑块组成的网由多个触发器和多个组合逻辑块组成的网由多个触发器和多个组合逻辑块组成的网由多个触发器和多个组合逻辑块组成的网由多个触发器和多个组合逻辑块组成的网络。常用的有:计数器、复杂的数据流动控制逻辑、运算络。常用的有:计数器、复杂的数据流动控制逻辑、运算络。常用的有:计数器、复杂的数据流动控制逻辑、运算络。常用的有:计数器、复杂的数据流动控制逻辑、运算络。常用的有:计数器、复杂的数据流动控制逻辑、运算络。常用的有:计数器、复杂的数据流动控制逻辑、运算控制逻辑、指令分析和操作控制逻辑。同步时序逻辑的设控制
6、逻辑、指令分析和操作控制逻辑。同步时序逻辑的设控制逻辑、指令分析和操作控制逻辑。同步时序逻辑的设控制逻辑、指令分析和操作控制逻辑。同步时序逻辑的设控制逻辑、指令分析和操作控制逻辑。同步时序逻辑的设控制逻辑、指令分析和操作控制逻辑。同步时序逻辑的设计是设计复杂的数字逻辑系统的核心。计是设计复杂的数字逻辑系统的核心。计是设计复杂的数字逻辑系统的核心。计是设计复杂的数字逻辑系统的核心。计是设计复杂的数字逻辑系统的核心。计是设计复杂的数字逻辑系统的核心。-存储器和寄存器存储器和寄存器存储器和寄存器存储器和寄存器:用于暂时存储数据信息。用于暂时存储数据信息。用于暂时存储数据信息。用于暂时存储数据信息。用
7、于暂时存储数据信息。用于暂时存储数据信息。组合逻辑举例之一组合逻辑举例之一组合逻辑举例之一组合逻辑举例之一一个八位数据通路控制器一个八位数据通路控制器一个八位数据通路控制器一个八位数据通路控制器一个八位数据通路控制器一个八位数据通路控制器defineON1b1defineON1b1defineON1b1defineOFF1b0defineOFF1b0defineOFF1b0wirewirewireControlSwitchControlSwitchControlSwitch;wire7:0out,in;wire7:0out,in;wire7:0out,in;assignout=(assigno
8、ut=(assignout=(ControlSwithControlSwithControlSwith=ON)?in:8h00=ON)?in:8h00=ON)?in:8h00in7in7in7ControlSwitchControlSwitchControlSwitchout7out7out7in0in0in0out0out0out0.一个八位数据通路控制器的波形:一个八位数据通路控制器的波形:一个八位数据通路控制器的波形:一个八位数据通路控制器的波形:一个八位数据通路控制器的波形:一个八位数据通路控制器的波形:in 7:0in 7:0开开关关out7:0out7:0tttt3131 0202
9、1515 32326262 8888 02021515 3232 0000 0000in7in7in7ControlSwitchControlSwitchControlSwitchout7out7out7in0in0in0out0out0out0.带寄存器的八位数据通路控制器的波形带寄存器的八位数据通路控制器的波形带寄存器的八位数据通路控制器的波形带寄存器的八位数据通路控制器的波形带寄存器的八位数据通路控制器的波形带寄存器的八位数据通路控制器的波形in7in7ControlSwitchControlSwitchout7out7CLOCKCLOCKDDQ7Q7CLOCKCLOCKin0in0Co
10、ntrolSwitchControlSwitchout0out0DDQ0Q0out7out7out0out0带寄存器的八位数据通路控制器的带寄存器的八位数据通路控制器的带寄存器的八位数据通路控制器的带寄存器的八位数据通路控制器的带寄存器的八位数据通路控制器的带寄存器的八位数据通路控制器的VerilogVerilogVerilog描述描述描述描述描述描述defineON1b1defineON1b1defineON1b1defineOFF1b0defineOFF1b0defineOFF1b0wirewirewireControlSwitchControlSwitchControlSwitch;wi
11、reclockwireclockwireclockwire7:0out,in;wire7:0out,in;wire7:0out,in;always(always(always(posedgeposedgeposedgeclock)clock)clock)if(if(if(ControlSwithControlSwithControlSwith=ON)=ON)=ON)out=in;out=in;out=in;elseelseelseout=out;out=out;out=out;带复位端和使能端的寄存器带复位端和使能端的寄存器带复位端和使能端的寄存器带复位端和使能端的寄存器带复位端和使能端的寄存
12、器带复位端和使能端的寄存器 module module regenaregena(clock,ena,reset,R,Qclock,ena,reset,R,Q););parameter n=8;parameter n=8;input n-1:0 R;input n-1:0 R;input clock,input clock,enaena reset;reset;output n-1:0 Q;output n-1:0 Q;always(always(posedgeposedge clock or clock or negedgenegedge reset)reset)if(!reset)if(!
13、reset)Q=0;Q=0;else if(else if(enaena)Q=R;Q=R;endmoduleendmoduleenaRclockD Q Qreset具有并行置数和使能控制输入的移位寄存器具有并行置数和使能控制输入的移位寄存器具有并行置数和使能控制输入的移位寄存器具有并行置数和使能控制输入的移位寄存器具有并行置数和使能控制输入的移位寄存器具有并行置数和使能控制输入的移位寄存器R1enawclockD Q QresetQ1D QQ0R0load具有并行置数和使能控制输入的移位寄存器具有并行置数和使能控制输入的移位寄存器module module module shiftregs(R
14、,load,ena,w,clock,Q,resetshiftregs(R,load,ena,w,clock,Q,resetshiftregs(R,load,ena,w,clock,Q,reset);););input 3:0 R;input 3:0 R;input 3:0 R;input w,load,input w,load,input w,load,enaenaena,reset,clock;,reset,clock;,reset,clock;output 3:0 Q;output 3:0 Q;output 3:0 Q;regregreg 3:0 Q;3:0 Q;3:0 Q;integer
15、 k;integer k;integer k;always(posedgealways(posedgealways(posedge clock or clock or clock or negedgenegedgenegedge reset)reset)reset)if(!reset)Q=0;if(!reset)Q=0;if(!reset)Q=0;else if(load)Q=R;else if(load)Q=R;else if(load)Q=R;else if(else if(else if(enaenaena)begin Q0=W;)begin Q0=W;)begin Q0=W;for(k
16、=1;k4;k+1)for(k=1;k4;k+1)for(k=1;k4;k+1)Qk=Qk-1;Qk=Qk-1;Qk 7ns 7ns 7ns 7ns总延迟总延迟总延迟总延迟=Max2,3+4+1=8=Max2,3+4+1=8=Max2,3+4+1=8=Max2,3+4+1=8时钟周期必须时钟周期必须时钟周期必须时钟周期必须 4ns 4ns 4ns 4ns总处理数据的吞吐量增加总处理数据的吞吐量增加总处理数据的吞吐量增加总处理数据的吞吐量增加#1#1clock为什么要设计有限状态机?为什么要设计有限状态机?为什么要设计有限状态机?为什么要设计有限状态机?如果能严格以时钟跳变沿为前提,按排好时时序
17、,如果能严格以时钟跳变沿为前提,按排好时时序,如果能严格以时钟跳变沿为前提,按排好时时序,如果能严格以时钟跳变沿为前提,按排好时时序,如果能严格以时钟跳变沿为前提,按排好时时序,如果能严格以时钟跳变沿为前提,按排好时时序,来操作逻辑系统中每一个开关来操作逻辑系统中每一个开关来操作逻辑系统中每一个开关来操作逻辑系统中每一个开关来操作逻辑系统中每一个开关来操作逻辑系统中每一个开关SiSiSiSiSiSi,则系统中数据则系统中数据则系统中数据则系统中数据则系统中数据则系统中数据的流动和处理会按同一时钟节拍有序地进行,可的流动和处理会按同一时钟节拍有序地进行,可的流动和处理会按同一时钟节拍有序地进行,
18、可的流动和处理会按同一时钟节拍有序地进行,可的流动和处理会按同一时钟节拍有序地进行,可的流动和处理会按同一时钟节拍有序地进行,可以控制冒险和竞争现象对逻辑运算的破坏,以控制冒险和竞争现象对逻辑运算的破坏,以控制冒险和竞争现象对逻辑运算的破坏,以控制冒险和竞争现象对逻辑运算的破坏,以控制冒险和竞争现象对逻辑运算的破坏,以控制冒险和竞争现象对逻辑运算的破坏,时延时延时延时延时延时延问题就能有效地加以解决。问题就能有效地加以解决。问题就能有效地加以解决。问题就能有效地加以解决。问题就能有效地加以解决。问题就能有效地加以解决。利用同步有限状态机就能产生复杂的以时钟跳变利用同步有限状态机就能产生复杂的以
19、时钟跳变利用同步有限状态机就能产生复杂的以时钟跳变利用同步有限状态机就能产生复杂的以时钟跳变利用同步有限状态机就能产生复杂的以时钟跳变利用同步有限状态机就能产生复杂的以时钟跳变沿为前提的同步时序逻辑,并提供操作逻辑系统沿为前提的同步时序逻辑,并提供操作逻辑系统沿为前提的同步时序逻辑,并提供操作逻辑系统沿为前提的同步时序逻辑,并提供操作逻辑系统沿为前提的同步时序逻辑,并提供操作逻辑系统沿为前提的同步时序逻辑,并提供操作逻辑系统的开关阵列所需要的复杂控制时序(具有信号互的开关阵列所需要的复杂控制时序(具有信号互的开关阵列所需要的复杂控制时序(具有信号互的开关阵列所需要的复杂控制时序(具有信号互的开
20、关阵列所需要的复杂控制时序(具有信号互的开关阵列所需要的复杂控制时序(具有信号互锁和先后次序等要求的)。锁和先后次序等要求的)。锁和先后次序等要求的)。锁和先后次序等要求的)。锁和先后次序等要求的)。锁和先后次序等要求的)。为什么要设计有限状态机?为什么要设计有限状态机?为什么要设计有限状态机?为什么要设计有限状态机?如果我们能设计这样一个电路:如果我们能设计这样一个电路:如果我们能设计这样一个电路:如果我们能设计这样一个电路:如果我们能设计这样一个电路:如果我们能设计这样一个电路:1 1 1)能记住自己目前所处的状态)能记住自己目前所处的状态)能记住自己目前所处的状态)能记住自己目前所处的状
21、态)能记住自己目前所处的状态)能记住自己目前所处的状态 ;2 2 2)状态的变化只可能在同一个时钟的跳变沿时)状态的变化只可能在同一个时钟的跳变沿时)状态的变化只可能在同一个时钟的跳变沿时)状态的变化只可能在同一个时钟的跳变沿时)状态的变化只可能在同一个时钟的跳变沿时)状态的变化只可能在同一个时钟的跳变沿时刻发生,而不可能发生在任意时刻;刻发生,而不可能发生在任意时刻;刻发生,而不可能发生在任意时刻;刻发生,而不可能发生在任意时刻;刻发生,而不可能发生在任意时刻;刻发生,而不可能发生在任意时刻;3 3 3)在时钟跳变沿时刻,如输入条件满足,则进)在时钟跳变沿时刻,如输入条件满足,则进)在时钟跳
22、变沿时刻,如输入条件满足,则进)在时钟跳变沿时刻,如输入条件满足,则进)在时钟跳变沿时刻,如输入条件满足,则进)在时钟跳变沿时刻,如输入条件满足,则进入下一状态,并记住自己目前所处的状态,否入下一状态,并记住自己目前所处的状态,否入下一状态,并记住自己目前所处的状态,否入下一状态,并记住自己目前所处的状态,否入下一状态,并记住自己目前所处的状态,否入下一状态,并记住自己目前所处的状态,否则仍保留原来的状态;则仍保留原来的状态;则仍保留原来的状态;则仍保留原来的状态;则仍保留原来的状态;则仍保留原来的状态;4 4 4)在进入不同的状态时刻,对系统的开关阵列)在进入不同的状态时刻,对系统的开关阵列
23、)在进入不同的状态时刻,对系统的开关阵列)在进入不同的状态时刻,对系统的开关阵列)在进入不同的状态时刻,对系统的开关阵列)在进入不同的状态时刻,对系统的开关阵列做开启或关闭的操作。做开启或关闭的操作。做开启或关闭的操作。做开启或关闭的操作。做开启或关闭的操作。做开启或关闭的操作。为什么要设计有限状态机?为什么要设计有限状态机?为什么要设计有限状态机?为什么要设计有限状态机?为什么要设计有限状态机?为什么要设计有限状态机?clock 10nsS2开关S1tttSnS3tttS4为什么要设计有限状态机?为什么要设计有限状态机?为什么要设计有限状态机?为什么要设计有限状态机?为什么要设计有限状态机?
24、为什么要设计有限状态机?有了以上电路,我们就不难设计出复杂的控制序列有了以上电路,我们就不难设计出复杂的控制序列有了以上电路,我们就不难设计出复杂的控制序列有了以上电路,我们就不难设计出复杂的控制序列有了以上电路,我们就不难设计出复杂的控制序列有了以上电路,我们就不难设计出复杂的控制序列来操纵数字系统的控制开关阵列。能达到以上要求来操纵数字系统的控制开关阵列。能达到以上要求来操纵数字系统的控制开关阵列。能达到以上要求来操纵数字系统的控制开关阵列。能达到以上要求来操纵数字系统的控制开关阵列。能达到以上要求来操纵数字系统的控制开关阵列。能达到以上要求的电路就是时序和组合电路互相结合的产物:同步的电
25、路就是时序和组合电路互相结合的产物:同步的电路就是时序和组合电路互相结合的产物:同步的电路就是时序和组合电路互相结合的产物:同步的电路就是时序和组合电路互相结合的产物:同步的电路就是时序和组合电路互相结合的产物:同步有限状态机和由状态和时钟共同控制的开关逻辑阵有限状态机和由状态和时钟共同控制的开关逻辑阵有限状态机和由状态和时钟共同控制的开关逻辑阵有限状态机和由状态和时钟共同控制的开关逻辑阵有限状态机和由状态和时钟共同控制的开关逻辑阵有限状态机和由状态和时钟共同控制的开关逻辑阵列。列。列。列。列。列。我们只要掌握有限状态机的基本设计方法,加上对我们只要掌握有限状态机的基本设计方法,加上对我们只要
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 精品 VerilogHDL 夏宇闻 数字 系统 设计 核心 知识
限制150内