基于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.
中文引用格式: 陶青平,沈婧. 基于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來驗證其功能的方法。
本文詳細內容請下載:http://www.j7575.cn/resource/share/2000005723
作者信息:
陶青平,沈婧
(中國電子科技集團公司第五十八研究所,江蘇 無錫 214035)
此內容為AET網站原創,未經授權禁止轉載。