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

@[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将网表固定后的修改进行了点对点的对比。

流程规范

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

参考文档

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

相关推荐
golove66633 分钟前
嵌入式硬件基础知识
嵌入式硬件
牧码岛1 小时前
物联网之Arduino编程语言、条件语句、循环语句、变量、数组、函数
c++·嵌入式硬件·物联网
梦境虽美,却不长2 小时前
51单片机快速入门之按键应用拓展
单片机·嵌入式硬件·51单片机
合宙Luat2 小时前
从边缘到云端,合宙DTU&RTU打造无缝物联网解决方案
嵌入式硬件·物联网·硬件工程·lua
会编程的果子君2 小时前
51单片机-系列-单片机基础知识入门&&流水灯
单片机·嵌入式硬件·51单片机
johnny_zi3 小时前
08 - RTC实验
python·单片机·嵌入式硬件
winds~4 小时前
MCU与SOC的区别
单片机·嵌入式硬件
贾saisai6 小时前
Xilinx系FPGA学习笔记(八)FPGA与红外遥控
笔记·学习·fpga开发
孤芳剑影7 小时前
编写程序模版的搭建
java·开发语言·嵌入式硬件
沐欣工作室_lvyiyi8 小时前
智能家居环境监测系统设计(论文+源码)
单片机·嵌入式硬件·stm32单片机·毕业设计·智能家居·课程设计