Candence PCB Si 仿真设计篇前导:IBIS模型与PKG介绍

article/2025/8/30 6:08:37

最近在做项目时遇到了一个信号SI问题,想自己动手仿真一下,就自己研究了一下如何用Candece 下面的Allegro Sigrity SI进行PCB板级链路仿真:在仿真之前我们要做的第一个准备工作就是准备需要仿真的器件模型:IBIS模型以及PKG文件。

 

1.IBIS模型文件简介:

IBIS(Input/Output Buffer Information Specification):输入输出缓冲器,是一个行为级模型,描述的是电压与电流、电压与时间的关系,也是一种基于V/I曲线的对于输入输出端口快速准确建模的方法,是反映芯片驱动和接受电气特性的一种国际标准。
IBIS 本身只是一种文件格式,它说明在一标准的IBIS 文件中如何记录一个芯片的驱动器和接收器的不同参数,但并不说明这些被记录的参数如何使用,这些参数需要由使用IBIS 模型的仿真工具来读取。

IBIS在信号完整性仿真中有不可或缺的作用,它可以作为一个源端和接收端。它可以被大数的EDA软件识别,并且在有些仿真的软件中没有IBIS模型,是不能进行时域仿真的。在IBIS模型的基础之上,我们可以分析传输线上的信号完整性问题,包括源端到负载端的阻抗、串扰、反射、时延等时域问题。IBIS模型会把每个I/O或pin分为几种状态(输入、输出、浮空),把这几种状态配置成几种模型,通过调用I/O或pin的几种模型来模拟输入输出。

1.0 IBIS模型物理结构

输出结构:

 输入结构:

 1.1 IBIS文件描述定义

1.1.1头文件
这部分包含了IBIS的版本、文件名、版权等信息,如下图所示:


1.1.2.器件描述
包含器件模型名称、器件名称、厂商、封装和引脚等信息,如下图:


1.1.3.模型描述
这部门定义了模型对应的缓冲器类型、Pulldown、Pullup、 Power_Clamp、Gnd_Clamp的IlV数据表;Ramp数据;描述波形上升/下降沿的VIT数据表等,如下图:

1.1.4 IBIS 术语描述

 R_pkg、L_pkg、C_pkg:封装参数
C_comp 为硅片上脚的压焊盘电容 (结电容)
C_pin , R_pin , L_pin : 引脚的RLC参数
signal_name:信号名称
model_name:模型名称
Model_type I/O:模型类型为输入和输出
Polarity Non-Invertin:极性 没有极性
Enable Active_low:使能为低电平有效
Vinl:低电平
Vinh:高电平
Vmeas:端接电压
Cref\Vref\Rref:cell寄生参数
Pullup Reference:上拉
Pulldown Reference:下拉
POWER Clamp Reference:电源钳位
GND Clamp Reference:GND钳位
threshold:阈值
扫描电压范围对于GND钳位是-VDD至VDD
扫面电压范围对于电源钳位是VDD至2VDD
扫描电压范围与数据钳位是-VDD至2VDD
斜坡频率就是电压和电流的关系
电压和电流-伏安特性曲线
电压和时间的关系代表I/O变化的速度
钳位:钳位是指将某点的电位限制在规定电位的措施,是一种过压保护技术。产生这个措施的那些电路叫做钳位电路(clamping circuit)。钳位电路的作用是将周期性变化的波形的顶部或底部保持在某一确定的直流电平上。从而提高整个电路的工作稳定性。在钳位电路中存在钳位二极管(clamping diode),钳位二极管,产生钳位电压(Clamping voltage)
Power_Clamp 为低端ESD结构的V/I 曲线
GND_Clamp 为低端ESD结构的V/I 曲线
Pullup, Pulldown 为高电平和低电平状态的V/I曲线。
Ramp 为上升沿和下降沿的摆率(dv/dt)。指的是输出电压从20%–80%的电压输出幅度所用的时间。为了更加准确地描述上升沿和下降沿的过程,有上升沿和下降沿的V/T 曲线。
dV/dT_r, dV/dT_f:输出上升沿和下降沿的摆率。
即:从20%80%,或从80%20% 电压输出幅度所需的时间。

