IC验证 介绍
- 格式:doc
- 大小:100.00 KB
- 文档页数:3
ic验证方法IC验证方法是集成电路设计中非常重要的一环,它用于验证设计的正确性和功能性。
在集成电路设计中,IC验证方法是确保设计能够按照预期工作的关键步骤之一。
本文将介绍几种常见的IC验证方法,包括仿真验证、形式验证和硬件验证。
一、仿真验证仿真验证是最常用的IC验证方法之一。
它通过在计算机上模拟设计的工作情况来验证其正确性和功能性。
在仿真验证过程中,设计人员使用一种称为电路模拟器的软件工具来模拟集成电路的行为。
通过输入一组测试数据,电路模拟器可以模拟电路的输入和输出情况,从而判断设计是否按照预期工作。
仿真验证方法有两种主要类型:功能仿真和时序仿真。
功能仿真用于验证电路的逻辑功能是否满足设计要求。
时序仿真则用于验证电路的时序性能是否满足设计要求。
通过对设计进行这两种仿真验证,可以全面地评估电路的正确性和性能。
二、形式验证形式验证是一种基于数学推理的IC验证方法。
它通过使用形式化规范语言来描述设计的行为,并使用形式验证工具来自动验证设计是否满足规范。
形式验证方法可以在设计的所有输入条件下进行验证,因此可以发现设计中的潜在错误和漏洞。
形式验证方法的优势在于它可以提供严格的证明,而不仅仅是模拟验证中的几个测试用例。
然而,形式验证需要设计人员具备一定的数学和逻辑推理能力,并且对于复杂的设计,形式验证的时间和资源成本可能会很高。
三、硬件验证硬件验证是一种在实际硬件上验证设计的方法。
它通过将设计加载到芯片或FPGA等硬件平台上,并使用实际的输入数据来测试电路的功能和性能。
硬件验证可以提供最接近实际工作条件的验证环境,因此可以发现仿真验证中无法发现的问题。
硬件验证通常需要设计人员具备一定的硬件开发和调试能力。
在硬件验证过程中,设计人员需要使用测试仪器和设备来观察电路的行为,并根据观察结果进行调试和修复。
IC验证方法在集成电路设计中起着至关重要的作用。
通过仿真验证、形式验证和硬件验证等方法,设计人员可以全面地验证设计的正确性和功能性。
IC验证报告概述本报告旨在对IC的验证结果进行分析和总结。
IC验证是一项重要的过程,它验证了IC的设计与规格之间的一致性,确保IC的功能和性能符合预期。
验证方法在IC验证过程中,我们采用了以下方法和工具:1. 功能仿真:使用仿真工具对IC的逻辑功能进行仿真验证,确保各个逻辑部分的正确运行。
2. 时序仿真:通过时序仿真验证,确保IC的时序符合设计要求,与规格一致。
3. 电气仿真:通过电气仿真验证,确保IC的电气性能满足设计要求,例如电压范围、功耗等。
4. 特殊测试:对IC的特殊功能进行测试,以验证其在各种特殊情况下的表现。
验证结果通过IC验证过程,我们得到了以下结果:1. 功能一致性验证:IC的各个逻辑功能均正常工作,与设计规格一致。
2. 时序一致性验证:IC的时序满足设计要求,与规格一致。
3. 电气性能验证:IC的电气性能符合设计要求,例如电压范围、功耗等。
4. 特殊功能测试:IC在各种特殊情况下表现良好,无异常现象。
总结通过IC验证过程,我们确认了IC的功能和性能与设计规格一致。
这表明IC的设计和制造工艺是成功的,可以继续进行后续生产和应用。
在验证过程中,我们采用了多种方法和工具,确保了验证结果的准确性和可靠性。
推荐措施为了进一步提高IC的质量和性能,我们推荐以下措施:1. 继续优化设计和制造工艺,以提高IC的性能和可靠性。
2. 定期进行IC验证和测试,以确保每一批IC的质量和性能达到预期。
3. 不断研究和应用新的验证技术和方法,以跟上行业的发展趋势。
我们相信,通过以上的措施,我们能够进一步提高IC的质量和性能,为客户提供更好的产品和服务。
ic芯片验证刮擦测试和丙酮测试原理IC芯片验证是指通过一系列测试来验证IC芯片的品质和可靠性。
其中两个常用的测试方法是刮擦测试和丙酮测试。
刮擦测试是一种常用的表面耐磨性测试方法,用来测试芯片封装材料的耐擦刮性能。
其原理基于运用一定的力和速度在材料表面刮擦,观察刮痕和破坏情况来评估材料的性能。
在IC芯片制造过程中,封装材料通常需要具备良好的耐磨性能,以防止在芯片封装过程中或长时间的使用中出现材料破坏导致芯片性能下降。
具体操作时,将待测试的封装材料样品固定在一个支撑平台上,然后使用一个带有硬质材质的刮擦头将封装材料表面刮擦,刮擦头在一定的力和速度下对样品表面进行刮擦,同时与样品表面成一定的角度。
刮擦的形式可以是线性、圆形或是其他形式的刮擦方式。
在刮擦过程中,可以通过显微镜、显微摄像机或其他设备来观察刮痕和破坏情况。
根据刮痕的深度、形状和颜色等特征,可以评估样品的耐磨性能。
通过刮擦测试,可以筛选出耐磨性能较好的封装材料,以保证IC芯片的长期可靠性。
丙酮测试又被称为有机溶剂测试,主要用于测试芯片封装材料的耐化学腐蚀能力。
丙酮是一种有机溶剂,常用于清洁和溶解材料表面的油污和污渍。
在IC芯片制造过程中,芯片封装材料需要具备良好的耐化学腐蚀能力,以确保在工作环境中不会遭受到有机溶剂的腐蚀。
丙酮测试的原理是将待测试的封装材料样品浸泡在丙酮中,然后观察样品的状态和性能变化。
具体操作时,将封装材料样品放置在一个浸泡槽中,然后将丙酮倒入浸泡槽中,使样品完全浸泡于丙酮中。
在一定的时间段内,观察并评估样品的质量、外观和性能变化。
常见的评估指标包括样品的变形、膨胀、变色等。
如果样品在丙酮中发生明显的变化,则说明样品对有机溶剂的耐腐蚀能力较差。
总之,刮擦测试和丙酮测试是IC芯片验证中常用的两种测试方法。
刮擦测试用于评估封装材料的耐磨性能,丙酮测试用于评估材料的耐化学腐蚀能力。
这两种测试方法都对保证IC芯片的可靠性和性能至关重要。
IC设计验证做了多年的IC验证工作。
经过学习和实践,对验证的理解零零散散也有不少,但总没法形成一个比较完整全面的经验谈。
这里把我对验证的一些想法记录归纳,由于理解有限,下面的篇幅也许会比较零散。
一、验证对于IC的重要性IC是集成电路的缩写,也就是我们常说的芯片;IC行业的技术门槛高、投入资金大、回报周期长、失败风险高,做一款中等规模的芯片大致需要10多人做1年半,开模的费用一般都在几百万,设计过程的笔误或者设计bug至少都会有上千个,由于设计缺陷或者工艺缺陷很容易造成芯片完全变成所谓的石头,而如果要重新头片不但需要投入额外的费用,更会将芯片上市时间延后至少半年,这些风险对于商业公司来说都是不可接受的。
正因为芯片的高风险,才凸显了验证的重要性。
在流片之前,通过验证人员的验证活动发现所有的设计bug,这就显得特别重要。
二、验证的目标做验证首先要明确我们做IC验证的目标是什么。
上面我们已经提到,由于芯片的高风险、高代价,才更突出了验证的重要性,尤其是芯片规模越来越大,逻辑越来越复杂。
为了保证芯片的成功,验证唯一的目标就是发现所有的bug,做到无漏验、零漏测。
三、验证的两问题作为验证人员,首先要搞清楚两个问题:1)我们要验证什么?2)我们该怎么验?这两个问题是验证的根本,就如同哲学里的“我是谁、我来自哪儿、我要去哪儿”一样,“我们要验什么?”是给我们指明目标,”我们该怎么验?“则是告诉我们该采用什么样的手段去达到这个目标。
如果这2个问题都没搞清楚,那么没人对你负责验证的模块有信心,毕竟你自己都不知道你的目标是什么,不知道该怎么做才能达到那个目标。
这两个问题是验证的核心所在,如果想做好验证,这是前提。
四、验证的三板斧要想做好验证,保证无漏验、零漏测,以下三个要素是必须要具备的:验证工具的掌握、算法/协议的理解、验证的意识。
1)验证工具的掌握验证工具包括vmm/uvm等验证方法学、sv/sc等验证语言、vcs等验证仿真工具、perl/python等脚本语言,这些东西是做验证要掌握的基本技能,不论你做什么样的芯片都需要这些东西来支撑你的验证工作。
IC验证培训资料1. 什么是IC验证?IC验证是指对集成电路(Integrated Circuit,IC)设计的正确性进行验证的过程。
IC验证是确保设计的电路在实际应用中能够按照预期工作的关键步骤之一。
通过IC验证,可以发现设计中的错误和缺陷,提高电路设计的可靠性和稳定性。
2. IC验证的重要性IC验证是集成电路设计过程中至关重要的一步。
一个完整的IC设计流程包括设计、验证和制造。
验证阶段是确保设计的正确性和可靠性的关键环节,它可以帮助设计人员发现和解决设计中的问题,减少后续制造阶段的错误和成本。
IC验证的重要性体现在以下几个方面:2.1 提高设计的可靠性通过IC验证,可以发现设计中的错误和缺陷,及时进行修复,从而提高设计的可靠性。
在验证过程中,可以使用不同的技术和工具来检查电路的功能、时序、功耗等方面的正确性。
2.2 减少制造成本在IC设计中,如果设计中存在错误和缺陷,这些问题在制造阶段将会被放大,并且修复起来将会非常困难和昂贵。
通过在验证阶段发现并解决这些问题,可以大大减少后续制造阶段的成本和风险。
2.3 缩短产品上市时间IC验证的及时完成可以帮助设计团队及早发现问题并进行修复,从而缩短产品的上市时间。
这对于市场竞争激烈的电子产品而言非常重要,可以使企业更快地占领市场份额。
3. IC验证的方法和技术IC验证可以采用多种方法和技术,以下是几种常见的IC验证方法:3.1 仿真验证仿真验证是通过使用仿真工具对电路进行模拟,以验证电路的功能和性能。
在仿真验证中,可以使用不同的仿真模型和测试用例来验证电路的各种工作状态和边界条件。
3.2 静态验证静态验证是通过对电路的设计文件进行静态分析,以发现设计中的错误和缺陷。
静态验证可以使用形式化验证、模型检查等技术来进行。
3.3 时序验证时序验证是验证电路的时序要求是否满足的过程。
通过时序验证,可以检查电路的时钟频率、时序关系、时序敏感路径等方面的正确性。
3.4 功耗验证功耗验证是验证电路的功耗是否满足设计要求的过程。
ic验证工作总结IC验证工作总结。
IC验证是集成电路设计中非常重要的一个环节,它涉及到对集成电路设计的功能和性能进行验证和确认。
在IC设计的整个流程中,验证工作占据着至关重要的位置,它直接影响到产品的质量和性能。
在这篇文章中,我们将对IC验证工作进行总结和分析。
首先,IC验证工作需要进行严格的规划和设计。
在验证工作开始之前,需要制定详细的验证计划,明确验证的目标和范围,确定验证的方法和工具,以及制定验证的时间表和进度安排。
只有有了清晰的验证计划,才能保证验证工作的顺利进行。
其次,IC验证工作需要进行全面的功能验证。
在集成电路设计完成后,需要对其功能进行全面的验证,确保其符合设计要求。
这包括对各个功能模块的验证,以及对整个集成电路的功能交互进行验证。
通过全面的功能验证,可以及时发现和解决设计中的问题,确保产品的功能完整和稳定。
另外,IC验证工作还需要进行性能验证。
除了功能验证,还需要对集成电路的性能进行验证,包括速度、功耗、温度等方面。
通过性能验证,可以确保集成电路在各种工作条件下都能够正常工作,并且满足产品的性能要求。
最后,IC验证工作还需要进行验证结果的分析和总结。
在验证工作完成后,需要对验证结果进行详细的分析,找出其中的问题和不足,并提出改进的建议。
同时,还需要对验证工作的过程进行总结,总结验证工作中的经验和教训,为今后的验证工作提供参考和借鉴。
总之,IC验证工作是集成电路设计中非常重要的一个环节,它需要进行严格的规划和设计,全面的功能和性能验证,以及对验证结果的分析和总结。
只有通过认真的验证工作,才能保证集成电路设计的质量和性能,为产品的成功上市打下坚实的基础。
数字IC(Integrated Circuit) 验证方法是电子行业的一项重要技术,它可以确定数字集成电路的合格性、可靠性和可用性。
首先,数字IC验证需要根据给定的设计要求,进行深入的分析和模拟,以确定电路的结构和行为特性。
在这一步,可以构建数字IC的模拟模型,使用计算机软件对模型进行仿真,以确定该模型是否能够满足设计要求。
其次,数字IC的验证还需要对该集成电路的功能和特性进行测试,以确保它的正确性。
在这一步,可以使用测试设备对集成电路进行功能测试,以确定它的功能是否能够满足设计要求。
此外,也可以使用测试设备对集成电路的性能特性进行测试,以确定它的特性是否符合设计要求。
第三,数字IC验证还需要进行可靠性测试,以确定集成电路在不同的温度、湿度、电压和频率条件下的可靠性。
可靠性测试可以通过环境测试设备对集成电路进行测试,以确定它是否能够稳定性工作。
最后,数字IC验证还要进行安全测试,以确保对人体和环境的安全性。
安全测试可以使用电磁兼容测试设备来测试集成电路,以确定它是否符合安全标准。
总之,数字IC验证是一项重要的技术,它可以帮助确定数字集成电路的合格性、可靠性和可用性,从而确保其在不同环境下的安全性和可靠性。
数字IC的设计流程,如下图所示:形式验证(Formal VerificaTIon)是一种IC设计的验证方法,它的主要思想是通过使用数学证明的方式来验证一个设计的功能是否正确。
形式验证可以分为三大类:等价性检查(Equivalence Checking)形式模型检查(Formal Model Checking)(也被称作特性检查)定理证明(Theory Prover)为什么要做形式验证?电路不也是工具综合出来的吗?为什么不能保证一致性?因为工具也是人做出来的,也有可能会出错,所以要确认。
我们平时做的最多的模拟仿真,就是给各种case的输入,穷尽各种组合,总是希望100%的验证到所有的情况。
但是有些情况下,你不太可能达到这一个目的。
假如有一个32位的比较器:比较产生等于、大于、大于的结果。
假设采用一个快速模拟器,每微秒运行一个向量,则用模拟器模拟完全部模拟向量需要的时间为:264 (all input patterns)X 10^-6—————————————————3600 (seconds)X 24 (hours)X 365 (days)≈584,942 years显然这是一个不切实际的验证时间。
而形式验证使用严格的数学推理来证明待测试设计的正确性,由于其静态、数学的特性,避免了对所有可能测试向量的枚举,而且能够达到100%无死角的检测。
定理证明是形式验证技术中最高大上的,它需要设计行为的形式化描述,通过严格的数学证明,比较HDL描述的设计和系统的形式化描述在所有可能输入下是否一致。
这种验证方法需要非常深厚的数学功底,而且不能完全自动化,所以应用案例较少。
当然还是有一些例子,例如HOL系统、PVS系统和ACL2系统等,并且都有成功应用案例。
Moore等人验证了AMD5K86芯片的除法算法的微码,Brock等验证了Motorola的CAP处理器,Clark等验证了SRT除法算法。
模型检验是一种检测设计是否具有所需属性的方法,如安全性、活性和公平性。
ic验证的基本概念和流程下载温馨提示:该文档是我店铺精心编制而成,希望大家下载以后,能够帮助大家解决实际的问题。
文档下载后可定制随意修改,请根据实际需要进行相应的调整和使用,谢谢!并且,本店铺为大家提供各种各样类型的实用资料,如教育随笔、日记赏析、句子摘抄、古诗大全、经典美文、话题作文、工作总结、词语解析、文案摘录、其他资料等等,如想了解不同资料格式和写法,敬请关注!Download tips: This document is carefully compiled by theeditor. I hope that after you download them,they can help yousolve practical problems. The document can be customized andmodified after downloading,please adjust and use it according toactual needs, thank you!In addition, our shop provides you with various types ofpractical materials,such as educational essays, diaryappreciation,sentence excerpts,ancient poems,classic articles,topic composition,work summary,word parsing,copy excerpts,other materials and so on,want to know different data formats andwriting methods,please pay attention!IC验证的基本概念。
IC验证是指在芯片制造之前,对其设计进行全面检查的过程,以确保其按预期工作。
IC设计验证技术研究随着科技的不断进步,集成电路(IC)的应用越来越广泛。
而在IC设计过程中,验证是至关重要的一个环节。
设计验证技术的发展不仅能够提高设计过程效率,还能够保证产品的质量和可靠性。
本篇文章将探讨IC设计验证技术的研究现状和发展趋势。
一、IC设计验证技术概述IC设计验证是指对设计而言正确性、功能性、性能和可靠性进行验证的一系列活动。
在验证过程中,需要对设计进行仿真、验证、测试等操作,以验证设计的各方面性能。
以前人们使用手动方法进行设计验证,但是随着设计规模的扩大和复杂度的提高,手动方法在效率上已经无法满足需要。
因此,出现了很多计算机辅助设计验证工具,其中最常用的是逻辑仿真工具。
逻辑仿真工具可以模拟设计电路在各种输入条件下的响应,以检查设计是否满足功能和时序约束。
此外,还有诸如模拟仿真、静态电路检验和物理验证等其他验证技术。
二、IC设计验证技术发展现状虽然验证技术已经取得了很大进展,但是验证过程仍然是设计生命周期中最长、最复杂和最耗费人力物力的阶段。
设计人员需要花费大量时间精力来执行验证和测试。
目前,最流行的验证方法仍然是通过仿真进行验证。
但是仿真需要大量计算资源和时间,在验证海量数据时产生的数据规模很大,难以快速处理。
另外,基于大数据技术的数据挖掘和深度学习等技术也被应用到设计验证中。
通过数据挖掘技术,可以对历史验证数据进行分析,以发现问题模式并优化解决方案。
而通过深度学习等技术,可以学习设计和测试数据之间的关系并预测问题出现的可能性。
三、IC设计验证技术发展趋势IC设计的复杂度和设计周期已经超出了手动验证的能力。
验证技术必须转向更自动化和智能化的方向。
目前,设计验证领域的发展趋势主要包括以下几个方面:1. 面向验证的开发流程为了满足IC设计和验证的要求,许多公司在设计验证阶段引进了自定义开发流程。
通过改变软件开发和测试中的流程,使得产品的开发周期更短、更可预测,并且提高了产品的可靠性。
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)是个好东西,但是如果紧紧依靠验证工程师这个东西是没办法用好的,这个东西非常需要设计人员配合。
Assert功能很强大,也很容易上手,能深层次的发掘设计错误,定位很准确,也正是由于这些优点,所以验证工程师不能非常容易的使用它,因为验证工程师一般可以不需要了解太多的设计细节就可以对设计模块进行验证,但是assert需要比较清楚的了解内部信号,才能将内部信号连接到相应的assert上。
建议IC设计工程师学习哦。
对debug很有帮助的哦。
这个模块在有的验证环境中是不使用。
最后说一下覆盖率的问题。
覆盖率分为功能覆盖率,代码覆盖率,还有人为添加的一些覆盖点的覆盖率。
这个其实就是用来衡量验证工作进行到什么程度了。
最容易实现100%的是代码覆盖率,但是如果verilog代码中使用了case的default那就很难实现100%覆盖了。
功能覆盖率就是一些函数的功能,还有状态机的状态覆盖率等等。
然后还有就是验证工程师添加的覆盖点。
一般验证工作完成以后要使用这些东西完成报告的。
这么多了可能有点晕了。
可能想为什么要搞这么复杂啊。
其实这个确实蛮复杂的,环境的搭建好花不少时间。
但是这样做最大的优点就是可以自动完成激励的生成,随机激励,而且要说明的是这里的随机一般是约束随机,而不是一般意义上的随机一般的随机没有针对性,就好比要赋值的时候知道这个设计的最大值只有255,但是你一般的随机可能产生更大的值,而约束随机可以轻松地的把随机值约束在255以内。
Systemverilog的随机还支持权重分配,可以根据验证的需要控制数据按不同的比例出现。
用这样的环境做验证还有一个好处就是可重用,换了DUT只需要更换相应的driver和monitor就可以了,如果是标准总线那么连driver都不要换了,如果输出的接口也是标准的话那就连monitor都不用换了,只要换一下生成正确数据的ref单元(一般在在scoreboard 和检测器中实现,或者在scoreboard之前实现也可以)。
在换一下对应的激励,这个时候你
甚至有一种感觉自己是在做嵌入式开发的驱动。
约束随机,可重用环境,自动比较技术可以说是现在验证工作的灵魂吧。
对了这里没有说着自动对比,现在的验证工程师一般是不看波形的。
波形一般都在检查到错误的时候用来帮助designer定位错误的。
验证工程师都是使用scoreboard或者类似的模块对结果进行自动对比,这样能大大的提高验证的速度。
其实这边也可以看出来验证工程师在将验证环境搭建好了以后会有一部分时间是在等服务器完成仿真的。
好了,差不多就这么多了吧。
能搞明白验证的框架就可以了吧。
细节的东西暂时就不用考虑了。