自定义博客皮肤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

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

  • 博客(296)
  • 资源 (16)
  • 收藏
  • 关注

原创 UVM Tutorial for Candy Lovers 糖果爱好者

UVM Tutorial for Candy Lovers – 1. Overview UVM Tutorial for Candy Lovers – 2. Recipe UVM Tutorial for Candy Lovers – 3. Transactions and Sequences UVM Tutorial for Candy Lovers – 4. Agent UVM Tutorial for Candy Lovers – 5. Environmen..

2020-05-10 08:27:48 289

原创 1024

认真些!加油

2020-10-24 20:01:48 49

转载 总结我的验证思路:我们的代码还需要检视,但检视什么也保证不了

本文转自公众号“数字芯片实验室”,作者:夏晶 。谢谢再谈检视,首先引用一个对检视的不同观点:review真的最有效吗or导致更多的BUG?review:中文叫评审。本人见过这个做法的最早出处是朱兰的质量手册。在很长一段时间被软件行业认为是最有效的保证代码质量的手段。在这段时间的质量高压之下,我们再次见到了红红火火的各种代码review,自检,互检,飞检,X检。这让我想起了考试,考试完了都要自己检查几遍再交卷。(当然是在能够把题目做完的情况下),偶尔我们也会在考场上互检(不过这个可能属...

2020-09-11 09:55:14 157

转载 总结我的思路,如何在验证中发现和定位Bug​:验证目的

本文转自公众号“数字芯片实验室”,作者:夏晶 。谢谢发现Bug,发现所有的Bug,或者证明没有Bug,是验证存在的唯一目的。无论任何验证语言、任何验证环境、任何验证方法学、任何FeatureList,都是为了达成这一目的而使用的方法,或者说手段。偏离了这一目的的任何工作和努力,都是屎、大便、Shit。绝对不要被任何华丽的技巧、方法、经验所迷惑,无论验证环境有多么美丽,无论验证语言有多么的HighLevel,都不要迷惑。不要为了追求完美、高效的环境而沉迷其中,陷阱往往就在美丽的后面...

2020-09-11 09:53:01 112

转载 总结我的验证思路:怎样追波形

本文转自公众号“数字芯片实验室”,作者:夏晶 。谢谢曾经,有同事仿真挂死,抱着显示器看波形,看了两天,没有结果,给我,我看了30分钟,找到了原因;曾经,在同事已经仿真Pass,最简单的中断测试波形中,我找到了超过20个Bug(和中断测试无关)。所以有同事问我怎么做到的,所以引出了我写这个连载。在这个连载的最后一节,我最后分享一下,我通过波形发现问题,及问题的原因的一些经验。一回生,二回熟。很多新晋的验证人员抱怨,这么多信号,这么复杂的连接关系,千头万绪,眼睛都看得长挑针,还是看不出东西..

2020-09-08 22:10:48 220

转载 总结我的验证思路:波形为王

本文转自公众号“数字芯片实验室”,作者:夏晶 。谢谢波形不撒谎,这是我做验证的格言。波形是真理,可以击破一切虚假、迷乱的谎言。波形,是一个逻辑正确运行的最直观的体现,是逻辑在每一个时钟沿,触发每一个信号的跳变或不跳变,进而产生美丽的,如波浪般运转的脉动。中医看病,讲究的是,望、闻、听、切,验证看波形Check缺陷,正如中医诊断的切脉诊病,除非医术达到精深广博,否则仅靠望、闻、听断病,是不够的。规格是人写的,详细设计是人写的,激励是人写的,RM是人写的,自动比对及Lo...

2020-09-08 22:08:39 78

转载 总结我的验证思路:测试数据会撒谎

本文转自公众号“数字芯片实验室”,作者:夏晶 。谢谢测试数据会撒谎,没错,测试数据会撒谎。当黑暗蒙住双眼,迷途的羔羊啊,如何才能追随上帝的步伐。当信息不能最直接显示,而需要通过其他现象推导或表现,并且人数超过3个的时候,则测试数据会撒谎。这种情形,主要出现在FPGA测试和样片测试中。当问题出现在这两种测试环节中时,现象往往都非常表面,虚得很,就像浮在水面上,而真正的Bug,往往潜伏在深邃的水底,而水面上,还经常有浮萍啊、乌龟啊,或者紫金矿业的污染物啊之类的阻挡,要像EDA验证一样...

2020-07-28 21:55:57 88

转载 总结我的验证思路:“开门红” Test Case

本文转自公众号“数字芯片实验室”,作者:夏晶 。谢谢根据规格分解FeatureList,根据FeatureList对应TC,然后再一条一条仿真TC反过来映射FeatureList和规格。没错,这是最通常的做法,可惜我不这样做。世间有80:20原则,验证也是,80%的问题都可以通过20%的测试和时间去发现和解决,而剩余20%的问题需要80%的测试和时间去解决。所以,按照我的思路,会有几个最初级的TC,可以用来测试最基本的通路能否冒烟,这几条TC,可以划归到TCList中,也可以不划...

2020-07-28 21:52:49 153

原创 给芯片行业新人的一些建议

来源:内容来自公众号「白山头讲IC」,谢谢。 又到了毕业季,作为过来人,这里给大家一点建议。我的经历我职场经历还算丰富。想当初刚毕业的时候,进入了一个大型跨国公司,后来又去过两家大型外企,一家上市民企,一家创业公司,一家小型民企。所以我还是可以给应届生提供一点点有用的建议的。我的建议如果有大平台和小型创业公司可以选择的话,我建议大家选择大平台。这里从六个方面给大家解释:1 .品牌品牌效应,以后跳槽也方便。小公司也不是绝对没有机会了,不过后面跳槽可能...

2020-06-29 11:36:52 555

原创 UVM疑惑解答第二季

寄存器模块验证中常见的测试点有哪些?检查寄存器的复位值; 需要检查寄存器的域常见读写属性; 检查每个寄存器的地址映射关系是否正确; 检查寄存器的反馈是否及时准确,这一点需要检查硬件状态信号是否连接到寄存器端,如果是更新方式是主动更新,那么可以通过后门访问进行快速检查(不占用总线),如果更新方式是被动更新,那么只能通过前门访问除法ing吉安状态值更新。 对于一些特殊寄存器(wc/rc/wo)需要集合其特定属性,进行单独访问,并通过后门访问或者检测内部信号检查其功能。为什么建议配置放在对象创建.

2020-06-29 11:10:45 334

转载 提升自我的最佳方法:复盘

前言:复盘,是一个人或者是一个公司成长最快且最重要的方法,如果没有复盘的意识,那么你可能一直在原地踏步,甚至还自我感觉良好,这是个人成长最致命的错误。 在生活中,你可能会看到两种人,一种隔了段时间没见,无论是在技术上,还是为人处世上,各个方面都有快速的进步,而另一种人,还是老样子。 其实这就是有没有做复盘的区别。 今天这篇文章就来讲讲,如何做个人的自我复盘。一、何为复盘 在讲如何做之前,我们先谈谈,什么是复盘。 其实最初可以追溯到2000多年前,也就是我们小学肯定...

2020-06-29 11:05:12 312

原创 UVM疑惑解答第一季

为什么要用类来做UVM的通信事务?为什么不可以是结构体呢?class和struct都可以包含数据; class可以对数据做封装,struct不可以; class可以对父类做继承,添加新的成员,struct要添加新的变量只能文本拷贝; class可以内置成员方法对成员变量做操作,struct不可以; transaction需要随机化和约束,这是类的专长,struct不可以; 可以使用对象内建的randomize()函数随机化对象中的随机变量,而struct无法轻松办到这一点(不是不可以; cla

2020-05-28 22:11:30 625

原创 Systemverilog 疑惑解答第二季(持续更新中)

inital语句块与final语句块有什么区别?inital语句块在仿真开始时执行,final语句块在仿真结束时执行;final语句块不能有delay,wait和non_blocking具有时许的语句。如何检查句柄是否存有对象?检查该对象是否初始化,在SV中,所有未初始化的对象句柄都具有特殊的null值。assert(obj == null)代码覆盖率与功能覆盖率有什么区别?代码覆盖率描述设计中代码执行的客观信息;功能覆盖率决定了设计已实现了多少功能。系统方法与内建方法有...

2020-05-28 21:57:03 223

原创 ASIC全流程视频资源整理

持续更新中ing 数字IC设计入门之全流程:BV1BJ411w7gf 数字IC SOC设计:BV1z4411278K 数字IC Perl脚本:BV1AJ41137ML 数字IC UVM验证:BV1sJ411D7gB 数字IC SVA断言:BV1hE411Q7ZH 数字IC VCS仿真:BV1PJ411K7mj 数字IC DFT:BV134411B7EF 数字IC 综合DC&形式验证FORMAL:BV1...

2020-05-17 10:57:26 535 1

原创 Systemverilog 疑惑解答第一季

`include与import的差别在哪里?SV常会用`include将多个文件"平铺"置于某个域中(scope),这个域可能是package/module/interface等,简单理解就是`include就是将对应文本的内容平铺到当前域的字段中;inport则是从包(package)中引用某些需要的数据类型,例如class/parameter/enum到当前域,以帮助编译器能够识别被引用的类型.在一些头文件(.svh)中,会有typedef class X,这是什么意思?首先这需要与常见 .

2020-05-10 09:20:39 660

翻译 UVM Tutorial for Candy Lovers – 36. Register Callbacks

In some design, when one register is written, another register takes a new value. This article will explain how to model this behavior using a register callback.Registers in Jelly Bean TasterInRe...

2020-04-30 12:51:22 148

翻译 UVM Tutorial for Candy Lovers – 35. Defining do_record

This is the last article about the “do” hook series. Thedo_recordfunction is the user-definable hook called by therecordfunction ofuvm_objectwhich records the object properties.Defining do_rec...

2020-04-30 12:46:20 141

翻译 UVM Tutorial for Candy Lovers – 34. Component Override

Some people told me that sour-chocolate actually tastes good and there are many recipes for sour cream chocolate cake. I understand that people have different tastes, so decided to replace our scorebo...

2020-04-30 12:44:25 120

翻译 UVM Tutorial for Candy Lovers – 33. Defining do_print

When we implemented the“do” hooksbefore, we defined theconvert2stringfunction, but we did not define our owndo_printfunction. This was because theconvert2stringis very flexible and light weigh...

2020-04-30 12:40:20 127

翻译 UVM Tutorial for Candy Lovers – 32. Using randc

One of the loyal jelly-bean customers reported that his gift box had repeated flavors. After the investigation, we found a potential issue with thegift_boxed_jelly_bean_sequencecreated inTransactio...

2020-04-30 12:35:34 148

翻译 UVM Tutorial for Candy Lovers – 31. Provides Responses?

This is a short article about when we should set theprovides_responsesbit of the register adapter.Original Jelly Bean DriverThis is the orignaljelly_bean_driverused inRegister Abstraction. Th...

2020-04-30 12:32:43 105

翻译 UVM Tutorial for Candy Lovers – 30. Back of the Back Door

In the earlier posts (Register Access through the Back DoorandBackdoor HDL Path), we usedconfigure,add_hdl_pathandadd_hdl_path_slice, then these functionsmagicallycreated the HDL paths. That’s...

2020-03-14 17:52:49 144

翻译 UVM Tutorial for Candy Lovers – 29. Backdoor HDL Path

Our jelly-bean tasting business became very successful, so we decided to expand our business into partnership with another jelly-bean taster. During the process of the merger, however, we found that t...

2020-03-14 17:47:44 97

翻译 UVM Tutorial for Candy Lovers – 27. Message Verbosity

UVM has a rich reporting facility. This article explains how to use a verbosity threshold to filter messages.Pre-defined Verbosity LevelsUVM pre-defines six verbosity levels;UVM_NONEtoUVM_DEBUG...

2020-03-14 17:43:25 91

翻译 UVM Tutorial for Candy Lovers – 28. Message Logging

In theprevious article, we explained how to filter messages using a verbosity threshold. This article explains how to send the messages to a file (or files).Message ExampleAs an example, we added...

2020-03-14 17:34:14 86

翻译 UVM Tutorial for Candy Lovers – 26. Sequence Arbitration

Our jelly-bean business has been doing so well that we started to receive multiple jelly-bean orders at the same time. Some customers requested expedited shipping, too. But how to prioritize the reque...

2020-03-14 17:25:40 98

转载 VIM配置

"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" Maintainer: " Amir Salihefendic — @amix3k"" Awesome_version:" Get this config, nice color schemes and lots of plugi...

2020-03-07 12:44:17 97

翻译 UVM Tutorial for Candy Lovers – 25. Using a C-Model

We often use a C-model as a reference model. Thanks to the direct programming interface (DPI) of SystemVerilog, using C-model has never been easier. We will show you how to use a C-model in our jelly ...

2020-02-23 11:27:11 90

翻译 UVM Tutorial for Candy Lovers – 24. Register Access through the Back Door

This post will add back-door access to the registers defined inRegister Abstraction. With a few additional lines of code, you can access the registers through the back door.DUTWe use the same DUT...

2020-02-23 11:25:16 105

翻译 UVM Tutorial for Candy Lovers – 23. Jelly Bean Taster in UVM 1.2

My first series of UVM tutorials (#1 to #6) was posted more than three years ago. Since then, UVM (and my knowledge about it) has evolved and I always wanted to update my articles and code. But it was...

2020-02-23 11:18:40 165

翻译 UVM Tutorial for Candy Lovers – 22. Phasing

When we created thejelly_bean_driverinAgent, we coded thebuild_phasefunction and therun_phasetask, but who actually calls them? The answer isuvm_phaseclass.UVM PhasesUVM has nine common p...

2020-02-23 11:15:04 84

翻译 UVM Tutorial for Candy Lovers – 21. TLM 1 Example

In theprevious post, we looked at an overview of the TLM 1 classes. This post will give you a sample code using some of the TLM 1 classes.ComponentsWe created the following components to demonstr...

2020-02-23 11:12:36 114

翻译 UVM Tutorial for Candy Lovers – 20. TLM 1

UVM supports ports (TLM 1) and sockets (TLM 2) as transaction-level interfaces. This post will explain TLM 1.TLM 1 seems daunting as it has many ports, exports, and “imp”s, but once you understand th...

2020-02-23 11:07:37 103

翻译 UVM Tutorial for Candy Lovers – 19. Analysis FIFO

This post will explain how to use analysis FIFOs.Let’s assume I wanted a scoreboard that compares two streams of jelly beans; one stream is for “expected” jelly beans, the other is for “actual” jelly...

2020-01-05 15:02:59 120

翻译 UVM Tutorial for Candy Lovers – 18. Configuration Database Revisited

In the post,Configurations, we looked at the configuration flow of the jelly bean verification. We also looked at the behind the scenes of the configuration flow in the post,Configuration Database. ...

2020-01-05 15:01:56 92

翻译 UVM Tutorial for Candy Lovers – 17. Register Read Demystified

In the last post,Register Access Methods, we looked at the primary methods of RAL and showed how they worked. This post will further focus on theread()method and show how the method actually reads ...

2020-01-05 14:58:24 73

翻译 UVM Tutorial for Candy Lovers – 16. Register Access Methods

assert( flavor.randomize() );The register abstraction layer (RAL) of UVM provides several methods to access registers. This post will explain how the register-access methods work.InRegister Abstr...

2020-01-05 14:54:57 112

翻译 UVM Tutorial for Candy Lovers – 15. “Do” Hooks

This post will explain user-definabledo_*hook functions.InField Macros, we saw that the standard data methods, such ascopy()andcompare(), called the user-definable hook functions, such asdo_co...

2020-01-05 14:36:03 96

翻译 UVM Tutorial for Candy Lovers – 14. Field Macros

This post will explain how UVM field macros (`uvm_field_*) work.InTransactions and Sequences, we used the UVM field macros to automatically implement the standard data methods, such ascopy(),compa...

2020-01-05 14:30:53 128

翻译 UVM Tutorial for Candy Lovers – 13. Configuration Database

This post will explain how configuration database (uvm_config_db) works.InConfigurations, we used theuvm_config_dbto store ajelly_bean_if, ajelly_bean_env_config, and twojelly_bean_agent_config...

2020-01-05 14:28:11 127

systemVerilog Assertion应用指南完整版

systemVerilog Assertion应用指南完整版。网上流传的其他版本都不是完整的,这次终于找到了完整的版本,分享给大家。

2018-08-14

AMBA_UVM验证DEMO

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

2019-01-29

电子技术基础:数字部分

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

2019-04-09

APB_SPI_master

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

2018-08-14

sv_lab.zip

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

2019-10-16

uvm_lab.zip

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

2019-10-16

ESL Design and Verification.pdf

ESL Design and Verification: A Prescription for Electronic System Level Methodology

2019-05-17

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-11

算法之道_第二版全目录

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

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

Intermediate PERL

Intermediate PERL.

2018-08-14

空空如也

空空如也

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

TA关注的人 TA的粉丝

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