视频信号处理系统中运动估计加速器模块基于SystemVerilog语言的验证(硕士论文)

合集下载

System-Verilog-与功能验证分析

System-Verilog-与功能验证分析
功能验证平台 验证平台的主要功能如下: 1)产生激励。 2)把激励应用到被测设计中。 3)检查结果和验证测试是否通过,也就是确 保被测设计的输出和期望一致。
功能验证技术和方法学概要
功能验证技术和方法学概要
激励产生形式 1)用户直接输入,即直接测试(direct test)。 2)种子随机生成,即随机测试(random test)。 3)用户可控的随机输入,即约束随机测试 (constraint random test)
实际项目中我们通常三者结合着去检查比对结果。
功能验证技术和方法学概要
功能验证流程 验证过程可以被分解成三个主要阶段: 1)制定验证策略和验证计划; 2)创建验证平台,运行和调试; 3)覆盖率分析和回归测试。
功能验证技术和方法学概要
制定验证策略和验证计划
功能验证技术和方法学概要
创建验证平台,运行和调试;
System Verilog 与功能验证
功能验证技术和方法学概要
为什么需要IC验证 IC设计复杂度巨大,规模已达上亿门级。 70%验证, 30%设计。 验证是IC设计的关键部分。
功能验证技术和方法学概要
功能验证技术和方法学概要
什么是验证 验证是确保设计和预定的设计期望一致(吻合) 的过程。
功能验证技术和方法学概要
覆盖率驱动验证 覆盖率驱动验证方法学涉及以下技术: 事务级验证、约束随机激励产生、自动化结果 比较、覆盖率统计分析和直接测试。
功能验证技术和方法学概要
事务级验证 事务级验证允许在一个更高的抽象层次来创建 验证场景。 信号级VS事物级:低效VS高效,简单VS复杂。
功能验证技术和方法学概要
功能验证技术和方法学概要
覆盖率分析和回归测试
功能验证技术和方法学概要

基于System Verilog的可重用验证平台

