自己总结了下:<br>
@(posedge scl) 触发语句 不存在阻塞之类的问题 <br>
楼主想讨论的问题怕是:<br>
@(posedge scl)<br>
begin<br>
...// 这里面的语句采用顺序执行<br>
end<br>
<br>
@(posedge scl)<br>
fork <br>
...//这里的语句采用并行<br>
join <br>
<br>
请大侠指教
楼主,无论什么语句,只要在begin-end中的语句都是顺序执行的。behavior里面根据我的经验是不用<=这样的表达式,因为很容易混淆,而且也完全没有必要。<br>
你的task里面用=和用<=的区别对于task本身来讲区别不大,因为都可以通过这个task接受到一个有效的byte,但是如果同时其他信号有用到你sample的值,比如在第一个clk之后sample shift,如果用=(立即update值),那么就可以sample到第一个sda值,而如果用<=(等待delta时间update值),就无法sample到。<br>
你可加一段debug程序:<br>
页:
1
[2]