1.2 IBIS文件模型的查看与编辑

IBIS文件可以通过Cadence-》PCB SI Utilities-》Model Intergrity进行查看和编辑

 

2.PKG文件简介:

在IBIS模型中 .PKG文件使用说明:在某些IBIS文件中会附带.PKG文件的说明,比如像Xilinx 7系列的FPGA,会提供其系列下面的各种具体信号的FPGA.PKG文件,实际提供的.ibs文件在一些重要的场合是不能直接拿来仿真的。

如果需要准确仿真器件各相邻管脚之间互感互容或者从器件DIE到PIN之间的RLC参数带来的影响,则须定义此项。
[Package Model] 为ibis文件非必选项,在ibis使用对应型号的PKG文件,需要在IBIS文件调用此声明;
模型名称使用器件PCB封装名称(是否带公司名称另行讨论),最长40字节。可以定义多个模型。
仿真软件首先确认此器件使用的模型名称,然后到[Define Package Model]选项或者与模型位于相同文件夹中的.pkg文件调取此模型下各种参数进行计算。
所以此模型名称必须与[Define Package Model]选项中文件名相同。
此部分有很强的独立性。可以依附于上述选项作为.ibs文件一部分,也可以单独作为一.pkg文件配合.ibs文件进行仿真

2.1 .pkg文件文件描述定义


下面是它结构形式:
Package Model
此部分有很强的独立性。可以依附于上述选项作为.ibs文件一部分,也可以单独作为一.pkg文件配合.ibs文件进行仿真。
[IBIS Ver]
小于3.2版本的都调整为3.2。
[File Name]
最长20个小写字符,后缀为.pkg.,该值可以不与.ibs文件名相同,但是不建议修改,且文件名必须小写。
[File Rev]
保持原始值,不作修改。
[Date]
[Source]
[Notes]
[Disclaimer]
[Copyright]
[Define Package Model]            
每个[Define Package Model] 的值必须与.ibs文件中[Package Model项目中定义]的值完全匹配。
[Manufacturer]                           
[OEM]
由于相同的DIE可以在不同的器件厂家制造,参数必然不同,所以此项必须写出。               
[Description]
使用简单方便的语言描述器件封装类型等,必须少于60字符。        
[Number Of Sections]      
[Number Of Pins]
对于已经定义[Number Of Sections]项目的,需要按照最大分段数将DIE到PIN的每个分段的Len/R/L/C/Fork/Endfork参数列出,其中Fork/Endfork是用于DIE到PIN上存在分支情况。而每段分段适于Len参数值,终止于“/”如果没有“/”符号,仿真软件将无法识别。      
[Model Data]            
[Model Data]…[End Model Data]表征开始对此封装模型的管脚赋予自身以及相互间耦合的电阻、电容、电感参数,必须注意的是,此项目与[Number Of Sections]不同时出现于同一模型中。         
[Resistance Matrix]
[Inductance Matrix]
[Capacitance Matrix]
[Bandwidth]
[Row]
Full_matrix/Sparse_matrix/ Banded_matrix
对于[Model Data]项目中的这些子项目以及参数,必须明确以下几点:
1.        [Capacitance Matrix]中,Kij参数的定义为:当i=j时,?;当i=/=j时,为i管脚上保持1v的电位而其他任何管脚电位为0时,在j上感应的电荷量,皆为负值。同样道理[Inductance Matrix]中,Lij的定义为:所有管脚中,只有i管脚上通过1am/sec变化的电流时,在j管脚上产生的电压值,皆为正值。
2.        互容和互感是相互的,所以Kij=Kji;Lij=Lji?故而在第i行中已经赋予的Lij或Kij参数值不需要再第j行中再次赋予Lji或Kji。
3.        如果需要定义N个管脚,那么此器件的电阻、电容、电感矩阵将有N行。
4.        第x管脚在矩阵中的位置为[X X]。
5.        使用Banded_matrix时,每行的参数值将由[Bandwidth]的值与管脚始末是否闭合决定。比如[Bandwidth]值为5,而且管脚始末闭合,那么每行的参数值必须有6个(对其耦合的管脚数量为10个)。而不闭合的情况下,如果[Bandwidth]为B,那么从N-B开始,每行的参数值逐行递减1。
6.        使用Full_matrix,矩阵每行的参数值逐行递减1。              
[End Model Data]      
[End Package Model]   

