一種用于kvm asic的功能驗(yàn)證平臺(tái)的搭建方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明公開一種功能驗(yàn)證平臺(tái)的搭建方法,屬于IC設(shè)計(jì)驗(yàn)證領(lǐng)域,具體地說是一 種用于KVM ASIC的功能驗(yàn)證平臺(tái)的搭建方法。
【背景技術(shù)】
[0002] 集成電路制造技術(shù)迅速發(fā)展,同時(shí)市場對(duì)高集成度產(chǎn)品的需求也不斷增加,進(jìn)一 步促成集成電路的復(fù)雜度不斷增加。高集成度產(chǎn)品通過使用設(shè)計(jì)重用技術(shù),實(shí)現(xiàn)了設(shè)計(jì)能 力的大幅度提升;但驗(yàn)證方面,現(xiàn)階段國內(nèi)對(duì)集成電路的驗(yàn)證手段,主要是編寫testbench 定向激勵(lì),雖然編寫定向測試驗(yàn)證方案驗(yàn)證前期投入精力較少且驗(yàn)證測試工作啟動(dòng)早,但 是驗(yàn)證計(jì)劃推進(jìn)緩慢,而且難以衡量驗(yàn)證的完備性,尤其不能滿足需求高集成度產(chǎn)品的測 試要求。因此,本發(fā)明提出了一種用于KVM ASIC的功能驗(yàn)證平臺(tái)的搭建方法,通過綜合UVM 驗(yàn)證方法學(xué)、System Verilog等多種設(shè)計(jì)驗(yàn)證語言和腳本語言,實(shí)現(xiàn)了通過文本文檔完成 驗(yàn)證平臺(tái)的功能定則,快速而高效的完成KVM AS IC功能驗(yàn)證平臺(tái)的搭建。該方法實(shí)施方便, 流程簡單,高效穩(wěn)定,可以大幅縮短為KVM ASIC搭建功能驗(yàn)證平臺(tái)的開發(fā)周期,提高功能驗(yàn) 證效率。
[0003] UVM,Universal Verification Methodology,通用驗(yàn)證方法學(xué)是一個(gè)以 System Verilog類庫為主體的驗(yàn)證平臺(tái)開發(fā)框架,驗(yàn)證工程師可以利用其可重用組件構(gòu)建具有標(biāo) 準(zhǔn)化層次結(jié)構(gòu)和接口的功能驗(yàn)證環(huán)境。
[0004] KVM是鍵盤(Keyboard)、視頻顯示器(Video)、鼠標(biāo)(Mouse)的英文頭字母縮寫, 即用一套或數(shù)套鍵盤、顯示器和鼠標(biāo)在多個(gè)不同操作系統(tǒng)的多臺(tái)主機(jī)之間切換。ASIC, Application Specific Integrated Circuit的英文縮寫,在集成電路界被認(rèn)為是一種為 專門目的而設(shè)計(jì)的集成電路。KVM ASIC可以實(shí)現(xiàn)一個(gè)用戶使用一套鍵盤、鼠標(biāo)、顯示器去訪 問和操作一臺(tái)以上主機(jī)的功能。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明針對(duì)現(xiàn)有的驗(yàn)證手段其驗(yàn)證計(jì)劃推進(jìn)緩慢,而且難以衡量驗(yàn)證的完備性, 尤其不能滿足需求高集成度產(chǎn)品的測試要求的缺陷,提供一種用于KVM ASIC的功能驗(yàn)證平 臺(tái)的搭建方法,實(shí)施方便,流程簡單,高效穩(wěn)定,可以大幅縮短為KVM ASIC搭建功能驗(yàn)證平 臺(tái)的開發(fā)周期,提高功能驗(yàn)證效率。
[0006] 本發(fā)明提出的具體方案是:
[0007] -種用于KVM ASIC的功能驗(yàn)證平臺(tái)的搭建方法,基于UVM的驗(yàn)證方法學(xué),根據(jù)KVM ASIC的設(shè)計(jì)標(biāo)準(zhǔn)說明和內(nèi)部寄存器說明,編寫寄存器屬性文檔;
[0008] 根據(jù)寄存器屬性文檔,建立用于KVM ASIC的功能驗(yàn)證平臺(tái):
[0009] 設(shè)計(jì)事務(wù)包組件,KVM ASIC中有不同獨(dú)立的子模塊之間通信協(xié)議各不相同,根據(jù) 不同通信協(xié)議,使用腳本語言調(diào)用相應(yīng)的數(shù)據(jù)包模塊,生成不同的transaction組件;
[0010] 根據(jù)事務(wù)包組件,設(shè)計(jì)不同子模塊相應(yīng)的驅(qū)動(dòng)器、監(jiān)控器,完成不同子模塊間事務(wù) 包的驅(qū)動(dòng)和收集;
[0011] 根據(jù)芯片的寄存器和存儲(chǔ)器說明使用腳本語言自動(dòng)設(shè)計(jì)設(shè)計(jì)寄存器模型,并進(jìn)行 初始化設(shè)置;根據(jù)芯片各子模塊的工作流程和子模塊之間的通信規(guī)則設(shè)計(jì)芯片驗(yàn)證平臺(tái)功 能參考模型;根據(jù)不同子模塊之間的I/O信號(hào)不同,設(shè)計(jì)不同子模塊之間的接口模塊,實(shí)現(xiàn) 驗(yàn)證平臺(tái)和KVMASIC的連接;
[0012] 提供測試向量,調(diào)試驗(yàn)證平臺(tái),完成驗(yàn)證平臺(tái)的搭建。
[0013] 所述編寫寄存器屬性文檔包括編寫各內(nèi)部寄存器的位寬、名字、操作、地址、數(shù)據(jù) 含義、初始值,其中操作包括可讀、可寫、只讀、讀后清零操作。
[0014] 所述根據(jù)事務(wù)包組件,還包括設(shè)計(jì)不同子模塊之間的比較器,在比較器中根據(jù)不 同的通信協(xié)議,為不同的事務(wù)包設(shè)計(jì)不同的緩沖FIFO和比較任務(wù)。
[0015] 所述功能驗(yàn)證平臺(tái)的一個(gè)驗(yàn)證組件驅(qū)動(dòng)器的工作流程為:開始進(jìn)入while循環(huán), 判斷是否為reset或限流狀態(tài),若是,則發(fā)送無效數(shù)據(jù),等待失主上升沿,再次進(jìn)入while循 環(huán);若否,則進(jìn)入時(shí)分復(fù)用數(shù)據(jù)驅(qū)動(dòng);
[0016] 判斷當(dāng)前端口狀態(tài),若IDLE,則歸入INS_IDLE分支;否則繼續(xù)判斷端口狀態(tài);若 E0P,則歸入EOP分支;否則繼續(xù)判斷端口狀態(tài),若INS _ IPG,則歸入INS _ IPG分支,否則 歸入下一 INS _ IDLE分支。
[0017] 所述的功能驗(yàn)證平臺(tái)的搭建過程中使用SystemVerilog、Verilog、Perl語言的一 種或幾種組合。
[0018] 本發(fā)明的有益之處是:本發(fā)明通過使用數(shù)據(jù)包模板和腳本程序完成多種 transaction的生成,當(dāng)子模塊間通信協(xié)議改變時(shí),只需要在數(shù)據(jù)包模塊庫中進(jìn)行相關(guān)數(shù)據(jù) 包模塊的屬性域修改,腳本語言即可完成新的transaction的生成。驗(yàn)證平臺(tái)可以直接使 用新的transaction進(jìn)行下一次測試,而無需像原有testbench,重新修改多個(gè)頭文件,進(jìn) 行整個(gè)驗(yàn)證和設(shè)計(jì)的編譯,然后才可以進(jìn)行測試;通過使用寄存器屬性文檔,調(diào)用腳本語言 完成寄存器模型的構(gòu)建。當(dāng)改變了寄存器屬性時(shí),只需要重新調(diào)用腳本語言生成新的寄存 器模型。因此,通過控制寄存器屬性文檔,就可以對(duì)整個(gè)設(shè)計(jì)的寄存器和存儲(chǔ)器在驗(yàn)證平臺(tái) 中的鏡像進(jìn)行管理,降低人為錯(cuò)誤,提高了工作效率。
【附圖說明】
[0019] 圖1為KVM ASIC驗(yàn)證平臺(tái)框架示意圖;
[0020] 圖2本發(fā)明驗(yàn)證平臺(tái)的驅(qū)動(dòng)器的工作流程示意圖。
【具體實(shí)施方式】
[0021] 結(jié)合附圖對(duì)本發(fā)明做進(jìn)一步說明。
[0022] -種用于KVM ASIC的功能驗(yàn)證平臺(tái)的搭建方法,基于UVM的驗(yàn)證方法學(xué),根據(jù)KVM ASIC的設(shè)計(jì)標(biāo)準(zhǔn)說明和內(nèi)部寄存器說明,編寫寄存器屬性文檔;所述編寫寄存器屬性文檔 包括編寫各內(nèi)部寄存器的位寬、名字、操作、地址、數(shù)據(jù)含義、初始值,其中操作包括可讀、可 寫、只讀、讀后清零操作;對(duì)于存儲(chǔ)器,編寫數(shù)據(jù)位寬、深度、操作、地址寬度、塊地址、初始值 等;例如以下寄存器屬性文檔:
[0023]
[0024] 根據(jù)寄存器屬性文檔,建立用于KVM ASIC的功能驗(yàn)證平臺(tái):
[0025] 設(shè)計(jì)事務(wù)包組件,KVM ASIC中有不同獨(dú)立的子模塊之間通信協(xié)議各不相同,根據(jù) 不同通信協(xié)議,使用腳本語言調(diào)用相應(yīng)的數(shù)據(jù)包模塊,生成不同的transaction組件;
[0026] 根據(jù)事務(wù)包組件,設(shè)計(jì)不同子模塊相應(yīng)的驅(qū)動(dòng)器、監(jiān)控器,完成不同子模塊間事務(wù) 包的驅(qū)動(dòng)和收集;
[0027] 根據(jù)芯片的寄存器和存儲(chǔ)器說明使用腳本語言自動(dòng)設(shè)計(jì)設(shè)計(jì)寄存器模型,并進(jìn)行 初始化設(shè)置;根據(jù)芯片各子模塊的工作流程和子模塊之間的通信規(guī)則設(shè)計(jì)芯片驗(yàn)證平臺(tái)功 能參考模型;根據(jù)不同子模塊之間的I/O信號(hào)不同,設(shè)計(jì)不同子模塊之間的接口模塊,實(shí)現(xiàn) 驗(yàn)證平臺(tái)和KVM ASIC的連接;
[0028] 提供測試向量,調(diào)試驗(yàn)證平臺(tái),完成驗(yàn)證平臺(tái)的搭建。
[0029] 此外,以上的功能驗(yàn)證平臺(tái)搭建過程中,根據(jù)事務(wù)包組件,還可包括設(shè)計(jì)不同子模 塊之間的比較器,在比較器中根據(jù)不同的通信協(xié)議,為不同的事務(wù)包設(shè)計(jì)不同的緩沖FIFO 和比較任務(wù)。
[0030] 以上功能驗(yàn)證平臺(tái)的搭建過程中可以使用System Verilog、Verilog、Perl多種語 言的組合。
[0031] 所述功能驗(yàn)證平臺(tái)的一個(gè)驗(yàn)證組件驅(qū)動(dòng)器的工作流程為:開始進(jìn)入while循環(huán), 判斷是否為reset或限流狀態(tài),若是,則發(fā)送無效數(shù)據(jù),等待失主上升沿,再次進(jìn)入while循 環(huán);若否,則進(jìn)入時(shí)分復(fù)用數(shù)據(jù)驅(qū)動(dòng);
[0032] 判斷當(dāng)前端口狀態(tài),若IDLE,則歸入INS _ IDLE分支;否則繼續(xù)判斷端口狀態(tài);若 E0P,則歸入EOP分支;否則繼續(xù)判斷端口狀態(tài),若INS _ IPG,則歸入INS _ IPG分支,否則 歸入下一 INS _ IDLE分支。
【主權(quán)項(xiàng)】
1. 一種用于KVM ASIC的功能驗(yàn)證平臺(tái)的搭建方法,基于UVM的驗(yàn)證方法學(xué),其特征 是: 根據(jù)KVM ASIC的設(shè)計(jì)標(biāo)準(zhǔn)說明和內(nèi)部寄存器說明,編寫寄存器屬性文檔; 根據(jù)寄存器屬性文檔,建立用于KVM ASIC的功能驗(yàn)證平臺(tái): 設(shè)計(jì)事務(wù)包組件,KVM ASIC中有不同獨(dú)立的子模塊之間通信協(xié)議各不相同,根據(jù)不同 通信協(xié)議,使用腳本語言調(diào)用相應(yīng)的數(shù)據(jù)包模塊,生成不同的transaction組件; 根據(jù)事務(wù)包組件,設(shè)計(jì)不同子模塊相應(yīng)的驅(qū)動(dòng)器、監(jiān)控器,完成不同子模塊間事務(wù)包的 驅(qū)動(dòng)和收集; 根據(jù)芯片的寄存器和存儲(chǔ)器說明使用腳本語言自動(dòng)設(shè)計(jì)設(shè)計(jì)寄存器模型,并進(jìn)行初始 化設(shè)置;根據(jù)芯片各子模塊的工作流程和子模塊之間的通信規(guī)則設(shè)計(jì)芯片驗(yàn)證平臺(tái)功能參 考模型;根據(jù)不同子模塊之間的I/O信號(hào)不同,設(shè)計(jì)不同子模塊之間的接口模塊,實(shí)現(xiàn)驗(yàn)證 平臺(tái)和KVM ASIC的連接; 提供測試向量,調(diào)試驗(yàn)證平臺(tái),完成驗(yàn)證平臺(tái)的搭建。2. 根據(jù)權(quán)利要求1所述的一種用于KVM ASIC的功能驗(yàn)證平臺(tái)的搭建方法,其特征是 所述編寫寄存器屬性文檔包括編寫各內(nèi)部寄存器的位寬、名字、操作、地址、數(shù)據(jù)含義、初始 值,其中操作包括可讀、可寫、只讀、讀后清零操作。3. 根據(jù)權(quán)利要求1或2所述的一種用于KVM ASIC的功能驗(yàn)證平臺(tái)的搭建方法,其特征 是根據(jù)事務(wù)包組件,還包括設(shè)計(jì)不同子模塊之間的比較器,在比較器中根據(jù)不同的通信協(xié) 議,為不同的事務(wù)包設(shè)計(jì)不同的緩沖FIFO和比較任務(wù)。4. 根據(jù)權(quán)利要求3所述的一種用于KVM ASIC的功能驗(yàn)證平臺(tái)的搭建方法,其特征是所 述功能驗(yàn)證平臺(tái)的一個(gè)驗(yàn)證組件驅(qū)動(dòng)器的工作流程為:開始進(jìn)入while循環(huán),判斷是否為 reset或限流狀態(tài),若是,則發(fā)送無效數(shù)據(jù),等待失主上升沿,再次進(jìn)入while循環(huán);若否,則 進(jìn)入時(shí)分復(fù)用數(shù)據(jù)驅(qū)動(dòng); 判斷當(dāng)前端口狀態(tài),若IDLE,則歸入INS_ IDLE分支;否則繼續(xù)判斷端口狀態(tài);若E0P, 貝IJ歸入EOP分支;否則繼續(xù)判斷端口狀態(tài),若INS _ IPG,則歸入INS _ IPG分支,否則歸入 下一 INS -IDLE 分支。5. 根據(jù)權(quán)利要求1或4所述的一種用于KVM ASIC的功能驗(yàn)證平臺(tái)的搭建方法,其特征 是所述的功能驗(yàn)證平臺(tái)的搭建過程中使用System Verilog、Verilog、Perl語言的一種或幾 種組合。
【專利摘要】本發(fā)明公開一種用于KVM?ASIC的功能驗(yàn)證平臺(tái)的搭建方法,屬于IC設(shè)計(jì)驗(yàn)證領(lǐng)域;本發(fā)明通過綜合UVM驗(yàn)證方法學(xué)、編寫寄存器屬性文檔,根據(jù)編寫寄存器屬性文檔搭建KVM?ASIC的功能驗(yàn)證平臺(tái),實(shí)現(xiàn)了通過文本文檔完成驗(yàn)證平臺(tái)的功能定則,快速而高效的完成KVM?ASIC功能驗(yàn)證平臺(tái)的搭建,并且本發(fā)明實(shí)施方便,流程簡單,高效穩(wěn)定,可以大幅縮短為KVM?ASIC搭建功能驗(yàn)證平臺(tái)的開發(fā)周期,提高功能驗(yàn)證效率。
【IPC分類】G06F11/26
【公開號(hào)】CN105068908
【申請(qǐng)?zhí)枴緾N201510452605
【發(fā)明人】趙鑫鑫, 李朋, 耿介
【申請(qǐng)人】浪潮集團(tuán)有限公司
【公開日】2015年11月18日
【申請(qǐng)日】2015年7月28日