Allegro16.5-中进行SI-仿真
- 格式:pdf
- 大小:1.23 MB
- 文档页数:27
在仿真之前,需要相应的IBIS模型文件,并把它转换为Cadence需要的DML文件,现在已经下载了一个IBIS文件,它是Altera公司的cyclone3的IBIS文件:cyclone3.ibs。为了把它转化,我们首先需要打开Model Integrity
打开Model Integrity后, 选择File Open 打开需要转化的IBIS文件 打开后如下图:
点击cyclon3,然后点右键,选择IBIS to DML,来实现IBIS到DML的转化 在转化时报错: 查看LOG File有如下说明: 这个时候实际上是出了很多报错,报错的说明如下: WARNING: CYCLONE3_sstl18c1_cio_d10s Ramp value for maximum of Fall is significantly different with that computed from the corresponding TV curve - fixed
ERROR: TVCurve start time of CYCLONE3_ttl18_rdio_d8s RisingWaveform rise_1 at line 483255 is not same as CYCLONE3_ttl18_rdio_d8s FallingWaveform fall_1 at line 482667
ERROR: TVCurve start time of CYCLONE3_ttl18_rdio_d8s RisingWaveform rise_2 at line 483368 is not same as CYCLONE3_ttl18_rdio_d8s FallingWaveform fall_2 at line 482778
WARNING: CYCLONE3_sstl2c1_cio_d12s Ramp value for typical of Fall is significantly different with that computed from the corresponding TV curve - fixed
WARNING: CYCLONE3_sstl2c1_rio_d12s Ramp value for typical of Fall is significantly different with that computed from the corresponding TV curve - fixed
WARNING: CYCLONE3_ttl18_rdio_d10s Ramp value for maximum of Rise is significantly different with that computed from the corresponding TV curve - fixed
Translation failed due to DMLCHECK errors. Output saved as D:\yanshi\2\cyclone3.dml.txt. Run ibis2signoise -d, a DML will be generated. Examine it with line numbers from the log message. 对于这个错误,说明是在DOS环境下运行ibis2signoise -d,可以了,那么就在DOS下运行 运行结束后,在运行目录下可以看到已经生成了文件:cyclone3.ibs.dml,修改它为cyclone3.dml DML文件已经生成,关闭Model Integrity 下一步就是要进行仿真了, 首先打开PCB SI 然后在弹出的菜单中选择红线框住的部分 进入PCB SI GXL后打开要仿真的BRD文件。 现在这个文件是为了测试做的一个PCB,布线均是采用自动布线完成的。为了完成仿真,还需要以下几步的设置: 首先点击Analyze PDN Analysis
进入PDN Analysis的窗口: 然后点击Identify DC Nets,进入下面的窗口:
这个地方是需要设置电源电压的,选择VCC,然后进行如下设置: 点击GND,进行如下的设置: 这个地方是要设置电压的以及电源的。设置好之后点击Apply,再点击OK。 回到PDN Analysis的窗口,点击Cross section,设置板层结构,在这个类似Excel 表格式地窗口里,输入需要的各种参数,在表地最后一栏直接计算出该层的阻抗值。
这个地方按照实际的板层结构设置就可以了,可以在后面看到该层的阻抗值,注意红框,这里的两个选项分别选择单端信号和差分信号的阻抗计算。
点击Apply Ok;回到PDN Analysis的窗口,点击DML manage Library;进入下面的窗口: 在这里进行DML模型库的设置,我们前面已经转换了一个DML库,在 D:\yanshi\2 目录下,现在需要首先把这个目录加进库的搜索路径。
在此点击 Set Search Path,进入下面的窗口 点击Add Director按键,把路径D:\yanshi\2增加进来,下图中的红色部分中可以看到我们想要的路径已经增加进来 点击OK,回到DML manage Library窗口,可以看到cyclone3.dml库已经被加入: 此时需要把cyclone3.dml导入,选择Select for Merge/index 中cyclone3.dml,如下图中红色部分的现实,然后点击按键 Merge Libs;
然后在选择窗口中选择cyclone3.dml,然后点OK;
这时会出现一个报错窗口,有如下的信息: Reading file dmlcheck errors found in file --- ERROR @line 111386: TVCurve must start at time zero ERROR: TVCurve start time of CYCLONE3_ttl18_rdio_d6 RisingWaveform rise_1 at line 480785 is not same as CYCLONE3_ttl18_rdio_d6 FallingWaveform fall_1 at line 480197
ERROR: TVCurve start time of CYCLONE3_ttl18_rdio_d6 RisingWaveform rise_2 at line 480898 is not same as CYCLONE3_ttl18_rdio_d6 FallingWaveform fall_2 at line 480308
ERROR @line 483255: TVCurve must start at time zero ERROR: TVCurve start time of CYCLONE3_ttl18_rdio_d8s RisingWaveform rise_2 at line 483368 is not same as CYCLONE3_ttl18_rdio_d8s FallingWaveform fall_2 at line 482778
Skipping library D:\yanshi\2\cyclone3.dml due to dmlcheck errors.
*************************************************** Writing file D:\yanshi\2\cyclone3.dml Merge complete. 0 files included in output file D:\yanshi\2\cyclone3.dml. 这个是由于IBSI模型中有些地方需要进行修改,按照说明,打开cyclone3.dml.的111386行,显示如下信息:
按照说明,修改111392行的第一个数字为0,如下图所示: 其他问题也类似处理,然后点击Merge Libs重新导入cyclone3.dml;依然还会有一些告警信息,但错误已经没有了,可以正常导入了。
在回到PDN Analysis的窗口后,点击DML manage Library;进入下面的窗口:下面点击Model Assignment按键,进入器件模型设置,出现如下的窗口: 在这个窗口中的Device中为PCB中的元器件选择对应的DML模型,我们点击 Auto Setup按键,然后可以看到电阻和电容已经有了DML模型了,但是IC还没有 这是因为我们没有给IC制作DML模型。我们点击菜单中的RefDesPins选型,进入下面的窗口: 在这里,选择U1,同时点击窗口下面的Preferences按键,出现如下的窗口: 如果在Analysis Preferences窗口中对于 Use Defaults For Missing Component Models前面打勾的话,可以看到U1的管脚都分配了相应的信号模型,这里由于对缺省模型中的BI(双向端口)选择了我们前面创建的CYCLONE3的管脚型,这里U1、U2、u3的双向引脚都定义为了CYCLONE3的管脚型。
在Analysis Preferences窗口中点击Browse Models按键,会弹出SI Model Browser窗口,点击相应的管教模型,并点击下面的Assign按键,就可以改变Analysis Preferences窗口中管教的defaule Model的设置。