理论上所有的Wait until都是可以避免的。程序的技巧是每当条件可能成立时,都要重新call这个程序进行检验。举个简单的例子,如果要buffer的贮量大于五才进行buffer中物件的筛选,那么可以在每个物件进入buffer时触发一个程序,仅在if条件成立时才做筛选。7 f: l# F- p* d3 M A
F z0 b! Q5 [7 {* @另外在精密度要求不高的情况下,再介绍一个小技巧,用一个程序,每隔几秒执行if一次,要比wait until划算很多。0 e( d- _+ h% N7 B$ p9 Q7 G
& V! @1 o: I' u; E: P' h
还有忘了说了,Display也会严重影响运行速度。很多时候可以用全局变量代替,这个全局变量就可以用Wait until来检测。另外关于simtalk创建变量的问题,其实所有的局部变量都可以,甚至是table的形式。