自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

TroubleMaker

为天地立心,为生民立命,为往圣继绝学,为万世开太平

  • 博客(78)
  • 资源 (17)
  • 收藏
  • 关注

转载 芯片验证全视之十一(终):验证长征路上的各种坑

本文转自:http://www.eetop.cn/blog/html/28/1561828-437265.html到现在,我们都渐渐意识验证的重要性——你不经意埋下的坑会在未来硅后测试中被暴漏出来,进而导致可能重新流片。一些时候,我们的团队并不会严格遵循验证周期和各项标准检查表,而且有时候一些常见的错误也会使得局部模块的缺陷导致整个芯片的功能失效。 那么我们一一来细数在验证过程中我们容...

2018-08-31 19:25:09 510

转载 芯片验证全视之十:一名验证师的自我修养(下)

本文转自:http://www.eetop.cn/blog/html/28/1561828-436968.html复杂度缺口这一缺口很容易理解,因为一旦芯片整体的复杂度提高,那么验证的复杂度是要高过设计的复杂度的,这种复杂度是固有的,因为……摩尔定律还在那里,尽管前些日子Intel宣称摩尔定律即将失效,这是考虑到工艺制程的物理极限而言的,但对于芯片集成度来讲,我们仍然不能乐观,因为科技总是...

2018-08-31 19:24:26 1346

转载 芯片验证全视之九:一名验证师的自我修养(上)

本文转自:http://www.eetop.cn/blog/html/28/1561828-436967.html首先声明一下,如果这一篇文章能够让你停下来5分钟思考你哪方面还有值得提高的地方,那么这篇文章对你来讲就是值得的。  我们在这些年都能够看到设计复杂性的不断增长,而让我们有能力去完成设计验证的也正是一群紧密合作的设计师和验证师。针对日渐复杂的设计,我们会通过不同的方法,例...

2018-08-31 19:23:03 1630

转载 芯片验证全视之八:验证的资源需求

本文转自:http://www.eetop.cn/blog/html/28/1561828-436966.html从前面的文章中我们可以明显地发现,对于验证周期的合理投入是非常有利于在硅前尽可能发现一些缺陷的。虽然真正检验功能验证标准的时间得到硅后测试阶段,但对于一家一般规模的公司他们可不希望有惊喜发生,因为一次流片的失败对于一家公司而言或许是灾难性的。所以,我们应该多投入资源到验证中去,是吗...

2018-08-31 19:22:24 1343

转载 芯片验证全视之七:验证的周期(下)

本文转自:http://www.eetop.cn/blog/html/28/1561828-436935.html这一节我们继续剩下的验证周期里的四个阶段。 递归测试递归测试指的是去验证之前的硬件功能在某个缺陷修复或者添加了某项新功能以后,仍然可以通过以前的所有测试用例(test case)和可能添加的新的测试用例。这些可能存在的环境变化包括硬件设计自身的改进、缺陷修复、功能添加和...

2018-08-31 19:21:51 1205

转载 芯片验证全视之六: 验证的周期(中)

本文转自:http://www.eetop.cn/blog/html/28/1561828-433794.html我们这节内容将带着大家深入验证周期的一些细节,目的在于更详细地帮助大家了解认知清楚每一个阶段的具体任务和值得注意的地方。  功能详述对于一个芯片,大到芯片自身,小到可以细分下来的模块,都需要系统工程师给出功能详述文档。我们这里举出较小颗粒度的模块功能详述文档,来看看...

2018-08-31 19:21:15 787

转载 芯片验证全视之五: 验证的周期(上)

本文转自:http://www.eetop.cn/blog/html/28/1561828-433793.html 功能验证有着一整套完备的流程,而且从硬件系统定义贯穿到硅后测试部分。一般来讲,一个验证团队会基于时间差同时进行多个项目,多个项目之间自然也存在着借鉴、更新的关系,所以验证的环境和复用性也是在不断提高的。而每一个项目在进行瀑布模式的开发时,验证团队也会在不同细分的流程当中完...

2018-08-31 19:20:42 2082

转载 芯片验证全视之四: 验证的任务和目标

本文转自:http://www.eetop.cn/blog/html/28/1561828-433776.html对于一名验证师而言,他的工作就是完成分配给他的任务,这个任务可能是模块级(module level)、子系统级(subsystem level)或者系统级(chip level)的。准确来讲验证的目标,就是“按时保质低耗”完成目标硬件设计的验证工作,这句话实际也包含了要完成验证目标...

2018-08-31 19:19:51 1979

转载 芯片验证全视之三: 验证能力的五个维度

