如何将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模型包含两种类型的信息:
- I / O模型根据其I / O标准描述引脚的仿真行为。
- 封装模型描述粗封装最小值,典型值,最大延迟或(如果可用)详细封装寄生模型(参见.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)如果没有:
- 使用族IBIS文件(<family> .ibs)中提供的粗包寄生。
- 找到感兴趣的包并取消注释数据R_pkg,C_pkg和L_pkg标识符。
- 评论所有其他包(IBIS中的注释字符是“|”)。
- 仿真。
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中:
在“进程”窗口中:
- 展开“实施”设计树。
- 展开“放置和布线”树。
- 右键单击“生成IBIS模型”,然后选择“属性”。
- 启用复选框生成详细的包寄生参数。
- 双击生成IBIS模型以创建输出文件。
c)确保定制/设计特定的IBIS文件包含最新的I / O模型和封装寄生数据:
i)对于Virtex-4和Virtex-5,在IBISWriter发布之前运行XilinxUpdate。 XilinxUpdate可以将ISE数据库下的数据文件与Xilinx下载中心提供的最新IBIS数据同步。
ii)对于其他器件,如果在ISE版本之后更新Xilinx下载中心的IBIS数据,则无法使用IBISWriter实用程序,您必须使用以下步骤手动配置I / O模型和封装模型:
- 从下载中心下载最新的IBIS模型。
- 手动更新I / O模型:
- 手动更新包装模型:
选项2:使用Vivado write_ibis时:
a)您可以打开综合或实现的设计网表,也可以使用Vivado打开设计检查点(DCP)
b)您可以使用Tcl控制台或GUI中的write_ibis。
- 在控制台中,语法为write_ibis -file your_file_name.ibs。这将选择已安装的ibis型号和包文件。您可以使用-ibs开关和-pin选项使用不同的通用IBIS模型覆盖它,以指定您自己的PKG文件以注释模型。
- 从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)。
没有回复内容