- 博客(14)
- 资源 (7)
- 收藏
- 关注
原创 sv平台如何导入写好的c/c++ reference model
sv平台如何导入写好的c/c++ reference model1、将c/c++的reference model编译链接成动态链接库;2、将动态链接库通过脚本加载进sv的testbench中;3、通过dpi-c调用c/c++中的函数;4、若为c++、systemC的reference model还需要在model的函数前加extern “C” ,将以C的风格编译函数;(注意若model中的函数的输入输出有c++特有的风格,则需要将函数以完全c的风格封装起来,即返回值、参数都是c中的,然后在c的封装
2021-11-18 23:38:52
1633
1
原创 UVM学习笔记:
UVM学习笔记:1、芯片流程:市场需求(spec)、算法、架构、rtl、门级网表、GDSII、样片;2、芯片验证等级:模块级验证->芯片级验证->系统级验证;3、uvm的一般架构(自下而上):agent:sequencer、driver、monitor(driver和monitor通过interface与DUT相连);env:agent、scoreboard、reference model;testcase:实例化env;top:testcase、dut...
2021-11-03 00:07:09
995
原创 sv中rand与randc的区别:
rand与randc的区别:rand每次随机的概率都一样,类似于掷骰子;randc每次随机都不重复,类似于发牌;
2021-10-25 12:03:55
1844
原创 SV如何创建三维动态数组并且随机化
SV如何创建三维动态数组并且随机化声明:rand int a[][][];创建:(在post_randomize函数中进行实例化)int temp;a=new[len1];foreach(a[i])a[i]=new[len2];foreach(a[i,j])a[i][j]=new[len3];foreach(a[i,j,k])beginassert(std::randomize(temp));a[i,j,k]=temp;end...
2021-10-21 18:03:47
1347
原创 sv中两个不同的16bit数据为一组,一共有九组这样的数据,那么在随机化时如何表示?
两个不同的16bit数据为一组,一共有九组这样的数据,那么在随机化时如何表示?法一:定义定宽数组rand bit[15:0] a[18];缺点:这样表示不是很直观,索引时需要进行计算获得索引值;法二:定义合并数组rand bit[1:0][15:0] a[9];优点:这样结构更加直观,而且按bit位存放更加密集;法三:定义结构体或类,将数据打包;typedef struct{rand bit[15:0] a;rand bit[15:0] b;}typec;rand typec c[
2021-10-21 17:50:52
245
原创 SV中如何定义常量
SV中如何定义常亮1、使用宏定义:'define PI 3.14a = ‘PI;注:次处与c不同,调用宏时sv要加’;2、使用常量符号:parameter PI = 3.14;a = PI;3、在变量声明时,使用const修饰,被修饰后的变量在其后的过程代码时不能改变其值;...
2021-10-08 17:43:48
788
原创 sv中函数如何传递数组值
sv中函数如何传递数组值法一:将数组用typedef定义为一个新的数据类型,将新的数据类型作为函数返回值;法二:将需要传递的数组作为输入传入,用ref修饰该数组,ref修饰后的变量类似于c中的传地址,当不想传入的参数改变,并且不想用复制传递参数增加消耗时,可以用const ref修饰参数;法三:将数组封装进类中,然后返回对象的句柄;...
2021-10-08 10:50:02
906
原创 sv中的constraint 与randomize
sv中的constraint 与randomize1、constraint设定约束条件,randomize进行随机化;2、constraint是描述型语句不是过程性语句,所以其内不能出现“=”赋值语句,而是应该用“==”判断语句进行描述;3、constraint进行条件约束时,只有左边的约束有效,例如constraint中a<b<c,只有a<b有效,需要将约束关系拆成两部分表示;4、randomize具有属于指定类,所以对约束条件进行随机话时,要在randomize前指定具体类,这
2021-10-08 09:23:51
2378
翻译 TCP与UDP的区别:
TCP与UDP的区别:1、TCP面向连接,而UDP是无连接的;(TCP需要先建立连接然后才能通信而UDP不需要)2、TCP提供的服务更加可靠;3、TCP面向字节流,UDP面向报文;4、TCP只能建立点到点的连接,UDP连接方式更加多样化;5、UDP的首部开销8个字节比TCP的20个字节要小;...
2020-09-05 09:38:13
89
原创 QT4.9.0生成.exe文件显示缺少dll文件
QT4.9.0生成.exe文件显示缺少dll文件最近才开始学习QT,在QT界面程序可以正常运行,但是打开QT文件夹下的release文件夹后会发现一个xx.exe文件,运行时老是提示缺少XX.dll,我看了很多博主的博客,但是都没有解决。大概试过以下几种方法:1、在QT的文件夹下,搜索XX.dll,然后通过设置电脑属性->高级系统设置->高级->启动和故障恢复->环境...
2019-05-29 10:27:16
620
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人