基于System Verilog的可重用验证平台
水平 不 断进 步 , 芯 片 设 计 规模 越来越 大 , 验 证 所 花 费 的 时 间 占据 了整 个 产 品 设
2.S c h o o l o f Gr a d u a t e ,Xi a n U n i v e r s i t y o f P o s t s a n d T e l e c o mmu n i c a t i o n s ,Xi a n 7 1 0 0 6 1 ,C h i n a)
t i o n p l a t f o r m c a n g e n e r a t e t a r g e t e d ,r a n d o m, a n d e r r o r t e s t v e c t o r s .T h e p l a t f o m a r l s o f a c i l i t a t e s t h e c o mp u t i n g o f f u n c t i o n a l c o v e r — a g e.Ru n n i n g t h i s p l a t f o m o r n VC S t o o l s o f S y n o p s y s Co r p o r a t i o n,me a n w h i l e u s i n g i t t o s i mu l a t e p a c k e t s w i t c h c h i p .T h e r e s u l t
b a s e d o n S y s t e m Ve r i l o g
S h a n Ru i ,J i a n g L i n ,L i T a o
( 1 . S c h o o l o f E l e c t r o n i c E n g i n e e i r n g ,X i a n U n i v e r s i t y o f P o s t s a n d T e l e c o mm u n i c a t i o n s , X i a n 7 1 0 0 6 1 ,C h i n a ;

SystemC 的验证方法和流程介绍

SystemC 的验证方法和流程介绍

SystemC 的验证方法和流程介绍1 引言当前集成电路制造技术迅速发展,SoC(system-on-chip)设计已经成为集成电路设计的发展方向。

随着SoC 设计的复杂度提高,在开发SoC 的过程中,验证工作越发重要和繁重,所占的开销占据总开销的40%70%。

SoC 设计的验证过程不但影响到芯片的成功设计,而且影响到芯片的上市时间,因此验证的正确性及其耗时的缩短成为了SoC 设计的关键。

传统设计中,系统级设计使用高级语言C/C++等描述功能模块的算法,验证的时候使用硬件描述语言(VHDL 或Verilog HDL)。

系统验证之前必须通过手工将原始的C/C++代码转换为VHDL/Verilog HDL 代码,这个转换过程耗时大并且容易产生错误。

在系统验证过程中,使用传统硬件描述语言对复杂模块的验证需要耗费大量时间。

为了提高系统级验证效率,本文针对视频芯片中的运动估计与补偿单元模块(MECU)提出了基于SystemC 的验证方法和流程。

该方法大大缩短了系统验证的搭建时间和系统验证过程的时间。

本文利用SystemC 支持设计者在不同抽象级建模的特点,给MECU 添加了低抽象级接口,使该单元能够和视频芯片内部其它模型通讯以便完成整个芯片的系统级验证。

本文最后的仿真结果证明了该设计流程的有效性。

2 SystemC 语言SystemC 是由C++衍生而来,本质是在C++的基础上添加了硬件扩展库和仿真核,这使SystemC 可以在不同抽象级对复杂电子系统建模。

它既可以描述纯功能的模型和系统体系结构,又可以描述软硬件的具体实现,进行软硬件的协同验证。

SystemC 包括以下建模元素:*模块(module)相当于C++的类定义,是一个可以多层次的实体。

一个模块可以嵌套其他模块和一些进程,是SystemC 里面最基本的单元。

*进程(process)用来描述模块的功能,包含于模块中。

进程是由事件(event)来触发的,这种触发的方式使进程可以并行执行,实现了硬件系统的并行特性,SystemC 包括三种不同的进程。

systemverilog验证方法

systemverilog验证方法

systemverilog验证方法SystemVerilog验证方法引言在现代芯片设计中,验证是一个非常重要的环节。

SystemVerilog 是一种常用的硬件描述语言,有许多验证方法可以帮助设计人员有效验证设计的正确性。

本文将详细介绍一些常用的SystemVerilog验证方法。

1.仿真验证方法•使用仿真工具进行功能验证–利用Simulator工具来模拟设计行为以进行功能验证。

验证工程师可以编写testbench来生成输入数据,驱动设计的输出,并进行断言验证。

–通过创建各种激励来测试设计中的不同情况,包括边界情况、异常情况和极端情况等。

•波形分析验证–利用仿真工具生成波形,并分析波形来验证设计的正确性。

可以检查信号的时序关系、逻辑等,并比较期望结果和实际结果。

波形分析验证可以在不同抽象级别进行,包括电平验证、逻辑状态验证和功能验证等。

2.形式验证方法形式验证是一种使用形式工具来验证设计是否满足规范的方法。

形式工具基于设计的数学模型进行验证,可以全面而快速地验证设计的正确性。

•模型检查方法–使用形式工具对设计进行形式化建模,并使用模型检查器来验证设计是否满足特定的属性。

设计人员需要编写属性规范来描述设计的期望行为,并利用模型检查器来自动验证属性是否满足。

•定理证明方法–使用形式工具来进行数学定理的证明来验证设计的正确性。

设计人员需要将设计抽象为一个形式化的数学模型,并利用定理证明器来验证设计是否满足特定的性质。

3.边界扫描方法边界扫描方法是一种将设计周围的接口边界进行扫描以验证设计的方法。

•验证接口协议–针对设计中使用的接口协议,可以编写验证环境来验证接口协议是否正确地被设计所遵循。

验证环境可以利用随机算法生成各种接口交互情况,并验证设计的响应是否满足接口协议规定的规范。

•验证接口互连–针对设计中的各个接口之间的互连,可以编写验证环境来验证互连是否满足设计的要求。

验证环境可以生成接口交互的各种情况,并验证互连的正确性和稳定性。

systemverilog验证学习笔记

systemverilog验证学习笔记

systemverilog验证学习笔记=阻塞串行<=非阻塞并行1)时序逻辑----使用非阻塞赋值2)锁存器----使用非阻塞赋值3)用alway块生成的组合逻辑----用阻塞赋值4)在同一个alway 块中既有时序逻辑又有组合逻辑---用非阻塞赋值5)在同一个alway块中不要既用阻塞赋值又用非阻塞赋值6)不要在一个以上的alway块中对同一个变量赋值7)用$trobe显示用非阻塞赋值指定的变量值8)不要用#0过程性赋值Modport将信号分组并指明方向Interfacearb_if(inputbitclk);Logic[1:0]a,b;Logicrt;Modporttet(outputa,rt,Inputb,clk);EndinterfaceModulearb(arb_if.tetarbif);…………Endmodule数组定位Inttq[$],d[]=’{9,1,8,3,4,4};Tq=d.find_inde某(某)with(item>3);//{0,2,4,5}得到的是脚标Tq=d.findwith(item>3);//{9,8,4,4}数组求和Intcount,total;Count=d.umwith(item>7);//2:{9,8}返回结果为元素与7比较表达式返回1为真或者零这里面返回,{1,0,1,0,0,0}求和得2Total=d.umwith((item>7)某item);//{1,0,1,0,0,0}和对应元素相乘求和得17=9加8数组排序d.revere();//逆序d.ort();//从小到大d.rotr();//从大到小d.huffle();时钟块指定同步信号相对于时钟的时序Interfacearb_if(inputbitclk);Logic[1:0]a,b;Logicrt;Modporttet(outputrt,Clockingcb);Endinterface断言A1:aert(bu.cb.a==2’b01)Ele$error(“grantnotaerted”);四种有输出消息的函数可在断言内部使用$info$waring$error$fatal 要验证这样一个属性:“当信号a在某一个时钟周期为高电平时,那么在接下来的2~4个时钟周期内,信号b应该为高电平”。

