HSPICE物理模型仿真——添加variation时利用seed产生伪随机分布

本文探讨了在Verilog-A模型中seed的作用,它作为伪随机数生成的初始值,确保了仿真的可重复性。通过改变seed值,可以得到不同的随机数序列。介绍了如何使用seed进行重复性仿真,包括利用.data命令和外部ASCII文件生成随机参数,并导出数据进行分析。此外,还分享了如何通过Perl脚本或MATLAB生成参数文件来实现多组仿真的结果对比。
摘要由CSDN通过智能技术生成

写的verilogA模型,对某个参数加了随机分布,但是仿出来每次的结果都完全一样,查了查,又问了问师兄室友,改了下seed就好了,仿出来结果就不一样了。
在这里插入图片描述

verilog-A中seed的含义

  • a=$ random(seed1)% 16,b=$ random(seed2) %16

是不是可以理解为一种基准?
答:seed 是种子,也可以简单理解是伪随机数的初值。

如果不用seed, 你的统计仿真就不可重复了。用计算机做系统仿真最重要的要求就是结果具有可重复性,哪怕是带有随机数的仿真。所以运用seed很好的解决了这个问题。

意思是用了seed的话每次运行都是产生同样的随机数序列?而不是完全的随机。还是说可以理解成一种伪随机?

是的, 计算机理论上没有什么完全的随机,不同之处是在多少(几百万次,几十亿次等)的样本中重复出现的概率多少. 不信你用相同的seed在不同的窗口运行完全相同的仿真,如果结果不一样这个仿真器就别卖了。

求助-请教verilog-A中seed的含义

那最后,怎么来进行重复性仿真,送入随机的parameter(seed)来输出多次仿真的结果呢?
这里用**.data**命令,可以用synopsys官网上下的一个perl脚本。这里给一个百度云链接。

也可以自己matlab里生成parameter的ASCII文件,然后用**.data**进行调用。star-hspice-manual里的第86页。
在这里插入图片描述
最后导出数据进行处理或在cosmosscope里绘图即可。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值