SystemVerilog
文章平均质量分 73
。
FA@TE
这个作者很懒,什么都没留下…
展开
-
verilog中函数用法
verilog中函数用法读写文件常用1.1打开文件1.2读写文件2执行系统命令读写文件常用1.1打开文件$fopen打开文件,用法如下:1. $fopen("<文件名>");2. <句柄>=$fopen(“<文件名>”);用法1自然无须多解释,对于用法2,句柄就是任务$fopen返回的多通道描述符,默认为32位,最低位(第0位)默认被设置1,默认开放标准输出通道,即transcript窗口。注意:用fopen打开文件会将原来的文件清空,若要读数据就用fop原创 2022-04-09 18:25:02 · 1520 阅读 · 1 评论 -
systemverilog中的参数传递——ref、input、output
systemverilog中的参数传递——ref、input、output1 静态数组作为参数1.1 input1.2 output1.3 ref2 动态数组或队列作为参数3 类作为参数4 原文链接1 静态数组作为参数sv中的静态数组、动态数组、队列都是用一块内存存放,而他们的名字作为该内存的地址,这点和c一致,但sv中没有指针的概念。传递这种大片内存的值一般只有两种规则:1.地址传递,函数内部修改可以改变函数调用的值。2.值传递,将整片空间复制一份,函数内部修改不会改变函数调用的值。但是,sv转载 2022-04-09 17:05:12 · 4632 阅读 · 4 评论 -
sv中并行语句
sv中并行语句sv中有fork-join、fork-join_none、fork-join_any三种并行语句,拿一个栗子说明三者的区别。有三个子线程同时运行 ,只要有任何一个线程结束,就退出并行块,以下是三种实现方法。task test(); fork:tag begin sub1(); disable tag; end begin sub2(); disable tag; end begin sub3();原创 2021-11-10 14:22:23 · 850 阅读 · 0 评论 -
Systemverilog中$cast()的使用
@Systemverilog中$cast()的使用1 静态转换SV类型转换分两种方法,一种叫静态类型转换,另一种称之为动态类型转换。静态类型转换的语法类似为:int a = 2; real b; b = real'(a); 这种类型`()的静态类型转换,一般不检查转换是否合法,因此具有一定的危险性。2 动态转换但cast的task却不是这样,cast的task却不是这样,cast的task却不是这样,cast是systemverilog中的内建方法,它会进行类型检查。如果转换失败,会转载 2021-10-17 17:13:07 · 7973 阅读 · 1 评论 -
SV中的Class知识
SV中的Class知识0. 基础1. static2. shallow copy3. deep copy5. parameterized class6. 继承7. 多态(polymorphism)8. 修改成员函数9. super10. casting11. 公有和私有12. 抽象类(abstract class)12. 域分辨符::13. External14. typedef本文搬运自:SV中的Class,感谢原作者分享,侵删!0. 基础定义: class name;实例化: .new()类中转载 2021-02-24 14:50:34 · 3765 阅读 · 0 评论 -
systemverilog中的include和import
systemverilog中的include和import前言区别参考文章前言IC验证时报错,最后定位在include和import处,改变 import svt_uart_uvm_pkg:???? 和 include “svt_uart.uvm.pkg” 的顺序后,错误消失,问题很是奇怪,include 必须放在include 之前?百度之。区别include 将文件中所有文本原样插入包含的文件中。这是一个预处理语句,`include在import之前执行。import不会复制文本内容。但是原创 2020-10-30 15:51:04 · 3760 阅读 · 0 评论 -
SV中interface使用
SV中Interface使用前言例程参考文章前言大型IC设计中,模块中信号数量众多,不仅使用和修改麻烦,而且很难保证在信号连接中不出问题,因此systemverlog中interface出现啦!既然写端口信号十分麻烦,那就单独为信号创建一个interface模块,然后在其他模块中例化,一旦信号名称和数量需要修改,也不必在顶层修改,只需要修改interface模块就可以。例程下面展示一个例程(本例程来自一篇博客,写得非常好,稍作修改,链接在文末,不得不说,本文是我见过将interface写得最清晰的原创 2020-11-19 16:51:13 · 2718 阅读 · 0 评论