![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
SV学习笔记
文章平均质量分 65
254、小小黑
代码是程序员的朋友,虽然没有热情,但很忠诚。
展开
-
SystemVerilog 利用DPI调用其他语言
SystemVerilog 利用DPI-C调用其他语言众所周知DPI-C调用外部C程序值需要通过import即可,但是DPI重要的一点是可以调用外部其他语言,最简单的办法就是调用Verilog的$system()任务,如果需要命令的返回值,使用linux的system()函数和WEXITSTATUS任务。调用外部c语言的sv代码:perl_test.svimport "DPI-...原创 2018-06-04 17:10:23 · 6993 阅读 · 0 评论 -
SystemVerilog中virtual关键字常见用法
在验证工作中经常使用"virtual"关键字,下面列举该关键字应用场景。主要应用场景在virtual class,virtual interface 以及 virtual task/function。OOP三大特性(封装,继承,多态)中的 多态 在SystemVerilog中一般通过 “virtual” 关键字实现。通过virtual声明的类,接口,任务与函数,其本身自带一些方法或者函数...原创 2019-04-11 18:06:32 · 24313 阅读 · 8 评论 -
SystemVerilog中的局部变量与全局变量
关键字local、protected、static1. 公有与私有在SV中,所有成员默认都是 public 类型的,除非显示的使用关键字 local/protected 来声明。local与protected均可对方法或者属性进行修饰说明。local 表示的成员或方法只对该类的对象可见,扩展类以及类外不可见;protected 表示的成员或方法对该类以及扩展类可见,对类外不可见;...原创 2019-04-15 19:47:52 · 10502 阅读 · 1 评论 -
SystemVerilog中子程序调用与参数传递
在SystemVerilog中新定义一种端口类型 "ref "传递变量地址而非变量本身。1. 传递值传递值是子程序传递参数的默认机制。这种传递机制将每个参数拷贝到子程序区域,如果子程序是 automatic 类型,那么子程序会在其本身的堆栈中保留一个局部的参数副本。参数在子程序内部的修改对外部不可见。参数巨大时使用该方式传递参数是不可取的。// 传递值的方式如下:function...原创 2019-04-13 17:11:04 · 7246 阅读 · 0 评论 -
SystemVerilog中类型转换$cast的使用
类型转换$cast1. $cast做枚举类型转换:枚举类型的缺省类型为双状态int,可以使用简单的赋值表达式把枚举类型变量的值直接赋值给非枚举变量 如int,但SV不允许在没有进行显示类型转换的情况下把int变量直接赋值给枚举变量。SV要求显式的类型转换的目的在于让你意识到可能的数据越界情况。typedef enum bit[1:0] {RED=0,BLUE,GREEN} COLOR_E...原创 2019-04-13 17:44:07 · 30097 阅读 · 6 评论