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

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

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

转载 SD卡协议

Overview深入理解SD卡系列文章将介绍SD卡,涉及SD卡的协议及驱动代码。我们学习SD卡目的是为了理解SD卡的驱动代码,修改它,最终解决工作中遇到的SD卡相关的问题。本系列文章的目标是理解SD,包括协议和驱动代码。在学习任何设备驱动时,有个东西我们是无法绕过的,那就是协议,本文讲的就是SD卡的协议。学习SD卡协议,可以让我们更好的了解SD卡的运作机制。在最开始学习SD卡的时候,我们只...

2018-09-30 19:17:33 1321 1

转载 UVM寄存器篇之八:寄存器模型的场景应用(终)

本文转自:http://www.eetop.cn/blog/html/28/1561828-6266225.html如何检查寄存器模型在了解了寄存器模型的常规方法之后,我们需要考虑如何利用这些方法来检查寄存器、以及协助检查硬件设计的逻辑和数据比对。要知道,在软件实现硬件驱动和固件层时,也会实现类似寄存器模型镜像值的方法,即在寄存器配置的底层函数中,同时也声明一些全局的影子寄存器(shado...

2018-09-18 14:20:49 1759

转载 UVM寄存器篇之七:寄存器模型的常规方法(下)

本文转自:http://www.eetop.cn/blog/html/28/1561828-6266224.htmlmem与reg的联系和差别UVM寄存器模型也可以用来对存储建模。uvm_mem类可以用来模拟RW(读写)、RO(只读)和WO(只写)类型的存储,并且可以配置其模型的数据宽度和地址范围。而uvm_mem不同于uvm_reg的地方在于,考虑到物理存储一旦映射到uvm_mem会带来...

2018-09-18 14:20:11 2136

转载 UVM寄存器篇之六:寄存器模型的常规方法(上)

本文转自:http://www.eetop.cn/blog/html/28/1561828-6266223.htmlmirrored、desired和actual value在我们应用寄存器模型的时候,除了利用它的寄存器文件信息,也会利用它来跟踪寄存器的值。跟踪寄存器的值,一方面是建立mirrored value,另外一方面是为建立desired value。读到这里,读者们首先需要确立,...

2018-09-18 14:19:26 2735

转载 UVM寄存器篇之五:寄存器模型的集成(下)

本文转自:http://www.eetop.cn/blog/html/28/1561828-6266222.html前门访问利用寄存器模型,我们可以更方便地对寄存器做操作。接下来我们分别两种访问寄存器的方式,即前门访问(front-door)和后门访问(back-door)。前门访问,顾名思义指的是在寄存器模型上做的读写操作,最终会通过总线UVC来实现总线上的物理时序访问,因此是真实的物理...

2018-09-18 14:18:49 1036

转载 UVM寄存器篇之四:寄存器模型的集成(中)

本文转自:http://www.eetop.cn/blog/html/28/1561828-6266221.htmlMCDF寄存器模块代码下面我们给出实现后的MCDF寄存器RTL设计代码:  上面的设计中采取了宏的方式来替代一些寄存器的序列号和地址,这些宏在稍后的寄存器模型在映射硬件寄存器路径上也使用了。这么做使得设计和验证都因为采用同一套宏,而在后期寄存器...

2018-09-18 14:18:16 1407

转载 UVM寄存器篇之三:寄存器模型的集成(上)

本文转自:http://www.eetop.cn/blog/html/28/1561828-6266220.html我们在上一节大致了解了与寄存器相关的流程,包括寄存器描述文件和UVM寄存器模型生成。从上节给的寄存器模型流程图中我们可以看到,接下来需要考虑选择与DUT寄存器接口一致的总线UVC,该UVC会提供硬件级别的访问方式。要完成一次硬件级别的总线传输,往往需要考虑给出地址、数据队列、访问...

2018-09-18 14:17:38 1174

转载 UVM寄存器篇之二:寄存器模型概览(下)

本文转自:http://www.eetop.cn/blog/html/28/1561828-6266219.html寄存器模型构建在构建UVM寄存器模型的过程中,读者需要了解下面这些与模型构建相关的类和它们的功能:  简化后的MCDF寄存器模型定义如下:  从上面的定义中,读者可以整理出关于寄存器建模的基本要点和顺序:在定义单个寄存器时,需要将...

