- 博客(8)
- 收藏
- 关注
原创 SystemVerilog学习杂记——线程控制和通信
注意get()、put()相当于钥匙减一和加一,当semaphore中没有钥匙时执行get会阻塞,但是,当你本身没有执行get(),直接执行put()时,钥匙会加一,这在逻辑上是不通的,但SV中允许这样做,编译器不会报错,这样可能会导致控制的逻辑与预期不符,使 semaphore不能达到控制互斥访问的目的,当然,特殊情况下也可以这样做。注意,若某一指明标号的线程被多次调用(如上面代码中的mytime被多次调用),在使用disable将其关闭,则所有的同名线程都会关闭。triggered(),电平敏感。
2023-03-17 10:40:36
556
原创 SystemVerilog学习杂记——随机与约束
绿皮书第六章内容常用函数汇总随机修饰符class rand bit[31:0] src; // 随机修饰符 randc bit[7:0] kind; // 周期随机修饰符endclass随机变量一般为2值类型变量,随机化只能随机0和1,即使设置为4值类型随机变量,也不会随机到X和Z。约束约束class rand bit[31:0] src; // 随机修饰符 randc bi
2023-03-14 22:13:29
403
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人