本文转自:http://www.eetop.cn/blog/html/28/1561828-433754.html可能在贯穿到整个验证系统思想里面,我们都会不断重复验证人员该具备的素质。为了可以将抽象的词汇具象出来,我们列出了验证人员在验证流程中需要具备的五个技术维度。接下来让我分别解释这五个维度:   完备性:该维度要求验证的充分。无论你从项目经理、系统人员、设计人员还是验...

2018-08-31 19:19:12 3815

转载 芯片验证全视之二:验证的处境

本文转自:http://www.eetop.cn/blog/html/28/1561828-433735.html验证的目标讲起来很清晰,就是在一定的时间尽可能多的测试硬件设计,发现设计缺陷并报告出来。同时,验证本身也是一项棘手的挑战。这一点可以从语言发展的属性和EDA工具在验证支持的快速发展上得到佐证。 我们从VHDL的语言发展线路来看,它的标准IEEE Std 1076-1987逐...

2018-08-31 19:18:34 768

转载 芯片验证全视之一:功能验证介绍

本文转自:http://www.eetop.cn/blog/html/28/1561828-433734.html如果你在设计一款计算器,除了加减乘除的基本功能以外,在科学计算层面上,你需要注意到三角函数、取模、阶乘、幂运算、开根号等等复杂运算。如果你在设计一款处理器,你需要考虑将其拆分成为运算器(算术逻辑运算单元,ALU,Arithmetic Logic Unit)和高速缓冲存储器(Ca...

2018-08-30 21:06:20 11279

转载 大象终于要被装进冰箱了,学会SV也只差一步。完结撒花!

本文转自:http://www.eetop.cn/blog/html/28/1561828-5940110.html在上一期的Lab5中,我们将验证平台更为规范化。今天的Lab6的学习目标是: 实现功能覆盖率从而可以决定仿真何时结束。  在lab5中我们还遗留了一个问题:究竟发送多少数据包才能测试到所有输入端口和输出端口的连接? 根据我们已有的随机激励代码并不能解决这个问题。你需...

2018-08-30 21:01:53 376

转载 至今还没有把大象装进冰箱,但是学会SV只剩两步了

本文转自:http://www.eetop.cn/blog/html/28/1561828-5940109.html在上一期的Lab4中,我们对数据信息等进行了封装。今天的Lab5的学习目标是:1.创建一个Generator transactor的类。2.创建一个Driver的类。3.创建一个Reciever的类。4.拓展这个测试平台,并将Driver和Monitor同时连接到...

2018-08-30 21:00:44 338

转载 把大象装进冰箱要几步?不清楚,但是学会SV验证只剩3步了!

本文转自:http://www.eetop.cn/blog/html/28/1561828-5940108.html在上一期的Lab3中,我们创建了TB所需的组件,如Monitor和Checker。今天的Lab4的学习目标是:1.将数据信息封装进入Packet类中2.利用随机化(randomization)在packet类中随机产生源地址,目标地址和payload。3.创建两个pa...

2018-08-30 20:59:48 1334

转载 把大象装进冰箱要几步?不清楚,但是学会SV验证可能还需4步!

本文转自:http://www.eetop.cn/blog/html/28/1561828-5940107.html在上一期的Lab2中,我们拓展了测试平台并从一个输入端向一个输出端发送了数据包。今天的Lab3的学习目标是:1.构造一个从路由器输出端进行取样的监视器(Monitor)。2.构造一个可以验证路由器输出的比较器(Checker)。3.运行Driver和Monitor程序...

2018-08-30 20:58:56 797

转载 把大象装进冰箱要几步?不清楚,但是学会SV验证可能还需5步!

本文转自:http://www.eetop.cn/blog/html/28/1561828-5940106.html在上一期的Lab1中,我们给设计文件搭建了最简单的验证平台并编译和仿真过了这个SV程序。今天的Lab2的学习目标是:1.拓展lab1中的测试平台,从一个输入端向一个输出端发送数据包。2.用新的测试平台来编译和仿真设计文件。 在这次Lab中,你将继续去搭建测试平台上...

2018-08-30 20:58:16 494

转载 把大象装进冰箱要几步?我不清楚,但我知道学会SV验证只要6步!

本文转自:http://www.eetop.cn/blog/html/28/1561828-5940105.html路科决定给大家介绍更多与验证入门相关的知识,因此准备把Synopsys公司的一个十分适合新手的SV实验介绍给大家。在上一期的先导篇中我们介绍了验证在IC行业中的地位,验证的工作内容和验证平台的大概结构。最后又提到了我们这个实验的待测试的模块:一个16输入,16输出的路由器。不知道...