systemverilog语法和验证相关流程

systemverilog语法和验证相关流程

systemverilog语法和验证相关流程1、IC验证环境的基本框图测试平台发⽣器(generator)⽤来解释testcase,其实也就是把testcase翻译成具体的数据包,或者数据码流。

代理这个东西就是把数据分配下去,他与记分板和检测器⼀起称为功能层。

记分板(scoreboard)⽤来临时存放⼀些数据,⽤于数据的⽐较。

常与检测器合在⼀起,共同完成数据的⽐较,查错。

他们要实现的⼀个与待测设计相同功能的模块,⽤于⾃动⽐较的。

其实也就是要设计⼀个能实现相同功能的模块,⼀般⼩的模块这部分设计都是由验证⼯程师⾃⼰完成的,如果是复杂的模块由于验证⼯程师还要关注其他的模块,这块功能可以由其他地⽅提供,⽐如⼀些现成的C语⾔代码,验证⼯程师把这个C代码嵌⼊的验证环境中就可以了,这个地⽅的实现⽅式⽐较多,也是验证的⼀个精华的地⽅吧。

主要的debug也就在这个地⽅实现的。

驱动层(driver)顾名思义,就是⽤来驱动我们的待测设计(DUT (device under test))。

就是把数据包处理成具体的操作激励,也就是那些波形了。

监测器(monitor)⽤来采集待测设计(DUT)的输出波形,然后传回scoreboard⽤于和标准结果⽐较,验证DUT⼯作是否正确。

断⾔(assert)是个好东西,但是如果紧紧依靠验证⼯程师这个东西是没办法⽤好的,这个东西⾮常需要设计⼈员配合。

Assert功能很强⼤,也很容易上⼿,能深层次的发掘设计错误,定位很准确,也正是由于这些优点,所以验证⼯程师不能⾮常容易的使⽤它,因为验证⼯程师⼀般可以不需要了解太多的设计细节就可以对设计模块进⾏验证,但是assert需要⽐较清楚的了解内部信号,才能将内部信号连接到相应的assert上。

建议IC设计⼯程师学习哦。

对debug很有帮助的哦。

这个模块在有的验证环境中是不使⽤。

最后说⼀下覆盖率的问题。

覆盖率分为功能覆盖率,代码覆盖率,还有⼈为添加的⼀些覆盖点的覆盖率。

基于SystemVerilog语言验证方法学(中文)

基于SystemVerilog语言验证方法学(中文)

基于SystemVerilog语言验证方法学(中文)前言文章主要介绍《VMM for SystemVerilog》一书描述的如何利用SystemVerilog语言,采用验证方法学以及验证库开发出先进验证环境。

文章分为四部分,第一部分概述了用SystemVerilog语言验证复杂SoC的基本方法。

第二部分主要介绍使用先进验证技术进行RTL验证并定义一个能在项目之间进行验证单元重用的分层验证平台结构。

第三部分将涉及到系统级验证,包括SystemVerilog 与SystemC交互等方面。

当与一个合适方法相结合,SystemVerilog提供了建立一个完整RTL以及系统级(ESL)验证环境需要的所有结构及特性。

同时完全支持与System C或与一个以C为基础的软件测试环境交互。

第四部分讨论验证所采用的验证策略,VMM方法学,以及利用《VMM for SystemVerilog》中定义的标准库来支持方法学。