2018-09-18 14:16:51 880

转载 UVM寄存器篇之一:寄存器模型概览(上)

本文转自:http://www.eetop.cn/blog/html/28/1561828-6266218.html对于硬件有了解的读者,都知道寄存器是模块之间互相交谈的窗口。一方面可以通过读出寄存器的状态,获取硬件当前的状况,另外一方面也可以通过配置寄存器,使得寄存器工作在一定的模式下。而在验证的过程中,寄存器的验证也排在了验证清单的前列,因为只有首先保证寄存器的功能正确,才会使得硬件与硬件...

2018-09-18 14:16:00 3424

转载 SV组件实现篇之七(终):测试环境的报告规范

本文转自:http://www.eetop.cn/blog/html/28/1561828-2316832.html文章结构:通过一种标准化的方式打印信息 过滤(重要级别)信息 打印通道在之前的介绍中,读者从四位verifier的验证组件实现中懂得了通过类和封装和数据随机化来实现stimulator、monitor和checker,而在这三个组件中间的信息输出也是无时不在的。伴随着验...

2018-09-14 13:20:10 483

转载 SV组件实现篇之六:比较器和参考模型

本文转自:http://www.eetop.cn/blog/html/28/1561828-2316831.html在同之前的verifier梅、尤、董完成了slave、arbiter和registers的模块验证之后,我们需要看看最后一位verifier娄是如何完成arbiter验证的。Verifier娄也依照之前的验证步骤,给出了arbiter的验证框图:在实现了stimulato...

2018-09-14 13:15:42 733

转载 SV组件实现篇之五:组件间的通信

本文转自:http://www.eetop.cn/blog/html/28/1561828-2316830.html文章结构:线程间通信的需求 event(事件) semaphore(旗语) mailbox(信箱) 三要素的异同,以及同其它通信方式的比较 实际的应用场景 组件之间通信的方式,monitor到checker的方式 如果将硬件模块理解为一个个运行的程序的话,那...

2018-09-14 13:07:46 2191

转载 SV组件实现篇之四:监测器的采样

本文转自:http://www.eetop.cn/blog/html/28/1561828-931238.html当verifier梅在实现slave channel验证环境的时候,她也绘制了一幅slave channel验证结构图:verifier梅借鉴了verifier董在验证模块registers时的方法,为DUT slave channel创建了2个stimulator,即上行...

2018-09-14 13:00:34 955

转载 SV组件实现篇之三:激励器的随机化

本文转自:http://www.eetop.cn/blog/html/28/1561828-931237.html约束块约束块的存在就是为了限制验证时的激烈,给出合理的边界。一个约束块是包含一些表达式用来限制一个随机成员的取值范围,或者是多个成员之间的关系。约束块可以同其它成员一样通过类来继承,这也使得通过不同类层次的继承实现约束的分层。 通常,我们将约束块定义在类中。如果一个类的...

2018-09-09 18:53:11 1743

转载 SV组件实现篇之二:激励器的封装

本文转自:http://www.eetop.cn/blog/html/28/1561828-931236.html在上一节《激励器的驱动》中我们谈到了,实际上module stm_ini自身也可以通过定义方法,最终使得stimulator、tests和tb隔离开来 ,达到初步的封装目的。而这种封装也是通过有形的module这个硬件“盒子”来实现的,我们这一节来看看,如何通过软件“包裹”的方式来...

2018-09-09 18:44:58 242

转载 SV组件实现篇之一:激励器的驱动

本文转自:http://www.eetop.cn/blog/html/28/1561828-931235.html从这一章开始,我们将进入验证各个组件的实现部分。对于各个组件介绍的顺序也将遵循于《验证的结构篇》,从激励器、到监测器再到比较器,而牵系到的知识点也会以各个验证师实现的方式来介绍,这么做的目的是为了告诉读者SV的特性出色在什么地方,以及如何思考从0到1的过程。《SV验证组件的实现篇》...

2018-09-06 14:54:30 981

转载 应该知道的LINUX技巧

本文转自:https://coolshell.cn/articles/8883.html这篇文章来源于Quroa的一个问答《What are some time-saving tips that every Linux user should know?》—— Linux用户有哪些应该知道的提高效率的技巧。我觉得挺好的,总结得比较好,把其转过来,并加了一些自己的理解。 首先,我想告诉大家,在U...