2.2 .PKG文件被IBIS文件调用方法

xilinix FPGA.PKG使用方法可参考:

Xilinx Customer Community

//https://support.xilinx.com/s/article/21632?language=zh_CN&t=1657681061546

注明:本小结将以XC7A200T为说明,在artix7 ibis文件中调用XC7A200T.pkg文件演示说明

1:使用通用 IBIS 文件时:

a) 该系列基本通用 IBIS 文件在 Xilinx 下载中心提供。

b) 该器件系列的每引脚封装寄生数据(如果有)可通过从 Xilinx 下载中心下载的 IBIS 存档文件纳入。 

每个 .pkg 文件代表该系列中的一个晶片/封装组合。封装命名惯例:<PackageName_DieName_ibis>.pkg。 

必要时,请联系 Xilinx 技术支持,帮助您为您的目标器件及封装获得 .pkg 文件。

i) 如若不行:

请使用在该系列 IBIS 文件 (<family>.ibs) 中提供的粗封装寄生。
发现目标封装并取消对数据 R_pkg、C_pkg 和 L_pkg 标识符的注释。
注释所有其它封装(IBIS 中的注释字符为“|”)。
仿真。
ii) 如果有的话,最便捷的方式是在 Vivado 中采用 ISE 或 write_ibis 命令使用 IBISWriter 实用程序。 

如果 IBISWriter 或 write_ibis 命令不能将该封装寄生数据整合在 IBIS 中,您可以手动编辑 IBIS(具有 .pkg 文件提供的数据)。请参考以下步骤。

在Model Intergrity 中打开arrtix7.ibs文件

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

...

如下图所示:

红色部分为实际XC7A200T使用的管脚和信号名以及配置的IO MODEL,这里需要把实际FPGA设计的所有管脚全部按照此格式添加进来,不然SI仿真调用模型时会报错;

蓝色框里面为原文件artix7 ibis自带的,它并没有指定特定的管脚映射,需要全部给屏蔽掉

2) 在目标 .pkg 文件中查找带有 [Define Package Model] 和 [End Package Model] 关键词的行。

XC7A200T.PKG

3) 在 IBIS 文件最后一行(具有 IBIS 关键词 [End] 的行)前面的正中间位置插入这两行及所有相关内容。

将第二步中XC7A200T.PKG下面这一块给复制到artix7 ibis文件中

[Define Package Model]

...

[End Package Model]

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

如下图所示:

XC7A200TFPGA的P5、N4管脚的IO配置了SSTL15_R_F_HR MODEL模型,需要在该行上方添加[Package Model] XC7A200T_ffg1156这一行,代表了XC7A200T IO口调用了该模型

3.仿真

在仿真之前,可以先了解一下PCB SI设计仿真的基础知识,这里推荐一本书籍和一家知名企业的PCB SI仿真设计教程给大家。

PCB SI 仿真入门基础知识可参考:

高速电路仿真教程,cadence、AllegroSigritySIPIEMI入门仿真指导教程-嵌入式文档类资源-CSDN下载

PCB SI cadence sigrity 仿真工具使用设置可参考:

CadencePCBSI仿真教程,国际知名企业内部PCBSI仿真指导教程-嵌入式文档类资源-CSDN下载


http://chatgpt.dhexx.cn/article/gRDGWbLv.shtml

相关文章

数据传输完整性_基于IBIS模型的FPGA信号完整性仿真验证方法

