FPGA之IBIS模型编辑实战攻略

article/2025/8/30 6:16:52

通常我们获得的FPGA IBIS模型是这款芯片的通用模型,在信号完整性仿真中使用起来,很不方便。究其原因,其实就是管脚映射不对。每个FPGA在实际应用时,都会根据产品功能、单板空间等情况,对FPGA的管脚做一个重新定义,FPGA厂家在提供IBIS模型的时候是无法预计到,所以每个FPGA的应用,都要根据具体情况生成相应的IBIS模型。

在这里插入图片描述

上图是一个Intel MAX10的FPGA IBIS模型,注意观察[PIN]这一列的管脚号,你就会发现,FPGA芯片根本不会使用到这样的管脚编号。这个模型如果直接映射给器件,软件在仿真过程中,会报告无法找到管脚buffer IBIS模型。

那么如何获取正确的FPGA IBIS模型呢?日常工作中,通常有两种办法:

  1. 通过FPGA开发工具自动生成,只要你有和PCB一致的管脚分配文件,就可以自动生成。

  2. 手工编辑生成,相对于上面的方法,这种方法要求使用者对IBIS的语法有一定的了解。本文将着重对这个方法进行介绍。

【手工生成FPGA IBIS模型】

回顾IBIS的语法定义,一个IBIS文件主要包括以下几部分组成:

1.文件头,定义IBIS版本、文件名、日期、生成厂家等信息

2.元件,定义了IBIS文件中所包含的元件,关键字为[Component],一个IBIS文件中可以描述多个元件

3.在[Component]部分是编辑FPGA IBIS模型要涉及的

a.封装参数 IBIS文件中元件的管脚寄生参数有三种定义方式:

i.如下图所示的,[Package] 中定义的整个封装管脚寄生参数RLC的均值,要根据不同芯片型号进行修改;

在这里插入图片描述

在这里插入图片描述

ii.在[Pin]部分中,定义了每个管脚的寄生RLC参数

iii.还可以使用[Package Model]关键字引用.pkg封装模型文件,这部分将在本文的后面部分介绍

b.[Pin]段定义了这个元件的管脚与IBIS Buffer模型的映射关系,以及每个管脚的RLC寄生参数,这个是生成FPGA IBIS模型要编辑的主要部分

c.[Diff Pin]段定义了元件管脚的差分配对关系,我们生成FPGA IBIS模型,在这一段要添加使用的差分对管脚

在这里插入图片描述

d.[Model Selector] 有时一个管脚可以用多个IBIS Buffer模型来描述,比如在DDR仿真中经常用到的ODT模型,有多种Buffer可选,这个就需要使用[Model Selector]进行定义了。FPGA开发工具自动生成的IBIS模型如果不包含[Model Selector],建议手工添加上,提供在仿真中使用的灵活性,定义[Model Selector]的方法后文有详细解说。

【管脚映射信息获取】

编辑IBIS模型中[Pin]这一段信息,需要获取FPGA管脚和网络名称的对应关系。
本文仅以Cadence Allegro为例,介绍管脚映射信息的获取方式:
1、在Allegro中使用Show Element查询器件后,将Pin IO Imformation部分的内容复制;

在这里插入图片描述

2、粘贴到一个txt文件中,再将txt文件中的内容全部选中,并复制;

在这里插入图片描述

3、新建一个空白的Excel文件,第一行按下图格式填写,其中” R_pin”、 ” L_pin”、” C_pin”三列如无相应数据,可以省略,注意先空出第一列

在这里插入图片描述

4、在Excel中,选择第二行第一列A2单元格后,单击开始菜单,再单击粘贴下方的三角形按钮,在粘贴选项中选择“使用文本导入向导”

在这里插入图片描述

5、导入向导第1步选择“分隔符号”,并单击下一步按钮

在这里插入图片描述

6、选择分隔符号为“空格”,确认已勾选“连续分隔符号视为单个处理”,并单击下一步按钮

在这里插入图片描述

7、选择列数据格式为“文本”,单击完成按钮

在这里插入图片描述

8、导入后,将多余的空白A列以及model_name等内容删除

在这里插入图片描述

9、仅保留[Pin]和signal_name、model_name三列的内容即可,” R_pin”、 ” L_pin”、” C_pin”三列视情况而定;

在这里插入图片描述

10、【神器放送】在Allegro中还可以使用文末提供的Skill工具,查询需要仿真的FPGA芯片,自动在当前目录下生成管脚信息的“器件编号_PinNet.csv”文件,用Excel打开该文件,前两列就是IBIS中[Pin]和signal_name,免去了上述9步数据导入的操作之苦,只需要在第3列手工添加一下model_name关键字即可;

在这里插入图片描述

11、第3列的model_name就是用来添加仿真中将要使用的IBIS Buffer模型名称或者Model Selector名称。本文编辑的模型将使用在DDR3仿真中,所以添加的都是Model Selector的名称,关于Model Selector的构建详见后文;

在这里插入图片描述

12、对于电源管脚,需要定义model_name为POWER,地管脚需要定义model_name为GND,未连接管脚定义model_name为NC;

在这里插入图片描述

13、对于一些本次仿真中不需要使用的管脚可以给一个临时模型,如下图中,将FPGA中所有与DDR仿真无关的管脚的model_name设置为sstl15_cin;

在这里插入图片描述

14、如果还有其他信号要仿真,则需要根据电平类型设置为正确的模型

15、由于IBIS语法中不支持表格分隔符【Tab】,不能直接从Excel中直接复制粘贴到IBIS模型中去,可以使用UltraEdit、NotePad等专业文本工具,将分隔符【Tab】替换为空格

在这里插入图片描述