2018-09-04 08:59:08 179

转载 编程命名中的7+1个提示

本文转自:https://coolshell.cn/articles/1038.html前几天Neo写过《编程中的命名设计那点事》,这里也有另外一篇和程序命名的文章,可以从另一个角度看看。1.- 变量应该是尽可能的望文知意。千万不要使用教材中的命名方式。好的变量: daysDateRange, flightNumber, carColor. 坏的变量: days, dRange, t...

2018-09-04 08:59:03 166

转载 关于高可用的系统

本文转自:https://coolshell.cn/articles/17459.html在《这多年来我一直在钻研的技术》这篇文章中,我讲述了一下,我这么多年来一直在关注的技术领域,其中我多次提到了工业级的软件,我还以为有很多人会问我怎么定义工业级?以及一个高可用性的软件系统应该要怎么干出来?这样我也可以顺理成章的写下这篇文章,但是没有人问,那么,我只好厚颜无耻的自己写下这篇文章了。哈哈。...

2018-09-04 08:58:58 89

转载 什么是工程师文化?

本文转自:https://coolshell.cn/articles/17497.html四年前,我在QCon上演讲了一个《建一支强大的小团队》(整理后的PPT分享于这里)提到了工程师文化,今天,我想在这里再写一篇关于工程师文化的文章,一方面是因为我又有了一些想法和体会,另一方面,因为我也正走在创业的道路,毫无疑问,要建一个有浓重的工程师文化的团队或公司,所以有必要把自己的相关想法形有成白底黑...

2018-09-04 08:58:53 71

转载 技术人员的发展之路

本文转自:https://coolshell.cn/articles/17583.html2012年的时候写过一篇叫《程序算法与人生选择》的文章,我用算法来类比如何做选择,说白了就是怎么去计算,但是并没有讲程序员可以发展的方向有哪些。 所以,就算是有这些所谓的方法论,我们可能对自己的发展还是会很纠结和无所事从,尤其是人到了30岁,这种彷徨和迷惑越来越重。虽然我之前也写过一篇《编程年龄和编程技能...

2018-09-04 08:58:38 143

转载 「我只是认真」聊聊工匠情怀

本文转自:https://coolshell.cn/articles/11629.html老罗的Smartisan T1手机发布会很多人应该都看了,发布会的最后老罗凝视着自己的工匠自画像,半晌没说话,随后转过身,慢慢离开舞台,屏幕下方只留下一句话:我不是为了输赢,我就是认真。这一瞬间让我想起93年「狮城舌战」的主角蒋昌建,在「人性本善还是人性本恶」的总结陈词最后,以顾城的名句,「黑夜给...

2018-09-04 08:58:33 63

转载 加班与效率

本文转自:https://coolshell.cn/articles/10217.html微博上看到了这么一个贴子,就像以前在《腾讯,竞争力 和 用户体验》中批评过腾讯说自己的核心竞争力是员工加班一样,我顺着Winter的回复也批评了一下这个微博——“靠加班超越对手?!劳动密集型么?我要是对手的话,我就来趁机挖人了,直接摁死你……//@寒冬winter: 当一个管理者的智慧无法衡量一支团队...

2018-09-04 08:58:27 63

转载 跟我一起学习VIM - The Life Changing Editor

本文转自:http://ju.outofmemory.cn/entry/79671前两天同事让我在小组内部分享一下VIM,于是我花了一点时间写了个简短的教程。虽然准备有限,但分享过程中大家大多带着一种惊叹的表情,原来编辑器可以这样强大,这算是对我多年来使用VIM的最大鼓舞吧。所以分享结束之后,将这篇简短教程整理一下作为我2014年的第一篇Blog。目录写在前面:Life Changin...

2018-09-04 08:58:22 102

转载 写好代码的11个技巧

本文转自:http://outofmemory.cn/wiki/how-to-code-better作为一个合格的程序员,有太多的理由促使你去编写干净利落且可读性强的代码。最重要的是因为你编写的代码,将来会有很多人一次次地阅读。当你有一天回过头来看自己的代码时,你就会明白编写优雅的代码是多么的重要。另外,如果别人来阅读你编写的代码,你是否想知道别人看到那些烂代码无比抓狂的感受。因此,花多一点的...

2018-09-04 08:58:13 170

转载 成为优秀程序员的十个Tips

