基于UVM的串行SCSI接口控制模块验证
发布时间:2021-08-06 09:18
在最近的十年里,集成电路(Integrated Circuit,IC)产业得到了极大的发展,伴随着摩尔定律的预言,芯片的规模和集成度也变得越来越高。高集成度的芯片在拥有更广泛的用处的同时,也为芯片的设计工作带来了更大的挑战,而芯片验证作为芯片设计工作中至关重要的一环,贯穿于整个芯片的设计流程中。通用验证方法学(Universal Verification Methodology,UVM)与传统的验证方法相比,具有着更简洁的代码风格以及可复用性的特点,这些特点使其更适用于大规模芯片验证。本文通过对SAS(Serial Attached SCSI)协议的应用层、传输层、端口层、链路层、phy层以及物理层的分析,研究了SAS协议内部状态机的运行以及其对数据的处理,例如8b/10b编码、扰码和CRC校验,并在此基础上实现了interface、transcation、sequence、driver、monitor、reference model以及scoreboard等UVM组件,运用这些组件搭建了串行SCSI接口控制模块的UVM验证平台。在验证平台搭建完成后,为了验证了串行SCSI接口控制模块...
【文章来源】:杭州电子科技大学浙江省
【文章页数】:79 页
【学位级别】:硕士
【部分图文】:
芯片的设计流程
浙江省硕士学位论文2图1.1芯片的设计流程由于现今芯片如此高的集成度,芯片的验证工作变得庞大而复杂,复杂的验证工作使得验证工程师的工作量与工作难度直线上升[3],大量且困难的验证工作势必会拖累项目的开发时间和效率,延长产品进入市场的时间。在现如今的芯片开发过程中,验证的工作量已经超过了芯片设计的工作量了。如图1.2所示,随着时间的增长,集成电路规模不断增大,芯片验证工作在整个芯片开发过程中所占的比例也在逐年增加。图1.2芯片验证周期芯片的验证是确保芯片是否达到设计要求的最重要的环节。在芯片的开发过程中,一旦设计的芯片通过了验证,后续就会进行流片测试,此时若有错误就要重新流片。虽然第一阶段的流片只会进行少量的样片流片,但是流片过程中所耗费的时间是制约产品抢占市场的重
浙江省硕士学位论文3要因素。而不幸的是,目前仅有35%左右的芯片是可以在第一次投片时就成功的[4],即超过6成以上的芯片是要至少两次流片测试的,排除小概率的流片时产生的错误,芯片流片测试的次数是直接与芯片验证环节的好坏成反比的,高效且完备的验证可以为芯片的生产节省大量的时间成本与物力成本。然而现今的芯片设计、验证与制造能力却相差甚远,如图1.3所示。可以看到芯片的验证能力相较于其它两个是很差的,因此,寻找一种高效且完备的验证方法就变得至关重要,所以对高效的验证方法的研究实现也就变得更有意义。图1.3芯片的验证、设计与制造的增长百分比对比1.2国内外研究现状在早期的芯片开发流程中,芯片的验证都是由设计人员使用硬件编程语言(verilogHDL或VHDL)编写具有定向向量输入的测试用例(TestBench),再根据芯片设计的规格要求,通过观察输出向量来确定设计是否正确。这样的验证适用于小规模、功能单一的芯片或模块,它具有编写简单,验证精确等优点,但是它的缺点也同样突出,定向的向量意味着仅能针对某一特定情况,要想验证其他情况就要重新编写testbench,而要想覆盖尽可能多的情况,则要有大量的testbench,大量的testbench的仿真纠错十分耗费人力[5]。同样由于此验证方法是针对特定芯片编写的,所以无法复用到其他芯片上,即复用性很差。为了解决这些问题,验证工程师们相继开发了多种硬件验证语言,如SystemC、SystemVerilog等。20世纪90年代后期,SystemC语言被开发[6]。SystemC是由C++实现的一个类库,所以SystemC常被用于验证算法类设计。但是由于C++中的内存需要用户自己进行管理,所以SystemC经常会出现内存泄漏的问题[7]。并且由于早期的验证都是由设计人员去完成的,设计人员更倾向于使用verilog或VHDL,对?
【参考文献】:
期刊论文
[1]基于UVM验证方法学的SWP接口模块验证方法[J]. 郝燚,冯文楠,冯曦,胡毅,唐晓柯. 电子技术与软件工程. 2019(21)
[2]一种基于UVM的高层次化验证平台设计[J]. 李晨阳,宋澍申,王涛,黄坤超. 微电子学与计算机. 2019(06)
[3]数字芯片中时钟产生模块的设计与验证[J]. 杨斌,史亚维. 电子世界. 2018(18)
[4]基于UVM的I2S验证IP设计[J]. 倪伟,袁琳,王笑天. 合肥工业大学学报(自然科学版). 2018(01)
[5]基于UVM实现APB-I2C模块的功能验证[J]. 牛玉坤,孟令琴. 工业控制计算机. 2017(07)
[6]基于SystemVerilog-UVM的Mickey 2.0 RTL级验证[J]. 杨坤,徐金甫,李伟. 计算机工程与设计. 2016(10)
[7]NiosⅡ系统中DMA控制器的原理及应用[J]. 张显才,李向东,丁国宁,王大众. 现代电子技术. 2012(06)
[8]光纤通道8B/10B编码的ASIC研究与设计[J]. 唐兴,唐宁. 电子器件. 2011(02)
[9]一种通用并行CRC计算原理及其实现[J]. 许培培,贾铂奇,余金培,刘会杰,龚文斌. 微计算机信息. 2010(27)
[10]串行连接的SCSI(SAS)[J]. Rachelle Trent. 世界电子元器件. 2004(06)
硕士论文
[1]基于UVM的CAN总线控制器的验证方法研究[D]. 张明望.西安电子科技大学 2018
[2]基于UVM的FPGA代码功能验证技术研究[D]. 鞠志敏.哈尔滨工业大学 2018
[3]基于UVM的AXI4总线协议接口IP验证的研究与实现[D]. 李兆斌.暨南大学 2017
[4]基于UVM的EMMC控制器模块验证[D]. 刘丽丽.杭州电子科技大学 2017
[5]FC交换机芯片MT端口软核的设计与实现[D]. 乔雄.西安理工大学 2016
[6]基于UVM的时钟数据恢复系统验证[D]. 秦俊华.西安电子科技大学 2016
[7]处理器访存部件功能验证技术研究[D]. 董伸.国防科学技术大学 2016
[8]基于VMM验证方法学的NAND Flash控制器的验证[D]. 周亚卓.西安电子科技大学 2016
[9]覆盖率驱动的交换芯片验证方法研究[D]. 闫爱.西安电子科技大学 2016
[10]一种高速串行数据传输系统的设计与实现[D]. 刘敏.西安电子科技大学 2015
本文编号:3325505
【文章来源】:杭州电子科技大学浙江省
【文章页数】:79 页
【学位级别】:硕士
【部分图文】:
芯片的设计流程
浙江省硕士学位论文2图1.1芯片的设计流程由于现今芯片如此高的集成度,芯片的验证工作变得庞大而复杂,复杂的验证工作使得验证工程师的工作量与工作难度直线上升[3],大量且困难的验证工作势必会拖累项目的开发时间和效率,延长产品进入市场的时间。在现如今的芯片开发过程中,验证的工作量已经超过了芯片设计的工作量了。如图1.2所示,随着时间的增长,集成电路规模不断增大,芯片验证工作在整个芯片开发过程中所占的比例也在逐年增加。图1.2芯片验证周期芯片的验证是确保芯片是否达到设计要求的最重要的环节。在芯片的开发过程中,一旦设计的芯片通过了验证,后续就会进行流片测试,此时若有错误就要重新流片。虽然第一阶段的流片只会进行少量的样片流片,但是流片过程中所耗费的时间是制约产品抢占市场的重
浙江省硕士学位论文3要因素。而不幸的是,目前仅有35%左右的芯片是可以在第一次投片时就成功的[4],即超过6成以上的芯片是要至少两次流片测试的,排除小概率的流片时产生的错误,芯片流片测试的次数是直接与芯片验证环节的好坏成反比的,高效且完备的验证可以为芯片的生产节省大量的时间成本与物力成本。然而现今的芯片设计、验证与制造能力却相差甚远,如图1.3所示。可以看到芯片的验证能力相较于其它两个是很差的,因此,寻找一种高效且完备的验证方法就变得至关重要,所以对高效的验证方法的研究实现也就变得更有意义。图1.3芯片的验证、设计与制造的增长百分比对比1.2国内外研究现状在早期的芯片开发流程中,芯片的验证都是由设计人员使用硬件编程语言(verilogHDL或VHDL)编写具有定向向量输入的测试用例(TestBench),再根据芯片设计的规格要求,通过观察输出向量来确定设计是否正确。这样的验证适用于小规模、功能单一的芯片或模块,它具有编写简单,验证精确等优点,但是它的缺点也同样突出,定向的向量意味着仅能针对某一特定情况,要想验证其他情况就要重新编写testbench,而要想覆盖尽可能多的情况,则要有大量的testbench,大量的testbench的仿真纠错十分耗费人力[5]。同样由于此验证方法是针对特定芯片编写的,所以无法复用到其他芯片上,即复用性很差。为了解决这些问题,验证工程师们相继开发了多种硬件验证语言,如SystemC、SystemVerilog等。20世纪90年代后期,SystemC语言被开发[6]。SystemC是由C++实现的一个类库,所以SystemC常被用于验证算法类设计。但是由于C++中的内存需要用户自己进行管理,所以SystemC经常会出现内存泄漏的问题[7]。并且由于早期的验证都是由设计人员去完成的,设计人员更倾向于使用verilog或VHDL,对?
【参考文献】:
期刊论文
[1]基于UVM验证方法学的SWP接口模块验证方法[J]. 郝燚,冯文楠,冯曦,胡毅,唐晓柯. 电子技术与软件工程. 2019(21)
[2]一种基于UVM的高层次化验证平台设计[J]. 李晨阳,宋澍申,王涛,黄坤超. 微电子学与计算机. 2019(06)
[3]数字芯片中时钟产生模块的设计与验证[J]. 杨斌,史亚维. 电子世界. 2018(18)
[4]基于UVM的I2S验证IP设计[J]. 倪伟,袁琳,王笑天. 合肥工业大学学报(自然科学版). 2018(01)
[5]基于UVM实现APB-I2C模块的功能验证[J]. 牛玉坤,孟令琴. 工业控制计算机. 2017(07)
[6]基于SystemVerilog-UVM的Mickey 2.0 RTL级验证[J]. 杨坤,徐金甫,李伟. 计算机工程与设计. 2016(10)
[7]NiosⅡ系统中DMA控制器的原理及应用[J]. 张显才,李向东,丁国宁,王大众. 现代电子技术. 2012(06)
[8]光纤通道8B/10B编码的ASIC研究与设计[J]. 唐兴,唐宁. 电子器件. 2011(02)
[9]一种通用并行CRC计算原理及其实现[J]. 许培培,贾铂奇,余金培,刘会杰,龚文斌. 微计算机信息. 2010(27)
[10]串行连接的SCSI(SAS)[J]. Rachelle Trent. 世界电子元器件. 2004(06)
硕士论文
[1]基于UVM的CAN总线控制器的验证方法研究[D]. 张明望.西安电子科技大学 2018
[2]基于UVM的FPGA代码功能验证技术研究[D]. 鞠志敏.哈尔滨工业大学 2018
[3]基于UVM的AXI4总线协议接口IP验证的研究与实现[D]. 李兆斌.暨南大学 2017
[4]基于UVM的EMMC控制器模块验证[D]. 刘丽丽.杭州电子科技大学 2017
[5]FC交换机芯片MT端口软核的设计与实现[D]. 乔雄.西安理工大学 2016
[6]基于UVM的时钟数据恢复系统验证[D]. 秦俊华.西安电子科技大学 2016
[7]处理器访存部件功能验证技术研究[D]. 董伸.国防科学技术大学 2016
[8]基于VMM验证方法学的NAND Flash控制器的验证[D]. 周亚卓.西安电子科技大学 2016
[9]覆盖率驱动的交换芯片验证方法研究[D]. 闫爱.西安电子科技大学 2016
[10]一种高速串行数据传输系统的设计与实现[D]. 刘敏.西安电子科技大学 2015
本文编号:3325505
本文链接:https://www.wllwen.com/kejilunwen/dianzigongchenglunwen/3325505.html