目录
semaphore旗语(semaphore的操作 资源共享的需求)
mailbox信箱(mailbox信箱的操作 数据通信的需求)
1 线程的使用
线程就是独立运行的程序。verilog中对initial语句块主要有两种分组方式:
begin ...end:中的语句顺序执行
fork...join中的语句以并发方式执行
2 线程的控制
在sv中,新增了fork...join_any fork...join_none 语句,其区别如下图
wait fork 和 disable fork
wait fork :等待所有子线程结束
disable 线程名:指定需要停止的线程
disable fork:停止当前线程中衍生出来未执行的所有子线程。
注意:若没有disable,则task会结束,但内部未完成的线程仍将执行。
3 线程间的通信
概述
测试平台中所有的线程都需要同步并交换数据。