本文转自:http://outofmemory.cn/wiki/10-tips-for-best-programmer理解技术债务技术债务就像信用卡一样,会有很高的利息率,时间越长,修复所花的代价就越大,程序员对这个要有深刻的认识。同时团队应该培养一种保证设计质量的文化,应当鼓励重构、同时也应当鼓励其它有关代码质量的实践,在开发时间中应当专门抽出一部分以解决技术债务。如果没有合适的照料,代...

2018-09-04 08:57:51 62

转载 完成功能验证就足够了吗?

本文转自:http://www.eetop.cn/blog/html/28/1561828-445863.html基于验证的复杂性和验证的目的意义,验证的完成结束有许多层意义。对于一个新的设计,验证工作的完成有两种基本的节点,功能性验证完成和RTL验证完成,二者的不同在于一个完全着眼于功能属性,而另一个为确保设计的正确性加入了一些主观的RTL测试。对于前者,功能性验证中,虽然工程师们使用了...

2018-09-03 14:49:07 260

转载 从参数、UVM、覆盖率、仿真来详解IP复用

本文转自:http://www.eetop.cn/blog/html/28/1561828-445864.html半导体工艺技术和FPGA平台继续扩大了工程师可利用的晶体管和门的数目。而要利用这个增加的容量,而且为了及时争取市场窗口,要仍然跟上紧迫的项目时间表,在这种情况下,唯一方法是通过使用已有的IP。因此,IP复用对半导体工业的扩张至关重要。本文将从参数,UVM,覆盖及仿真方面介绍验证可复...

2018-09-03 14:48:34 1380

转载 验证的方法篇之八:趋势展望

本文转自:http://www.eetop.cn/blog/html/28/1561828-445860.html目前主要的验证方式包括动态仿真、形式验证和硬件加速,那么如何选择它们,已经是否可以构建一个可复用的验证平台实现这些不同验证方法的跨越是接下来我们需要关心的。随着设计的尺寸和复杂度在不断提高,即便有IP复用的方式来缩短设计时间,更多模块之间的互动可能性也要求更充分地去验证这些状态空间...

2018-09-03 14:47:57 170

转载 验证的方法篇之七:性能验证

本文转自:http://www.eetop.cn/blog/html/28/1561828-445859.html在迈过了效能验证的坎以后,我们来到了性能(performance)验证部分。顾名思义,在这部分验证当中我们需要测试芯片的性能,而测试性能又离不开大量的运算或者数据传输。我们之前提到过,硅前RTL验证的瓶颈之一在于仿真速度,而且一旦到了芯片级仿真,这一因素就更进一步放大了。 ...

2018-09-03 14:47:22 2071

转载 验证的方法篇之六:效能验证

本文转自:http://www.eetop.cn/blog/html/28/1561828-445858.html在PC时代,还少有人将处理器功耗提上验证的日程,因为大家对于处理器性能的关注多于功耗的考虑。在十多年前,大家使用2G的功能手机,“超长待机”一词渐渐被作为主打广告语进入了用户的视线,这得益于硬件本身的低功耗(性能本身不要求太突出)和大容量的电池。而到了智能手机时代,伴随着将桌面办公...

2018-09-03 14:46:49 783

转载 验证的方法篇之五:硬件加速

本文转自:http://www.eetop.cn/blog/html/28/1561828-445857.html我们之前介绍过的动态仿真和静态检查方法各自具有优势,然而它们都不具备的一个优势在于速度。尤其是在SoC的设计体量越来越大的时候,仿真速度成为制约验证进度的重要障碍。同时,由于仿真速度的限制,一些真实的用例也无法在RTL级仿真很快地呈现结果,这种困难在硅后软件测试发现问题反馈给硅前硬...

2018-09-03 14:46:15 1751

转载 验证的方法篇之四:虚拟模型

本文转自:http://www.eetop.cn/blog/html/28/1561828-438528.html对于系统虚拟建模的广泛定义是它包含高抽象级的系统硬件模型,而与此同时软件开发可以在此硬件模型基础上展开。通过这种方式,虚拟模型不但可以让软件开发在更早期就展开,而且还可以收获软件开发的反馈,从而交给硬件设计。 这种反馈在以往的瀑布模式开发周期中是无法实现的,因为软件往往需要...

2018-09-03 14:45:37 400

