有谁用过$snps_get_voltage()取spcie网表里面的节点么?
时间:12-12
整理:3721RD
点击:
一个问题。
spice网表里面的bus format是 [%d],或者 <%d>的话,
$snps_get_voltage(M_top.databus[n])或者
$snps_get_voltage(M_top.databus<n>) 都会出错,
只能把spice的 bus format改成 _%d_.
但是for 循环来写的话,我用字符串凑成一个str=M_top.databus_n_
送给$snps_get_voltage函数,也一样会出错
谁能给个线索,谢谢。
※ 来源:·水木社区 newsmth.net·[FROM: 121.204.204]
spice网表里面的bus format是 [%d],或者 <%d>的话,
$snps_get_voltage(M_top.databus[n])或者
$snps_get_voltage(M_top.databus<n>) 都会出错,
只能把spice的 bus format改成 _%d_.
但是for 循环来写的话,我用字符串凑成一个str=M_top.databus_n_
送给$snps_get_voltage函数,也一样会出错
谁能给个线索,谢谢。
※ 来源:·水木社区 newsmth.net·[FROM: 121.204.204]
这个函数的参数是一个signal而不是一个string。你看看原型声明就知道了。
是啊,是一个signal。 问题是我现在没有办法调用它,想想办法凑出来
不知道你有什么好主意?
谢谢回答
是signal你必须传给它一个signal。sv没有办法动态的生成signal,死心吧。
vpi是一个办法,相当于你自己重新定义个$函数,接受字符串的参数。
o .谢谢
另外,这个函数原型是哪里查的?
我是在nanasim下的mixed_signal.pdf里面看到的,只有简单的调用。
没有看到原型啊
直接找了vcs doc目录下的pdf,也没有看到啊
一般调用的时候都要使用头文件,原型一般在头文件里。如果是vcs系统的调用,可能编译器自动帮你做好了,你可以到安装文件夹里去搜搜
建议写个perl脚本自动生成这段code,然后include到tb里面去,这样应该比只是用sv来实
现要简单
这是一个方法。 我不懂perl。不过用vim 批量替代也差不多
行数少的话直接替换就好,多的话无所谓Perl或者c什么的,循环写出就可以了