我再夏宇闻老师书中 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 @, 所以第一个@ 就不在执行了? 顺序到第二个@ 执行? 谢谢各位啦~
此帖出自
小平头技术问答
一周热门 更多>