这些库涉及到文章中讨论的基本方法,XVC,XVC管理器,软件验证等方面。

采用《VMM for SystemVerilog》书中提供的方法学是应对目前复杂芯片而带来验证挑战的有用方法。

此书基于业界多年领先的Synopsys公司以及ARM公司专家,及其客户提供经验编写而成,因而对开发团队有益。

采用此方法学将提高验证效率,为一次投片成功提供更大可能。

此文章全面介绍关于用SystemVerilog验证复杂SoC。

更多书中信息可在中找到。

事实上业界已经认可VMM验证方法,此书日文版已经发行,与VMM相关书籍也已诞生,除Synopsys之外的几个EDA厂家也提供相关练习,甚至在California Extension Santa Cruz大学开展了VMM课程。

/提供了更多业界对VMM验证方法支持信息。

目录1 SystemVerilog验证方法学介绍 (4)1.1 验证面临挑战 (4)1.2 SystemVerilog验证技术 (4)1.3 产生带约束随机仿真 (4)1.4 覆盖率驱动验证 (5)1.5 断言 (6)1.6 小结 (8)2 SystemVerilog验证方法学:RTL (8)2.1 分层测试平台结构 (8)2.2 自顶向下和自底向上 (9)2.3 结果检查 (10)2.4 覆盖率驱动验证执行 (10)2.5 使用形式分析 (11)2.6 产生可重用验证IP (11)2.7 小结 (1)23 SystemVerilog验证方法学:ESL (12)3.1 系统级验证介绍 (12)3.2 可扩展的验证单元 (13)3.3 XVC管理器(XVC manager) (13)3.4 系统级验证环境 (14)3.5 事务级模型(Transaction-level models) (16)3.6 小结 (1)74 SystemVerilog验证方法学:采用VMM (17)4.1 采用验证方法学 (17)4.2 VMM提供四类库 (18)4.2.1 VMM标准库 (18)4.2.2 VMM Checker 库 (19)4.2.3 XVC标准库 (20)4.2.4 软件测试架构 (21)4.3 小结 (2)1结束语:....................................................................................................................... . (21)Figure 1 自动测试相对于直接测试有更高效率 (5)Figure 2 自动及人工验证技术运用在验证不同阶段 (6)Figure 3 断言是验证重要组成部分 (7)Figure 4 多层测试平台方便验证重用 (9)Figure 5 高层次测试平台单元更早验证事务级模型 (10)Figure 6 具有通用接口协议验证IP重用到新项目 (12)Figure 7 XVC结构分为两层:发生器和驱动器 (13)Figure 8 XVC 管理器控制并使测试平台中其他XVC协调工作 (14)Figure 9 系统确认环境必须高效度量系统执行 (16)Figure 10 vmm_env类定义一系列virtual methods用于执行测试用例 (18)Figure 11 VMM检查库扩展了OVL断言内容 (20)Figure 12 用XVC标准库和VMM标准库中类建立XVC (20)1 SystemVerilog验证方法学介绍芯片验证中虽然传统验证方法尽力保持技术更新步伐以适应设计尺寸以及复杂度的增加,但验证依然是当前SoC以及可重用IP模块设计中面临的最大挑战。

systemverilog正则表达式

systemverilog正则表达式

systemverilog正则表达式摘要:1.SystemVerilog 简介2.SystemVerilog 中的正则表达式3.SystemVerilog 正则表达式的应用4.SystemVerilog 正则表达式的特点和优势正文:【SystemVerilog 简介】SystemVerilog 是一种硬件描述语言(HDL),主要用于设计和验证数字电路和模拟混合信号电路。

它是Verilog 的扩展,添加了许多新的功能和特性,包括类、继承、多态和面向对象的设计方法,以及一些用于验证的高级特性。

SystemVerilog 在电子设计自动化(EDA) 和半导体行业得到了广泛的应用。

【SystemVerilog 中的正则表达式】SystemVerilog 中的正则表达式是一种文本处理工具,它可以用来检查和处理字符串。

正则表达式可以用于各种应用,包括验证和仿真中的数据处理和分析。

在SystemVerilog 中,正则表达式是由关键字`match`和`case`定义的。

【SystemVerilog 正则表达式的应用】SystemVerilog 中的正则表达式可以用于各种应用,包括数据提取、数据转换和数据过滤。

例如,可以使用正则表达式从字符串中提取数字、字母和符号,或者将字符串转换为大写或小写。

