Xilinx 以两种方式提供 IBIS 模型:跨越整合模型的通用系列(直接从 Web)、通过 IBISWriter 程序(作为 ISE 设计环境的一部分提供)以及最近在 Vivado 中使用 write_ibis 命令的方法。
IBISWriter 是一款实用程序,不仅可纳入设计实现 (.ncd) 文件,而且还可针对设计输出定制 IBIS 文件。
Vivado write_ibis 不仅可获取综合或实现网表(或 DCP),同时还可为设计创建定制 IBIS 模型。
Xilinx IBIS 模型包括两类信息:
有几种纳入封装寄生数据的方法,每一种都有其自身的优势。
要在您的 IBIS 仿真中注释封装寄生数据,可使用以下选项之一:
您想使用多个专用引脚时,在通用 IBIS 模型中手动插入 .pkg 信息(选项 1)是最有效的选项,但没有包含设计信息的 NCD 文件或 DCP。
使用 IBISWRITER 或 Vivado write_ibis(选项 2)是这 3 种方法中最便捷的一种,如果您有采用 IOSTANDARD 和设计位置集创建的 NCD 或 Vivado 网表,这也是最有效的选项。
选项 3 是手动方法,如果您希望使用专用非耦合引脚寄生数据快速仿真引脚,该方法可便捷编辑通用 IBIS 模型。
选项 1:使用通用 IBIS 文件时:
a) 该系列基本通用 IBIS 文件在 Xilinx 下载中心提供。
b) 该器件系列的每引脚封装寄生数据(如果有)可通过从 Xilinx 下载中心下载的 IBIS 存档文件纳入。
每个 .pkg 文件代表该系列中的一个晶片/封装组合。封装命名惯例:<PackageName_DieName_ibis>.pkg。
必要时,请联系 Xilinx 技术支持,帮助您为您的目标器件及封装获得 .pkg 文件。
i) 如若不行:
ii) 如果有的话,最便捷的方式是在 Vivado 中采用 ISE 或 write_ibis 命令使用 IBISWriter 实用程序。
如果 IBISWriter 或 write_ibis 命令不能将该封装寄生数据整合在 IBIS 中,您可以手动编辑 IBIS(具有 .pkg 文件提供的数据)。请参考以下步骤。
1) 在 [pin] 部分编辑并确保器件/封装中的每个通用引脚都经过定义并分配有一个网络名和模型名称。下面是编辑引脚部分的实例。
[Pin] signal_name model_name
AD12 CLK_IN_P LVDS_HP_I
AD11 CLK_IN_N LVDS_HP_I
B17 DDR_DQS_P DIFF_SSTL135_T_DCI
B18 DDR_DQS_N DIFF_SSTL135_T_DCI
...
2) 在目标 .pkg 文件中查找带有 [Define Package Model] 和 [End Package Model] 关键词的行。
3) 在 IBIS 文件最后一行(具有 IBIS 关键词 [End] 的行)前面的正中间位置插入这两行及所有相关内容。
4) 在首先出现 [Model] 行的上方,输入:[Package Model] <pkg_model_name>。
<pkg_model_name> 位于以上步骤中复制的 [Define Package Model] 行旁边。确保 <pkg_model_name>s 匹配这两行。
[Package Model] ffg900_xc7k325t
//Model section
[Model] LVDS_HP_I
//model parameters
[Model] DIFF_SSTL135_T_DCI
//model parameters
...
[Define Package Model] ffg900_xc7k325t
5) 仿真。
选项 2:使用定制 IBIS 文件(IBISWriter 实用程序)时:
a) 设计专用定制 IBIS 文件可通过 IBISWriter(作为 ISE 设计环境的一部分提供)生成,IBISWriter 则可纳入设计实现 (.ncd) 文件中,而且 IBISWriter 可输出一个随时可用于仿真的定制/设计专用 IBIS 文件。
b) 每引脚封装寄生数据(如果有)可纳入定制 IBIS 文件。
i) 从命令行:使用 -pin 选项或按照以上 1.b.ii 段所述方法手动插入定制 IBIS 文件。
ii) 在 ISE GUI 中:
在处理窗口中:
c) 为确保定制/设计专用 IBIS 文件包含最新的 I/O 模型及封装寄生数据:
i) 对于 Virtex-4 与 Virtex-5,请在启动 BISWriter 之前运行 XilinxUpdate。XilinxUpdate 可在 ISE 数据库(具有 Xilinx 下载中心提供的最新 IBIS 数据)下同步该数据文件。
ii) 对于其它器件,如果 Xilinx 下载中心的 IBIS 数据可在 ISE 版本之后更新,随后 IBISWriter 实用程序就无法使用,您必须采用以下步骤手动配置 I/O 模型及封装模型:
选项 2:使用 Vivado write_ibis 时:
a) 您可以打开综合的或者实现的设计网表,也可以使用 Vivado 打开设计检查点 (DCP)
b) 您既可以从 Tcl 操控台使用 write_ibis,也可以在 GUI 中使用 write_ibis。
选项 3:如果您只想仿真快速引脚专用数据,但没有 .ncd 文件,您可以只编辑通用封装信息(具有从 .pkg 文件获得的非耦合引脚专用详细信息)。
下列示例在 Spartan-6 LX16 CS324 的 A2 引脚上使用 HSTL_I。
打开 spartan6_ibis.zip 文件(在 xilinx.com 上提供)中名为 cs324_6slx16_ibis.pkg 的文件。
第 359 行和第 360 行如下:
[Row] A2
0.187482
即,对于该引脚而言,R_pin 为 0.187482。
第 855 行和第 856 行如下:
[Row] A2
A2 7.34996e-009
即 L_pin 为 7.34996e-009
第 1351 行和第 1352 行如下:
[Row] A2
A2 1.07694e-012
即 C_pin 为 1.07694e-012。
比如说其 Vccaux 为 2.5V。A2 引脚就在上部分组 Bank0 中。
也就是说它们将在其仿真中使用 HSTL_I_TB_25 模型。
在 spartan6_v1p5_prelim_110822.ibs 文件中,该模型与 155 的 [Pin] 部分中的引脚数有关。
对于 155 引脚而言,您将需要改变行号 425,如下:
从这:
155 HSTL_I_TB_25 HSTL_I_TB_25
将其改为这:
155 HSTL_I_TB_25 HSTL_I_TB_25 0.187482 7.34996nH 1.07694pF
现在,仿真器将为该引脚使用每引脚 RLC 信息(它可覆盖 R_pkg、L_pkg、C_pkg)。