16、再复制、粘贴到IBIS文件中去

在这里插入图片描述

17、如果在SI仿真中需要使用.pkg文件,就需要将FPGA的所有管脚在[Pin]段列出来

18、编辑好了[Pin]这段,根据FPGA中差分对的定义情况,将[Diff Pin]这段也编辑好

在这里插入图片描述

19、如果有必要,可以删除FPGA原始模型中没用到的[Series Pin Mapping]定义,如果有用到,根据实际情况进行管脚修改。

【Model Selector的构建】

Model Selector中定义了一个管脚能够使用的IBIS Buffer模型的集合。一个偷懒的办法是把原始FPGA文件中定义的IBIS Buffer全部列在Model Selector中。虽然很便捷,但是很不经济。特别是对于一些大型的FPGA芯片,原始IBIS文件巨大,将导致SI仿真软件加载IBIS时间过长。比较好的办法是根据实际应用,选择放入Model Selector的IBIS Buffer Model。本文中使用到的例子是一个DDR3 1.5V的应用,只需要Model Selector包含SSTL15的模型就可以了。更进一步,对于DDR_ADD只需要包含SSTL15模型中IBIS输出模型就可以了,不需要ODT模型。因为当FPGA作为Memory Controller使用时,地址、命令、控制以及时钟信号只为输出。
在这里插入图片描述

甚至删除了原始IBIS文件中没有使用到的IBIS Buffer 模型定义,从而缩减IBIS文件大小,提高未来SI软件IBIS模型的加载速度。
在这里插入图片描述

【封装管脚模型的添加】

很多芯片厂家在提供IBIS模型的同时也会提供后缀为.pkg的封装管脚模型文件,如何使用.pkg文件也是朋友们经常问到的问题。其实这就是个IBIS的语法问题,在IBIS规范中有明确的定义。

在这里插入图片描述

上图是IBIS规范的截图,需要使用.pkg封装管脚模型只需要添加[Package Model]关键字就可以了。

在这里插入图片描述

但是要注意,在[Pin]段要将FPGA的所有管脚列出来

如上图所示,本文的例子中在[Pin]之前添加了[Package Model]字段,其中z90b_78ball_pkg是封装模型的名字,如果是独立的.pkg的封装文件,对应的z90b_78ball_pkg.pkg文件需与本ibs文件放在同一目录下。

注意:有的仿真软件不支持外部.pkg的封装文件,需要把.pkg文件中的[Define Package Model]和[End Package Model]关键字之间的封装模型定义全部复制到IBIS文件中,如下图所示。

在这里插入图片描述
参考原文:《PGA之IBIS模型编辑实战攻略》


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

相关文章

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模型介绍)

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

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

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

IBIS模型参数

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

Cadence导入IBIS模型用于仿真

SPICE模型库网址 查找SPICE模型的最佳位置是浏览供应商或制造商的网站,以下是部分常用的网址。 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):输入输出缓冲器,是一个行为级模型,描述的是电压与电流、电压与时间的关系,也是一种基于V/I曲线的对于输入输出端口快速准确建模的方法,是反映芯片驱…

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

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

IBIS模型简介

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

IBIS详细讲解

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

候选键与主键

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

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

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

超键,候选键,主键,外键

前言: 对于刚学习数据库的童鞋来说,定会遇到这么一个问题,那就是数据库所说的各种键之间的关系以及区别,作为曾经在这个难点上有过痛苦经历的人来说,印象是比较深刻的,所以在这里我将我自己心中所了解到的四…

候选键的计算(数据库系统概论)

本篇博客是在学习数据库系统概论第六章(关系数据理论)后觉得直接去分析候选码有难度,就在网站上搜寻了一些资料,得出了一些结论,在这里分享一下,希望对大家有帮助!!! 算…

闭包及候选键求解方法

一、闭包 设X是函数依赖集,被X逻辑蕴涵的函数依赖全体构成的集合,称为函数依赖集X的闭包,记为。 设F是属性集U上的FD集,X是U的子集,那么(相对于F)属性集X的闭包用表示,它是一个从F集使用FD推理…

规范化理论:候选键的求解理论和算法

什么是关键码? 设关系模式R的属性集是U,X是U的一个子集,F是在R上成立的一个函数依赖集。如果X→U在R上成立(即X→U在中),那么称X是R的一个超键。如果X→U在R上成立,但对X的任一真子集都有→U不…

数据库中的超键 候选键 主键 外键

这里写目录标题 数据库中的超键 候选键 主键示例说明 数据库中的超键 候选键 主键 见下图: 示例说明 学号身份证姓名班号班位置SN001SF1张三CN_a3层SN002SF2李四CN_a3层SN003SF3王五CN_a3层SN004SF4李六CN_b4层SN005SF5谭七CN_b4层SN006SF6张三CN_a3层 由表可得…

MySQL之候选键

文章目录 MySQL之候选键1.主键和候选键的区别 MySQL之候选键 1.主键和候选键的区别 表格的每一行都由主键唯一标识,一个表只有一个主键; 主键也是候选键,按照惯例,候选键可以被指定为主键,并且可以用于任何外键引用

求候选键

根据题干,画图: 由于从D出发可找到A、E,然后CA结合又能找到B,因此通过CD可遍历所有元素,因此候选键为CD。 求候选键,就是找可遍历所有元素的元素组合。

数据库主键、外键、超键、最左前缀原则

首先看看各种键的定义: 超键(super key):在关系中能唯一标识元组的属性集称为关系模式的超键 候选键(candidate key):不含有多余属性的超键称为候选键 主键(primary key):用户选作元组标识的一个候选键程序主键 外键(foreign key)如果关系模式R1中的某属性集不是…