微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > fsdb超过2g的问题

fsdb超过2g的问题

时间:10-02 整理:3721RD 点击:
fsdb文件貌似不能超过2g,问题是我现在有一个数据量很大的仿真case,我又想看看出错的波形,怎么办呢?有没有什么办法把fsdb分成若干小的文件(我用的是modelsim)。请大虾指教

同问,不过我用的是VCS,呵呵



    有两种方式可以解决:
          第一种:文件超过2G无法打开是32位系统的限制,因为32位系统的寻址空间最多只能到2G,单个文件超过2G都无法访问,解决方法是使用64位系统,并且仿真器需设置为64位模式。通常要在编译、确立和仿真命令后添加相应的64位模式参数。
          第二种:在仿真的时候可以添加系统任务,让fsdb自动切分成多个小的波形文件。系统任务如下:
                     $fsdbAutoSwitchDumpfile(File_Size,"file_name", Max_file_number[, log_file_name])
                     file_size的单位是M。log file是可选的,建议加上。

initial  begin
  $fsdbAutoSwitchDumpfile(500,"file_name.fsdb", 10, "fsdb_dump.log");
  $fsdbDumpvars(1, your_tb_top_name);
  $fsdbDumpvars(0, tb_name.top_module.sub_module.your_debug_model);
  $fsdbDumpflush;
end

不可以让波形输出在之后的某一个时间开始,2G的波形打开也困难呀。

不要把所有的波形都Dump出来,把你想看的Dump出来就行了。
或者学学Siloti,他可以把你的波形压缩,只Dump必要的信号,然后根据必要信号计算出其他信号的值,一般可以压缩到40%左右

不错。


呵呵,谢谢大家的回复!
我用上面的方法做了,不过多看几个信号就memory不够了,我内存2g,貌似是硬盘不足?
还好,最后把bug搞定了。

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

网站地图

Top