chen_ww1993的个人空间 https://blog.eetop.cn/helloanalog [收藏] [复制] [分享] [RSS]

空间首页 动态 记录 日志 相册 主题 分享 留言板 个人资料

日志

芯片中IO电路的设计方法

热度 7已有 1526 次阅读| 2023-7-8 15:37 |个人分类:IO|系统分类:芯片设计

图片

(芯片版图示意,侵权删)

在一个芯片中是必然存在IO电路的,IO电路虽然原理简单,但在考虑地弹的同时要实现设计指标也许会是一件很困难的事情。此外,由于IO电路和版图以及封装管壳都相关,因此IO的设计通常也是一个多部门协作的工作,在设计过程中沟通(扯皮)是避免不了的。其实这也是和其他电路的设计有所不同之处,IO电路设计面临的折衷不仅来自于电路本身,还来自版图面积、管壳优化等多个方面。

为了避免抄书,本文的目的不是对IO进行一个事无巨细的描述,而是想更多突出和设计相关的内容。因此去繁就简之后,本文内容主要包括了以下几个方面:

1 什么是芯片的IO电路?

2 IO电路的分类

3 IO电路都有哪些参数?

4 IO电路设计的难点或关键点是什么?

5 搭建地弹仿真环境的注意事项

6  地弹环境下VIH/VIL测量方法


更多文章内容,可关注“模拟小笨蛋”微信公众号,定期分享模拟IC设计相关的知识,小技巧。


01

什么是芯片的IO电路?

简单来说,IO电路其实就是指芯片的信号输入输出接口电路,其一般位于芯片版图的最外围。IO电路一般有以下几个功能:

(1)实现电平转换

(2)提高驱动能力

(3)进行ESD保护

先说电平转换。芯片内部电路信号的高低电平和外部要求不一致时,这样通过IO电路可以实现电平的转换。

再说驱动能力。尤其是数字芯片,一个输出信号有可能同时有多个扇出,这时候容性负载往往较大,为了使输出信号的上升下降沿不至于过慢,就要求芯片具备一定的驱动能力。

最后是ESD防护。这是必不可少的一部分。但凡是芯片,在IO电路中都需要增设ESD防护电路,以便芯片在遭受静电冲击的时候不至于损坏。

02

IO电路的分类

图片

图 输入输出IO的分类

输入IO比较简单,根据带不带上下拉电阻可以分为两种。对于一般的输入IO,其就是反相器构成的BUF。在没有激励信号输入时,带上拉电阻可以使输入保持为默认的高,带下拉电阻可以使输入保持默认的低。由于上下拉通常都是弱上拉或弱下拉,因此当有外部激励输入时,上下拉电阻并不影响信号输入。

输出IO基本分为三种。

第一种是推挽输出结构。推挽输出就是常见的反相器结构,不必多说。

第二种是OC/OD输出结构。其为集电极开路/漏极开路输出,电路如下图所示。显然这种结构是没法直接传输高电平的,系统应用时必须要在开路端增加上拉电阻。


图片

图 2 OC/OD输出

OC/OD输出结构具有以下特点:

(1)很方便地调节输出的高电平,可以进行灵活的电平转换;

(2)可以实现"线与"功能;

(3)带来上升沿的延时问题(和外部R大小选择有关)

第三种是三态输出结构。如下图所示,相对于一般门只有0和1两种状态,三态门多出了一个高阻状态。同时,三态门还有单向三态门和双向三态门之分。

图片

图 三态输出结构(图片侵权删)

高阻态时输出电阻很大,相当于开路,相当于该门与和它连接的电路处于断开的状态。因此三态门可以说是一种扩展逻辑功能的输出级,可以作为控制开关使用。该种结构通常可用于总线的连接,因为总线只允许同时只有一个使用者。通常在数据总线上接有多个器件,每个器件通过OE/CE之类的信号选通。如器件没有选通的话它就处于高阻态,相当于没有接在总线上,不影响其它器件的工作。

03

IO电路都有哪些参数?

IO电路主要参数如下图所示。

图片

图 4 IO参数汇总

04

IO电路设计的难点或关键点是什么?

