关闭

芯片验证工程师

所属频道 公众号精选
分享技术、享受生活
  • SystemVerilog中package import和`include方式的差异

    我们经常遇到的问题就是:我应该怎么加载我定义的class,是用import的方式还是`include的方式?为了解答这个问题,首先应该对systemverilog的类型机制有更多的了解,特别是强弱类型转换机制(strongandweaktyping)。在编程语言中,相反于在不同类...

  • 芯片验证的挑战之一:理论上无限的验证空间

    如今,消费者对芯片的特性要求以及验证的复杂度呈同样的指数级增长。例如,消费者自然而然地会希望汽车芯片在汽车整个行驶过程中都是正常的,也并不期望因为芯片问题导致服务器宕机而无法访问到想要的数据。这些业务上的需求,正是验证最本质上的驱动。 以一个简单的交通灯控制器为例。在经过一些市场...

    公众号精选
    2021-11-05
  • 关于中断和fault的验证

    对于一个DUT怎么去验证它在fault情况下的响应?比如在transaction中有fault信息时,DUT理想的行为是对某一寄存器置位。对于寄存器的检查应该放在哪一个位置呢?中断验证的一个难点,项目中一般对中断的要求就是出现错误时:1、中断要能上报出去2、第一个中断info能够...

    公众号精选
    2021-11-05
  • 坏了,我的工作成了IP连连看

    “随着数字集成电路IP的集成度越来越高,越来越完备,对于非IPVendor的验证者,验证(对于设计也是同样)的空间越来越小,越来越接近于读文档,下配置。那么其工作的价值体现在什么地方呢?验证工程师该如何应对?”Aengineer'svalueis:understanddocume...

    公众号精选
    2021-11-05
  • 你有能力从零开始搭建一个项目的验证平台吗

    “我发现平时工作的时候大多数的验证环境都是从以前项目移植过来的,真正自己从零开始的很少。这样会不会导致自己验证技能其中之一搭建平台的退化。”验证工程师最核心的能力究竟是什么?搭建一个环境感觉没什么难度,但是想搭建一个好的环境需要经验积累。尤其比较大的项目中,如何做到环境的可复用性...

    公众号精选
    2021-11-05
  • 我国芯片行业要多久才可以赶上美国?

    我是一名微电子的博士生,在欧洲工作了有7年,比不上其他工作20年的大佬,就对技术方面的不做赘述了,因为自己一直以来喜欢看历史,包括西方这五百年以来的发展史,有个一知半解,就想从历史长河的角度上谈一下对这个问题的看法。西方的迅速发展史始于哥伦布的大航海。哥伦布是1492年发现新大陆...

    公众号精选
    2021-11-05
  • 如何使用factory机制中的override

    UVM factory允许一个类在构造时被派生类替换。这对于更改testbench的行为很有用,它将一个类替换为另一个类,而无需编辑或重新编译testbench代码。为了使factoryoverride发挥作用,需要遵循许多编码约定的先决条件。主要存在component(实例替换...

    公众号精选
    2021-11-05
    ov
  • 大家写verilog的时候会把电路图先画出来吗?

    设计分2种,一种叫前向设计,另一种叫后向设计。 后向设计就是我们只知道需求,知道要实现什么功能,但是暂时脑子里还没有具体的结构。多数时候都是后向设计。此时,先开始把module的input和output写好。然后从output的信号出发,反推它与inputs的关系,这个过程中也可...

  • 你们设计人员代码里assertion加的多吗?

    "在设计RTL上加assertion一般和什么有关呢?芯片类型?设计人员素质?项目需求?还是其他因素呢"很多规范都可以做出成功的芯片,甚至有些公司根本就没有什么规范,开发人员根本不按规范做也能做出成功的芯片。作为工程人员,用不用规范、怎么规范不仅仅是看能不能做出成功的芯片,更要考...

  • 有感于工程师思维

    工程是大多数时代的特征。 回想幼时经常被写进作文里的理想,成为工程师肯定是其中一个,虽然彼时对所谓的“工程”丝毫没有概念。如果说有,可能第一感觉“工程”就是像经常看见的父亲他们在工地上叮叮哐哐的砌砖盖房子,他们是“建筑工程师”。或者用现在流行的话叫“规则长方体固体物质空间移动工程...

  • SystemVerilog Package的一些编码规范

    package是SystemVerilog语言的一种数据结构,它允许将相关的声明和定义打包在同一个namespace中。package可能包含类型定义、常量声明、函数和类模板。要想在某个作用域内使用package,必须先导入该包。package是组织代码和确保类型一致的有效方法,...

  • UVM 中的四种消息属性

    ​UVM中的消息有三种属性,分别是:严重度(severity)、冗余度(verbosity)、以及消息的关联行为,此外还有消息的标签ID。UVM的消息机制基于该三种属性和标签ID,实现对消息的处理。a.严重度(severity):在调试和仿真的过程中,我们需要输出消息,那么如何区...

    公众号精选
    2021-11-05
  • 如何设置UVM的消息属性

    a.输出方式和属性赋值UVM提供了四个函数来完成uvm框架内不同严重度消息的输出,同时通过函数定义了消息的冗余度、关联ID和关联行为。uvm_report_info(stringid,stringmessage,intverbosity=UVM_MEDIUM,stringfile...

    公众号精选
    2021-11-05
  • 概述UVM中的build、configure和connect

    在UVMtestbench开始发送激励之前,必须构建其组件层次结构以及验证组件之间的连接关系。UVMtestbench的第一阶段(phase)是buildphase,在此阶段自上而下地实例化组成验证环境层次结构中的各个uvm_component类。当在顶层的initial语句块中...

    公众号精选
    2021-11-05
    ui
  • 层次化UVM验证环境中配置

    配置对象可以通过使用uvm_config_db::set方法中的路径参数来分别控制,更常见的做法是层次化配置对象和配置过程。这样中间验证组件也可以进行一些配置,即在中间组件中对上层的配置对象进行解析,然后再打包相应的配置对象给下层组件。 下面是一个SPIblocklevel验证环...

    公众号精选
    2021-11-05