verilog语法之force和release


force和release

在程序中经常会遇到force和release,如下图:

add u_add(.a(a1),.b(b1),.c(c1));

initial
 begin
   a1 = 2'b1;
   b1 = 2'b1;
  
   #20 force u_add.a = 2'd2;
   #10 release u_add.a ;
end

对force和release的作用进行说明:

在u_add模块中,a接口与a1相连,b接口与b1相连,c接口与c1相连,那么就有如下两种情况:

(1)在没有force下,即release环境下,u_add模块的a接口输入的就是a1信号,a1信号为高a则为高,b、c接口同理;

(2)在force下,相当于系统做了一个强制赋值,此时u_add模块的a接口为2`d2。

总结如下:force的作用相当于给模块的接口强制赋值了一个值;

                  release的作用相当于把force这个强制条件给解除了。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM