• 如何升级Windows 11正式版?四种方案都在这了!

    距离Windows 11预览版测试,已经过去近四个半月了。终于,在10月5日,微软的Windows11 正式版操作系统全面上市。Win11的正式上线,打破了微软在Win10刚发布之时曾表示Win10将会是最后一代Windows的说法。微软表示,符合条件的Windows10电脑可以...

    21ic电子网
    2021-11-03
    Windows
  • 超实用!单片机Fault故障常见应对办法

    我们平时的项目,可能会遇到死机的情况,通过在线调试,或者打印消息,可能会发现,怎么进入了HardFault_Handler中断呢?这种“硬故障”是我们常见的一种故障,导致硬故障的原因也有很多。本文针对Cortex-M3说说 Fault 故障相关的内容。Fault故障种类Fault...

    21ic电子网
    2021-11-03
    Fault
  • EDA验证中覆盖率简介

    什么是做覆盖率?要回答这个问题需要知道IC验证的目的。最终目的是保证IC所有的功能都符合我们的期望。通过和referencemodel比较我们能够知道IC的功能是否符合我们的期望,但是如何体现“所有”?只能从覆盖率上进行体现。只有当所有代码都被执行过时,中间的功能都符合我们的期望...

  • 什么叫corner case

    cornercase是怎么定义的?是不是在randomdriventestbench中才使用?directtest中,会用cornercase吗?有两种解释,一种是边界情况,例如一个FIFO的cornercases就是full和empty。如果要验证这个fifo,你就要让它经历从...

  • UVM中类的例化用new和create有什么不同?

    UVM中类的例化用new和create有什么不同?什么时候可以用new?什么时候该用create?new是OOP自带属性,create是UVMoverride属性,可以理解成create比new更进阶~create是用factory模式来construct对象,在factory中...

  • UVM_ENV中一般包含哪些内容

    uvm_env是一个容器,用于将围绕某个DUT(模块级或者系统级)的所有验证组件集合在一起。 在模块级验证平台中,env用于集合DUT周围的接口agent和DUT通信,与env相关联的不同class被组织成一个SystemVerilog package。除了接口agent之外,e...

  • 为什么说Systemverilog是类C语言

    SV将C语言中的大部分特性包含进去,包括了相当多的数据类型和操作符。1.SystemVerilog支持C语言内建的数据类型。为了避免int和long数据类型的重复带来混淆,在SV中,int是32位的,longint是64位的。C语言中的float类型在SV中称为shortreal...

  • Systemverilog中独特的数组和队列

    将Systemverilog中的数组和队列拿出来单独讲,是因为相对于其他的数据类型,数组和队列与C语言和Verilog语言的数组有着不同的特性。这些特性不仅体现在完全迥异于C语言的定义方式,也体现在其成员函数上。Systemverilog将数组分为三种,分别为静态数组、动态数组以...

  • 16年芯片工程师的一家之言:“我为什么离开芯片行业,做芯片慎入验证岗位”

    有些关注我的朋友们可能知道我以前是做芯片的,曾经是华为海思的芯片工程师。当然我就职过的公司并不止华为海思一家,有一些是业内比较著名的美资企业,还有紫光集团旗下的一家公司。我在这个行业工作了15年以上,在这几年芯片行业火了以后,我却还是决定要选择别的方向发展了。我是06年进入芯片设...

  • Systemverilog中的DPI 接口

    SV开辟了一条可以将SV和C语言结合在一起的新途径,通过使用DPI的导入声明,SV语言中可以方便地调用一个C函数。同样SV中的数值可以作为输入值直接输入到C函数中,C函数的返回值也可以直接传递给SV。同样,使用DPI的导出函数功能,可以在C语言中调用SV写的function。为了...

  • UVM 的精髓在于给验证人员提供了快速搭建 testbench 的途径

    UVM(universalverificationmethodology),俗称通用验证方法学。通用二字在于其将以前所有的验证方法学(OVM、VMM、VMM等等)都融合到一起,类似于秦王统一六国的意思。其是由三大EDA巨头成立了一个accellera的组织,共同推的一个验证方法学...

  • 为什么中国自主研发CPU之路十分艰难?

    做一个能用的CPU很容易,定义指令集,实现指令集,定义总线,实现总线都不难。做一个性能很强的CPU很难。我看过国外讲高性能CPU设计的书,里面不是代码,全是数学,作为一个码农,我表示看都看不懂。我还看过讲设计一个简易CPU的书,里面全是代码,非常easy。有时候我感觉自己虽然是A...

  • 有哪些RTL时序优化迭代的技巧?

    1.需要对原有架构、规格、关键电路非常熟悉。多次实践证明不清楚原有设计的情况下做出的方案,往往只会越改越烂。判断是否熟悉的标准是能够讲清楚整个模块代码->能够自己画出整个微架构->能够提出有效的PPA优化方案。其实这一条经验是并不特指高频设计,是做好设计的基本功,缺陷率高同学往往...

  • 端口、句柄、全局变量、直接层次引用,我该如何让你看见我?

    SystemVerilog提供四种不同的实例之间的通信或连接方式:端口、句柄、全局变量、直接层次引用。 端口是静态实例世界的成员之间的连接,如module和interface实例。因此,它们可能不会在动态实例世界类中使用。UVM提供了诸如uvm_tlm_put_port等端口的概...

  • IC验证中monitor到的数据能够做什么?

    在这个大数据时代,很多数据背后都蕴含着无限的价值,芯片EDA验证过程中产生的数据也是一样。 验证设计包括两个部分:输入激励的产生和设计响应的分析。输入激励部分将设计置于特定状态,然后响应分析部分执行验证,即数据比对。testbench的分析部分由监测输出行为和判断设计是否符合其规...

发布文章