0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

efuseIP进行spice建模的实现方案

CHANBAEK 来源:模拟小笨蛋 作者:青山 2023-03-24 11:45 次阅读

1. efuse是什么?

回答efuse是什么之前,fuse是什么呢?fuse当然是熔丝,熔丝有很多种,常见的保险丝就是熔丝的一种。那什么是efuse呢?这个e的前缀表示电子的、可电子控制的。也就是说,efuse是可以电控制的fuse。

芯片设计中有时候要使用熔丝修调,工艺厂可提供的熔丝一般有金属熔丝和多晶熔丝,前者称作metal fuse,后者称作poly fuse。两种fuse随着过流的增加都会发生熔断,熔断前后的阻值差异巨大,比如熔断前可能在10Ω以内,熔断后可能在MΩ量级。因此,fuse具有以下两个明显的特点:

(1)通过选择是否熔断可以获得前后不同的阻值状态;

(2)熔断行为是不可逆的;

因为具有以上两个特点,所以在IC设计中,fuse被广泛应用在参数修调方面,当设计初值达不到要求或不理想时,可以通过对已经集成在IC中的fuse进行编程,从而改变配置,使性能参数达到目标值。由于不可逆特性,经过这种编程操作的IC的特性会固化下来,无法进行二次编程。所以应用在IC中的fuse也通常是为了出厂校正或者出厂修调。在一些数据需要加密的IC中,也会采用fuse来固化内部数据,使之不可更改。

2. efuseIP是什么?

实际的IC设计中,可能只需要用到很少量的fuse,这时候一般也就需要几个用几个,LAYOUT时按照设计规则放置就好了。但在需要大量控制字的应用中,直接使用很多单个的fuse就显得不那么经济了。这一方面是因为可靠性,另一方面也有面积、功耗等的考虑。这时候往往就需要用到efuseIP。

efuseIP是工艺厂提供的、具有全套资料且经过测试可直接调用的硬件IP。efuseIP包含多个熔丝单元,比如256个或者512个等,此外IP内部还会集成有读写控制等电路。既然集成有读写控制,efuseIP必须在一定的读写时序下工作。我们购买了工艺厂家efuseIP后,工艺厂家会提供相应的技术资料和.v文件等,.v文件其实就是用verilog编写的程序文件,但只是对efuseIP的行为的描述,该文件本身是不可综合的。

3. 为什么要进行efuseIP的spice建模?

目前正在设计的一款ADC芯片刚好需要用到efuseIP,由于efuseIP的.v模型无法直接带入spice或spectre仿真环境中,故只能通过混合仿真的方式进行顶层验证。为了能够用spectre或spice模拟仿真工具进行验证,所以就产生了对efuseIP进行spice建模的想法。

注意,这里说的"spice建模”,并不是100%用spice语法进行建模,而是建一个可以带入spice仿真环境的模型。

经过迭代尝试,最终还是建模成功了,并且经过仿真验证,已建模型的行为和厂家.v模型的行为基本一致。下面将解释具体的建模内容。

4. efuseIP的基本情况

首先我们看下图,该efuseIP包含一个8位的地址输入A<7:0>、一个 读使能RD,一个编程使能PGEN,一个地址使能AEN,以及8位并行输出D<7:0>。

poYBAGQdG8-AWQ55AABgFjDRUYY031.png

图1:eFUSEIP的输入输出示意图

接着再看下表,其展示了厂家IP中各fuse的排布情况。可以看到,第一列从fuse0~fuse31,第二列从fuse32~fuse63,然后依次排布下去。

pYYBAGQdG9-Ae7M2AABuNTzw3tk424.png

图2:熔丝的位置排布

以上介绍了efuseIP的基本情况,那实际中该efuseIP是怎样工作的呢?

对于上图所示的fuse阵列,为了精准控制每一个fuse,显然需要进行行列控制。A<7:0>的高3位可产生8个列信号,低5位可产生32个行信号,这样就可以对32*8的矩阵实现地址控制。需要编程时,令PGEN=1,RD=0,对指定地址位的熔丝进行熔烧操作。当需要读取熔丝数据时,令PGEN=0,RD=1,数据以每次8bit的形式并行输出,实际是一次读出一行数据,全部读出需要32次。

