第五讲 verilog设计进阶_第1页
第五讲 verilog设计进阶_第2页
第五讲 verilog设计进阶_第3页
第五讲 verilog设计进阶_第4页
第五讲 verilog设计进阶_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Verilog HDL设计设计进阶进阶电子信息工程电子信息工程 武武 斌斌时序逻辑的基本组成时序逻辑的基本组成 组合逻辑:对寄存器输出信号和输入信号组合逻辑:对寄存器输出信号和输入信号 进行运算和逻辑判断。进行运算和逻辑判断。 寄存器:暂存当前状态,并根据组合逻辑运寄存器:暂存当前状态,并根据组合逻辑运 算结果在一时钟周期更新状态。算结果在一时钟周期更新状态。时序逻辑构成时序逻辑构成regsregs shift0=din; end 右移右移 shift6:0=shift7:1; shift7=Din; end 空位补空位补0 0 nn n :有符号数左移右移:有符号数左移右移, 左移补左移补0

2、 0,右移补符号,右移补符号位位 shift0=din; end shift1; shift7=din; end移位寄存器案例移位寄存器案例 循环循环( (左循环左循环右循环右循环) ): shift7:1=shift6:0; shift6:0=shift7:1; shift0=shift7 ; shift7=shift0;计数器计数器 举例举例3-21 (P90) 改进改进 reg3:0 q wire out; always(posedge clk)q=q+1; assign out=(q=4hf)1:0; / 其他写法其他写法 模计数器,模计数器,2n (模可控)任意进制计数器(模可控)任

3、意进制计数器 置数法,复位法置数法,复位法 Moore型,输出只与当前状态有关,一般只有型,输出只与当前状态有关,一般只有clkclk Mealy型型, ,输出不仅与当前状态有关,也与此时输入有关输出不仅与当前状态有关,也与此时输入有关 parameter 和和 define的使用的使用Moore型模计数器设计型模计数器设计.(案例案例)1 1 自启动模计数器(自启动模计数器(2 2n n) ; wire out; always (posedge clk) count=count+1; assign out=(count=2n-1)?1:0;/?2 带复位模计数器带复位模计数器 always

4、(posedge clk) if(!rst) count=0; else count=count+1; assign out=(count= 2n-1)?1:0; /毛刺毛刺?reg out; always (posedge clk) if(!rst) count=0; else count=count+1;always (posedge clk) if(!rst) out=0; else if(count= 2n-1) out=1; else out=0;合写为合写为: always (posedge clk) if(!rst) begin count=0; out=0; end else

5、if(count= 2n-1) count=0; out=1; end else count=count+1; out=0; end具有寄存器输出计数器具有寄存器输出计数器( (两种风格两种风格) )计数器组合逻辑与寄存器输出区别计数器组合逻辑与寄存器输出区别同步复位法同步复位法 always (posedge clk) if (!rst) begin count=0;out=0; end else if (count=m-1) begin count=0;out=1; end else begin count= count+1; out=0; end 同步置数法同步置数法. else if

6、(counter=2n-1) counter= 2n-m-1; out=1; else.4 模可控计数器(模可控计数器(任意进制任意进制:m2n-1 )同步复位与异步复位(同步复位与异步复位(5进为例)进为例) 异步复位异步复位:/不推荐reg3:0 count;always ( posedge clk or negedge rst) if(!rst) begin count=0; out=0; end else if(count=m) begin count=0; out=1; end else begin count=count+1; out=0; endassign rst=(count

7、=m)?0:1; / 改进改进计数器计数器例:模可控计数器例:模可控计数器-7进计数器进计数器module counter(rst,clk,out);input clk,rst;output out;reg out;reg2:0 count;always (posedge clk)if(rst=0) begincount=0;out=0;endelse if(count=6) begin out=1; count=0; endelse begin out=0; count=count+1; endendmodule分频器设计案例分频器设计案例有限状态机有限状态机state machine什么是

8、状态机:时序控制电路,什么是状态机:时序控制电路,1、复杂逻辑设计的核心,、复杂逻辑设计的核心,2、高效的顺序控制、高效的顺序控制3、极高稳定型,摆脱毛刺干扰、极高稳定型,摆脱毛刺干扰4、处理速度极快、处理速度极快5、规范的程序表达、规范的程序表达 :一个:一个always块块状态的选择状态的选择两种风格)两种风格) else.; 设计示例设计示例- - 三个三个1 1序列监测器序列监测器 !Reset/F=0 Idle Start Stop default A/F=0 A /F=0 !Reset A=0/F=0 G=0 !Reset A=0/F=0 F=0 A/F=1 设计示例 设计示例(续

9、)assign F=(state = Stop &A=1) ?1:0; 设计示例(多过程)状态机序列状态机序列11011101检测器检测器module fsm (clock, reset, datain, out);input clock,reset, datain;output out;reg out;reg 1:0 state;parameter Idle = 2b00, Start = 2b01, Step=2b10,Stop = 2b11;always (posedge Clock) if (!reset) begin state = Idle; out=0; end else

10、 case (state)Idle: if (datain=1) begin state = Start; out=0; end else state=Idle;Start: if (datain=1) begin state = Stop; out=0; end else state =Idle;Step: if (datain=0) begin state = Stop; out=0; end else state=Idle;/Start?Stop: if (datain=1) begin state = Idle;/Start? out=1; end else begin state =

11、Idle; out=0; end endcaseendmodule交通灯1 一个十字路口,红绿黄三色一体交通灯,25秒绿灯,5秒黄灯,红灯30秒,考虑左行、直行、右行、三个灯时?考虑显示计数显示?安全状态机设计安全状态机设计 状态引导法状态引导法 所有状态规定动作所有状态规定动作,实现封闭自启动循环。实现封闭自启动循环。 如如 default: state=?; out1=? out2n0计数计数nsetRegreset技术除毛刺实例技术除毛刺实例input clk,rst,din;output reg out;reg3:0 count1, count0;always (posedge clk) if(!din) count0=count0+1; else(!din) count0=count0+1; always (posedge clk) if(din) count1=count1+1 else count1=0; always (*) if(count1=n) out=1; else if(count0=n) out=0; else; /锁存器锁存器endmodule键盘除抖实例键盘除抖实例input clk1k,r

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论