研究生笑笑的个人空间 https://blog.eetop.cn/1418595 [收藏] [复制] [分享] [RSS]

空间首页 动态 记录 日志 相册 主题 分享 留言板 个人资料

日志

Matlab里的数据导入到Virtuoso仿真

热度 15已有 813 次阅读| 2024-1-8 16:31 |个人分类:Cadence 使用|系统分类:芯片设计

Matlab的Simulink生成二进制单极性非归零码数据:

image.png

100Kbps生成数据,10us一个点,Zero-Order Hold可以用来设置采样时间,如果是10us,在virtuoso里台阶会非常明显,但如果太小,比如1ns,virtuoso会报错“Time is not strictly increasing in waveform...”(理解是数据点太密,导致Tran认为两个相邻时间不可区分;2024_01_17 三:这个错误的具体理解和解决方案在后边),采样时间设置为100ns会比较合适。

image.png

数据导出的步骤是这样的:Scope的设置里可以“Save data to workspace”,这样你在Matlab工作区就可以看到,如果直接对"ScopeData"右键保存,则是.mat后缀文件,这个Virtuoso识别不了,需要将.mat文件转为.txt(csv应该也行),这里采用dlmwrite('text文件保存位置/文件名',ScopeData)一行代码就可以了(要求更高可以search相关代码)。

image.png

有了text文件,在Virtuoso里调用Vsource (Source type选pwl) 或Vpwlf,将路径(带文件后缀)填入File name就可以了。

image.png

image.png


2024_01_17 三

Time is not strictly increasing in waveform...”这个问题的主要原因是导出来的数据分辨率不够,横坐标有数据相同了。注意一下错误报的横坐标相同的位置,去查一下,就会发现问题了。我的是在100002行。

参考资料:vpwlf error: Time is not strictly increasing


image.png

查了一天,具体说下流程(不想看可以直接跳到解决方案)。一开始我以为是matlab有效位数导致的问题,默认的short显示格式就是保留5位有效数据(点进去是可以看到所有位数的,默认的double数据类型是可以显示16位的)。这个可以在Preferences-MATLAB-Command Window里改。改了以后工作区的却始终不变,原来要改另一个位置Preferences-MATLAB-Variables里,这里short改成long,工作区的有效位数就变成16位了。

参考资料:MATLAB中csv文件读取浮点数只有4位小数,后续的有效数字被自动截断的解决方案

这里为了改变有效位数,理解了很长时间的定点数、浮点数内容,但有趣的是,这种位数显示的问题和matlab存储和处理它们没有关系,只是显示而已。所以改了Variables没有用。(默认的double数据类型是64bit的浮点数,IEEE 754浮点数

解决方案:真正的问题在于dlwwrite导出时留的位数不够,有截断。查询一下dlmwrite的帮助文档,修改为dlmwrite('text文件保存位置/文件名',ScopeData,‘precision’,‘%.10f’),这样就保留了需要的位数,横轴就不会相同了。

image.png


可以看出,我的横轴时间的分辨率是1ns,这么小的时间间隔在横轴设置正确后,很快就遇到了下个问题,Virtuoso里的Tran仿真不收敛。

报的错误是 "No convergence achieved with the minimum time step specified."

主要的原因是我的Tran仿真设定的电压变化是突变的,是和matlab里是一致的。修改了cmin为100fF(自己试出来的)就好了。这里推荐一篇文档,是说这个问题比较好的文档:

Spectre trans仿真不收敛,step极小怎么办?

其他帖子提到的修改trap,reltol这里都有:[求助] 求助仿真问题瞬态仿真 

Cadence常见问题:No convergence achieved with the minimum time step specified.

error:No convergence achieved with the minimum time step specified



5

点赞

刚表态过的朋友 (5 人)

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 注册

  • 关注TA
  • 加好友
  • 联系TA
  • 0

    周排名
  • 0

    月排名
  • 0

    总排名
  • 10

    关注
  • 60

    粉丝
  • 32

    好友
  • 106

    获赞
  • 33

    评论
  • 1786

    访问数
关闭

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

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

GMT+8, 2024-5-24 07:18 , Processed in 0.015871 second(s), 9 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
返回顶部