- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Verify 工作简介
随着IC的门数越来越多。IC的验证也越来越复杂。IC需要的从业人员也越来越多,我简单介绍一下IC验证的情况吧,希望对想找IC验证工作的哥们有些帮助。
先说基础知识吧。除了verilog代码和systemverilog代码,IC验证现在越来越多的用到c语言和C++了。当然如果会点shell 与perl脚本语言那就更好了。就verilog而言,验证从业人员真的不需要能非常牛逼的使用这个语言,但是必须要能读懂,帮助designer debug的时候你最好能定位到错误发生的位置。
Systemverilog代码是验证的核心,但是大学或者研究生期间使用该代码的院校还是很少的。现在各家大公司用的验证环境几乎清一色的都是使用systemverilog搭建的。其实怎么都感觉systemverilog代码是把C++和verilog代码揉到一起了。学起来也不是很难的。
C语言和C++就不用多说了,C语言到什么地方都是有用的。以前验证没有怎么使用太多的C语言,但是现在由于算法越来越复杂,好多东西用C语言实现起来还容易。所以C语言在现在的验证工作中用的越来越多了。而且现在有不少公司都习惯用C语言来写激励了。这样的激励比较好阅读。更加接近与以后的开发编写环境。
至于脚本语言,那就没有什么了。都是在完成验证环境搭建以后用的比较多。暂时不会也不要紧,一般常用的就那么一点。这个其实和linux比较类似,基础命令还是要会一点的。
说一下现在验证的概况吧。现在的IC验证工作都是在一个建立好的平台上做的验证。现在比较常见的验证平台有VMM和OVM,以前也有AVM不过现在已经合并到OVM中去了。当然现在市场的主力军还是VMM,但是由于OVM是开源的,所以OVM发展也是很快的。VMM是synopsys公司主导使用的,想要使用VMM就需要使用synopsys的VCS软件,呵呵这一套软件还是挺贵的啊。OVM是由Cadence和mentor合作开发的,由于Cadence以前看好的验证语言是systemC,结果在systemverilog这一块稍微有点掉队,于是就和mentor合作搞起了OVM以抗衡VMM。Questa是mentor的验证软件,具体没有用过。感觉图形界面做的不错。
下面就以我熟悉的VMM验证环境来说吧。其实OVM也是差不多的,大的框架还是相同的。都还是那些东西。废话少说上图!!!
以上就是现在比较常见的IC验证环境的基本框图了,根据具体情况不同会把一些模块合成一个,也有可能拆分成几个来实现。但是运行的过程还是相同的。先拿testcase来说吧,这个东西大家都比较熟悉吧,最初的testcase基本上都是用verilog代码来写的,当然现在还是有用的。但是verilog代码写的testcase有一些不足之处,首先verilog代码不支持随机处理,不方便用来产生随机激励,其次verilog的层次比较低不适用于较高层次的建模。Systemverilog出现很好的解决了这些问题。而且systemverilog能够与c语言很好的连接,systemverilog有一个DPI专门用于连接外部C程序(还支持一些其他的语言)的,很好用。为适用C语言编写testcase提供了基础,所以现在有不少testcase都是使用C语言来写的。使用C语言写出来的testcase结构比较紧凑,比较像做嵌入式开发写底层驱动。
发生器(generator)用来解释testcase,其实也就是把testcase翻译成具体的数据包,或者数据码流。
代理这个东西就是把数据分配下去,他与记分板和检测器一起称为功能层。
记分板(scoreboard)用来临时存放一些数据,用于数据的比较。常与检测器合在一起,共同完成数据的比较,查错。他们要实现的一个与待测设计相同功能的模块,用于自动比较的。其实也就是要设计一个能实现相同功能的模块,一般小的模块这部分设计都是由验证工程师自己完成的,如果是复杂的模块由于验证工程师还要关注其他的模块,这块功能可以由其他地方提供,比如一些现成的C语言代码,验证工程师把这个C代码嵌入的验证环境中就可以了,这个地方的实现方式比较多,也是验证的一个精华的地方吧。主要的debug也就在这个地方实现的。
驱动层(driver)顾名思义,就是用来驱动我们的额待测设计(DUT(device under test,这个名字还是有必要记住的))。就是把数据包处理成具体的操作激励,也就是那些波形了。
检测器(monitor)用来采集待测设计(DUT)的输出波形,然后传回scoreboard用于和标准结果比较,验证DUT工作是否正确。
断言(assert)是个好东西,但是如果紧紧依靠验证工程师这个东西是没办法用好的,这个东西非常需要设计人员配合。Asse
您可能关注的文档
- 2012年高考地理 高考试题+模拟新题分类汇编专题1 地球和地图.doc
- 2012年会计继续教育最后的考试答案(覆盖率95%以上哦).doc
- 2012年上半年六合区事业单位岗位信息表81387.xls
- 2012年上海市创建全国示范社区卫生服务中心考评指标自评表.xls
- 2012年物业管理实务.doc
- 2012山东学业水平考试生物.doc
- 2012物业管理师《基本制度与政策》精选预测题(题后附答案).doc
- 2013-12 保洁服务分包项目考核细则 (12.08).doc
- 2013春季学期南宁市苏圩中学高一语文第一次月考试题(正式版).doc
- 2013广州装修报价清单(由龙装网合作装修公司提供).xls
最近下载
- 办公耗材类保证服务的措施.docx VIP
- 网招团队日常管理.pptx
- 阿兹海默症护理.pptx VIP
- 罐区设备设施风险分级管控清单.pdf VIP
- DB32T 4582-2023 宗教活动场所安全管理规范 .pdf VIP
- 专题03 2025年西城区高三一模作文“用功与有功” “如你所愿”导写(原题呈现 审题立意 素材积累 高分范文 类题迁移).docx VIP
- BATCH RELEASE CERTIFICATE(外贸出口BRC两个模板).doc
- (投标书范本)政府采购投标书.pdf VIP
- 专题02 2025年东城区高三一模作文“适合的与热爱的” “先声”导写(原题呈现 审题立意 素材积累 高分范文 类题迁移).docx VIP
- 沪教版九上化学 2.1 性质活泼的氧气第2课时 氧气的实验室制法与性质实验 课件(共17张PPT)(含音频+视频).ppt VIP
文档评论(0)