人工智能与深度学习等领域的快速发展&#xff0c;使得FPGA等器件应用范围愈加广泛&#xff0c;同时也要求器件的开关速率加快、引脚数量增多。但陡峭的时钟边沿和增加的引脚数使得杂散、耦合、寄生电容电感会对器件产生诸多信号完整性(Signal Integrity&#xff0c;SI)问题。这…

Candence PCB Si 仿真设计篇1:为仿真文件添加ibis模型

软件版本&#xff1a;cadence 16.6 仿真拓扑如下&#xff1a; 本章节主要完成对上述目标仿真拓扑中的PLL时钟芯片和FPGA完成IBIS模型的配置&#xff1b; 1.打开cadence PCB SI GXL&#xff1b; 2.在PCB SI GXL中打开板级文件.brd文件 3.在PCB SI GXL菜单栏Analyze-》Signal …

Cir 和 IBIS模型的使用

Cir 和 IBIS模型的使用在Analog上&#xff0c;很多时候下载到的是 cir和ibs 文件&#xff0c;那么如何使用呢。Cadence 中的pspice套件中含有编辑模型的程序模块&#xff0c;可以使用它进行转换&#xff0c;得到Capture库文件&#xff08;olb格式&#xff09; 和 Pspice 库文件…

Vivado使用技巧(17):创建IBIS模型

IBIS模型概述 IBIS是一种器件模型标准&#xff0c;允许使用行为模型进行开发&#xff0c;这些行为模型描述了器件内部互联的信号。IBIS模型保留专用的电路信息&#xff0c;不像SPICE这种结构化模型&#xff0c;IBIS模型是基于测量或电路仿真得到的 V/I曲线数据。 每个IOB标准…

信号完整性分析学习--13--IBIS模型(2)

IBIS模型除了用于SI仿真&#xff0c;我们还可以从IBIS模型中得到一些有用的东西&#xff0c;如信号上升时间&#xff0c;输出阻抗以及封装延时等等。 从IBIS模型中可以获得信号上升时间信息 IBIS模型中的关键字[Ramp]定义了buffer输出的上升下降沿的斜率。如下为micron的DDR3芯…

初识IBIS模型

关注、星标公众号&#xff0c;精彩内容每日送达 来源&#xff1a;网络素材 半导体LSI的EDA模型之一是"IBIS模型"&#xff0c;完整称为Input/Output Buffer Information Specification&#xff0c;是一个描述数字IC输入端和输出端电气特性的文本文件&#xff0c;在电路…

Cadence PCB仿真 使用Allegro PCB SI为BRD文件创建通用型IBIS模型的方法图文教程

⏪《上一篇》   🏡《总目录》   ⏩《下一篇》 1,概述 本文简单介绍使用Allegro PCB SI软件为BRD PCB设计文件中的元器件创建IBIS模型的方法。 2,创建方法 第1步:确定打开PCB文件的软件是 Allegro PCB SI 如果不是Allegro PCB SI,可执行File→Change Editor…更换软…

FPGA之IBIS模型编辑实战攻略

通常我们获得的FPGA IBIS模型是这款芯片的通用模型&#xff0c;在信号完整性仿真中使用起来&#xff0c;很不方便。究其原因&#xff0c;其实就是管脚映射不对。每个FPGA在实际应用时&#xff0c;都会根据产品功能、单板空间等情况&#xff0c;对FPGA的管脚做一个重新定义&…

Cadence PCB仿真使用Allegro PCB SI 创建含差分对网络元器件的IBIS模型图文教程

⏪《上一篇》   🏡《总目录》   ⏩《下一篇》 1,概述 本文简单介绍使用Allegro PCB SI软件为BRD PCB设计文件中的含有差分对网络的元器件创建IBIS模型的方法。 2,创建方法 第1步:确定打开PCB文件的软件是 Allegro PCB SI 如果不是Allegro PCB SI,可执行File→Chan…

