Modelsim邪修小技巧:别人还在导出数据,我直接在波形图上复制数据
2026/7/13 15:34:05 网站建设 项目流程

在使用Modelsim仿真时,往往需要将波形数据导出进行比较。

1、连续数据导出

如果是连续导出大量的数据,可以在testbench文件编写中进行数据的输出,相关的方法可以参考我之前写的博客,一边仿真一边将结果写入到txt文件中。

https://blog.csdn.net/qq_53805942/article/details/149784949?fromshare=blogdetail&sharetype=blogdetail&sharerId=149784949&sharerefer=PC&sharesource=qq_53805942&sharefrom=from_link

此外,也可以不在testbench中进行设计,直接在Modelsim仿真完成后通过Add->To List进行数据导出,可以导出到excel中进行处理,这里参考博主原地打转的瑞哥的博客。

https://blog.csdn.net/weixin_47730622/article/details/130903392?fromshare=blogdetail&sharetype=blogdetail&sharerId=130903392&sharerefer=PC&sharesource=qq_53805942&sharefrom=from_link

2、单个数据复制

在很多时候,我只想复制波形在某一时刻的具体数值。如果采用连续数据导出的方法,有点杀鸡用牛刀的感觉,比较麻烦。同时,Modelsim在复制功能上的设计又比较鸡肋,如果直接在波形上进行复制(Ctrl+C),只会获得该波形变量路径的相关信息,见下图。

在上图的任意红框位置进行复制(Ctrl+C),复制的结果都是sim:/shake256_tb/shake256_inst/keccak_fbit2_inst0/data_out ,而不是我们期望的具体波形数值。

为了能够直接方便地复制波形数据,先在网络上寻找方法,只找到了波形数据导出的方法。于是,自己在Modelsim里面摸索方法,误打误撞找到了一个可行的方法(本人使用的Modelsim版本是2020.4)。

(1)在波形图上选择想要复制的数据(红框处),此时红框上的数据会出现在红色箭头所指的地方

(2)同时按下Ctrl+F进行查找,会出现如下图所示的查找框,查找框内部会显示波形的名称,此时还不是我们想要的数值。

(3)在查找框最右侧,点击Search For字样,勾选Name修改成勾选Value,如下图。

(4)在波形图中点击想要复制的数据同时按下Ctrl+F进行查找,此时我们想要的波形数值完整地出现在查找框中,可以在查找框中全选并进行复制

复制的结果:1600'h6a4daf6b55641f2ec7f863e50c4f7dbaec0440ea7f8b526ee3a6e94d2be9b381369b6b528920d6e35ccd02260e6f975ed9aabe146bd717b1a62b946460cd5d497a89b269c3b0356ba53c2406fa514937798050a835f63e603fb4b3e9bc051e83effcca896b3e073a32550dc4e29d11b1a2014d11c03dcdc27a7d19c072d19ce42c7268abc1d98ea1c460f65bd9d3459c4c4c3d6e01a0bb648aa9e07d4231f8901607db9fd1eb2281a9d8b28e9327174a96ed6323d2c8923739f5e06cc82918b7786ed5be27b96dd5

经过验证,复制的结果的长度和数值都是对的,之后大家就可以愉快地在波形图上复制数据了。

目前,这是我找到的比较简单的复制波形数据的方式,大家如果还有更好的方式,欢迎在评论区进行补充。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询