旗语专题

SV-线程同步与通信-事件-旗语-信箱

事件event          用event来声明一个事件,用箭头->来触发,用@来等待事件的发生。 `timescale 1ns/1psmodule tb;event e1, e2, e3;task automatic wait_event(event e, string name);$display("@%t start waiting event %s", $time,

线程之间的通信(事件event、信箱mailbox、旗语semaphore)

看到一篇好博客,转载下https://blog.csdn.net/qq_41337361/article/details/122723681?spm=1001.2101.3001.6650.4&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-4-122723681-blog-11383640

【System Verilog and UVM基础入门7】事件,旗语,邮箱

学如逆水行舟,不进则退! 事件 Anleventis a static object handle to synchronize between two or more concurrently active processes.One process willtrigger the event, and another process waits for the event.   H

使用Semaphore(旗语)控制线程同步

今天同事做培训讲到了线程同步的方法, 其中一个就是用到Semaphore。 Semaphore可以用在不同进程之间的线程同步, 若是在单进程中的线程同步, 使用lock或是Monitor就足够了。 正如其名 旗语就是存在多个任务, 每个任务上都插一个小旗作为互斥信号, 当有一个线程去访问该任务时, 就拔掉小旗 以示其他线程不能访问, 访问完成后再插回小旗使其他线程可以访问。 Demo: