一种用可重用性层次化验证平台进行uart模块验证的方法技术

技术编号:11694543 阅读:77 留言:0更新日期:2015-07-08 16:11
本发明专利技术公开了一种用可重用性层次化验证平台进行uart模块验证的方法,所述方法用uvm搭建的测试平台,测试用verilog语言编写的uart模块的正确性,用callback函数实现对平台的重用,使一个测试平台能够用来测试一个模块的不同功能,或者一些相似的模块重用同一个平台进行测试。本发明专利技术用同一个层次化验证平台通过使用callback函数实现了对uart测试模块读数据,和写数据的功能,提高了验证效率,不用重复搭建平台,或者对平台进行比较大的变动。

【技术实现步骤摘要】

本专利技术涉及uart模块验证
领域,具体涉及。
技术介绍
随着集成电路的飞速发展,验证成为芯片设计中最为繁杂与费时的任务.由于传统的定向验证满足超大规模集成电路的验证需求,新的验证方法学应运而生,通用验证方法学(Universal Verificat1nMethodology, UVM)融合了开放式验证方法学(OpenVerificat1n Methodology, OVM)和验证方法学手册(Verificat1n MethodologyManual,VMM)的优点,成为业界第I个通用、开放的验证方法学,UVM采用标准的分层验证结构,解决了验证平台复用性与标准化的问题,提高了验证效率。uvm验证方法学有层次化的验证结构的特点,UVM验证环境的开发是基于SystemVerilog语言的。因为采用这种面向对象的编程语言,所以UVM中的各个组件都是通过类(Class)的形式单独存在的,其开发过程与C + +非常类似.通过调用多个彼此独立的组件,就可以得到不同功能的验证环境。这样,验证环境中的每个组件都可以作为验证知识产权模块(Verificat1n Intellectual Property,VIP),单独地被其他验证平台复用,大大提高了组件的复用性,加速了验证进度,从而节省大量时间及资源。通用异步收发传输器(UniversalAsynchronous Receiver/Transmitter),通常称作UART,是一种异步收发传输器,实现数据串行通信与并行通信间作传输转换。
技术实现思路
本专利技术要解决的技术问题是:本专利技术提供了,用uvm搭建的测试平台,测试用verilog语言编写的uart模块的正确性。本专利技术所采用的技术方案为: ,所述方法用uvm搭建的测试平台,测试用verilog语言编写的uart模块的正确性,用callback函数实现对平台的重用,使一个测试平台能够用来测试一个模块的不同功能,或者一些相似的模块重用同一个平台进行测试。所述方法步骤如下: 1)用uvm搭建的层次化验证平台,包括部件如下:driver、monitor、scoreboard、reference model、sequencer、In_agent 和 0ut_agent,用类的形式单独定义; 2)定义一个新的类A,callback函数作为A类的一个成员函数,从A类派生一个类并将其实例化,然后重新定义其中的作为成员函数的callback函数,再将A类和新派生的类加入一个A类的数组apool )调用每一个a类及其派生类的中的callback函数; 3)uart数据为8bit数据加Ibit起始位,Uart模块读数据时,每个时钟接收Ibit数据,然后转换成并行数据,将受到的数据和错误信息数据打包输出;写数据时接收打包的64bit并行数据,转换成串行数据输出; 4)在验证平台的driver发送数据前调用callback函数对transact1n类的数据进行修改,读数据就发送Ibit数据,写数据就发送打包的64比特数据;然后reference model处理数据时也调用callback函数处理;在处理数据的过程中,读数据时重复9个时钟,接收完完整的9bit的uart数据把包成一个transact1n,输出给scoreboard对比用;写数据时只需要采集一个时钟的数据。所述Uart模块用veri log代码编写,实现读串行数据,转换成并行数据输出,读并行数据转换成串行数据输出;收取来自其他模块的错误信号结合自身的fifo是否有数据溢出等错误信息判断是否需要发出中断信号的功能。一种可重用性层次化验证平台,所述验证平台用uvm搭建,包括部件如下: driver,用来把不同的激励施加给DUT ; monitor,用来监测DUT的输出; scoreboard,比较期望值与monitor监测到的DUT的输出; reference model,它的输入跟DUT完全一样,它的输出送给scoreboard,用于和DUT的输出比较; sequencer,用于产生数据的,一个sequencer通过启动一个sequence,从sequence获取数据,并把这些数据转交给driver ; In_agent和Out_agent,它们是UVM中的agent,所谓的agent其实只是简单的把driver, monitor 封装在一起; env,相当于是一个特大的容器,包含上面所有类; 以上部件都用类的形式单独定义。本专利技术的有益效果为:本专利技术用同一个层次化验证平台通过使用callback函数实现了对uart测试模块读数据,和写数据的功能,提高了验证效率。不用重复搭建平台,或者对平台进行比较大的变动。【附图说明】图1为本专利技术uvm测试平台的结构示意图。【具体实施方式】下面通过说明书附图,结合【具体实施方式】对本专利技术进一步说明: 实施例1: ,所述方法用uvm搭建的测试平台,测试用verilog语言编写的uart模块的正确性,用callback函数实现对平台的重用,使一个测试平台能够用来测试一个模块的不同功能,或者一些相似的模块重用同一个平台进行测试。实施例2: 在实施例1的基础上,本实施例所述方法步骤如下: 1)用uvm搭建的层次化验证平台,包括部件如下:driver、monitor、scoreboard、reference model、sequencer、In_agent 和 Out_agent,用类的形式单独定义; 2)定义一个新的类A,callback函数作为A类的一个成员函数,从A类派生一个类并将其实例化,然后重新定义其中的作为成员函数的callback函数,再将A类和新派生的类加入一个A类的数组apool )调用每一个a类当前第1页1 2 本文档来自技高网...

【技术保护点】
一种用可重用性层次化验证平台进行uart模块验证的方法,其特征在于:所述方法用uvm搭建的测试平台,测试用verilog语言编写的uart模块的正确性,用callback函数实现对平台的重用,使一个测试平台能够用来测试一个模块的不同功能,或者一些相似的模块重用同一个平台进行测试。

【技术特征摘要】

【专利技术属性】
技术研发人员:王莹
申请(专利权)人:浪潮电子信息产业股份有限公司
类型:发明
国别省市:山东;37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1