如何将IBIS存档中提供的每个引脚寄生包数据(在.pkg文件中)集成到IBIS文件中?在生成自定义IBIS文件时,如何确保write_ibis / IBISWriter采用最新的IBIS模型和包模型?-Altera-Intel社区-FPGA CPLD-ChipDebug

如何将IBIS存档中提供的每个引脚寄生包数据(在.pkg文件中)集成到IBIS文件中?在生成自定义IBIS文件时,如何确保write_ibis / IBISWriter采用最新的IBIS模型和包模型?

问题描述

Xilinx以两种方式提供IBIS模型:通用系列跨越模型(直接来自Web),通过IBISWriter程序(作为ISE设计环境的一部分提供),最近使用Vivado中的write_ibis命令。

IBISWriter是一个实用程序,它接受设计实现(.ncd)文件,并输出特定于设计的自定义IBIS文件。

Vivado write_ibis采用综合或实现的网表(或DCP)并为设计创建自定义IBIS模型。

Xilinx IBIS模型包含两种类型的信息:

  1. I / O模型根据其I / O标准描述引脚的仿真行为。
  2. 封装模型描述粗封装最小值,典型值,最大延迟或(如果可用)详细封装寄生模型(参见.pkg文件),除了每个引脚芯片焊盘以封装球延迟外,还允许仿真封装串扰。

解决/修复方法

有几种方法可以包括封装寄生数据,每种方法都有其自身的优点。

要在IBIS仿真中考虑封装寄生数据,可以使用以下选项之一:

当您想要使用多个特定引脚但没有NCD文件或包含设计信息的DCP时,在通用IBIS模型(选项1)中手动插入.pkg信息是最有效的选项。

使用IBISWRITER或Vivado write_ibis(选项2)是三者中最简单的方法,当您使用为设计设置的IOSTANDARD和引脚位置创建NCD或Vivado网表时,这是最有效的选项。

选项3是一种简单编辑通用IBIS模型的手动方法,当您想要快速仿真具有特定非耦合引脚寄生数据的引脚时。

选项1:使用通用IBIS文件时:

a)可以在Xilinx下载中心找到基于家族的通用IBIS文件。

b)每个引脚封装器件系列的寄生数据(如果有)包含在从Xilinx下载中心下载的IBIS存档中。

每个.pkg文件代表该系列中的芯片/封装组合。包命名约定:<PackageName_DieName_ibis> .pkg。

如果需要,请联系Xilinx技术支持,以获取有关获取目标器件和软件包的.pkg文件的帮助。

i)如果没有:

  1. 使用族IBIS文件(<family> .ibs)中提供的粗包寄生。
  2. 找到感兴趣的包并取消注释数据R_pkg,C_pkg和L_pkg标识符。
  3. 评论所有其他包(IBIS中的注释字符是“|”)。
  4. 仿真。

ii)如果可用,最简单的方法是在ISE中使用IBISWriter实用程序或在Vivado中使用write_ibis命令。

如果IBISWriter或write_ibis命令未将包寄生数据合并到IBIS中,则可以使用.pkg文件中的数据手动编辑IBIS。参考步骤可以在下面找到。

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>匹配。

[包装型号] ffg900_xc7k325t

//模型部分

[型号] LVDS_HP_I

//模型参数

[型号] DIFF_SSTL135_T_DCI

//模型参数

[定义包模型] ffg900_xc7k325t

5)仿真。

选项2:使用自定义IBIS文件(IBISWriter实用程序)时:

a)从IBISWriter生成设计特定的自定义IBIS文件(作为ISE设计环境的一部分提供),IBISWriter接受设计实现(.ncd)文件,IBISWriter输出可供仿真的自定义/设计特定IBIS文件。

b)每个引脚封装寄生数据(如果可用)可以包含在自定义IBIS文件中。

i)从命令行:使用-pin选项或手动插入自定义IBIS文件,如上面第1.b.ii节所述。

ii)在ISE GUI中:

在“进程”窗口中:

  1. 展开“实施”设计树。
  2. 展开“放置和布线”树。
  3. 右键单击“生成IBIS模型”,然后选择“属性”。
  4. 启用复选框生成详细的包寄生参数。
  5. 双击生成IBIS模型以创建输出文件。

c)确保定制/设计特定的IBIS文件包含最新的I / O模型和封装寄生数据:

i)对于Virtex-4和Virtex-5,在IBISWriter发布之前运行XilinxUpdate。 XilinxUpdate可以将ISE数据库下的数据文件与Xilinx下载中心提供的最新IBIS数据同步。

ii)对于其他器件,如果在ISE版本之后更新Xilinx下载中心的IBIS数据,则无法使用IBISWriter实用程序,您必须使用以下步骤手动配置I / O模型和封装模型:

  1. 从下载中心下载最新的IBIS模型。
  2. 手动更新I / O模型:
  3. 手动更新包装模型:

选项2:使用Vivado write_ibis时:

a)您可以打开综合或实现的设计网表,也可以使用Vivado打开设计检查点(DCP)

b)您可以使用Tcl控制台或GUI中的write_ibis。

  1. 在控制台中,语法为write_ibis -file your_file_name.ibs。这将选择已安装的ibis型号和包文件。您可以使用-ibs开关和-pin选项使用不同的通用IBIS模型覆盖它,以指定您自己的PKG文件以注释模型。
  2. 从GUI中,您需要选择文件>导出> IBIS模型。这将打开write_ibis窗口。从那里,您可以根据需要覆盖默认的IBIS模型和PKG文件。

选项3:如果您只是仿真想要快速引脚特定数据但没有.ncd文件,则可以使用.pkg文件中的非耦合引脚特定详细信息编辑通用包信息。

以下示例在Spartan-6 LX16 CS324的引脚A2上使用HSTL_I。

在xilinx.com上提供的spartan6_ibis.zip文件中打开名为cs324_6slx16_ibis.pkg的文件。

第359和360行如下:

[排] A2

这意味着该引脚的R_pin为0.187482。

第855和856行如下:

[排] A2

这意味着L_pin是7.34996e-009

1351和1352行如下:

[排] A2

这意味着C_pin是1.07694e-012。

让我们说他们的Vccaux是2.5V。引脚A2位于Bank0,即顶级Bank。

这意味着他们将在仿真中使用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)。

请登录后发表评论

    没有回复内容