不枉初心,砥砺前行

皮皮祥的博客

欢迎留言,评论

导航

2022年10月4日 #

线程的控制与同步

摘要: 线程的控制与同步 1. 线程的使用 1.1. 什么是线程 ? 1.2. 线程的概念澄清 2. 线程的控制 2.1. fork并行线程语句块 2.2. 等待所有衍生线程 2.3. 停止单个线程 2.4. 停止多个线程 2.5. 停止被多次调用的任务 3. 线程间的通信 3.1. 概述 3.2. eve 阅读全文

posted @ 2022-10-04 23:36 皮皮祥 阅读(77) 评论(0) 推荐(0) 编辑

线程间同步和通信,event semaphore mailbox

摘要: 线程间同步和通信,event semaphore mailbox 1. 概述 2. 事件event 3. wait_order() 4. 旗语(semaphore) 5. semaphore::get(); 6. semaphore::try_get() 7. 信箱mailbox 7.1. 信箱的内 阅读全文

posted @ 2022-10-04 23:34 皮皮祥 阅读(210) 评论(0) 推荐(0) 编辑

线程控制 fork

摘要: 线程控制 1. 线程控制 1.1. 并行线程 1.2. 一些代码示例 1.2.1. 多个initial并行执行 1.2.2. 单个initial内串行执行 1.2.3. fork...join内并行执行 1.2.4. join_any和join_none 1.2.5. wait fork 1.2.6 阅读全文

posted @ 2022-10-04 23:31 皮皮祥 阅读(111) 评论(0) 推荐(0) 编辑

SV学习(8)——随机约束和分布、约束块控制

摘要: SV学习(8)——随机约束和分布、约束块控制 1. 随即约束和分布 1.1. 为什么需要随机? 1.2. 要随机做什么? 1.3. 声明随机变量的类 1.4. 什么是约束 1.5. 权重分布 1.6. 集合成员和inside运算符 1.7. 条件约束 1.8. 双向约束 2. 约束块控制 2.1. 阅读全文

posted @ 2022-10-04 23:25 皮皮祥 阅读(697) 评论(0) 推荐(0) 编辑

SV学习(7)——包的使用

摘要: 1. 包的定义 SV提供了一种在多个module、interface和program中共享parameter、data、type、task、function、class等的方法,即利用package(包)的方法来实现。完整的验证环境会讲不同模块的类定义规整到不同的package中; 讲一簇相关的类组 阅读全文

posted @ 2022-10-04 23:23 皮皮祥 阅读(393) 评论(0) 推荐(0) 编辑

SV学习(6)——类的继承、句柄的使

摘要: SV学习(6)——类的继承、句柄的使用 1. 类的成员访问类型 2. 类的继承 extends 3. 子类索引父类的同名函数 super 4. 成员覆盖 补充一个有趣的代码 5. 句柄的传递 6. 句柄的动态修改 1. 类的成员访问类型 public:如果没有指明访问类型,默认是public,子类和 阅读全文

posted @ 2022-10-04 23:21 皮皮祥 阅读(392) 评论(0) 推荐(0) 编辑

SV学习(5)——类和对象、类的成员

摘要: SV学习(5)——类和对象、类的成员 1. 类和对象概述 2. 声明类并创建对象 3. 赋值和拷贝,深拷贝浅拷贝 4. 对象的销毁 5. 句柄的使用 6. 静态变量 7. 静态方法 8. 验证为什么需要OOP面向对象 9. 一些差别对比 9.1. Verilog的例化和SV class例化的差别: 阅读全文

posted @ 2022-10-04 23:20 皮皮祥 阅读(607) 评论(0) 推荐(0) 编辑

SV学习(4)——数据作用域和类型转换 $cast()

摘要: SV学习(4) 1. 数据作用域 2. 数据类型转换 2.1. 静态类型转换 2.2. 动态类型转换 2.3. 流操作符 1. 数据作用域 在一个静态任务、函数或者块内声明的变量默认情况下具有静态的生命周期并具有本地的作用范围。 Verilog允许将函数和任务声明成自动的(automatic),这使 阅读全文

posted @ 2022-10-04 23:18 皮皮祥 阅读(596) 评论(0) 推荐(0) 编辑

SV学习(3)——接口interface、modport、时钟块clocking

摘要: SV学习(3)——接口interface、modport、时钟块clocking 1. 接口interface 2. modport 3. 时钟块clocking 3.1. 驱动和采用的竞争问题 3.2. clocking待补充.... 链接: interface中的clocking 1. 接口in 阅读全文

posted @ 2022-10-04 23:17 皮皮祥 阅读(1397) 评论(0) 推荐(0) 编辑

SV学习(2)——过程语句、函数和任务、变量声明周期

摘要: SV学习(2)——过程语句、函数和任务 1. 过程语句 1.1. 硬件过程块 1.2. 赋值语句 1.3. 控制语句 1.3.1. for循环 1.3.2. while循循环 1.3.3. do-while循环 1.3.4. repeat循环 1.3.5. foreach循环 2. 函数和任务 2. 阅读全文