此外,正则表达式还可以用于验证和仿真中的数据处理和分析,例如,检查输入数据的格式和范围,或者将仿真结果过滤和排序。

【SystemVerilog 正则表达式的特点和优势】SystemVerilog 中的正则表达式具有以下特点和优势:1.强大的文本处理能力:正则表达式可以处理各种文本格式和数据类型,包括数字、字母、符号和字符串。

2.灵活的匹配和提取:正则表达式可以使用各种匹配和提取操作,例如全匹配、部分匹配和反向引用。

3.高效的计算和处理:正则表达式可以在SystemVerilog 中高效地计算和处理,因为它们是基于硬件实现的。

基于SystemVerilog的YAKSoC系统级验证研究的开题报告

基于SystemVerilog的YAKSoC系统级验证研究的开题报告

基于SystemVerilog的YAKSoC系统级验证研究的开题报告一、选题背景SoC(System on Chip)技术的发展加快了芯片集成度的提高,使得集成电路系统的验证逐渐地成为了一个困难和耗时的问题。

传统的验证方法,如模拟和单元测试已经不能满足复杂SoC的验证需求。

在过去的几年中,随着硬件验证技术的快速发展,SystemVerilog已经成为了SoC 工程验证中的标准语言。

YAKSoC系统级框架是一个集成了多项功能的系统级开发平台,它提供了众多支持系统级开发的功能和设计工具,使得它成为了学者和工程师进行SoC系统级验证的理想工具。

本文将基于SystemVerilog语言和YAKSoC系统级框架,研究YAKSoC系统级验证的方法和技术。

二、选题意义在当前SoC市场竞争激烈的情况下,如何提高SoC产品的设计可靠性和开发效率是一个十分重要的问题。

系统级验证的优势在于它能够对整个系统进行验证,包括外设模块和处理器内部模块,从而大大提高设计和开发效率。

在YAKSoC系统级框架的基础上,本项目还将研究SystemVerilog在系统级验证中的应用,从而提高YAKSoC系统级验证的效率和精度。

本项目可为SoC设计和开发提供更高效的验证手段。

三、研究内容1.分析YAKSoC系统级框架的结构和体系,理解其内部设计。

2.研究SystemVerilog语言在系统级验证中的应用,掌握其优点和缺点。

3.设计并实现合适的测试用例,通过仿真和其他测试方法验证YAKSoC系统级框架的正确性和可靠性。

4.探讨YAKSoC系统级验证方法和技术的改进和扩展,探索更高效和精确的验证手段。

四、研究计划第一年:1.研究YAKSoC系统级框架的结构和体系,并掌握SystemVerilog语言的基础知识。

2.设计并实现简单的测试用例,通过仿真验证YAKSoC系统级框架的可靠性。

3.分析和总结测试结果,归纳分析测试中出现的问题和困难,准备进一步探索研究方向。

基于SystemVerilog的NoC测试平台

基于SystemVerilog的NoC测试平台

基于SystemVerilog的NoC测试平台柯夏志;张颖【期刊名称】《计算机工程》【年(卷),期】2011(037)023【摘要】针对片上网络(NoC)验证效率不高的问题,依据验证方法学,利用SystemVerilog语言的优势,构建一个由覆盖率驱动并受约束的随机分层NoC测试平台.在不同拓扑结构和流量分布下,对NoC进行性能评估,结果证明该测试平台具备较强的通用性、适应性和扩展性,能有效地提高验证效率.%For solving the low efficiency of Network on Chip(NoC) verification, this paper constructs the coverage-driven constrained random and hierarchical NoC testbench based on the Verification Methodology Manual(VMM) and application of SystemVerilog. Results of NoC performance evaluation with heterogeneous topologies or traffic distributions show that the testbench is superior in generality, has good adaptability, scalability , and can effectively improves the verification efficiency.【总页数】3页(P223-225)【作者】柯夏志;张颖【作者单位】南京航空航天大学电子信息工程学院,南京210016;南京航空航天大学电子信息工程学院,南京210016【正文语种】中文【中图分类】TP302【相关文献】1.基于SystemVerilog的事务级建模在FPGA测试中的应用与研究 [J], 李敬磊;尹新;曾清乐;2.基于SystemVerilog可重用测试平台的实现 [J], 王鹏;刘万和;刘锐;田毅3.基于SystemVerilog的同步FIFO的验证平台搭建 [J], 邱玉泉;曾维;刘世伟;冯坤;杨明翰4.基于SystemVerilog的事务级建模在FPGA测试中的应用与研究 [J], 李敬磊;尹新;曾清乐5.基于SystemC和SystemVerilog的联合仿真平台设计 [J], 卢艳君因版权原因,仅展示原文概要,查看原文内容请购买。