5. spice建模的具体实现

知道了efuseIP的行为,我们就可以着手进行建模了。看下图,最终的模型架构主要包括以下模块:Decode(译码电路,主要实现行列编码)、efuse Array(熔丝单元阵列)、Read(读取电路)

poYBAGQdG-2AEIQ6AAB9Hc5xC-U025.png

图3:模型电路架构图

我们最终搭建出的spice模型如下图所示,该模型电路全部利用verilogA和理想器件构建而成。

pYYBAGQdG_-AYse9AAKtTobkqz4187.png

图4: 模型原理图

5.1 Decode电路

下图为译码电路的原理框图。地址信号为A<7:0>,其高三位A<7:5>作为3-8译码器的输入,产生8个列控制信号。低五位A<4:0>作为5-32译码器的输入,产生32个行控制信号。3-8译码器和5-32译码器可以用基本的组合逻辑电路实现,基本逻辑门可以调用理想的VerilogA模型。

poYBAGQdHAyAEP-ZAABIl0gy9Xs020.png

图5: 译码电路原理框图

需要注意的是,RD与列控制信号COLx<7:0>或操作后输出真正的列控制信号COL<7:0>。这样一来,在数据读取时,RD=1,所有列信号都为1,表示所有列有效,就可以一次8bit读出有效行的所有数据。而熔丝编程时,RD=0,并不影响列控制信号,可以实现对每一位fuse的编程操作。

5.2 fuse 单元电路

我们看下图,其为第0行、第0列对应的fuse单元电路。图中用R1表示fuse。M1为编程开关,大尺寸,可以流过大电流。M2为读取开关,提供读取电流。

pYYBAGQdHBmAeWV2AAA_x94cUYc297.png

图6: fuse单元电路

编程时:当行列信号以及PGEN同时有效,M1导通,流过大电流,熔断fuse。读取时:当行列信号和RD同时有效时,M2导通,提供一路读取电流,读取电流在fuse两端形成压降,输出点经过反相之后的值即为读取结果。具体为:

(1)fuse熔断前,R1很小,R下端电压为高,D0_0=0;

(2)fuse熔断后,R1很大,R1下端电压为低,D0_0=1;

5.3 Read电路

下图所示为第0列读取电路原理图,其实质上是将第一列的所有fuse单元的结果进行了求和。

pYYBAGQdHCaARqF3AAA9SddSq_A306.png

图7:Read电路原理图

之所以可以用最简单的求和电路来实现,是因为基于这样一个认识:

因为读取的时候,是从第0~第31行依次来读的,也就是说开始读第0行时,其他行都不读取,所以其他行的数据为0,因此求和并不会影响当前行数据的读出。当然,读其他行的时候也是一样的道理。

6. 写在最后

说说这个模型的缺点吧。该模型不能实现编程然后读取的一体动作。为什么呢?因为fuse是用一个电阻代替的,而电阻是没有记忆能力的,无论编不编程,阻值一旦给定就不能改变。那么这一点有没有办法改进呢?我想是有办法的。设想有一个记忆单元,只要不受到编程触发,就一直保持为0,一旦受到编程触发,就变为1,那就可以解决这个问题。具有这种功能之一的,电平触发型DFF是一个选择。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 保险丝
    +关注

    关注

    3

    文章

    540

    浏览量

    43510
  • adc
    adc
    +关注

    关注

    95

    文章

    5642

    浏览量

    539274
  • 建模
    +关注

    关注

    1

    文章

    280

    浏览量

    60488
  • SPICE
    +关注

    关注

    5

    文章

    171

    浏览量

    42199
  • eFuse
    +关注

    关注

    1

    文章

    22

    浏览量

    5930
