UVM验证平台自动生成及代码复用技术研究
发布时间:2020-03-23 23:23
【摘要】:专用集成电路(ASIC)和片上系统(SoC)的复杂度和设计规模随着IC工艺的快速发展而日益增加。同时,复杂度和设计规模的增加势必会造成验证工作也变得日趋繁杂,验证的难度越来越大。数据显示,在IC研制的整个过程中,验证所花费的时间约占整个研制周期的60%至80%。所以,在芯片验证上所消耗的时间很大程度影响着SoC芯片上市的时间。可见,提高验证效率显得尤为重要。提高验证效率的途径较多,如使用先进的EDA工具或新的验证方法学。而作为最近被广泛推崇的新一代通用验证方法学,UVM(Universal Verification Methodology)验证方法学在大规模IC设计和FPGA测试中被越来越广泛地使用。然而,随着设计规模的不断增大,基于UVM的验证平台搭建代码工作量成倍增大,代码调试变得困难,验证平台的代码管理也越来越重要和复杂。本文从缩短验证平台搭建的时间和提高代码后期的复用性这两个角度出发,以市场占有率更高的AMBA构架SoC做为研究对象,提出一种为AMBA接口协议的IP核自动生成UVM验证平台或验证组件的代码产生器,且保证所生成的验证组件能够被纵向复用到后期的更高层次的验证工作中,以提高验证效率。Doulos公司的easier_uvm_code_generator代码生成器提供了一种基于Perl的UVM验证平台自动生成的解决方法。该代码生成器能较快速高效搭建UVM验证平台,在大幅提高验证工作效率的同时保证了UVM代码设计的一致性。但是,在使用该代码生成器前,需要大量的配置工作,还需要用户自己提供一些和协议相关的底层驱动代码。考虑到AMBA接口的IP在SoC系统中使用较多,同时为保证新开发的代码生成器的成熟性,本文在Doulos公司的easier_uvm_code_generator的基础上,设计了大量的适用于AMBA接口IP的底层UVM组件模板,在设计模板时,全方面多方位地融入了可复用的技巧和编码方式,使得组件具有较高的复用性。随后,将其融入代码生成器中,并对easier_uvm_code_generator的用户接口进行重新设计,使得新的代码生成器在生成AMBA接口IP的验证环境时,简单易用。实验结果表明,本文所设计的代码生成器能够极大的缩短搭建验证平台的时间,比如,以一个AHB接口从设备DUT为对象,自动生成验证平台只需要1秒钟,但是手动编写验证平台,最少需要3900秒。不仅如此,代码生成器生成的代码还能够很好的被复用。说明该代码生成器能够缩短验证周期,提高验证效率。
【图文】:
第二章 理论基础(4)UVM testbench 的构架由于类对象在创建之后,才会存在于内存当中,而静态的 module 是功能仿真的开始,所以在一个 SystemVerilog 的 testbench 中,类的层次的创建必须从 module 开始[14],这个 module 就是顶层的 TB 文件。由于 UVM 特有的树形结构,只需要在静态的 module 里面创建 UVM 的“树根”①,随后这个树根就会按照用户设计来生成具体的树形结构。此时整个 UVM testbench 就被动态的创建了。下图 2.2 显示了整个过程[14]。
西安电子科技大学硕士学位论文input delay 和 output delay),这样在后期进行后仿真时,变ng block 有助于验证平台的功能正确性,本文将充分考于设计的模板文件中。证APB的DUT可能是APB主设备(此时,唯一的一种情况是挂载在 AHB2APB 桥上的从设备。为此,,需要在 interfack,一个是关于主设备的 clocking block:m_cb,另一个是ck:s_cb。同时,因为需要设计 monitor 组件,而 monitor ,所以需要有一个专门的 clocking block 用于 monitor 组件。有的信号都用关键字 input 申明。m_cb 的定义如下:
【学位授予单位】:西安电子科技大学
【学位级别】:硕士
【学位授予年份】:2018
【分类号】:TN407
本文编号:2597422
【图文】:
第二章 理论基础(4)UVM testbench 的构架由于类对象在创建之后,才会存在于内存当中,而静态的 module 是功能仿真的开始,所以在一个 SystemVerilog 的 testbench 中,类的层次的创建必须从 module 开始[14],这个 module 就是顶层的 TB 文件。由于 UVM 特有的树形结构,只需要在静态的 module 里面创建 UVM 的“树根”①,随后这个树根就会按照用户设计来生成具体的树形结构。此时整个 UVM testbench 就被动态的创建了。下图 2.2 显示了整个过程[14]。
西安电子科技大学硕士学位论文input delay 和 output delay),这样在后期进行后仿真时,变ng block 有助于验证平台的功能正确性,本文将充分考于设计的模板文件中。证APB的DUT可能是APB主设备(此时,唯一的一种情况是挂载在 AHB2APB 桥上的从设备。为此,,需要在 interfack,一个是关于主设备的 clocking block:m_cb,另一个是ck:s_cb。同时,因为需要设计 monitor 组件,而 monitor ,所以需要有一个专门的 clocking block 用于 monitor 组件。有的信号都用关键字 input 申明。m_cb 的定义如下:
【学位授予单位】:西安电子科技大学
【学位级别】:硕士
【学位授予年份】:2018
【分类号】:TN407
【参考文献】
相关期刊论文 前4条
1 谢峥;王腾;雍珊珊;陈旭;苏吉婷;王新安;;一种基于UVM面向RISCCPU的可重用功能验证平台[J];北京大学学报(自然科学版);2014年02期
2 任佳丽;曹海燕;;嵌入式软件自动代码生成和代码整合方法研究[J];太原理工大学学报;2013年04期
3 刘蓬侠;鲁建壮;;存储器内建自测试的程序控制方法[J];微电子学与计算机;2011年03期
4 万军民;基于Java的代码生成器的设计与实现[J];计算机工程;2004年S1期
相关硕士学位论文 前7条
1 秦宇;基于APB总线的SPI接口IP核的设计与验证[D];贵州大学;2015年
2 张怡琳;基于UVM可重用验证平台的研究[D];西安电子科技大学;2015年
3 陆小艳;基于AMBA2.0的SoC总线平台的设计[D];西安电子科技大学;2012年
4 饶全林;基于System Verilog的FC-AE接口芯片的功能验证[D];电子科技大学;2011年
5 李元元;基于AMBA APB总线的音频接口IP核的设计与验证[D];国防科学技术大学;2011年
6 沈圣盛;基于APB总线的接口IP核设计与验证[D];西安电子科技大学;2011年
7 关键;基于AMBA总线音频接口的设计与实现[D];西安电子科技大学;2009年
本文编号:2597422
本文链接:https://www.wllwen.com/kejilunwen/dianzigongchenglunwen/2597422.html