基于SystemVerilog的SRAM控制器IP核验证

基于SystemVerilog的SRAM控制器IP核验证

基于SystemVerilog的SRAM控制器IP核验证周德新;金志威;王鹏;赵学娟【期刊名称】《电子器件》【年(卷),期】2012(035)005【摘要】随着硬件设计复杂度的提高,设计的后期验证在设计生命周期中占据的比重也越来越大.能否对设计进行全面有效的验证,是验证人员所面临的主要问题.采用System Verilog语言对SRAM控制器IP核搭建验证环境,并结合SVA断言技术对其实行监控,得出代码及功能覆盖率数据.通过与传统的验证方法对比分析可知,基于System Verilog的验证方法更加全面有效,提高了验证质量.%With the improvement of the complexity of the hardware design, the design of the verification is taking up more and more proportion in the design life cycle.It is the main problem faced by the verification engineers to give a comprehensive and efficient verification.The SRAM controller IP core is verified by the SystemVerilog verification environment, and monitored by SystemVerilog assertion technology to get the code and functional coverage data.After comparing and analyzing, the verification method based SystemVerilog is more comprehensive and more efficient than the traditional verification method,so that it improves the quality of verification.【总页数】4页(P619-622)【作者】周德新;金志威;王鹏;赵学娟【作者单位】中国民航大学航空自动化学院,天津300300;中国民航大学天津市民用航空器适航与维修重点实验室,天津300300;中国民航大学天津市民用航空器适航与维修重点实验室,天津300300;中国民航大学天津市民用航空器适航与维修重点实验室,天津300300【正文语种】中文【中图分类】TN402【相关文献】B2.0设备控制器IP核的设计与验证 [J], 王秀玲;周明健;林平分B设备控制器IP核设计与FPGA验证 [J], 余明;袁小龙;杜星格3.CAN控制器IP核优化设计的仿真和通信验证 [J], 赵锦宇;王忠;陈基昕4.SoPC光纤通道控制器IP核的仿真验证 [J], 刘景宁;舒芳;童薇;张宇5.基于断言的SRAM控制器功能验证 [J], 刘晓;杨军因版权原因,仅展示原文概要,查看原文内容请购买。

基于SystemVerilog语言的像素cache验证平台的实现

基于SystemVerilog语言的像素cache验证平台的实现

基于SystemVerilog语言的像素cache验证平台的实现杨铮;韩俊刚;李卯良;刘欢
【期刊名称】《电子技术应用》
【年(卷),期】2016(0)10
【摘要】以SystemVerilog为基础,对自主研发的GPU“萤火虫2号”中像素cache部分搭建可重用的验证平台.该平台可以自动完成整个验证过程,并将验证结果打印到Linux终端和文件当中,方便程序员检查验证结果.实验结果表明,该验证平台对像素cache的功能验证覆盖率可以达到100%,并且具有良好的可重用性,能够全面、正确地完成RTL级功能验证,有效地提高了验证的效率和质量.
【总页数】4页(P51-53,61)
【作者】杨铮;韩俊刚;李卯良;刘欢
【作者单位】西安邮电大学计算机学院,陕西西安710121;西安邮电大学计算机学院,陕西西安710121;西安邮电大学电子工程学院,陕西西安710121;西安邮电大学计算机学院,陕西西安710121
【正文语种】中文
【中图分类】TP302.1
【相关文献】
1.基于SystemVerilog的网络处理器验证平台设计 [J], 刘萌;冯海洲;李康;马佩军;史江一
2.基于SystemVerilog的同步FIFO的验证平台搭建 [J], 邱玉泉;曾维;刘世伟;冯
坤;杨明翰
3.基于VMM的 L2 Cache的验证平台的设计与实现 [J], 翟江涛;潘明;苏雪
4.基于SystemVerilog的航空电子组件验证平台的搭建 [J], 顾振华;吴正茂;李思海;吴勇;任斌斌
5.一种基于Open Vera实现的L2 cache验证平台 [J], 陈莹;樊晓桠
因版权原因,仅展示原文概要,查看原文内容请购买。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

