首页 > 其他分享 >SV 线程内部通信

SV 线程内部通信

时间:2024-01-27 23:11:50浏览次数:28  
标签:通信 initial 阻塞 SV 线程 e1 event e2

内容

  • 时钟上升沿就是一个事件,event是一个关键字,可以触发事件
  • mailbox - 用于传递信息,将信息给到mailbox进行传递

内部线程通信

  • 事件传递,对于线程进行控制
  • 对于数据和资源进行传递

内部线程通信机制:Verilog event

  • event - 是一个数据类型
  • -> - 触发事件
begin
  $display();
  #10
  ->  // 不会阻塞线程的执行
  $display(); 
end



  • 仿真开始的时候两个initial会同时执行
  • 先执行两个initial语句中的$display(在仿真的0时刻进行执行)

事件中的循环

event可以作为参数

阻塞事件触发和非阻塞事件触发

event e1,e2
initial begin
  @(e1) $display(e1);
end

initial begin
  @(e2) $display(e2);
end

a = 1,b=2,c=3;

initial begin
  #1;
  b <= a;
  c <= b;
  a <= c;
  ->> e1;  // 非阻塞触发e1
  -> e2; // 阻塞赋值触发e2
end
  • 阻塞语句先执行,非阻塞语句后执行








旗语Semaphore

标签:通信,initial,阻塞,SV,线程,e1,event,e2
From: https://www.cnblogs.com/Icer-newer/p/17986202

相关文章

  • 一个cpu核心最多几个线程
    一个核心最多可以有两个线程。CPU核心是物理上的存在,而线程则是逻辑上的概念。一个核心最少对应一个线程,但通过超线程技术,一个核心可以模拟出两个甚至多个线程。这意味着它可以同时运行两个或多个任务,从而提高了CPU的工作效率和性能。超线程技术,也称为同步多线程(Simultane......
  • 利用vue-inline-svg实现将svg进行动态拆分
    构想是很好的,svg的优势在于矢量,可以随便实现异形控件就来说下这玩意怎么用吧先用npm导入(注意版本,第三方的玩意一版本般都比较新)vue的话是这个npminstallvue-inline-svg我是vue3所以用的版本不一样npminstallvue-inline-svg@next这个是npm那边的说明如果会看这个当......
  • 实现多线程的方式有哪几种?
    Java虚拟机时是运行所有Java程序的抽象计算机,允许应用并发的运行多个线程。在Java语言中,多线程的实现,一般有以下3中方法:1.实现Runnable接口,并实现该接口的run()方法;主要步骤:1.自定义类并实现Runnable接口,实现run()方法;2.创建Thread类,用实现Runnable接口的对象作为参数实例化......
  • python 多线程运行 串行或并行
    我们知道在python中运行多线程程序很简单,只需要几步,创建线程,start线程即可,下面简单说下多线程的串行或者并行的使用示例:#-*-coding:utf-8-*-#@Time:2024-01-2714:03importthreadingimporttimedefrun(name:str)->None:time.sleep(3)print("Thre......
  • 通信(二分+SPFA好题)
    第1题    通信查看测评数据信息某城市有N座通信基站,P条双向电缆,第i条电缆连接基站Ai和Bi。特别地,1号基站是通信公司的总站,N号基站位于一座农场中。现在,农场主希望对通信线路进行升级,其中升级第i条电缆需要花费Li。电话公司正在举行优惠活动。农场主可以指定......
  • 多线程简单介绍
    线程:是操作系统能够进行运算调度的最小单位。它被包含在进程中,是进程中实际运作单位进程:进程是程序的基本执行实体,一个程序就是一个进程简单理解线程:应用软件中相互独立,可以同时运行的功能有了多线程,就可以让程序同时做多件事线程的生命周期完整的线程状态New(新建状态)->......
  • 多线程sleep、yield、wait、join方法的使用和区别
    使用和介绍sleep方法sleep方法的官方注释(翻译后):/***根据系统计时器和调度程序的精度和准确性,使当前执行的线程休眠(暂时停止执行)指定的毫秒数。线程不会失去任何监视器的所有权(不释放锁)。**@parammillis以毫秒为单位的睡眠时间长度*@throws......
  • Linux线程API使用与分析
    线程是操作系统进程调度器可调度的最小粒度的执行单元执行ps-eLF查看线程UIDPIDPPIDLWPCNLWPSZRSSPSRSTIMETTYTIMECMDroot10372410368010372401423667400481Jan24?00:00:13/root/.vscode-server......
  • 为什么使用线程?
    提高应用程序性能:通过允许多个操作同时运行,线程可以显着提高高负载应用程序的性能。更好的资源利用率:线程通过执行后台操作,同时主线程继续其主要任务,更有效地利用CPU。异步行为:线程支持异步处理,其中任务可以在后台运行并在完成后通知主线程。 ......
  • Linux进程间通信_管道
    进程间通信概述在开发过程中,有时会需要进程间进行一些交流和互动,比如一个进程向另一个进程发送数据、发送命令、发送通知或进行某种协同,进程之间的这些行为,其实是在进行进程间通信。进程间通信,即是让多个进程之间可以实现数据层面的交互。由于进程的独立性,进程间通信的成本并不低。......