请教 @ 的用法

2019-03-25 10:10发布

我再夏宇闻老师书中 IIC一节时,描述SDA数据线上的数据存入寄存器,数据在SCL的高电平有效(就是高电平的时候SDA上要稳定,在SCL低电平的时候,SDA上的数据可以改变),大概代码如下:

output [7:0] shift;                    //  寄存器
  begin
      @ (posedge scl )    shift[7] = sda;
      @ (posedge scl )    shift[6] = sda;
      @ (posedge scl )    shift[5] = sda;
      @ (posedge scl )    shift[4] = sda;
      @ (posedge scl )    shift[3] = sda;
      @ (posedge scl )    shift[2] = sda;
      @ (posedge scl )    shift[1] = sda;
      @ (posedge scl )    shift[0] = sda;
       .......

    end

我想问下 单独的@出现时 和always @ 连用 会有什么差别?  

我知道在begin...end 里代码是顺序执行的,  这样理解有没有错:  单独使用 @ 时,比如第一个@,后面敏感列表中变化时,执行相应功能。然后敏感列表再次变化,但因为不是 always @, 所以第一个@ 就不在执行了? 顺序到第二个@ 执行?  谢谢各位啦~ 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。