硕士研究生学位论文题目:视频信号处理系统中运动估计加速器模块基于SystemVerilog语言的验证姓名:方芳学号: 10548399院系:信息科学技术学院专业:电子与通信工程研究方向: SoC设计导师姓名:王新安副教授二00八年六月版权声明任何收存和保管本论文各种版本的单位和个人,未经本论文作者同意,不得将本论文转借他人,亦不得随意复制、抄录、拍照或以任何方式传播。

否则,引起有碍作者著作权之问题,将可能承担法律责任。

摘要本文对视频信号处理系统中运动估计加速器模块的功能实现算法进行了一定程度的分析与研究,通过分析当今业界主要应用的验证技术,结合公司的实际情况选用了先进的验证方法,在EDA工具的支持下对运动估计加速器模块进行了全面的功能性验证。

文中还详细剖析了芯片验证环境,这是一个运用SystemVerilog语言的仿真环境,利用总线功能模型(BFM)实现总线操作,使得验证在事务级(transaction level)进行,大大提高了验证的效率及可复用性。

本文针对运动估计加速器模块设计了足够的验证case,覆盖了模块的各项功能,并运用SystemVerilog搭建了高效的验证平台,通过Perl脚本对整个验证架构中进行仿真管理与控制,实现了对C_model的实时调用、输入参数的随机生成以及输出数据的实时比对等自动化功能。

此外还与其他验证工程师合作搭建了视频信号处理系统的联合仿真平台,该平台实现了视频信号处理中所有模块的系统级验证。

此外,对视频信号处理系统还进行了FPGA 验证,作为对基于仿真的验证的有效补充。

网表(netlist)设计完成以后还进行了post-layout simulation(后仿真),对芯片设计部门而言是流片前签发的最后一个环节。

本文还通过先进的EDA工具及芯片仿真环境的支持,对运动估计加速器模块代码覆盖率进行了统计分析。

对运动估计加速器模块的验证通过了展讯公司模块验证的评审流程,被认为是充分的。

实践表明,本文所采用的验证方法和结构是适合SC8800E芯片项目开发的,具有灵活性好、效率高、可复用性强等优点。

