混合信号ams仿真
另:刚刚又做了一个反相器,分别用ams和sprectre跑,仿真结果又好像没有区别
现在确定是DCO震荡频率不对了。把DCO这个模块从整个模拟模块中去掉,加入两个vpulse源,ams仿真结果和sprectre一样;又单独仿真了一下DCO,发现相同条件下,sprectre跑出来的频率是2.44G左右,而ams跑出来的频率在2.88G左右,高了几百兆...周期上也小了六七十ps。有人遇到过这种情况吗?可能是什么原因呢?
刚才随便写了一个简单的functional模块加到DCO仿真原理图中,试着用SprectreVerilog跑了一下,跑出来DCO的频率是正确的。
昨天晚上检查ams生成的CompleteDesignInfo.ckt文件,发现DCO中用到的simc18mmrf库中名为mim1_rf的两个mim电容,在网表中都被标注成capacitance,analogLib库中的cap也标注的是capacitance,其它的好像没什么问题。不知道是不是这个问题影响了仿真结果?我尝试着修改了CompleteDesignInfo.ckt文件,将mim电容的名称从capacitance改成mim1_rf,然后不用netlist and run选项,直接用run选项跑仿真,可是好像一跑仿真,这个文件就又被改回去了...
你这个问题我没有碰到过,就当是帮顶了。
我想请教一个问题,ams生成的CompleteDesignInfo.ckt文件是在哪里?我怎么从来没找到过ams生成的网表文件?
我这里做ams仿真在simulation文件夹下面有个ihnl文件夹,里面全是ams语言描述的各个模块,我一直以为ams仿真生成的文件就是这样的。
就在ihnl的上一层文件夹中,我也不知道ams是不是用这个仿真的,但是内容好像是与用ADE中的netlist,display显示的一样
我看到的ihnl文件夹中的verilog ams文件好像都是分开的
谢谢!
哎,我的仿真路径下面咋没这个文件呢。ihnl里面我和你是一样的,是按照库放的,每个库,每个模块一个文件夹
上午又用ams的OSS netlister提取DCO的网表,用ams跑DCO,也得到了正确的输出频率。结果用OSS提取整个模拟模块的网表,再用ams跑整个模拟模块,得到的结果很奇怪,DCO没起振不说,各个信号都是负多少伏...刚又用cellbased netlister重新对模拟模块提取网表,在跑ams仿真,发现好像原来出问题的一个子模块又正常了,但DCO的振荡频率仍然不对...
退出Cadence,logout服务器之后我又重新登录服务器,启动Cadence,采用OSS-based netlister进行netlist,再进行Run,仿真得到的结果就正确了。刚才不知道又出了什么问题。cellview based netlister仿真不正确可能就是由于生成的netlist中mim电容的名称不对,用OSS based生成的网表中mim电容的名称和smic18mmrf库中的一样,即mim1_rf。
一会把整个系统仿真环境设置好,跑一下,看看结果怎么样,整个系统完全跑完得好久,可能两三天...
刚仿真系统怎么模拟部分好像还是和原来一样的问题?不过仿真系统使用的另一台机器,一直没有退出登陆过,是不是什么东西没有刷新?就像刚开始用OSS-based netlister一样出问题?又重新登录了一下服务器,启动Cadence,重新再仿真一次系统,看看结果怎样,希望没有问题!
重新登录了一次服务器,启动Cadence,重新跑仿真后,结果似乎正常了。等过一阵,比如明天等再抽空检查一下,现在主要就把它放在那跑着去吧
ams精度不如spectra的,一般情况下用ams来做功能性仿真,用spectra来仿参数,所以两个仿真结果又差异很正常。一般情况以spectra为准
小编,你那个ADPLL是怎么建模的,DCO是LC阵列吗,还有鉴相器是使用哪种类型?近期也在做ADPLL,不吝赐教。
受教了