2018-08-30 20:57:18 1064

转载 UVM结构篇之四(终):构建环境的内经

本文转自:http://www.eetop.cn/blog/html/28/1561828-5720014.html在上一节如何建立MCDF子模块以及顶层环境复用方案的介绍中,读者们可以看到在发送测试序列之前,首先需要创建一个结构化的环境。如果我们将环境建立的核心要素拆解开来,那么它们可以分为下面四个部分: 单元组件的自闭性 递归创建 通信端口连接 顶层配置...

2018-08-29 11:10:08 1335

转载 UVM结构篇之三:把DUT装进TB分几步?(下)

本文转自:http://www.eetop.cn/blog/html/28/1561828-5720013.htmlMCDF顶层验证环境方案一如果参照SV篇章的MCDF顶层环境集成方式,也可以将上述的各个模块的UVM环境作为子环境集成复用到顶层。那么,顶层验证环境的结构图大致如下: 从这个图可以看到,MCDF的顶层验证环境分别复用了模块验证环境的如下组件: reg_mas...

2018-08-29 10:34:07 2704

转载 UVM结构篇之二:把DUT装进TB分几步?(上)

本文转自:http://www.eetop.cn/blog/html/28/1561828-5720012.html在SV篇章中,四位verifier们需要给MCDF(Multiple Channel Data Formmater)设计搭建验证环境,进而利用这些模块的验证组件在顶层可以完成集成复用。伴随着他们对UVM机制和组件家族的掌握,他们也开始将原有SV验证组件移植到UVM组件中。 ...

2018-08-29 10:30:37 2031

转载 UVM结构篇之一:组件家族

本文转自:http://www.eetop.cn/blog/html/28/1561828-5720011.html在我们之前《SV组件实现篇》中,那几位verifier们分别就着MCDF的几个模块实现了验证环境的组件。这些验证组件的按照功能的需要,分别称之为激励器(stimulator)、监测器(monitor)和检查器(checker)。这三个核心的组件与验证环境的三个关键特性对应,即激励...

2018-08-29 10:28:19 12931

转载 当验证做的足够好的时候是否就可以拿去流片了?

本文转自http://www.eetop.cn/blog/html/28/1561828-6339375.html对于全球的工程团队来说,验证是困扰他们的巨大挑战,他们想知道怎样的“足够”是“好的足够”,是“足以进行流片”的“足够”。答案并不简单,它包含了比以往更多的变量,特别是在功耗方面。 Mentor Graphics的首席验证科学家Harry Foster指出,当使用“测量”这个...

2018-08-28 11:10:58 1234

转载 UVM代码生成器的开发

本文转自:http://www.eetop.cn/blog/html/28/1561828-3571704.html毋庸置疑,UVM大大提高了我们开发验证平台的效率。但同时,熟练掌握UVM搭建验证平台也并不是一件容易的事情。同时由于不同验证工程师搭建环境的风格不太一致,所以在一个项目中常会出现不好管理,甚至前后不一相互矛盾的UVM代码。对于这些问题UVM 代码生成器基本都可以解决,更为关键的是...

2018-08-28 11:10:05 2718

转载 如何使用virtual sequence和virtual sequencer?

本文转自:http://www.eetop.cn/blog/html/28/1561828-3571706.html对于初入行的验证工程师,理解和搭建UVM验证环境是很重要的,而其中,virtual sequence的机制又是很有用很重要的一部分。本文希望通过了一些问题的回答,以及一个相对完整的结构帮助经验尚浅的工程师理清思路。 什么时候使用virtual sequencer 呢?下图...

2018-08-28 11:09:16 5423

转载 UVM通信篇之七(终):同步通信元件(下)

本文转自:http://www.eetop.cn/blog/html/28/1561828-5940104.htmluvm_callback应用除了UVM提供新的类方便组件之间的同步之外,另外一种同步方式回调函数(callback)也方便了类的封装复用。读者们可以试想一下,在通常情况下,如果得到了一个封闭的包,其中的类如果有些成员方法需要修改,或者需要扩展新的方法时,应该怎么做呢?如果这个...

2018-08-28 11:08:12 1097

转载 UVM通信篇之六:同步通信元件(上)

本文转自:http://www.eetop.cn/blog/html/28/1561828-5940103.html在之前SV的章节中,我们为大家介绍了SV中用来做线程间同步的几种方法,它们分别是semaphore、event和mailbox。然而在UVM中,同步的不再只局限于同一个对象中的各个线程,而是还有各个组件之间的同步问题。一旦发生同步的要求发生在各个组件之间,这就要求组件之间通过某种...