posted @ 2022-10-04 23:15 皮皮祥 阅读(1436) 评论(0) 推荐(0) 编辑

SV学习1 数据类型

摘要: SV语法(1)——数据类型 1. 内建数据类型 2. 用户自定义 2. 枚举类型 4. 定宽数组 5. 动态数组 6. 关联数组 7. 队列 8. 字符串 8.1. 非组合型数组(unpacked) 8.2. 组合型数组(packed) 1.8.3. 数组初始化 8.4. 数组赋值 8.5. 数组拷 阅读全文

posted @ 2022-10-04 23:12 皮皮祥 阅读(895) 评论(0) 推荐(0) 编辑

SV中的Interface和Program

摘要: Interface:SV中新定义的接口方式,用来简化接口连接,使用时注意在module或program之外定义interface,然后通过'include来添加进工程。 interface arb_if(input bit clk); //clk信号,一般单独拿出来 logic [1:0]grant 阅读全文

posted @ 2022-10-04 18:40 皮皮祥 阅读(300) 评论(0) 推荐(0) 编辑

SV中program & module

摘要: 相同之处: 1.和module相同,program也可以定义0个或多个输入、输出、双向端口。 2.一个program块内部可以包含0个或多个initial块、generate块、specparam语句、连续赋值语句、并发断言、timeunit声明。 3.在program块中数据类型、数据声明、函数和 阅读全文

posted @ 2022-10-04 18:37 皮皮祥 阅读(158) 评论(0) 推荐(0) 编辑

Program Block-systemverilog

摘要: systemverilog中的Program Block与module有些类似,但module是基于硬件思想,Program Block纯粹是为了仿真。如果不熟悉program,可以不用program. The program block serves three basic purposes: » 阅读全文

posted @ 2022-10-04 18:36 皮皮祥 阅读(63) 评论(0) 推荐(0) 编辑

进程和线程的区别2

摘要: 进程和线程的区别 最佳答案进程是操作系统资源分配的基本单位,而线程是处理器任务调度和执行的基本单位。还存在资源开销、包含关系、内存分配、影响关系、执行过程等区别。同一进程的线程共享本进程的地址空间和资源,而进程之间的地址空间和资源相互独立。 进程和线程的根本区别是进程是操作系统资源分配的基本单位,而 阅读全文

posted @ 2022-10-04 18:26 皮皮祥 阅读(30) 评论(0) 推荐(0) 编辑

进程和线程区别?

摘要: 文章目录 进程和线程 进程 线程 进程与线程的区别总结 从 JVM 角度说进程和线程之间的关系(重要) 图解进程和线程的关系 程序计数器为什么是私有的? 虚拟机栈和本地方法栈为什么是私有的? 一句话简单了解堆和方法区 多进程和多线程区别 Java中的多线程 进程和线程 进程 一个在内存中运行的应用程 阅读全文

posted @ 2022-10-04 18:23 皮皮祥 阅读(28) 评论(0) 推荐(0) 编辑

程序块

摘要: Gre*_*reg 10 查看IEEE Std1800-2012§3.4和§24program.有关块的完整描述. 在一个简短的,不完整的摘要中,一个program块: 不能包含always过程,primitive实例,module 实例,interface实例(virtual interface和 阅读全文

posted @ 2022-10-04 18:14 皮皮祥 阅读(43) 评论(0) 推荐(0) 编辑

程序块(Program Block)和时序区域(Timing Region)

摘要: 设计和测试平台都用module封装后,它们之间可能会出现竞争状态。这个问题的根源在于设计和测试平台的事件混合在同一个时间片内,我们希望存在一种方法可以在时间轴上分开这些事件,就像分开代码那样。那System Verilog如何将测试平台的事件和设计的事件分开调度的呢?在SV中,将测试平台的代码封装在 阅读全文

posted @ 2022-10-04 18:06 皮皮祥 阅读(147) 评论(0) 推荐(0) 编辑

16.15Disable iff用法

摘要: 转自:https://blog.csdn.net/qq_43464337/article/details/121835094 16.15 Disable iff 解析 默认disable iff可以在生成块或者module,interface,program声明中声明,其在默认disable iff 阅读全文

posted @ 2022-10-04 13:26 皮皮祥 阅读(410) 评论(0) 推荐(0) 编辑

systemverilog中的静态变量static和动态变量automatic

摘要: 本文参考: SystemVerilog静态变量和动态变量_行走的BUG永动机的博客-CSDN博客_systemverilog静态变量和动态变量 systemverilog之Automatic - 腾讯云开发者社区-腾讯云 (tencent.com) https://blog.csdn.net/zha 阅读全文

posted @ 2022-10-04 09:06 皮皮祥 阅读(739) 评论(0) 推荐(0) 编辑