Verilog中的阻塞与非阻塞赋值是一对十分难理解的概念,没有之一!本文展开说明,望解开难理解之谜。
1、阻塞赋值,很明显,具有阻塞之意,即在always块中,它要阻值其他语句的进行(在阻塞赋值语句LHS的赋值完成之前),然后才接着执行其他语句。而阻塞赋值本身,RHS的计算和LHS的赋值是同时完成的。整体是分前后顺序的,但内部是同时进行的。(整体是指每一条阻塞赋值语句本身,内部是指RHS的计算和LHS的赋值)
2、非阻塞赋值,即无阻塞之意,就是说always块内所有的非阻塞赋值语句同时进行,但非阻塞赋值本身,RHS的计算和LHS的赋值是前后完成的。故,同时进行是指:所有非阻塞赋值语句的RHS同时完成计算(timestep