- Cadence:亚洲消费电子公司将斩获未来中端市场 (2009-01-06)
- IP验证:增量仿真技术的运用 (2008-12-04)
- 硅知识产权交易中心携手安捷伦成立IP测试验证/汽车电子测试联合实验室 (2007-08-14)
- 硅知识产权交易中心与安捷伦携手合作,共同推进IC IP核测试验证技术与服务 (2007-08-13)
- Cadence验证方案广受青睐,SystemVerilog成主流开发技术 (2007-01-12)
关键字: SystemVerilog 验证 IP VMM
芯片验证越来越像是软件而不是硬件工作,这点已逐渐成为业界的共识。本文以软件工程的视角切入,分析中科院计算所某片上系统(SoC)项目的验证平台,同时也介绍当前较为流行的验证方法,即以专门的验证语言结合商用的验证模型,快速建立测试平台(Test-bench)并在今后的项目中重用。本文提及的高级验证语言、方法学、验证基本库和仿真模型,这一套方法在近几年中正逐渐被业界广为采用。计算所的工作就是以这些最新成果为起点,对基于AXI总线协议的SoC建立测试平台。
这种新方法可大幅度提高芯片验证的效率,尤其是项目初期投入极大地降低,原因之一是面向对象编程等软件工程方法的大量引入。当然,这也对验证工程师的技能提出了新的要求。
验证方法
在验证领域,显见的趋势是语言划一、仿真平台统一、更加正规和高效。以本文介绍的项目为例,语言是SystemVerilog,平台则基于VMM构建,更有验证模型(Verification IP)助力,大幅提升了效率。正是因为部件可重用、平台结构化、以覆盖率为导向和高度自动化等特点,验证工作也愈加正规,有流程可循。
专门的验证语言,面世已有数年之久。它们出自于传统的纯粹Verilog(有时部分引入C/C++)描述的验证系统,并有很大发展。Vera、e语言和目前已成IEEE标准的SystemVerilog就是这段时期技术创新的成果。
面向对象编程特性,溯其源头便是C++语言。早在纯Verilog语言验证的时代,已有利用C++开发可重用验证代码的做法。工程师们看中的恰是OOP的封装、继承、多态及可重用等优异特性。
验证语言没有相应函数库的支持,语言本身也很难发挥效力。举一个大家熟知的例子,视窗(Windows)编程中,使用C语言直接调用视窗系统的编程接口(API)实现,是较为传统的做法,可目前却鲜有视窗程序员这样应用。为什么?工作量巨大,需维护的信息太多,从窗口尺寸、菜单列表到程序算法,都要加以考虑。因而作为解决方案之一的微软基本库(MFC)才得以大行其道。与之相得益彰的是,C++作为微软基本库的描述语言,也随视窗系统的传播,广为流行开来。
现代芯片验证领域,无例外地也出现了类似状况。大量新方法、新模型和新类库不断涌现,减轻了验证工程师们重复开发底层代码的负担,将更多精力投入到实际项目上。这一套新思路中,主要构成部分便是验证语言(如Vera、SystemVerilog),验证基本库(RVM、VMM)和相应的验证模型。
VMM的应用
VMM不仅是方法学,更是该方法的具体实现。它包括一系列的类库(class library)、类对象(object)联接关系以及用户定制的代码。如图1所示的测试平台中,各部件或即对象,是VMM基本类/扩展类的实例化(Instantiate)。所涉及到的VMM基本类有vmm_xactor、vmm_scenario_gen和vmm_data等。

图1:测试平台框图。
联接各部件,构成一个整体还需要其它一些基本类,包括vmm_env、vmm_channel以及vmm_xactor_callbacks等。除此之外,用户要根据芯片的实际状况,添加或修改约束条件、接口联线、执行步骤、覆盖率定义和自动比对机制(auto-check)。
|
|
搜集工程师们最关心的话题,发表您的真知灼见。
|











|