关闭

芯片验证工程师

所属频道 公众号精选
分享技术、享受生活
  • 聊聊`uvm_*_imp_decl的底层实现原理

    宏是任何软件中不可或缺的组成部分,通用验证方法(UVM)库也不例外。在日常编程中应该尽可能地使用宏,以避免书写重复的代码,同时通过不同的宏可以区分不同的版本。对于uvm中的宏`uvm_*_imp_decl,可以定义了特殊的imp端口,使一个组件能够实现一个TLM接口的多个实例化。...

    公众号精选
    2021-11-12
  • 面向对象的SystemVerilog

    SystemVerilog引入了面向对象的思想。对象句柄为语言提供了一种安全的、类似于指针的机制。类提供了继承和抽象建模的能力,这就将不带有任何类型安全性问题的C函数指针的优点引入到了SystemVerilog中,因此它为Verilog带来了真正的多态性。它包含了数据以及对数据进...

  • UVM的三个特点

    a. 基于事务级的验证框架UVM 是一个事务级(TBV,TransactionBasedVerification)的验证模型框架,解决了用低层次的信号比特或比特向量的形式带来效率较低的问题。在事务级的验证中,低层次的信号活动被抽象成一个事务操作,这样可以通过高层次事务操作来描述各...

    公众号精选
    2021-11-12
  • 娱乐贴:一个芯片tape out失败的搞笑案例

    一个原NV的同事提到台积电的时候咬牙切齿。问其原因,他说台积电因为很奇葩的原因让他们tapeout失败过一次。某年,NV要搞一个新的芯片,让台积电tapeout和生产。正好遇上台积电要工艺升级之类,那条流水线要暂停4个月。NV就说行啊,在暂停之前还有一个多月,把这个基本好了的先t...

    公众号精选
    2021-11-12
  • UVM中的6个关键机制

    UVM内建了许多关键的处理机制,帮助实现验证工程师需要的功能。a.Factory机制Factory机制是产生通用代码的一种典型的软件设计思路。在功能验证中,引入的类经常需要变化。例如,在许多测试中我们可能需要给事务增加更多的约束或字段,或者想在整个环境中或仅仅一个单接口中使用新的...

    公众号精选
    2021-11-12
  • uvm中一些组件的概述

    1.driver用于向DUT输入测试激励,满足DUT对时序的要求。典型的driver重复地接收数据项并将其驱动给DUT。例如,driver在一段时钟周期中通过控制读/写信号、地址总线和数据总线实现一个写操作。2.sequencer用于调度向DUT发送激励的顺序,满足DUT对不同顺...

    公众号精选
    2021-11-12
  • UVM 中三个重要的类

    UVM中所有的类都有一个共同的基类:uvm_void类。它没有数据成员,也没有成员函数。由uvm_void类扩展得到了两个子类,分别为uvm_object类和uvm_port_base类。其中uvm_object类是UVM中所有的实体(包括component和transactio...

    公众号精选
    2021-11-12
  • UVM 的通信方式概述

    首先我们需要知道通信的双方都是要有通信接口的,另外需要商议好的通信方式,UVM也是这样做的,其定义了三种通信接口和三种通信方式,不同的通信接口对应不同的通信方式。UVM定义了组件之间的三种通信类型,分别为PUT、GET、TRANSPORT。PUT是组件A将一个transactio...

    公众号精选
    2021-11-12
  • 为什么必须做功能覆盖率?and How ?

    什么是功能覆盖率?验证中的覆盖率分功能覆盖率和代码覆盖率两种,断言覆盖率可归类为功能覆盖率。顾名思义,功能覆盖率用于衡量设计中有多少功能被覆盖到了,被验证了,而代码覆盖率则是衡量代码实现中有多少语句被执行到了。前者是基于设计的源头,而后者是基于设计的最终实现,源头是本,实现是末。...

    公众号精选
    2021-11-12
  • 什么是竞争冒险?如何避免?

    竞争冒险这个含义其实广泛存在各个领域,本质上是指当两个或多个进程同时访问一个相同对象的场景。组合逻辑环moduleCMBLOP(o,a,b,c);outputo;inputa,b,c;rego;wirem=a|o;wiren=b|m;always@(corn)o=c|n;endm...

    公众号精选
    2021-11-11
  • 概述UVM中analysis port

    如果testbench中monitor的数据有多个分析用途(例如存在多个RM),我们最好在不同的组件中独立地进行处理。这就导致了一对多的port连接(广播,也可以称之为观察者OOP设计模式)。信息源执行单个写操作向所有观察者广播数据。所有其他UVM TLM ports 和expo...

  • 验证工程师面试题:找出这个verilog中的bug(corner case)

    下面是一个小的真实verilog代码,具有异步set/reset逻辑(低电平有效)的触发器模型。这个verilog模型可以正确地综合,但在一个cornercase情况下仿真结果不正确。这个cornercase是什么?always_ff@(posedgeclkornegedgers...

  • 一个简单的断言(SVA)示例

    断言的英文是Assertion,就是对一些设计属性的推断。大型的硬件设计中会有各种各样的协议接口。这些协议接口定义中一般都会有include文件,这些include文件中包含了接口的断言描述,主要用于协议的时序检查。除了这种把断言语句放到接口协议里还可以放到具体的design里面...

    公众号精选
    2021-11-09
  • IC验证老兵给化学材料女生转ic的一些参考

    本人IC验证老兵,看过不少简历,也面试过不少人。关于IC验证说一点个人看法供参考。IC验证这东西门槛看起来是芯片内最低的,学过数电,会面向对象程序设计的基础足够了,毕业生想提高竞争力的话,自学SV和UVM,履历比一般没有实习经验的人要强一些。但验证这东西并不只是编程,想做好的话,...

    公众号精选
    2021-11-09
    ic
  • 学计算机专业的痛苦本质是什么?

    切记不要沦陷在无穷无尽的技术浪潮中,痛苦的来源就是你没有看清计算机,计算机要做的事情究竟是什么,没有看清楚核心内容就去学,你很难跨过35岁门槛。只是从技术方面说,不谈未来转管理的角度,最近看了好多phD的paper,也稍微理解了一点点计算机的本质,说白了,整个计算机世界的软件层面...