其实IO电路本身的原理是很简单的,但在IO电路的设计过程中,需要考虑地弹的影响,而地弹的优化正是IO电路设计的难点。

那么什么是所谓“地弹”呢?百度百科解释如下:

“地弹”,是指芯片内部“地”电平相对于电路板“地”电平的变化现象。以电路板“地”为参考,就像是芯片内部的“地”电平不断的跳动,因此形象的称之为地弹(ground bounce)。

“地弹”是怎么形成的呢?地弹是由管壳寄生的L引起的。如下图所示,我们先看左图,不考虑管壳寄生L,芯片地认为就是理想的地。再看右图实际上芯片地和外部PCB地——认为理想地之间存在寄生的L,当反相器动态工作时,瞬态电流的变化会在L上产生感应电动势,所以就可以看到芯片地的弹动是多么的欢快了。


图片

图 地弹形成原理图

说“地弹”会带来麻烦,具体是指什么呢?地弹会造成IO电路对外部输入高低电平的不正确判断。这可是个严重的问题:你想呀,对于CMOS电平标准,给芯片2.0V输入,IO应该识别为高,输出1的,那如果芯片识别成0会怎么样呢?更严重的是或许会识别成一会0一会1的扰动信号。这不用说,当然是严重的功能性故障了。

所以我们需要做的就是:保证在地弹环境下IO电路能正确识别外部输入的高低电平,这其实就是要保证VIH/VIL在地弹环境下满足手册指标要求。

05

搭建地弹仿真环境的注意事项

IO顶层电路地弹仿真环境的搭建需要注意以下几点:

图片

6

地弹环境下VIH/VIL测量方法

仿真测量方法可以有两种,都可以通过写公式的办法自动计算。第一种是给输入施加斜坡信号。具体参考下图:

图片

图 输入斜坡信号时的方法

输入IO第一次误翻转时对应的输入斜坡值为VIL,输入IO最后一次误翻转时对应的输入斜坡值为VIH。需要注意的是斜坡信号必须足够缓慢才能得到准确的测量值,这里有一个经验设定:斜率K=10mV/2T,T为翻转周期,即两个翻转周期的时间斜坡变化量为10mV。斜率当然越小越准确,但相应的仿真时间也会越长。

还有第二种方法是采用台阶信号,具体如下图:

图片

图 输入台阶信号时的方法

使用这种办法,输入IO第一次误翻转时对应的台阶的前一阶的值为VIL,输入IO最后一次误翻转时对应台阶的后一阶的值为VIH。需要注意的是台阶信号的步长必须足够小才能得到准确的测量值,这里有一个经验设定:STEP=10mV/2T,T为翻转周期,即两个翻转周期的时间增一个台阶,变化量为10mV。10mV的误差量是可以接受的,步长当然越小越准确,但相应的仿真时间也会越长。

这两种方法都可以得到基本一致的结果,第一种方法要得到准确的测量结果势必要降低斜率,这会带来仿真时间的增加。其实在PVT仿真时比较推荐第二种方法,因为可以采用一个取巧但又不失准确度的的办法:可以省却中间的部分的台阶,只保留两头的台阶。因为通常PVT仿真时VIH或VIL的最小最大值肯定是落在两头的台阶范围内的,这样可以进行有效的仿真加速!


我们只停了十分钟来欣赏如火如荼的秋色。


更多文章内容,可关注“模拟小笨蛋”微信公众号,定期分享模拟IC设计相关的知识,小技巧。


5

点赞

刚表态过的朋友 (5 人)

发表评论 评论 (2 个评论)

回复 hubocheng 2023-11-20 10:33
有没有相关的IO中文资料
回复 FengLiuwei 2023-12-18 16:39
参考资料有推荐的吗??非常需要!谢谢

facelist

您需要登录后才可以评论 登录 | 注册

  • 关注TA
  • 加好友
  • 联系TA
  • 0

    周排名
  • 0

    月排名
  • 0

    总排名
  • 1

    关注
  • 23

    粉丝
  • 0

    好友
  • 46

    获赞
  • 8

    评论
  • 145

    访问数
关闭

站长推荐 上一条 /1 下一条

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-5-18 05:57 , Processed in 0.028202 second(s), 17 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
返回顶部