IC_Verification
文章平均质量分 89
OnePlusZero
为天地立心,为生民立命,为往圣继绝学,为万世开太平
展开
-
总结我的验证思路:我们的代码还需要检视,但检视什么也保证不了
本文转自公众号“数字芯片实验室”,作者:夏晶 。谢谢再谈检视,首先引用一个对检视的不同观点:review真的最有效吗or导致更多的BUG?review:中文叫评审。本人见过这个做法的最早出处是朱兰的质量手册。在很长一段时间被软件行业认为是最有效的保证代码质量的手段。在这段时间的质量高压之下,我们再次见到了红红火火的各种代码review,自检,互检,飞检,X检。这让我想起了考试,考试完了都要自己检查几遍再交卷。(当然是在能够把题目做完的情况下),偶尔我们也会在考场上互检(不过这个可能属...转载 2020-09-11 09:55:14 · 1850 阅读 · 1 评论 -
总结我的思路,如何在验证中发现和定位Bug:验证目的
本文转自公众号“数字芯片实验室”,作者:夏晶 。谢谢发现Bug,发现所有的Bug,或者证明没有Bug,是验证存在的唯一目的。无论任何验证语言、任何验证环境、任何验证方法学、任何FeatureList,都是为了达成这一目的而使用的方法,或者说手段。偏离了这一目的的任何工作和努力,都是屎、大便、Shit。绝对不要被任何华丽的技巧、方法、经验所迷惑,无论验证环境有多么美丽,无论验证语言有多么的HighLevel,都不要迷惑。不要为了追求完美、高效的环境而沉迷其中,陷阱往往就在美丽的后面...转载 2020-09-11 09:53:01 · 1610 阅读 · 0 评论 -
总结我的验证思路:怎样追波形
本文转自公众号“数字芯片实验室”,作者:夏晶 。谢谢曾经,有同事仿真挂死,抱着显示器看波形,看了两天,没有结果,给我,我看了30分钟,找到了原因;曾经,在同事已经仿真Pass,最简单的中断测试波形中,我找到了超过20个Bug(和中断测试无关)。所以有同事问我怎么做到的,所以引出了我写这个连载。在这个连载的最后一节,我最后分享一下,我通过波形发现问题,及问题的原因的一些经验。一回生,二回熟。很多新晋的验证人员抱怨,这么多信号,这么复杂的连接关系,千头万绪,眼睛都看得长挑针,还是看不出东西..转载 2020-09-08 22:10:48 · 1963 阅读 · 1 评论 -
总结我的验证思路:波形为王
本文转自公众号“数字芯片实验室”,作者:夏晶 。谢谢波形不撒谎,这是我做验证的格言。波形是真理,可以击破一切虚假、迷乱的谎言。波形,是一个逻辑正确运行的最直观的体现,是逻辑在每一个时钟沿,触发每一个信号的跳变或不跳变,进而产生美丽的,如波浪般运转的脉动。中医看病,讲究的是,望、闻、听、切,验证看波形Check缺陷,正如中医诊断的切脉诊病,除非医术达到精深广博,否则仅靠望、闻、听断病,是不够的。规格是人写的,详细设计是人写的,激励是人写的,RM是人写的,自动比对及Lo...转载 2020-09-08 22:08:39 · 1124 阅读 · 0 评论 -
总结我的验证思路:测试数据会撒谎
本文转自公众号“数字芯片实验室”,作者:夏晶 。谢谢测试数据会撒谎,没错,测试数据会撒谎。当黑暗蒙住双眼,迷途的羔羊啊,如何才能追随上帝的步伐。当信息不能最直接显示,而需要通过其他现象推导或表现,并且人数超过3个的时候,则测试数据会撒谎。这种情形,主要出现在FPGA测试和样片测试中。当问题出现在这两种测试环节中时,现象往往都非常表面,虚得很,就像浮在水面上,而真正的Bug,往往潜伏在深邃的水底,而水面上,还经常有浮萍啊、乌龟啊,或者紫金矿业的污染物啊之类的阻挡,要像EDA验证一样...转载 2020-07-28 21:55:57 · 564 阅读 · 0 评论 -
总结我的验证思路:“开门红” Test Case
本文转自公众号“数字芯片实验室”,作者:夏晶 。谢谢根据规格分解FeatureList,根据FeatureList对应TC,然后再一条一条仿真TC反过来映射FeatureList和规格。没错,这是最通常的做法,可惜我不这样做。世间有80:20原则,验证也是,80%的问题都可以通过20%的测试和时间去发现和解决,而剩余20%的问题需要80%的测试和时间去解决。所以,按照我的思路,会有几个最初级的TC,可以用来测试最基本的通路能否冒烟,这几条TC,可以划归到TCList中,也可以不划...转载 2020-07-28 21:52:49 · 1631 阅读 · 0 评论 -
验证的方法篇之六:效能验证
本文转自:http://www.eetop.cn/blog/html/28/1561828-445858.html在PC时代,还少有人将处理器功耗提上验证的日程,因为大家对于处理器性能的关注多于功耗的考虑。在十多年前,大家使用2G的功能手机,“超长待机”一词渐渐被作为主打广告语进入了用户的视线,这得益于硬件本身的低功耗(性能本身不要求太突出)和大容量的电池。而到了智能手机时代,伴随着将桌面办公...转载 2018-09-03 14:46:49 · 1966 阅读 · 0 评论 -
验证的方法篇之五:硬件加速
本文转自:http://www.eetop.cn/blog/html/28/1561828-445857.html我们之前介绍过的动态仿真和静态检查方法各自具有优势,然而它们都不具备的一个优势在于速度。尤其是在SoC的设计体量越来越大的时候,仿真速度成为制约验证进度的重要障碍。同时,由于仿真速度的限制,一些真实的用例也无法在RTL级仿真很快地呈现结果,这种困难在硅后软件测试发现问题反馈给硅前硬...转载 2018-09-03 14:46:15 · 4033 阅读 · 0 评论 -
验证的方法篇之四:虚拟模型
本文转自:http://www.eetop.cn/blog/html/28/1561828-438528.html对于系统虚拟建模的广泛定义是它包含高抽象级的系统硬件模型,而与此同时软件开发可以在此硬件模型基础上展开。通过这种方式,虚拟模型不但可以让软件开发在更早期就展开,而且还可以收获软件开发的反馈,从而交给硬件设计。 这种反馈在以往的瀑布模式开发周期中是无法实现的,因为软件往往需要...转载 2018-09-03 14:45:37 · 1358 阅读 · 0 评论 -
验证的方法篇之三:开发环境
本文转自:http://www.eetop.cn/blog/html/28/1561828-438527.html如果我们将影响验证编码效率的因素分为“硬件因素”和“软件因素”,那么硬件因素的配置在短期是可以补齐的,而软件因素则会设计到验证人员的技术能力、调试能力和其它软实力。所以从实用的角度上来看,如果准备在验证道路上长期深耕的话,更早地提高硬件环境配置是一笔越早投入收益越大的事情。 ...转载 2018-09-03 14:43:33 · 1256 阅读 · 0 评论 -
验证的方法篇之二:静态检查
本文转自:http://www.eetop.cn/blog/html/28/1561828-438526.html与动态仿真相对的是静态检查,它本身不需要仿真、波形激励,通过工具的辅助,验证人员即可以发现设计中存在的问题。静态检查方法较为分散,且关注的验证领域也不为一致,我们将目前主要的方法概括为: 语法检查(syntax check) 语义检查(linting check)...转载 2018-09-03 14:42:45 · 3859 阅读 · 0 评论 -
验证的方法篇之一:动态仿真
本文转自:http://www.eetop.cn/blog/html/28/1561828-438525.html从这一季开始我们进入了《验证的方法篇》,之所以单独分出一季来介绍验证的方法和工具,一方面是目前验证方法的分支和其工具种类繁多,另外的是希望读者可以在系统了解了验证的工具库之后,在验证设计的时候首先有一套工具箱,而后再根据设计的特点将其结合不同的验证方法和工作,最终取得满意的效果。...转载 2018-09-03 14:42:02 · 9145 阅读 · 0 评论 -
验证的策略篇之六(终):集成的环境
本文转自:http://www.eetop.cn/blog/html/28/1561828-438327.html在分析完激励的原则的检查的方法之后,我们关于验证平台(testbench)的核心要素就大致齐备了。接下来我们将进一步分析整个验证集成环境要考虑的部分有哪些,通过这些分析了解这些部分之间的关系。从下面这张图我们将验证集成环境分为了: 验证平台(verification plat...转载 2018-09-01 09:20:42 · 561 阅读 · 0 评论 -
验证的策略篇之五:检查的方法
本文转自:http://www.eetop.cn/blog/html/28/1561828-438326.html我们在上一节《激励的原则》里面给出了几点用来评估激励自由度的方法,在这篇文中,我们则需要考虑在各种可能的激励组合下,如何选择适当的检查来完成一项核心要素:检查就是查看设计是否按照功能描述做出理应的行为,并且识别所有错误的输出从而发现设计缺陷。 对于激励我们是从接口类型来划分...转载 2018-09-01 09:20:06 · 847 阅读 · 0 评论 -
验证的策略篇之四:激励的原则
本文转自:http://www.eetop.cn/blog/html/28/1561828-438325.html我们这篇文章《激励的原则》实际上就是解决一件事情,那就是如何保证激励源最大的自由度?因为只有从环境结构上保证了激励源最大的自由度,我们才有可能在输入一侧提供更丰富的输入组合,有条件地穷历一些测试序列。 按照这个核心原则,我们可以将激励的自由度按照如下去考虑评估: 接口...转载 2018-09-01 09:19:28 · 990 阅读 · 0 评论 -
验证的策略篇之三:验证的透明度
本文转自:http://www.eetop.cn/blog/html/28/1561828-438324.html我们可以按照激励的生成方式和检查的功能点分布将验证划分为三种基本方式: 黑盒验证 白盒验证 灰盒验证 接下来,我们逐个解释这三种不同透明度的验证特征。 黑盒验证如果验证人员对于设计的细节缺乏认识,那么黑盒验证是一种合适的方式。因为验证环境只...转载 2018-09-01 09:18:53 · 934 阅读 · 0 评论 -
验证的策略篇之二:验证的层次
本文转自:http://www.eetop.cn/blog/html/28/1561828-437618.html从系统定义阶段开始,我们就会将芯片系统划分为子系统,进而又为每个子系统划分为不同的功能模块,直到划分为复杂度合适的模块。而到了设计阶段,我们又会按照自底向上的方式开始做硬件设计和集成。从定义阶段到设计阶段再到后端部分,我们整个硅前的流程都是将芯片按照层次划分的,一般我们称之为芯片系...转载 2018-09-01 09:18:14 · 4383 阅读 · 0 评论 -
验证的方法篇之七:性能验证
本文转自:http://www.eetop.cn/blog/html/28/1561828-445859.html在迈过了效能验证的坎以后,我们来到了性能(performance)验证部分。顾名思义,在这部分验证当中我们需要测试芯片的性能,而测试性能又离不开大量的运算或者数据传输。我们之前提到过,硅前RTL验证的瓶颈之一在于仿真速度,而且一旦到了芯片级仿真,这一因素就更进一步放大了。 ...转载 2018-09-03 14:47:22 · 11188 阅读 · 0 评论 -
验证的方法篇之八:趋势展望
本文转自:http://www.eetop.cn/blog/html/28/1561828-445860.html目前主要的验证方式包括动态仿真、形式验证和硬件加速,那么如何选择它们,已经是否可以构建一个可复用的验证平台实现这些不同验证方法的跨越是接下来我们需要关心的。随着设计的尺寸和复杂度在不断提高,即便有IP复用的方式来缩短设计时间,更多模块之间的互动可能性也要求更充分地去验证这些状态空间...转载 2018-09-03 14:47:57 · 372 阅读 · 0 评论 -
ASIC验证全流程
原创 2019-03-20 14:04:04 · 2124 阅读 · 0 评论 -
ASIC全流程
原创 2019-03-20 13:28:39 · 1436 阅读 · 0 评论 -
Verification 3.0 你准备好了么?
来源:路科验证;原创:张石Jim Hogan,Vista Ventures和LLC的执行合伙人jimHogan也是EDA领域资深的投资者,最近一直在关注一些验证初创公司,包括云技术公司-Metrics以及便携式激励(portable stimulus)的先驱Breker Verification systems。他还将OneSpin Solutions的形式验证加入到了他的长期关注的列表中。这...转载 2018-12-04 19:16:37 · 732 阅读 · 0 评论 -
自动创建SOC测试平台
本文转自:http://www.eetop.cn/blog/html/28/1561828-437620.html复用对于测试平台的开发和部署是非常重要的,我们经常谈论复用验证IP(简称VIP),然而,复用测试平台的结构同样很重要。手动构建测试平台是一个耗时和成本昂贵的过程,此外,它很难保证一致性。为了缓解这个问题,Cypress 创建了一个测试平台自动生成器,并命名为TBGen。 T...转载 2018-10-17 13:33:26 · 1511 阅读 · 1 评论 -
用于硬件设计的开源版本控制系统(Git)
本文转自:http://www.eetop.cn/blog/html/28/1561828-437263.html版本控制系统是每一个开发流程中不可或缺的一部分。传统上,硬件设计公司为单独一个工程使用一个中央版本控制系统,但这样会强加给硬件团队很大的局限性。一个流行的可缓解此问题的解决方案就是像Git这样开源的分布式版本控制系统。 我们可以想象一个场景:一个团队,一起研发一个复杂的可以...转载 2018-10-17 13:28:54 · 1527 阅读 · 0 评论 -
安全防护与信息加密:一个新的挑战
本文转自:http://www.eetop.cn/blog/html/28/1561828-6339369.html首先来说:在芯片中增加安全防护(safety)和信息加密(security)特性需要付出额外的代价,如何去评估和控制这种代价其影响是非常深远的。并不是说所有的技术应用都能带来相应的回报。 从目前来看,还没有人能够很好地将安全防护和信息加密的特性集成到他们的设计当中去。很大...转载 2018-10-18 18:38:53 · 331 阅读 · 0 评论 -
PowerDomain简介
本文转自:http://www.eetop.cn/blog/html/28/1561828-5940203.htmlSynopsys 推荐的 UPF 流程简介 上次介绍了在当前先进制程下低功耗设计实现都需要UPF技术的支持,否则在功耗验证的时候将会很难验证并且对后续的综合和后端实现也带来了很大的困难和挑战。既然当前低功耗设计实现都离不来UPF标准,那么什么是UPF呢?UPF的全称是...转载 2018-10-18 18:40:11 · 6589 阅读 · 0 评论 -
如果仿真搞不定,那么模拟就一定行吗?
本文转自:http://www.eetop.cn/blog/html/28/1561828-5940202.html路桑点评“当我们发觉SoC系统越来越大的时候,我们转而求向其它验证手段,譬如FPGA和Emulator,但即便是模拟器也有它的短板所在。本文中的观点,针对日益复杂的SoC系统,如果只是单纯地将硬件RTL模型装载到模拟系统中,从速度和复杂性来看,都变得不可承受;如果考虑将验证...转载 2018-10-18 18:41:02 · 340 阅读 · 0 评论 -
Verification和Validation傻傻分不清楚?
本文转自:http://www.eetop.cn/blog/html/28/1561828-6339384.htmlVerification:相比Validation,确认产品功能、服务或系统是否符合规则、要求、规范和强制条件,通常是还没有面向客户的内部过程,看有没有“把事情做对”。Validation:相比Verification,要确保产品功能、服务或系统能够满足客户或其他利益相关者的...转载 2018-10-18 18:35:44 · 21838 阅读 · 0 评论 -
完成功能验证就足够了吗?
本文转自:http://www.eetop.cn/blog/html/28/1561828-445863.html基于验证的复杂性和验证的目的意义,验证的完成结束有许多层意义。对于一个新的设计,验证工作的完成有两种基本的节点,功能性验证完成和RTL验证完成,二者的不同在于一个完全着眼于功能属性,而另一个为确保设计的正确性加入了一些主观的RTL测试。对于前者,功能性验证中,虽然工程师们使用了...转载 2018-09-03 14:49:07 · 605 阅读 · 0 评论 -
从参数、UVM、覆盖率、仿真来详解IP复用
本文转自:http://www.eetop.cn/blog/html/28/1561828-445864.html半导体工艺技术和FPGA平台继续扩大了工程师可利用的晶体管和门的数目。而要利用这个增加的容量,而且为了及时争取市场窗口,要仍然跟上紧迫的项目时间表,在这种情况下,唯一方法是通过使用已有的IP。因此,IP复用对半导体工业的扩张至关重要。本文将从参数,UVM,覆盖及仿真方面介绍验证可复...转载 2018-09-03 14:48:34 · 2149 阅读 · 0 评论 -
验证的策略篇之一:设计的流程
本文转自:http://www.eetop.cn/blog/html/28/1561828-437266.html我们在上一章芯片验证全视中给出过芯片产品开发的流程图,而在描述中我们将开发流程分为了两条主线: 芯片功能的细分 不同人员的任务分配 即是说不同人员需要在硅前的不同阶段实现和测试芯片的模块功能。 如果我们从另外一个角度看,芯片的开发即是将抽象级别逐次降低的...转载 2018-09-01 09:17:37 · 2020 阅读 · 0 评论 -
串并行接口的参数化可复用抖动(jitter)模型
本文转自:http://www.eetop.cn/blog/html/28/1561828-513397.html抖动是指信号相对于其时间理想位置发生的短暂变化,可能会造成数据接收模块接收到错误的数据。在验证串行或并行接口数据传输时,很有必要模拟这种抖动。串行通信时,很多情况下时钟并不和数据一起发送。这样做可以减少引脚数,进而降低封装成本。当然这样的话,当数据被接收时,要从数据中恢复得到时钟信...转载 2018-09-01 09:16:16 · 803 阅读 · 0 评论 -
验证系统平台的发展趋势
本文转自:http://www.eetop.cn/blog/html/28/1561828-662724.html近年来,在电子工业领域发生着一个显著的变化,那就是软件在整个系统中越来越多的成为主导者,甚至在很多产品中,软件应用成为唯一的不同点,这样使得许多系统公司对于半导体硬件公司的期望很多,希望他们不仅仅是能够提供物理芯片的设计,而且能够准备好包括软硬件的系统平台以供他们去开发新的软件应用...转载 2018-08-24 14:33:35 · 401 阅读 · 0 评论 -
UVM常用脚本语言简介
本文转自:http://www.eetop.cn/blog/html/28/1561828-3242382.html为了达到高效完整的验证的目的,我们不仅仅需要SV/UVM这种大规模杀伤性武器,往往还需要使用各种各样的语言和工具来进一步提升效率,正所谓条条大路通罗马,本期就带大家了解一下常用的脚本语言。 首先,什么是脚本语言呢?脚本通常是以文本(如ASCII)保存,只在被调用时进行...转载 2018-08-24 14:23:43 · 2396 阅读 · 0 评论 -
当验证做的足够好的时候是否就可以拿去流片了?
本文转自http://www.eetop.cn/blog/html/28/1561828-6339375.html对于全球的工程团队来说,验证是困扰他们的巨大挑战,他们想知道怎样的“足够”是“好的足够”,是“足以进行流片”的“足够”。答案并不简单,它包含了比以往更多的变量,特别是在功耗方面。 Mentor Graphics的首席验证科学家Harry Foster指出,当使用“测量”这个...转载 2018-08-28 11:10:58 · 1236 阅读 · 0 评论 -
芯片验证全视之一:功能验证介绍
本文转自:http://www.eetop.cn/blog/html/28/1561828-433734.html如果你在设计一款计算器,除了加减乘除的基本功能以外,在科学计算层面上,你需要注意到三角函数、取模、阶乘、幂运算、开根号等等复杂运算。如果你在设计一款处理器,你需要考虑将其拆分成为运算器(算术逻辑运算单元,ALU,Arithmetic Logic Unit)和高速缓冲存储器(Ca...转载 2018-08-30 21:06:20 · 11291 阅读 · 0 评论 -
验证的管理篇之七: 验证的专业化
本文转自:http://www.eetop.cn/blog/html/28/1561828-550235.html人们对一个行业所产生的偏见多半是由于没有亲身体验过,而在芯片领域验证所接收到的偏见也丝毫不少于其它行业所面临的窘境。在每次新开学与我的学生们交流的时候,他们对于验证的理解仍然停留在当初学习VHDL或者Verilog所学到的通过一个简易包装的测试盒子,固定的激励源和细致的时序激励调整...转载 2018-08-24 14:16:19 · 342 阅读 · 0 评论 -
验证的管理篇之六:验证师的培养
本文转自:http://www.eetop.cn/blog/html/28/1561828-550234.html我们在之前的《芯片验证全视篇》中针对验证师的“自我修养”提出了包括技术和项目在内的要素分析,从《一名验证师的自我修养》一文可以发现验证师需要得到各方面的锻炼。在这些因素背后,通过日常的观察,我们可以发现优秀验证师之间的共同能力。这些能力不完全是与生俱来,如果你愿意下功夫,也可以在下...转载 2018-08-23 14:33:06 · 498 阅读 · 0 评论 -
验证的管理篇之五:团队建设
本文转自:http://www.eetop.cn/blog/html/28/1561828-550233.html可能在工程技术领域要找出比芯片验证更考验团队合作的项目类型会很难,之所以这样讲,是因为验证质量只有在流片之后经过测试、用户反馈才能得到最终的结果,而且,验证非常依赖于团队的整体协作,一百个人的验证协作如果其中有一个人疏忽了,那么我们只能心里默默祈祷,他疏漏的模块功能作用没有那么广。...转载 2018-08-23 14:32:09 · 428 阅读 · 0 评论 -
验证的管理篇之四:让漏洞无处可逃
本文转自:http://www.eetop.cn/blog/html/28/1561828-513776.html在上一节我们提到如何快速有效地进行验证收敛,即利用递归测试表来产生更多复杂场景和提高验证的覆盖率。在验证收敛的过程中,每一个人,无论你是验证人员、设计人员还是系统人员,都不可避免地会遇到一个问题,那就是检测出了漏洞,应该怎么办? 对于设计漏洞而言,较容易理解,因为一旦验证环...转载 2018-08-23 14:31:16 · 312 阅读 · 0 评论