2018-08-28 11:07:25 1557

转载 UVM通信篇之五:TLM2通信

本文转自:http://www.eetop.cn/blog/html/28/1561828-5940102.html在本章之前的部分中,读者们认识了TLM是一种为了构建更高级抽象模型的传输方式。虽然SV语言本身没有原生TLM的传输方式,但是它在UVM中很好地集成进来了并且也充分在各个组件传输中运用了进来。在这里,需要注意的是,各个组件之间的通信是通过TLM1.0的方式实现的。而伴随着Syste...

2018-08-28 11:06:45 2599 1

转载 UVM通信篇之四:通信管道应用

本文转自:http://www.eetop.cn/blog/html/28/1561828-5940101.html在上一节《单向、双向及多向通信》中,读者们了解TLM通信的具体实现方式,而这些通信有一个共同的地方即都是端对端的方式,同时在target一端需要实现传输方法,例如put()或者get()。这种方式在实际使用过程中也不免会给用户带来一些烦恼: 如何可以不自己实现这些传输方法,...

2018-08-28 11:05:58 2492

转载 UVM通信篇之三:单向、双向及多向通信(下)

本文转自:http://www.eetop.cn/blog/html/28/1561828-5940100.html多向通信(multi-directional communication)多向通信这个概念听起来容易让读者产生歧义,因为这种通信方式解决的仍然是两个组件之间的通信,而不是多个组件之间的通信方式。毕竟,多个组件的通信方式仍然可以由基础的两个组件之间的通信方式来构建。这里的多向通...

2018-08-28 11:05:14 1183

转载 UVM通信篇之二:单向、双向及多向通信(上)

本文转自:http://www.eetop.cn/blog/html/28/1561828-5940099.html上一节已经通过一个实例,帮助读者们了解建立TLM通信的几个步骤。首先,需要明确initiator和target的区分,明白哪个组件首先发起了request,其次需要再按照transaction的流动方向划分producer和consumer,然后按照前后两种划分的组合,就知道使用...

2018-08-28 11:04:25 3593 1

转载 UVM通信篇之一:TLM通信概论

本文转自:http://www.eetop.cn/blog/html/28/1561828-5940098.html在目前SoC设计的几大挑战当中,最令人关注的莫过于: 爆炸性增长的复杂度(然而被互联网大佬们无视还号称要硬件免费的表示这真得受到了一万点伤害) 快速面向市场的压力(路桑在通信芯片这个ICer最容易“绝顶”的细分领域) 天价的流片费用和项目资金压力(一次流...

2018-08-28 11:03:31 5726 2

转载 UVM序列篇之八(终):sequence的层次化(下)

本文转自:http://www.eetop.cn/blog/html/28/1561828-5940201.htmlLayering Sequence如果我们在构建更加复杂的协议总线传输,例如PCIe,USB3.0等,那么通过一个单一的传输层级会对以后的激励复用、上层控制不那么友好。对于这次更深层次化的传输,在实际中,无论是VIP还是自开发的环境,都倾向于通过若干个层次的sequence群...

2018-08-27 15:07:26 1253

转载 UVM序列篇之七:sequence的层次化(上)

本文转自:http://www.eetop.cn/blog/html/28/1561828-5940200.html伴随着对sequence/item发送方式的了解,读者们也需要从之前4位初出茅庐的verifier梅、尤、娄和董他们的角度来看看,如何完成验证的水平复用和垂直复用。就水平复用而言,在MCDF的各个子模块的验证语境中,它指的是如何利用已有的资源,完成高效的激励场景创建;而就垂直复用...

2018-08-27 15:03:41 2611

转载 UVM序列篇之六:sequencer和sequence(下)

本文转自:http://www.eetop.cn/blog/html/28/1561828-5940199.htmlsequencer的仲裁特性及应用在之前我们就谈到了,uvm_sequencer类自建了仲裁机制用来保证多个sequence同时挂载到sequencer时,可以按照规则允许特定的sequence中的item优先通过。在实际使用中,我们可以通过uvm_sequencer::se...

2018-08-27 14:55:04 2758 1

转载 UVM序列篇之五:sequencer和sequence(上)

本文转自:http://www.eetop.cn/blog/html/28/1561828-5940198.html在之前的文章中,读者了解了sequencer与driver之间的传递sequence item的握手过程,同时也掌握了sequence与item之间的关系。接下来,我们需要就sequence挂载到sequencer上的常用方法做出总结,读者可以通过对这些常用方法和宏的介绍,了解到...

