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

 找回密码
 注册

手机号码,快捷登录

手机号码,快捷登录

搜帖子
查看: 4042|回复: 4

[求助] 用veriloga写的模块中如何传递一个字符型的参数变量?

[复制链接]
发表于 2015-2-28 14:19:34 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

×
我的目的是为了写一个模块,能够更具时钟把某个输入信号存到一个文件中。因为需要重复使用这个模块,因此希望能够把存放的路径和文件名用一个参数来代替。每次调用的时候填一个参数就行。

但是问题来了,parameter好像支持real 和integ ,文件路径名称是字符型,改如何传进去呢?


烦请各位大侠指点一下!
发表于 2015-2-28 15:51:59 | 显示全部楼层
va里面本身是有string类型的parameter吧,可以看看下面这个模块,也是用来把信号写到文件中的。

module va_wtf_mod(synCLK, OUT);
   input synCLK, OUT;
   electrical synCLK, OUT;
   integer wfile1;
   real vth;
   
   parameter string OFN="./DATA_VA/MOD_OUT_P.txt";

        analog begin

                vth = 0.5;
                @(initial_step)
                        wfile1 = $fopen(OFN);

                @( cross(V(synCLK)-vth,-1) )
                        $fstrobe(wfile1, "%5.2f",V(OUT));

                $fclose(wfile1);

        end

endmodule

但是!!! 如何从hspice中把文件路径传递到va中,没研究明白。。。各种方法传递总是不成功。。。大哥你如果解决了一定要告诉我一声啊。。。
回复 支持 反对

使用道具 举报

发表于 2022-7-23 22:22:03 | 显示全部楼层
暂时找到一个不太好的方法,如果每次仿真时间能有至少1分钟,可以命名filename是加个%T代表仿真开始的现实生活里的时间
例如 parameter string filename="%T_bs.txt";就能循环跑时(比如跑transnoise)每次生成的txt文件名不同,至少能不覆盖掉。要是有找到更好传递参数的方法辛苦告知一下,
回复 支持 反对

使用道具 举报

发表于 2022-7-23 22:54:55 | 显示全部楼层


   
Riching 发表于 2022-7-23 22:22
暂时找到一个不太好的方法,如果每次仿真时间能有至少1分钟,可以命名filename是加个%T代表仿真开始的现实 ...


好吧 还是不行
回复 支持 反对

使用道具 举报

发表于 2025-8-5 20:30:37 | 显示全部楼层
还是要用数值来传递,在程序里面写一个case块,将传递来的数值映射到对应的字符串即可。
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

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

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

GMT+8, 2025-9-11 06:27 , Processed in 0.013831 second(s), 5 queries , Gzip On, Redis On.

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