收藏 人收藏

    评论

    相关推荐

    功率器件 Spice 模型建立

    社区有关于器件 SPICE model建模的吗,如LDMOS、VDMOS、IGBT、SiC功率器件spice model?可以相互讨论一下,或者有建模需求的也可以沟通。
    发表于 04-12 22:37

    木雕的扫描建模如何实现

    `木雕的扫描建模如何实现?随着3D雕刻设备在木雕行业的普及,一台数控立体雕刻机可以同时制作数个立体或平面木雕工艺品,大大简化传统木雕行业的雕刻周期与难度。而3D雕刻工作前提是要有完整的木雕3D模型
    发表于 07-31 11:49

    电源旁路之SPICE仿真与现实的差距

    的电容等寄生组件都包括在内。因此,我们常常会对非完美电源的各种影响进行建模,目的是查看它对器件的影响情况。但是,这种精细度已经超出了宏模能够仿真的程度。使用 SPICE 宏模对您的放大器电路
    发表于 09-26 11:22

    请问candence Spice能做氮化镓器件建模吗?

    candence中的Spice模型可以修改器件最基本的物理方程吗?然后提取参数想基于candence model editor进行氮化镓器件的建模,有可能实现吗?求教ICCAP软件呢?
    发表于 11-29 16:04

    业界领先的半导体器件SPICE建模平台介绍

    的解决方案。    产品优势  所有领先代工厂和先进IDM的标准建模工具  完整和强大的SPICE建模功能  高效和精准的参数提取和优化引擎  领先的
    发表于 07-01 09:36

    如何使用spice进行模拟仿真?

    如何使用spice进行模拟仿真,以此来减少初始误差并缩短开发时间?
    发表于 04-12 06:57

    如何为可变R-L-C元件的SPICE模拟行为建模

    可变R-L-C元件的SPICE模拟行为建模如何通过外部电压源进行器件值调节的若干无源元件?
    发表于 04-22 06:40

    求助,为pwm性能建模,想为驱动级找到一个spice模型

    我正在为 pwm 性能建模,想为驱动级找到一个 spice 模型——谢谢……
    发表于 01-16 08:48

    ADIsimPE如何导入SPICE模型,进行设计仿真?

    HI ,我问一下,ADIsimPE 如何导入 SPICE 模型,进行设计仿真?
    发表于 11-17 14:36

    基于spice3f5的建模工具的器件建模机制实现模块复用和快速原型化开发

    器件模型的开发往往受制于软件开发商提供的建模手段,友好的建模流程会大大提高开发效率。该文介绍了轻量级模型参数提取优化工具的设计方法。在研究分析伯克利大学开放源码spice3f5的基础上设计动态链接库
    发表于 12-05 17:50 1203次阅读
    基于<b class='flag-5'>spice</b>3f5的<b class='flag-5'>建模</b>工具的器件<b class='flag-5'>建模</b>机制<b class='flag-5'>实现</b>模块复用和快速原型化开发

    SPICE滞后建模的解决办法

    本文提供了一种构建标准 SPICE 模型的技术,该模型能够对具有连续滞后的系统的基本特征进行建模
    的头像 发表于 04-26 16:06 1388次阅读
    <b class='flag-5'>SPICE</b>滞后<b class='flag-5'>建模</b>的解决办法

    KT150电子管spice建模

    KT150电子管spice建模资料分享
    发表于 06-13 14:29 2次下载

    ECLinPS 和 ECLinPS Lite SPICE I/O 建模套件

    ECLinPS 和 ECLinPS Lite SPICE I/O 建模套件
    发表于 11-15 19:17 0次下载
    ECLinPS 和 ECLinPS Lite <b class='flag-5'>SPICE</b> I/O <b class='flag-5'>建模</b>套件

    EPT Spice 建模套件

    EPT Spice 建模套件
    发表于 11-15 19:17 0次下载
    EPT <b class='flag-5'>Spice</b> <b class='flag-5'>建模</b>套件

    ECLinPS Max (SiGe) SPICE 建模套件

    ECLinPS Max (SiGe) SPICE 建模套件
    发表于 11-15 19:37 0次下载
    ECLinPS Max (SiGe) <b class='flag-5'>SPICE</b> <b class='flag-5'>建模</b>套件