2018-08-27 14:47:23 11690

转载 UVM序列篇之四:sequencer和driver

本文转自:http://www.eetop.cn/blog/html/28/1561828-5940197.html我们之前在《新手上路》中谈过,driver同sequencer之间的TLM通信采取了get模式,即由driver发起请求,从sequencer一端获得item,再由sequencer将其传递至driver。按照TLM通信模式的描述, TLM通信可以绘制为下图:作为driv...

2018-08-27 14:43:02 11629 2

转载 UVM序列篇之三:sequence和item(下)

本文转自:http://www.eetop.cn/blog/html/28/1561828-5940196.htmlFlat Sequence一个flat sequence往往由细小的sequence item群落构成,在此之上sequence中还有更多的信息来完备它自身需要实现的激励场景。一般对于一个flat sequence而言,它里面包含的信息有: sequence item以...

2018-08-27 14:39:20 2972

转载 UVM序列篇之二:sequence和item(上)

本文转自:http://www.eetop.cn/blog/html/28/1561828-5940195.html无论是自驾item,穿过sequencer交通站,通往终点driver,还是坐上sequence的大巴,一路沿途观光,最终跟随导游停靠到风景点driver,在介绍如何驾驶item和sequence,遵守什么交规,最终可以有序地穿过sequencer抵达driver之前,读者又必要...

2018-08-27 14:35:00 3469

转载 UVM序列篇之一:新手上路

本文转自:http://www.eetop.cn/blog/html/28/1561828-5940194.html有了UVM的世界观,知道这座城市的建筑设计理念,也跟着码师们(实在不忍心用码农……)一起修建了各成独立环境的组件群落。读者们在经过一番实践,经过上一章讲的组件之间的通信方式,开辟了各个建筑之间的道路、桥梁和河道以后,就可以进入紧张繁忙的物流期了。如果城市里面没有交通,那么显然不会...

2018-08-27 14:32:28 2145

转载 多域验证:(电源域,时钟域,复位域)

本文转自:http://www.eetop.cn/blog/html/28/1561828-1865363.html许多新的SoC设计必须集成很多功能并消耗非常低的功耗,即设计可能会有很多时钟域,电源域和复位域。例如,我们最近分析的一个设计具有接近20个电源域,超过200个时钟域和最多32个复位域。标准验证工具和方法没有提供可靠的方法来分析不同的域并全面验证其互操作性。因此,开发多域验证(MD...

2018-08-24 14:46:36 2253

NCB-PCI_Express_Base_6.0.pdf

NCB-PCI_Express_Base_6.0.pdf

2022-01-12

sv_lab.zip

一个demo,关于systemverilog,完成的design和verification。希望有需要的朋友能看到

2019-10-16

uvm_lab.zip

一个demo,关于UVM,完成的design和verification。希望有需要的朋友能看到

2019-10-16

电子技术基础:数字部分

benPPT是电子技术基础:数字部分的内容,有兴趣的朋友可以查看。

2019-04-09

AMBA_UVM验证DEMO

AMBA_UVM验证,可以在VCS等仿真工具中进行运行,可以帮助你更好的理解UVM验证平台

2019-01-29

uvm-cookbook-complete-verification-academy

uvm-cookbook-complete-verification-academy

2019-01-02

SVA_ The Power of Assertions in SystemVerilog

Eduard Cerny, Surrendra Dudani, John Havlicek, Dmitry Korchemny (auth.) - SVA_ The Power of Assertions in SystemVerilog-Springer International Publishing (2015)

2018-12-26

SystemVerilog Assertions and Functional Coverage_ Guide to Language

Ashok B. Mehta (auth.) - SystemVerilog Assertions and Functional Coverage_ Guide to Language, Methodology and Applications-Springer International Publishing (2016)

2018-12-26

算法之道_第二版全目录

算法之道,事关算法。有兴趣的朋友可以阅读下载。谢谢!

2018-11-04

SD_part1_Physical_Layer_spec

SD_part1_Physical_Layer_spec. SD协议_物理层标准 有兴趣可以一起学习

2018-10-18

AMBA_AHB_DMA

本文件为Verilog文件,适合研习AMBA总线的朋友学习使用。

2018-08-17

AMBA_APB_I2C

本文件为Verilog文件,适合研习AMBA总线的朋友学习使用。

2018-08-15

APB_SPI_master

本文件可以作为有需求的在校生学习使用,有完整的程序代码。

2018-08-14

Intermediate PERL

Intermediate PERL.

2018-08-14

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除