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

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 16466|回复: 21

[原创] RTC Verilog IN and ams simulation

[复制链接]
发表于 2015-4-7 14:41:54 | 显示全部楼层 |阅读模式

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

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

x
附件是我最近几天跑AMS得到的一些经验文档,希望可以对需要的人提供帮助。其中:AMSD_in_GUI.tar.gz是cadence自带的一个关于设置AMS的workshop;
AMS笔记是我在安装ius以及import RTL verilog时遇见的问题和解决方案;
aps介绍是论坛里的一个哥们对aps的介绍,我觉得挺好,忘了原帖的地址了。我把内容贴在后面,大家不用再下载浪费信元了。

最近坛子里经常有人问aps的问题,能够给出明确答案的不多,因此有必要把我了解的一些信息共享一下,也为坛子做点贡献。
本贴内容在机缘巧合下,均经过亲手试用或者请教cadence技术支持人员,可靠性比较高。
1.
什么是aps
aps
Advanced Parallel Simulator, 即先进并行仿真,可以利用多核心多线程cpu,进行多线程并行仿真,大大提高仿真速度,提高的速度理论上最高可达到nn是并发线程的个数。当然这是理论速度,从一些仿真测试来看,达到n/4n/2的速度提升还是比较靠谱的。
2. aps
支持的仿真类型。
MMSIM7.2
早期的版本只能支持trandc等少数几个仿真,MMSIM7.22011年之后的ISR确定可以支持几乎全部spectre支持的仿真,如pss等,2011年之前ISR尚不确定。MMSIM10.1Base版本就可以支持几乎全部spectre仿真。

3. IC
平台版本对图形界面调用aps的影响
早期的IC平台,仿真器是集成在IC平台里边的,从IC6开始,仿真器从IC平台里边独立出来,叫做MMSIM,包括spectreAMSUltrasim等等。IC514平台也可以调用MMSIM的仿真器,比如spectre等。但是调用aps就会有问题,或者没有aps选项,或者aps功能不全,原因就是此IC平台发布的时候,aps还没有发布。
所以,IC5141U1~U6在图形界面中都没有aps的选项;IC60IC613Base版本也都没有aps选项,IC614 Base版本有aps选项,但只能仿真trandc(即使MMSIM本身支持其他仿真)。IC615及其以后的版本,都能在图形界面中完整支持aps
以上IC514IC61系列2009年后期到2011年前的版本,包括ISRhotfix或者update,可以支持在图形界面通过simulator/directory/host菜单切换仿真器来调用aps,但是可能无法调用全部功能;2011年之后的ISRhotfix或者update,都能够支持在spectre界面直接调用aps,而无需通过simulator/directory/host菜单切换仿真器,特征就是ADE界面具有Setup->High-performance sumulaiton菜单,打开这个菜单,在选项中点中aps,并在Multithreadingoptions 选项中选中auto,即可开启多线程仿真。如果你的电路规模够大,才会开启多线程,这个时候用top命令,可以看到cpu占有率超过100%,仿真完成的时候,会在outputlog中告诉你,例如 time used cpu=421.26秒,elapsed=119秒,util=354%,第一项是所有cpu为此仿真耗费的cpu时间总和,第二个是实际使用的物理时间,第三个是效率,即第一项除以第二项,告诉你多线程仿真的效率是单线程仿真的3.54倍。
当然如果你的电路规模不够,即使打开aps仿真,aps在仿真开始的时候也会很鄙视的告诉你,不给你开启多线程仿真,因为你的电路规模“too small”。传说只有电路中有超过256threadable的器件的时候,才会开启多进程。注意并非所有的器件都是threadable的。超过256个的非threadable器件,照样开不起来多线程。像一些AnalogLibahdlLib库中的器件,貌似都属于非threadable的,bsim模型,貌似基本都属于threadable的。

4.
即使图形界面不支持aps,也不必太难过,只要有MMSIM支持,也可以在命令行中使用aps
较为取巧的方法是在ADEspectre)仿真器中,simulation->netlist->recreat, 然后到simlation/电路名/spectre/netlist下,编辑runSimulation, 将其中的spectre改为aps,然后运行这个文件,也可以启用aps。命令行仿真和开启多线程的方法,请参考aps-help命令。值得一提的是,有些版本的MMSIM,直接改spectreaps可能会出错,办法就是把runSimulaiton后边的选项全去掉,先aps input.scs,成功后再一项项加入选项,这样可找到出错的选项并去之。 -raw ../psf选项不要去掉,否则可能看不到结果。
仿真完成后,一样可在ADE界面中查看结果,用plot output按钮可以刷新仿真结果。命令行一样可以跑仿真,但是用起来还是不如图形界面直观方便。

5.
很不幸,目前AMSUltrasim中均不能使用apsultrasim中也不能使用spectreturbo。好在AMS中可以使用spectreturbo功能,也能开启多线程。Tuobo功能和aps都可以开启多线程仿真,但是turbospectre的扩展或升级,aps是专门设计来进行多线程仿真的,两者本质上还是有所区别的,但用起来似乎区别感觉不是很大,仿真时间turbo通常比aps耗时长一些。7.2版本MMSIMspectreturbo默认开启4个线程,最多支持8个,aps默认开启8个线程,最多支持16个。另外cadence建议turbo开启cpu affinity(亲和力)选项,以免发生线程间竞争的问题,而aps没有这样的建议,估计也是两者资源调度的方式不同所致。ps. Specre也能开启多线程,至少界面上是可用,但和单线程基本没什么区别,甚至还会慢那么一点点。

6.
本贴内容eetop首发,转载请注明来自eetop

AMSD_in_GUI.tar.gz

4.61 MB, 下载次数: 153 , 下载积分: 资产 -3 信元, 下载支出 3 信元

cadence的workshop

AMS笔记.docx

676.82 KB, 下载次数: 213 , 下载积分: 资产 -2 信元, 下载支出 2 信元

ams安装以及设置经验文档

APS介绍.docx

19.12 KB, 下载次数: 128 , 下载积分: 资产 -2 信元, 下载支出 2 信元

关于多线程仿真的介绍

发表于 2015-4-9 11:22:05 | 显示全部楼层
gooddoc
发表于 2016-1-12 15:50:28 | 显示全部楼层
下载了,非常好,学习学习
发表于 2016-12-6 11:52:32 | 显示全部楼层
下载了,非常好,学习学习
发表于 2016-12-15 15:02:52 | 显示全部楼层
ADE界面具有Setup->High-performance sumulaiton,这个High-performance sumulaiton选项是白色的无法选取打开,请问是怎么回事,如何解决?????
发表于 2017-9-11 21:00:17 | 显示全部楼层
非常详细,配图也很好。
发表于 2018-3-14 09:19:53 | 显示全部楼层
谢谢分享分享发
发表于 2018-5-24 09:48:44 | 显示全部楼层
好贴,楼主用心
发表于 2018-7-30 14:50:37 | 显示全部楼层
回复 1# beargebinjie


    谢谢
发表于 2018-7-31 07:02:40 | 显示全部楼层
非常感謝~~~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

×

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

GMT+8, 2024-4-27 15:18 , Processed in 0.028225 second(s), 7 queries , Gzip On, Redis On.

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