转载 验证的方法篇之三:开发环境

本文转自:http://www.eetop.cn/blog/html/28/1561828-438527.html如果我们将影响验证编码效率的因素分为“硬件因素”和“软件因素”,那么硬件因素的配置在短期是可以补齐的,而软件因素则会设计到验证人员的技术能力、调试能力和其它软实力。所以从实用的角度上来看,如果准备在验证道路上长期深耕的话,更早地提高硬件环境配置是一笔越早投入收益越大的事情。 ...

2018-09-03 14:43:33 500

转载 验证的方法篇之二:静态检查

本文转自:http://www.eetop.cn/blog/html/28/1561828-438526.html与动态仿真相对的是静态检查,它本身不需要仿真、波形激励,通过工具的辅助,验证人员即可以发现设计中存在的问题。静态检查方法较为分散,且关注的验证领域也不为一致,我们将目前主要的方法概括为: 语法检查(syntax check) 语义检查(linting check)...

2018-09-03 14:42:45 1316

转载 验证的方法篇之一:动态仿真

本文转自:http://www.eetop.cn/blog/html/28/1561828-438525.html从这一季开始我们进入了《验证的方法篇》,之所以单独分出一季来介绍验证的方法和工具,一方面是目前验证方法的分支和其工具种类繁多,另外的是希望读者可以在系统了解了验证的工具库之后,在验证设计的时候首先有一套工具箱,而后再根据设计的特点将其结合不同的验证方法和工作,最终取得满意的效果。...

2018-09-03 14:42:02 5050

转载 验证的策略篇之六(终):集成的环境

本文转自:http://www.eetop.cn/blog/html/28/1561828-438327.html在分析完激励的原则的检查的方法之后,我们关于验证平台(testbench)的核心要素就大致齐备了。接下来我们将进一步分析整个验证集成环境要考虑的部分有哪些,通过这些分析了解这些部分之间的关系。从下面这张图我们将验证集成环境分为了: 验证平台(verification plat...

2018-09-01 09:20:42 215

转载 验证的策略篇之五:检查的方法

本文转自:http://www.eetop.cn/blog/html/28/1561828-438326.html我们在上一节《激励的原则》里面给出了几点用来评估激励自由度的方法,在这篇文中,我们则需要考虑在各种可能的激励组合下,如何选择适当的检查来完成一项核心要素:检查就是查看设计是否按照功能描述做出理应的行为,并且识别所有错误的输出从而发现设计缺陷。 对于激励我们是从接口类型来划分...

2018-09-01 09:20:06 397

转载 验证的策略篇之四:激励的原则

本文转自:http://www.eetop.cn/blog/html/28/1561828-438325.html我们这篇文章《激励的原则》实际上就是解决一件事情,那就是如何保证激励源最大的自由度?因为只有从环境结构上保证了激励源最大的自由度,我们才有可能在输入一侧提供更丰富的输入组合,有条件地穷历一些测试序列。 按照这个核心原则,我们可以将激励的自由度按照如下去考虑评估: 接口...

2018-09-01 09:19:28 346

转载 验证的策略篇之三:验证的透明度

本文转自:http://www.eetop.cn/blog/html/28/1561828-438324.html我们可以按照激励的生成方式和检查的功能点分布将验证划分为三种基本方式: 黑盒验证 白盒验证 灰盒验证 接下来,我们逐个解释这三种不同透明度的验证特征。 黑盒验证如果验证人员对于设计的细节缺乏认识,那么黑盒验证是一种合适的方式。因为验证环境只...

2018-09-01 09:18:53 363

systemVerilog Assertion应用指南完整版

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

2018-08-14

APB_SPI_master

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

2018-08-14

Intermediate PERL

Intermediate PERL.

2018-08-14

uvm-cookbook-complete-verification-academy

uvm-cookbook-complete-verification-academy

2019-01-02

AMBA_UVM验证DEMO

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

2019-01-29

AMBA_APB_I2C

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

2018-08-15

电子技术基础:数字部分

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

2019-04-09

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

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

AMBA_AHB_DMA

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

2018-08-17

sv_lab.zip

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

2019-10-16

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

SD_part1_Physical_Layer_spec

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

2018-10-18

算法之道_第二版全目录

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

2018-11-04

空空如也

空空如也

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

TA关注的人 TA的粉丝

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