论文部分内容阅读
摘?要 随着科技信息相关技术的不断发现,对于集成电路的相关应用得到了前所未有的重视,对于设计方面的需求也不断的增强。集成电路的设计逐渐形成了不断复杂的发展趋势。因此,对复杂集成电路设计进行高效的验证的研究具有重要的理论意义和现实意义。鉴于此,本文选择集成电路的高效验证领域为研究对象,针对相关问题进行了分析与探讨。文章首先分析了对于验证相关研究的重要意义,然后阐述了VMM验证方法的基本原理,最好分析了芯片系统级验证方案、介绍了验证环境的总体架构。希望本文的研究能够为基于VMM的高效SOC测试平台设计提供一些思路,同时对于相关领域的其他研究也能起到抛砖引玉的作用。
关键词 VMM;SOC测试平台;验证
中图分类号 TN402 文献标识码 A 文章编号 1673-9671-(2012)061-0234-01
作为整个IC设计和生产过程中一个重要组成部分也是关键环节之一而言——验证(verification)具有特殊重要的意义和作用。这种特殊的作用就是高效的验证(verification)可以确保整个项目的顺利实施,同时可以有效的控制风险,也有利于缩短整个项目的周期。验证的过程就是发现问题、解决问题的过程。只有及时的发现问题,才不会给后续的工作带来麻烦和不必要的相关损失。
从目前国内外的相关研究成果和实践经验上来看,对于集成电路的整个开发过程而言,验证多数情况下要经历两轮。这两轮主要是:第一轮是针对芯片设计过程而进行的相关验证,在这一个轮次中验证的目的是要对工艺流程进行适当的控制,从而全面的发现设计的错误,对后续工作起到保障的作用。第二轮是针对产品封装以后而进行的相关验证检验,在这一个轮次中验证的目的是要对产品的成品率进行必要的保障和支持。即便是有以上两个轮次的验证作为保障,在实践过程中的一些问题还是会出现,相关的统计表明产品失效的比例仍然高达百分之一到百分之五之间。这样的话这些不合格的产品必然会给我们的相关生产带来相关的风险,甚至是不可想象的“毁灭性灾难”。由此可见,对于验证的相关研究意义重大。
1 VMM验证方法学简介
作为一个完整的VMM来说,一般情况下属于分层验证环境架构。这样的话,在这样一种架构模式下,VMM可以有以下五个层次构成。这五个层次分别是:测试层(Test Layer)场景层(Scenario Layer)、功能层(Function Layer)、命令层(Command Layer)和信号层(Signal Layer)。同时VMM还可以进行相关功能覆盖率的收集,这主要是在除了测试层(Test Layer)意外的其他四个分层上进行的。正式基于这种层次化的结构设计,最为原始的初级信息被不断的进行抽象,最后成为了最为高级的事务级信息。各层之间相互递进,每一个层级都为上一个层级提供了一定的特定服务,同时借助抽象描述手段将低层次的细节进行了适当的处理,使他们“隐藏”起来。
作为VMM的另外一个特点就是验证环境独立于DUT之外,这样的话DUT就被当做黑盒进行相关的验证。而在具体是验证操作过程中,相关人员仅需要对DUT的信息进行适当的清除操作就可以了,同时要注意处理好接口的时序关系就可以顺利进行了。对于整个验证环境来说具有一些自动化和抽象的特点,这些特点就要求我们在具体进行测试用例编写的过程中对相关的细节进行调整,尽量保持最少数目。整个验证平台的适应性也非常好,对于各种测试用例可以进行多次重复性的使用和开发,这样可以有效的提高效率。
2 芯片系统级验证方案分析
由于待测芯片规模较大、功能复杂,为了减少验证工作量,提高验证效率,验证平台的编写要保证验证用例在较高抽象层次上边写,另外总线架构复杂,在总线上挂了好多设备,对于总线互联互通及性能的测试需要能够持续发送大流量的各种数据,这就要求验证环境可以产生随机激励来用较短的时间覆盖较多的测试点,并通过功能覆盖率的结果来指导随机激励的约束情况,同时为了能在后续版本的芯片验证中能够尽可能的重用现在的验证平台,要求验证平台要具有高度的可移植性、灵活性和可控性。
基于上面的对与待测设计进行验证的分析,本文以ARM和Synopsys联合推出的VMM验证方法学为指导,结合现在业界比较流行的带约束的随机激励生成和覆盖率驱动验证方法等先进验证技术利用Systemverilog语言进行验证平台的搭建。
综合待测设计的规格来看,验证平台需要完成以下几方面的内容:
1)验证平台要具有层次性,以便维护和修改,同时方便在其他的验证项目中重用部分模块;
2)能够产生带约束的随机激励;
3)能够根据场景需要构造定向激励;
4)能够统计覆盖率,用以分析验证的完备情况;
5)能够自动比对数据的正确与否;
6)能够很好的兼容各子系统验证环境,以便在验证业务模块时能够重用子系统的验证组件。
3 验证环境的总体架构
3.1 测试层(Test Layer)
测试层的重要功能是形成测试的具体案例,具体控制是通过功能覆盖率来实现的。在整个过程中可能会需要相关的随机激励进行适当的干预和约束。同时,也可能是别的方式下的直接测试激励。
3.2 场景层(Scenario Layer)
场景层主要是复杂生成事务级的随机激励,而事务级的随机激励则是针对事务发生器(Generator)等。一般情况下来说,事务发生器主要由原子事务产生器(Atomic Generator)和场景事务产生器(Scenario Generator)组成。二者的功能也有所区别,对于原子事务产生器(Atomic Generator)来说,主要是负责生成单独约束的事务,而对于场景事务产生器(Scenario Generator)来说,主要是负责生成有一定关系的随机事务序列。
3.3 功能层(Functional Layer)和指令层(Command Layer) 功能层(Functional Layer)和指令层(Command Layer)的功能主要是传输与监测控制事务(Transaction)。通过这种传输与监测,从而达到自动比对的目的。这样的话就可以对硬件的直接驱动进行干预,对于相关硬件接口进行全面的控制。而这其中包含了很多部分,常见的主要有:记分板(Soore Board)、驱动器(Driver),监控器(Monitor)等。
3.4 信号层(Signal Layer)
信号层的功能就是为了实现验证对象(DUT)与验证环境(ENV)的信号进行必要的连接。
参考文献
[1]肖庚亮.基于VMM的SOC可重用验证平台设计[J].科学技术与工程,2010,10
(5):1149-1152.
[2]李磊,罗胜钦.基于VMM方法的SOC集成验证[J].电子测量技术,2011,34
(1):128-131.
[3]Lu Jianping, Guo Yudong, Wang Xiaorui, et al. Based on collaborative VMM virtual machine execution environment dynamic allocation model of computer application,2012,32(3):831-834.
[4]李博,李建欣,胡春明等.基于VMM层系统调用分析的软件完整性验证[J].计算机研究与发展, 2011,48(8):1438-1446.
[5]周天阳,朱俊虎,王清贤.基于VMM的Rootkit及其检测技术研究[J].计算机科学,2011,38(12):77-81.
[6]章林柯,王力,王艳武.基于VMM方法学的系统级软硬件协同仿真验证[J].微型机与应用,2011,30(12):81-84.
[7]侯超,彭大芹,曾俊威.利用VMM搭建NAND Flash控制器验证平台[J].广东通信技术,2011,31(6):74-77.
[8]Yi Qiuping,Liu Jian,martial arts. The access verified protection security VMM formal prototype system is designed and realized. Computer science,2010,37(12):85-90.
[9]Zhang Jisheng, Chen Xianglan, Zhou Xuehai. VMM Guest OS process management tool design and Realization of the computer application and software,2010,27(9):163-165.
[10]刘旭恒,吴秀龙,刘新宁等.基于VMM的外部存储接口模块的验证平台搭建[J].电子技术,2010,47(9):61-62,53.
关键词 VMM;SOC测试平台;验证
中图分类号 TN402 文献标识码 A 文章编号 1673-9671-(2012)061-0234-01
作为整个IC设计和生产过程中一个重要组成部分也是关键环节之一而言——验证(verification)具有特殊重要的意义和作用。这种特殊的作用就是高效的验证(verification)可以确保整个项目的顺利实施,同时可以有效的控制风险,也有利于缩短整个项目的周期。验证的过程就是发现问题、解决问题的过程。只有及时的发现问题,才不会给后续的工作带来麻烦和不必要的相关损失。
从目前国内外的相关研究成果和实践经验上来看,对于集成电路的整个开发过程而言,验证多数情况下要经历两轮。这两轮主要是:第一轮是针对芯片设计过程而进行的相关验证,在这一个轮次中验证的目的是要对工艺流程进行适当的控制,从而全面的发现设计的错误,对后续工作起到保障的作用。第二轮是针对产品封装以后而进行的相关验证检验,在这一个轮次中验证的目的是要对产品的成品率进行必要的保障和支持。即便是有以上两个轮次的验证作为保障,在实践过程中的一些问题还是会出现,相关的统计表明产品失效的比例仍然高达百分之一到百分之五之间。这样的话这些不合格的产品必然会给我们的相关生产带来相关的风险,甚至是不可想象的“毁灭性灾难”。由此可见,对于验证的相关研究意义重大。
1 VMM验证方法学简介
作为一个完整的VMM来说,一般情况下属于分层验证环境架构。这样的话,在这样一种架构模式下,VMM可以有以下五个层次构成。这五个层次分别是:测试层(Test Layer)场景层(Scenario Layer)、功能层(Function Layer)、命令层(Command Layer)和信号层(Signal Layer)。同时VMM还可以进行相关功能覆盖率的收集,这主要是在除了测试层(Test Layer)意外的其他四个分层上进行的。正式基于这种层次化的结构设计,最为原始的初级信息被不断的进行抽象,最后成为了最为高级的事务级信息。各层之间相互递进,每一个层级都为上一个层级提供了一定的特定服务,同时借助抽象描述手段将低层次的细节进行了适当的处理,使他们“隐藏”起来。
作为VMM的另外一个特点就是验证环境独立于DUT之外,这样的话DUT就被当做黑盒进行相关的验证。而在具体是验证操作过程中,相关人员仅需要对DUT的信息进行适当的清除操作就可以了,同时要注意处理好接口的时序关系就可以顺利进行了。对于整个验证环境来说具有一些自动化和抽象的特点,这些特点就要求我们在具体进行测试用例编写的过程中对相关的细节进行调整,尽量保持最少数目。整个验证平台的适应性也非常好,对于各种测试用例可以进行多次重复性的使用和开发,这样可以有效的提高效率。
2 芯片系统级验证方案分析
由于待测芯片规模较大、功能复杂,为了减少验证工作量,提高验证效率,验证平台的编写要保证验证用例在较高抽象层次上边写,另外总线架构复杂,在总线上挂了好多设备,对于总线互联互通及性能的测试需要能够持续发送大流量的各种数据,这就要求验证环境可以产生随机激励来用较短的时间覆盖较多的测试点,并通过功能覆盖率的结果来指导随机激励的约束情况,同时为了能在后续版本的芯片验证中能够尽可能的重用现在的验证平台,要求验证平台要具有高度的可移植性、灵活性和可控性。
基于上面的对与待测设计进行验证的分析,本文以ARM和Synopsys联合推出的VMM验证方法学为指导,结合现在业界比较流行的带约束的随机激励生成和覆盖率驱动验证方法等先进验证技术利用Systemverilog语言进行验证平台的搭建。
综合待测设计的规格来看,验证平台需要完成以下几方面的内容:
1)验证平台要具有层次性,以便维护和修改,同时方便在其他的验证项目中重用部分模块;
2)能够产生带约束的随机激励;
3)能够根据场景需要构造定向激励;
4)能够统计覆盖率,用以分析验证的完备情况;
5)能够自动比对数据的正确与否;
6)能够很好的兼容各子系统验证环境,以便在验证业务模块时能够重用子系统的验证组件。
3 验证环境的总体架构
3.1 测试层(Test Layer)
测试层的重要功能是形成测试的具体案例,具体控制是通过功能覆盖率来实现的。在整个过程中可能会需要相关的随机激励进行适当的干预和约束。同时,也可能是别的方式下的直接测试激励。
3.2 场景层(Scenario Layer)
场景层主要是复杂生成事务级的随机激励,而事务级的随机激励则是针对事务发生器(Generator)等。一般情况下来说,事务发生器主要由原子事务产生器(Atomic Generator)和场景事务产生器(Scenario Generator)组成。二者的功能也有所区别,对于原子事务产生器(Atomic Generator)来说,主要是负责生成单独约束的事务,而对于场景事务产生器(Scenario Generator)来说,主要是负责生成有一定关系的随机事务序列。
3.3 功能层(Functional Layer)和指令层(Command Layer) 功能层(Functional Layer)和指令层(Command Layer)的功能主要是传输与监测控制事务(Transaction)。通过这种传输与监测,从而达到自动比对的目的。这样的话就可以对硬件的直接驱动进行干预,对于相关硬件接口进行全面的控制。而这其中包含了很多部分,常见的主要有:记分板(Soore Board)、驱动器(Driver),监控器(Monitor)等。
3.4 信号层(Signal Layer)
信号层的功能就是为了实现验证对象(DUT)与验证环境(ENV)的信号进行必要的连接。
参考文献
[1]肖庚亮.基于VMM的SOC可重用验证平台设计[J].科学技术与工程,2010,10
(5):1149-1152.
[2]李磊,罗胜钦.基于VMM方法的SOC集成验证[J].电子测量技术,2011,34
(1):128-131.
[3]Lu Jianping, Guo Yudong, Wang Xiaorui, et al. Based on collaborative VMM virtual machine execution environment dynamic allocation model of computer application,2012,32(3):831-834.
[4]李博,李建欣,胡春明等.基于VMM层系统调用分析的软件完整性验证[J].计算机研究与发展, 2011,48(8):1438-1446.
[5]周天阳,朱俊虎,王清贤.基于VMM的Rootkit及其检测技术研究[J].计算机科学,2011,38(12):77-81.
[6]章林柯,王力,王艳武.基于VMM方法学的系统级软硬件协同仿真验证[J].微型机与应用,2011,30(12):81-84.
[7]侯超,彭大芹,曾俊威.利用VMM搭建NAND Flash控制器验证平台[J].广东通信技术,2011,31(6):74-77.
[8]Yi Qiuping,Liu Jian,martial arts. The access verified protection security VMM formal prototype system is designed and realized. Computer science,2010,37(12):85-90.
[9]Zhang Jisheng, Chen Xianglan, Zhou Xuehai. VMM Guest OS process management tool design and Realization of the computer application and software,2010,27(9):163-165.
[10]刘旭恒,吴秀龙,刘新宁等.基于VMM的外部存储接口模块的验证平台搭建[J].电子技术,2010,47(9):61-62,53.