关键词:系统级芯片,SystemVerilog,SystemVerilog验证方法学AbstractSystemVerilog based verification of MEA module in video signalprocessing systemFang Fang (Electronic and communication)Directed by Wang XinanIn this paper, the MEA module algorithm is analyzed and researched to some extent. In addition,through studying the popular verification techniques in IC industry,the whole functional verification for MEA module in TD-SCDMA/GSM chip SC8800E is completed, with the use of advanced verification methodology and the support of EDA tools. The verification environment platform in the chip level for MEA is also detailed in this paper. This is a multi-language simulation environment using Verilog, SystemVerilog, etc. The bus function is implemented by using the reusable BFM (Bus Functional Model), so that the verification work can carry out at the higher level more efficiently.Also, in this paper, there are enough test cases designed for MEA module verification, which aim at covering all the features of the design. The verification platform is described using SystemVerilog, and Perl script is used to control the whole simulation in the verification structure, so that reference model in C_model can be called on the fly, the input parameters can be generated randomly and the output data can compared with the expected data automatically. Besides, with the other verification engineers’team work, a simulation platform for image signal processing system has been built up. This platform implemented the system level verification of all ISP modules. Moreover, the verification of MEA module is also implemented with FPGA verification as an effective supplementary of simulation-based verification. After the design of netlist, post-layout simulation is also done, which is the last sign-off step before taping the chip out for chip design department.With the support of advanced EDA tools and chip level verification environment, in this paper, the code coverage analysis and statistic job for MEAmodule are also done. The MEA module verification has passed the quality review flow for module verification in Spreadtrum Communications, Inc. All those indicate that the verification method and structure described in this paper are highly flexible,efficient,and reusable,thereby suitable for application in SC8800E chip project development.Keywords: SoC (System-on-Chip), SystemVerilog, VMM for SystemVerilog (Verification Methodology Manual for SystemVerilog)目录摘要 (I)Abstract ............................................................................................................................. I I 目录 .. (IV)图目录 ........................................................................................................................... V II 表目录 .......................................................................................................................... V III 第一章绪论 .. (1)1.1课题背景 (1)1.2本文的主要工作及贡献 (2)1.3章节安排 (3)第二章视频信号处理系统中运动估计加速器模块的算法及其硬件实现概述 (4)2.1运动估计简介 (4)2.2算法简介[3] (4)2.2.1 基于块的运动估计 (5)2.2.2 整像素的运动估计 (5)2.2.3 INTRA/INTER模式选择 (6)2.2.4 半像素搜索 (6)2.2.5 16x16/8x8预测模式选择 (7)2.2.6 快速搜索算法 (7)2.3硬件实现 (10)2.4本章小结 (11)第三章SoC验证方法学简介 (12)3.1 SoC设计挑战 (12)3.1.1 系统设计方法[4] (12)3.1.2 深亚微米效应 (13)3.1.3 IP集成 (13)3.2 SoC验证流程 (13)3.3 常用验证技术分类[5] [6] (15)3.3.1 静态技术 (15)3.3.2 仿真技术 (16)3.3.3 硬件加速和原型验证 (16)3.4 验证平台策略 (17)3.5 本章小结 (19)第四章 SystemVerilog语言简介 (21)4.1 SystemVerilog的特征 (21)4.1.1 接口(interface) (22)4.1.2 全局声明和语句 (22)4.1.3 时间单位和精度 (22)4.1.4 抽象数据类型 (23)4.1.5 断言 (24)4.2 SystemVerilog验证方法学介绍[13] (24)4.2.1 验证面临挑战 (24)4.2.2 SystemVerilog验证技术 (25)4.2.3 产生带约束随机仿真 (25)4.2.4 覆盖率驱动验证 (26)4.2.5 断言 (27)4.3 基于SystemVerilog的验证平台架构 (28)4.3.1 分层验证平台结构 (28)4.3.2 自顶向下和自底向上 (29)4.3.3 结果检查 (30)4.3.4 覆盖率驱动验证执行 (31)4.3.5 使用形式分析 (32)4.3.6 产生可重用验证IP (32)4.4 本章小结 (33)第五章MEA验证平台及流程 (34)5.1 验证环境介绍 (34)5.1.1 SC8800E芯片验证环境 (34)5.1.2 模块验证平台的顶层结构 (36)5.2 MEA模块验证平台的结构规划 (37)5.2.1 验证方法与总体结构 (37)5.2.2 仿真架构的设计 (38)5.3 MEA模块验证平台的设计实现 (38)5.3.1 待测功能列表 (38)5.3.2 配置文件 (39)5.3.3 数据文件 (40)5.3.4文件列表 (41)5.3.5 编程指南 (41)5.3.6 回归分析 (42)5.4 基于SystemVerilog的总线功能模型 (42)5.5 与模块相关的顶层验证 (43)5.5.1 SystemVerilog描述的中断处理程序 (43)5.5.2模块间联合仿真 (44)5.6 FPGA验证 (45)5.7 后仿真 (45)5.8 覆盖率分析 (46)5.8.1 VCS工具Coverage Metrics简介 (46)5.8.2仿真脚本 (47)5.8.3覆盖率统计报告 (47)5.9 本章小结 (48)第六章结论与展望 (49)参考文献 (51)北京大学学位论文原创性声明和使用授权说明 (52)致谢 (53)图目录图2.1 运动估计 (5)图2.2 双线性插值方式 (7)图2.3 DS算法的搜索方式 (9)图2.4 MEA的硬件架构 (10)图3.1 SoC设计及验证流程 (14)图3.2 高级分层的验证平台结构图 (19)图4.1 自动测试相对于直接测试有更高效率 (26)图4.2 分层验证平台结构 (29)图4.3 高层次验证平台单元更早验证事务级模型 (30)图4.4 具有通用接口协议验证IP重用到新项目 (33)图5.1 MEA验证平台总体结构 (37)图5.2 MEA模块仿真架构 (38)表目录表5.1 仿真控制脚本sim_design.pl的常用选项 (35)表5.2 运动估计加速器模块的待测功能列表 (39)表5.3 配置文件参数设置描述 (40)表5.4 验证平台文件列表 (41)表5.5 运动估计加速器模块代码覆盖率统计报告 (47)视频信号处理系统中运动估计加速器模块基于SystemVerilog语言的验证第一章绪论1.1课题背景TD-SCDMA是时分-同步码分多址(time-division, synchronous code division multiple access)的简称。

相关文档
最新文档