微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 微电子和IC设计 > IC验证交流 > UVM 中怎么引入reference model或者是C model

UVM 中怎么引入reference model或者是C model

时间:10-02 整理:3721RD 点击:
我现在看mentor 那本cookbook知道怎么用C产生激励给UVM了, 但是现在我想把C model也放入UVM中,这样在scoreboard中可以实现HW硬件和SW(Golden model)结果的比较,请问怎么把golden model放入UVM中?

好像finesim的manual上对C-Model解释的很少,想写一个C-Model生成一个脉冲源,连时间都不好指定。你知道fsc_current_time()这个函数返回的是什么时间?这跟生成的tran波形上的时间0点有什么样的对应关系吗?

目前的主流做法 应该是 : DPI/[PLI]
可以查SV 的 LRM 以及 Tool 的Doc。

我想统一回复一下我现在research 结果和个人理解,可能会有不对的的地方请大家指正。首先先写关于research的结果,关于引入golden C model的例子几乎没有,在mentor cookbook中只有关于如何用C产生based stimulus和如何用C配置相应寄存器的做法。
第二,我们公司曾经有人使用OVM做了一套带入C model的OVM环境,但是C model只有一个Cpp文件。能够实现OVM中随机变量dump给C,并在scoreboard中进行比较。但是需要对Cpp文件进行相应的改写,来实现C与SV的交流。具体改写方法相当于对cpp中每一个function重新在下方dpi改写,再做wrapper。关于此点,主要是因为这种工作不具有reuseable的可能,并且在已有C model的验证环境下,并不能体现出工作量和验证质量的优势。

以上内容纯属个人见解,请大神来指点不对的地方,如果UVM现在有更好的办法,快告诉我啊!

脉冲源的时序应由RTL来控制而不是从cmodel. Cmodel 只管算法部分

楼上正解

方法之一就是用DPI,把C的东西包起来,只留下接口,按照C调用的顺序组合来调用DPI,输出就有了。这和UVM关系不大,sv的平台一样可以引入

七楼正解

可以考虑用uvmc 他是基于tlm port开发的专门用来连接sv和c/sc的,具体可以Google uvmc

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top