高速电路设计与仿真之Model Integrity篇(IBIS模型介绍)

工欲善其事必先利其器&#xff0c;高速电路的仿真离不开的就是Model Integrity仿真工具&#xff0c;而Model Integrity仿真用到的模型就是IBIS模型文件。使用Model Integrity不仅可以用来浏览模型&#xff0c;还可检查IBIS模型或DML模型&#xff08;Cadence的模型格式&#xff…

信号完整性学习笔记-IBIS模型

1.IBIS模型是一种基于V/I曲线的对I/O Buffer 快速准确建模的方法&#xff0c;是反映芯片驱动和接收电气特性的一种国际标准&#xff0c;提供一种标准的文件格式来记录如驱动源输出阻抗、上升/下降时间及输入负载等参数&#xff0c;非常适合做振荡和串扰等高频效应的计算和仿真。…

IBIS模型参数

IBIS模型参数 作者&#xff1a;AirCity 2020.2.1 Aircity007sina.com 本文所有权归作者Aircity所有 下面是一个典型的IBIS模型&#xff0c;包括了各种参数符号。你在IBIS模型中看到的参数都在下面表示出来了。 PMOS导通&#xff0c;NMOS关闭&#xff0c;输出1&#xff1b;NMO…

Cadence导入IBIS模型用于仿真

SPICE模型库网址 查找SPICE模型的最佳位置是浏览供应商或制造商的网站&#xff0c;以下是部分常用的网址。 1、ADI https://www.analog.com/en/design-center/simulation-models/spice-models.html# 2、TI http://www.ti.com/design-resources/design-tools-simulation/models…

浅谈—IBIS入门理解

1.IBIS简介 IBIS(Input/Output Buffer Information Specification)&#xff1a;输入输出缓冲器&#xff0c;是一个行为级模型&#xff0c;描述的是电压与电流、电压与时间的关系&#xff0c;也是一种基于V/I曲线的对于输入输出端口快速准确建模的方法&#xff0c;是反映芯片驱…

信号完整性分析学习--12--IBIS模型

前面说过信号完整性分析的三要素包括&#xff1a;信号、驱动接收器件和信号的传输通道。之前讲了信号的时域、频域特性&#xff0c;各种常见的电平标准其实就是驱动和接收芯片的基础知识。这一节我们将介绍有关IBS模型的知识&#xff0c;后面我们将会逐渐的接触信号完整性仿真分…

IBIS模型简介

一、如何生成IBIS模型&#xff0c;IBIS模型里包括什么 • 1.可以通过仿真过程中或基准测量中收集的数据来获得IBIS 模型。如果选择前一种方法&#xff0c;可以使用SPICE进行仿真&#xff0c; 收集每个输出/输出缓冲器的V/I和V/T数据。这样可以在模 型中包含过程转折数据。然后…

IBIS详细讲解

IBIS是Input/Output buffer information specification的缩写&#xff0c;从名字中可以看出&#xff0c;模型的主要作用是描述器件输出输出的特性。 简单来说&#xff0c;有IBIS模型比没有模型&#xff0c;仿真结果会更为准确。 在IBIS出现之前&#xff0c;仿真主要依靠SPICE模…

候选键与主键

候选键与主键 候选键 关系中能唯一标志一个元祖的最小属性集 关系实例上任何两个元祖的值在候选键的属性&#xff08;集&#xff09;上取值不同 主键&#xff08;primary Key&#xff09; 若一个关系有多个候选键&#xff0c;可选择其中的一个作为主键 包含候选键的属性集称为…

mysql是如何设置候选码_求关系模式中的候选键(软考,数据库)

求关系模式中的候选键&#xff0c;是软考中的考点&#xff0c;但视频中没有讲&#xff0c;所以得一提。 求闭包 给定关系模式R(U&#xff0c;F)&#xff0c;U{A&#xff0c;B&#xff0c;C&#xff0c;D&#xff0c;E}&#xff0c;F{B-A, D-A, A-E,AC-B},其属性AD的闭包为_____…