《电子技术应用》
您所在的位置:首页 > 可编程逻辑 > 设计应用 > 基于UVM和C语言验证JTAG调试协议的研究与实现
基于UVM和C语言验证JTAG调试协议的研究与实现
电子技术应用
陶青平,沈婧
(中国电子科技集团公司第五十八研究所,江苏 无锡 214035)
摘要: 芯片验证中,JTAG协议功能的好坏决定了芯片流片回来后是否具有可调试状态。多数情况下是编写一段既冗长且不易维护的TestBench代码进行验证;有些情况依赖FPGA原型验证手段去验证JTAG协议,但在该情况下,一些模块需进行FPGA资源替换,无法保证与RTL级网表一致,可能导致流片后回来的芯片JTAG调试不通。针对这些情况,结合UVM方法学的通用性和C语言的便利性,提出一种基于UVM和C语言联合验证JTAG调试协议的实现方法。UVM搭建验证JTAG协议的框架,C语言侧编写测试用例,用例通过调用UVM侧实现的芯片JTAG接口驱动时序的方法来到达实现C语言验证芯片JTAG协议的结果。
中图分类号:TP391 文献标志码:A DOI: 10.16157/j.issn.0258-7998.233886
中文引用格式: 陶青平,沈婧. 基于UVM和C语言验证JTAG调试协议的研究与实现[J]. 电子技术应用,2023,49(10):112-117.
英文引用格式: Tao Qingping,Sheng Jing. Design and implementation for JTAG protocol test based on UVM and C[J]. Application of Electronic Technique,2023,49(10):112-117.
Design and implementation for JTAG protocol test based on UVM and C
Tao Qingping,Sheng Jing
(China Electronic Technology Group Corporation No.58 Research Institute,Wuxi 214035,China)
Abstract: In IC verification,due to the complexity and multiplicity of the JTAG protocol,the code written separately in TestBench for verification is long and difficult to maintain.Sometimes some companies and groups put this part of verification in FPGA prototype verification.In prototype verification,some modules need to be replaced,which cannot be guaranteed to be the same as the RTL level netlist.It may lead to the failure of chip tog debugging after streaming.In view of this situation,this paper proposes an implementation method for joint verification of JTAG debugging protocol based on UVM and C language.Combining the universality of UVM methodology and the convenience of C language,UCM builds a framework for verification of JTAG protocol,C language verification of chip JTAG protocol is realized by calling the chip JTAG interface implemented on the UVM side to drive the timing.
Key words : UVM;FPGA prtotype verification;C language;JTAG protocol

0 引言

随着集成电路工艺的快速发展,芯片的研究设计周期亦在不断缩短[1]。四线制的JTAG接口调试依然是大多数芯片设计采用的调试手段。JTAG协议功能的好坏很大程度上决定了流片回来后的芯片是否具有可调试状态。不同芯片的JTAG协议不尽相同,基于TestBench或者原型验证的方式,在验证JTAG协议上存在着验证效率低下、可移植性差或者无法完全复制芯片的JTAG功能,这对JTAG协议验证调试提出了巨大的挑战。众所周知,通用验证方法学UVM在IC验证领域得到了全面广泛的运用[2-3],其所具有的封装、继承、面向对象等这些优点,并且包含大量功能全面的组件和基类,同时又拥有factory、config、TLM等机制[4-8],使得其具有良好的移植特性。而C语言作为一种悠久且优秀的语言,编写测试用例较为便利。

综合二者的优势,对比传统的验证方式,方案中验证JTAG协议方式犹如上位机IDE通过JTAG仿真器调试芯片一样便利。C语言编程可封装大量函数供验证人员调用,利于仅熟悉C语言编程的开发和验证人员一同参与到验证JTAG调试协议中。更有甚者IDE设计开发亦可同步进行开发。通过该种方法来验证JTAG功能,明显优于依赖FPGA原型验证或者设计验证人员写TestBench来验证其功能的方法。



本文详细内容请下载:https://www.chinaaet.com/resource/share/2000005723




作者信息:

陶青平,沈婧

(中国电子科技集团公司第五十八研究所,江苏 无锡 214035)


微信图片_20210517164139.jpg

此内容为AET网站原创,未经授权禁止转载。