在线咨询 切换到宽版
eetop公众号 创芯大讲堂 创芯人才网

 找回密码
 注册

手机号码,快捷登录

手机号码,快捷登录

搜全文
查看: 16872|回复: 14

[讨论] 能不能尝试用system verilog对处理器写个测试平台呢?让大家学习学习

[复制链接]
发表于 2012-11-9 10:30:16 | 显示全部楼层
用UVM搭建了个平台,激励和monitor都有了。然后平台上system verilog写的MEM初始化和assertion模型。参考模型在system verilog中,使用DPI调用C++函数实现。整个一套运行起来后,用tcl脚本做了批处理封装。再用python在Linux下加入了一个简单的图形界面,丰富了批处理选项。这样方便了测试过程。

这一整套开发耗时2个月(验证对象差不多是一个功能完善的DSP)。俺一个人。但是,到底现在哪些公司需要这样的验证工程师啊?

现阶段尝试用system verilog调用matlab的库函数,方便后续项目里丰富参考模型,还未成功,正在试验中。越来越有兴趣。
回复 支持 反对

使用道具 举报

发表于 2012-11-12 14:56:19 | 显示全部楼层
在Linux下安装一下Matlab,shell调用运行一个m文件,已经试验成功了。

我的平台里,调用逻辑是用tcl脚本的。Python那部分是独立的界面,和验证具体没什么关联。
shell命令格式如下:
chmod +x matlabtest.m
matlab -nodesktop -nojvm -r "run ./matlabtest.m;quit;"

备注:变量输入输出,我找了一个很好的帖子,分享给你,http://www.biostatistic.net/thread-251-1-1.html
我用save尝试过了矩阵的导出,是OK的。你可以自己写一个matlab的,用脚本调一下。


还需要尝试systemverilog直接调用matlab的路子,如果这个不行,我预备用下面的方案了:
systemverilog里的参考模型和脚本是能并存的。我设想的是uvm激励做一次转化,共享文本给脚本调用matlab做参考模型,结果输出到另一个文本里,然后在参考模型的时候,比对文本就好了。
回复 支持 反对

使用道具 举报

发表于 2012-11-16 16:43:41 | 显示全部楼层
systemverilog直接调用matlab,已经成功了。有两种方法。
方法1、通过matlab engine+systemverilog DPI,可以调用所有matlab库函数,如果是调用自己写的纯matlab函数,只要文件在当前路径下,也能直接调用。输入输出结果也能通过mxGet/Set相关的结构传递。
备注:这个方法很好用,如果遇到了matlab+mex c 的情况,我现在的做法是systemverilog通过DPI接口调C,再将C的结果和matlab之间传递。

方法2、通过mcc+gcc将matlab文件编译成一个.so库,然后再通过systemverilog调用。
这个做了实验,已经验证OK了。
但是,过程比较曲折。我们服务器上安装的64位linux,但是matlab库都是32位的,存在不兼容的情况。mcc生成C文件的时候没有问题,但是调用mbuild link成库的时候,总是出现不兼容的错误。最后是自己写的makefile,完成mbuild的过程,link出一个.so库。库调用的时候,对matlab也不熟悉,一直没有做appinit的过程,在网上找半天才发现。
回复 支持 反对

使用道具 举报

发表于 2012-11-19 17:24:04 | 显示全部楼层
回复 7# zuiqiangzhe


    我也不知道能不能装。我们这里都是装在服务器上,我个人笔记本没有装matlab的。
你要不问问别人吧。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条


手机版| 小黑屋| 关于我们| 联系我们| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2025-9-16 17:16 , Processed in 0.013742 second(s), 4 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表