降低芯片流片风险的几种方法

@[TOC]

#说明

该文章仅科普下各方法是如何降低流片失败的可能性的。

#1. UVM方法学

  1. uvm方法学的主要思想是通过用其它高级语言(python、c等)编写参考模型(REF)实现DUT设计相同功能。再使用uvm的一系列验证组件将相同的激励给到REF及DUT,使得二者的结果一致,则认为DUT在这种激励条件下的行为正确。典型的例子是算法转RTL ip。则可在实现了RTL设计后,使用原始算法对实现的RTL进行检查。

  2. 某些复杂的ip三方可提供对应的ip服务,即提供该ip,另外也会提供uvm对应的验证组件vip,使得再待测系统中可使用该vip检查对ip的一系列检查(对该ip的接口操作检查、集成检查)。买ip、vip可大大减少芯片开发的周期,因为对应的ip可能复杂性都比较高。

  3. uvm验证方法学的主题思想是需要提供完整的激励进行覆盖率的收集,重点并不是环境有多么的完美,还是要回到覆盖率本身。需要对所有的功能点进行特定的激励生成。

  4. 对于每个功能点都需要有特定的check,没有自动比对的check机制是不完美的。比如通过波形check的手段,无法保证下一次的再跑该case时的情况是否正确。

软硬件协同

  1. 在soc中将各个子系统进行了整合,那怎么保证这个整合是正确的。uvm的验证可能更偏向于对于每一个子系统进行检查,软硬件协同便可以解决该问题了。软件设计一整套流程,硬件需配合该流程完成一系列操作,如果最终结果正确,既能说明硬件设计正确,软件也正确。

  2. 软件可通过编译,将对应的软件编译文件通过后门访问写入uvm对应组件中,即可进行软硬件问题的定位。

  3. 软硬件验证过程中的用例可作为后续软件开发的SDK提供给用户使用。也是芯片交付的一部分。

#FPGA

1.fpga是指将芯片整体映射到一块可编程的板子上,当然这块板子肯定比真实的芯片大多了。使用fpga可使得软硬件协同验证的收敛速度大大加快。

  1. fpga的速度高于vcs、uvm的仿真。原因是fpga内部的与或非等逻辑都是有真实的硬件存在。而vcs等都是通过电脑的cpu进行该运算的模拟,当芯片规模大起来后,fpga的速度优势更加明显。所以可以在fpga上进行某些用例的回归,跑case快了, 那问题暴露的几率肯定也就是变大了。

  2. fpga发现问题快,但是定位问题却很慢,可通过uvm进行仿真使得问题定位加快;

加速器

个人工作上没咋接触过这个,简单聊聊,说错了请帮忙指正。

  1. 加速器和fpga类似,不过和fpga相比,允许的速度稍微逊色一点,但换来的是问题定位的快速性。加速器内部含有一些用于定位的逻辑,这也是为啥加速器速度不及fpga的主要原因。加速器很贵(几百万级别),可租用。

形式验证Formal

  1. 形式验证主要是减少重提网表后DFT、后端布局布线的工作量。假设后端布局布线已经完成,此时前段发现一个bug需修复,则前段修改代码,后端修改网表。比对二者修改后的内容一致即认为修改正确。formal将网表固定后的修改进行了点对点的对比。

流程规范

这不用多说了吧,芯片那么复杂需要需求、设计、验证、软件等一系列的沟通,单纯口头上的沟通是远远不够的,需要文档记录等一系列的流程规范。

参考文档

降低芯片流片失败风险的"七种武器"

相关推荐
小菜鸟学代码··3 小时前
STM32文件详解
stm32·单片机·嵌入式硬件
马浩同学4 小时前
【GD32】从零开始学GD32单片机 | DAC数模转换器 + 三角波输出例程
c语言·单片机·嵌入式硬件·mcu
可知可知不可知5 小时前
明解FPGA中LUT原理
fpga开发
如何学会学习?7 小时前
3. FPGA内部存储资源
fpga开发
szxinmai主板定制专家7 小时前
【国产NI替代】基于A7 FPGA+AI的16振动(16bits)终端PCIE数据采集板卡
人工智能·fpga开发
最后一个bug7 小时前
STM32MP1linux根文件系统目录作用
linux·c语言·arm开发·单片机·嵌入式硬件
stm 学习ing7 小时前
HDLBits训练6
经验分享·笔记·fpga开发·fpga·eda·verilog hdl·vhdl
wenchm7 小时前
细说STM32F407单片机IIC总线基础知识
stm32·单片机·嵌入式硬件
szxinmai主板定制专家8 小时前
【NI国产替代】基于国产FPGA+全志T3的全国产16振动+2转速(24bits)高精度终端采集板卡
人工智能·fpga开发
stm 学习ing8 小时前
HDLBits训练4
经验分享·笔记·fpga开发·课程设计·fpga·eda·verilog hdl