C语言边沿触发函数,边沿触发在Verilog中又分为两种-Read.PPT

技术廖义奎第章编程基础本次课内容过程赋值行为描述过程中并没有进程的概念但却有与进程相同功能的三种过程分别是和模块实例这三种在执行的方式上与进程一样在过程之间是并行执行的模块实例已在前面介绍过将在赋值一节中介绍这一节将介绍过程过程过程相当于一个进程即块与块之间是并行工作的而块内就顺利执行的块的执行由敏感信号列表中的信号触发就像是由一个中断信号触发一个中断处理程序一样过程的格式如下敏感信号列表赋值语句分支语句循环语句任务函数调用对于过程具有如下特点重复多次执行的语句是编写触发器同步设计中最常用的语句

September 19, 2001 EDA技术 廖义奎 第10章 FPGA Verilog HDL编程基础 本次课内容 10.7 always过程 10.8 赋值 10.9 行为描述 10.7 always过程 Verilog HDL中并没有进程的概念,但却有与进程相同功能的三种过程,分别是 assign、always和模块实例,这三种在执行的方式上与进程一样,在过程之间是并行执行的。 模块实例已在前面介绍过,assign将在赋值一节中介绍。这一节将介绍always过程。 10.7.1 always过程 always过程相当于一个进程,即always块与always块之间是并行工作的,而块内就顺利执行的。 always块的执行,由敏感信号列表中的信号触发,就像是由一个中断信号触发一个中断处理程序一样。 always过程的格式如下: always @ (敏感信号列表) begin 赋值语句 分支语句 循环语句 任务、函数调用 end 对于always过程,具有如下特点: (1)重复多次执行的语句,是编写触发器、同步设计中最常用的语句,也是仿真中产生时钟常用的语句。 (2)可以认为always块是响应事件的处理程序。 (3)always块内的程序是顺利执行的。always块内的顺序执行与阻塞式赋值语句在功能上基本相同,但在用法上有点差别。 对于always过程,需要注意如下几点: (1)always语句通常对数字电路中的一组反复执行的活动进行建模,它类似于软件语言中的一个无限循环,从硬件的角度而言,它真实地反映了电路在加电后的连续反复运行的状态。 (2)“begin-end”之间的语句称为块语句,其中的语句是按照串行方式顺序执行的。 (3)@ (敏感信号列表)是可选的,敏感信号列表列出了触发条件,只有当触发条件满足的时候,后面的“begin-end”语句块才会执行,当有多个触发条件的时候,触发条件之间用“or”或者逗号“,”分开,具体的格式如下: @(触发条件1,触发条件2,……,触发条件N) 10.7.2 触发方式 Verilog触发方式分为电平触发、边沿触发两种: (1)电平触发如图10.7所示。 在Verilog中,电平触发方式比较少用。 (2)边沿触发如图10.8所示。 上升沿与下降沿都触发,从功能上看,与电平触发效果一样,所以也有人把这种方式叫做电平触发,但如果从严格意义上看,还是不太一样。 例如: always @ (CLK) a<=b 以上语句指当CLK的值改变时就把b指定(Assign)给a,即@(CLK)将在CLK的上升沿或下降沿时,都触发。 边沿触发在Verilog中又分为两种: (1)上升沿触发如图10.9所示,用关键字posedge描述; 例如: always @ (posedge CLK) cntr<=cntr+1 以上语句指当CLK的上升沿时,将cntr的值加1。 (2)下降沿触发如图10.10所示,用negedge描述。 例如: always @ (negedge CLK) cntr<=cntr+1 以上语句指当CLK的下降沿时,将cntr的值加1。 在每一个always过程中只能有一种触发条件存在于敏感信号列表中,最好不要混合使用。在时序电路中always块通常是用时钟边沿触发。 10.7.3 事件及敏感信号列表 在Verilog HDL的always模块中,有四种事件,即上面介绍的四种触发方式产生的事件,分别是电平触发事件、上升沿触发事件(posedge)、下降沿触发事件(negedge)和用户自定义事件。 电平触发事件一般用于逻辑电路建模之中,只要信号的电平发生改变,都将触发电平事件,使用方法如下: always @ (a,b); 或者写成:always @ (a or b); 上升

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值