force和releasespa
在程序中常常会遇到force和release,以下图:接口
add u_add(.a(a1),.b(b1),.c(c1));it
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相连,那么就有以下两种状况:co
(1)在没有force下,即release环境下,u_add模块的a接口输入的就是a1信号,a1信号为高a则为高,b、c接口同理;系统
(2)在force下,至关于系统作了一个强制赋值,此时u_add模块的a接口为2`d2。
总结以下:force的做用至关于给模块的接口强制赋值了一个值;
release的做用至关于把force这个强制条件给解除了。