目录
Verilog与C++、Java等高级语言最显著的不同点就在于Verilog的并行执行性,这些活动都是并发的。所以对于测试而言,对这些活动的测试也需要并行测试。
一般将大多数的语句块模拟成事务处理器,并运行在各自的线程里。
1. 线程
线程是操作系统能够进行运算和调度的最小单位,允许并发执行,允许共享资源。
1.1. 创建线程
在Verilog中几乎所有的内容都是并行执行的,程序块中begin...end
中的各线程是串行、fork...join
中的线程则是并行的,而在SV中针对不同的线程并行执行方式,又引入了fork...join_none
和fork...join_any
。
fork…join
这是Verilog中的程序块,似乎在Verilog中较少用到,其含义是
fork…join内部的线程全部并行执行,当且仅当fork…joi