一、觸發線程、阻塞線程、等待線程競爭
程序:sv P193 例7.20
先放結論:
1、觸發線程早於阻塞線程、等待線程,則後兩者不會觸發。
2、同一仿真時間下,觸發線程執行順序在前,阻塞線程不會觸發,等待線程觸發。
解析:@阻塞事件控制邊緣敏感,邊緣觸發步長極短,阻塞線程會錯過觸發。
3、阻塞線程、等待線程仿真時間或執行順序早於觸發線程,則兩線程會觸發。
二、IPC線程同步通信 概念整理
1、競爭:一個事件同一時間,a線程阻塞事件,b線程觸發事件,則發生競爭。
2、事件控制方式:@邊緣敏感,wait 電平敏感
3、競爭中,若觸發執行在前,則阻塞不被解除。
4、事件是靜態的同步對象句柄,可以像參數一樣在子程序中傳遞。事件可以賦值給其他事件,兩個事件句柄指向同一個同步化對象。
參考文獻:https://blog.csdn.net/weixin_43249032/article/details/84035517 SystemVerilog: 事件控制event