always电平触发

来源:互联网 发布:网络架构师 真题 编辑:程序博客网 时间:2024/05/19 07:44

  一直用的是always块的沿触发,今天看了一下电平触发。
  先看一个例子:

always@(a or b or c)begin……end

  对于always块敏感电平列表,只要有a、b、c任何一个发生变化,从低到高或者从高到低都会执行一次过程块。
  对于  

always@(*)

  这种的写法,表示对always模块中的所有赋值信号发生变化,都会触发模块重新计算。这里看一个例子: 

always @(*)begin    if(txd_state==1'b1)        txd=1'b0;    else        txd=1'b1;end

  这里,always块内的赋值信号为txd_state,当txd_state的值发生变化时,都会触发always块执行。来看一下综合后的RTL视图:
  这里写图片描述
  可以看到,实际综合后就是一个非门的功能。

原创粉丝点击