0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何在數(shù)字IP設(shè)計中節(jié)省時間

PCB線路板打樣 ? 來源:LONG ? 2019-08-08 17:13 ? 次閱讀

眾所周知,驗證任務(wù)在數(shù)字IP的設(shè)計以及SoC的設(shè)計中占有重要地位。 RTL代碼和功能覆蓋率的目標(biāo)是達到100%,從而最大限度地縮短獲得它的時間。最廣泛使用的方法是基于通用驗證方法(UVM)隨機約束測試(系統(tǒng)Verilog或 e 語言),允許在相對短的時間內(nèi)構(gòu)建復(fù)雜的測試,同時強調(diào)RTL代碼和跟蹤功能覆蓋。一些驗證工程師還使用正式的方法來驗證塊的專用部分,例如標(biāo)準(zhǔn)接口,從而完成IP的驗證。

本文將介紹基于正式方法的數(shù)字IP驗證的不同方法,通過定義屬性詳盡地驗證功能。正式方法具有避免開發(fā)測試臺的優(yōu)點。這一新流程已在數(shù)字IP設(shè)計過程中使用,并已證明可顯著縮短驗證時間。

通用驗證流程

目前,用于驗證數(shù)字IP和片上系統(tǒng)(SoC)的最常用流程是基于UVM,通過使用第三方提供的驗證組件(VC)或非標(biāo)準(zhǔn)時從頭開發(fā)使用協(xié)議。然后用記分板完成測試平臺以進行自我數(shù)據(jù)檢查,斷言用于驗證設(shè)計的特定部分,覆蓋用于跟蹤功能覆蓋。在過去幾年中,正式驗證已經(jīng)開始用于SoC和IP的驗證流程。在SoC中,形式驗證在SoC外圍設(shè)備和焊盤之間的連接驗證中變得非常普遍,主要是當(dāng)多路復(fù)用方案由連接到減少數(shù)量的焊盤的多個外圍設(shè)備形成時,這增加了需要驗證的組合。有時,在IP驗證中,正式方法用于檢查總線協(xié)議接口和寄存器訪問策略。

現(xiàn)在,關(guān)注數(shù)字IP的驗證,我們可以總結(jié)如圖所示的流程1.當(dāng)?shù)谝话鍾TL準(zhǔn)備就緒時,良好驗證流程的第一步從驗證和測試計劃的定義開始。在這個階段,我們將定義我們想要檢查的功能和測試的框架。

下一步是開發(fā)UVM測試臺;自定義UVM塊用于檢查特定的IP功能,而第三方UVM VC則實例化并綁定在RTL上。

此時,我們可以根據(jù)驗證計劃開發(fā)UVM測試。每個驗證工程師需要牢記的第一件事是測試必須是自我檢查;必須使用記分板,檢查器和斷言自動檢查驗證計劃中列出的任何點。然后,廣泛使用覆蓋結(jié)構(gòu)可以量化測試的好壞。

如何在數(shù)字IP設(shè)計中節(jié)省時間

圖1:數(shù)字IP的通用驗證流程

有時,此流程可能包括形式驗證。在任務(wù)的某個階段,有人可能決定通過使用基于斷言的驗證IP(ABVIP)和通過編寫斷言通過有限狀態(tài)機(FSM)實現(xiàn)的精確功能來檢查IP的特定塊,例如總線協(xié)議接口。

我們知道,驗證任務(wù)是一個迭代過程,有兩個主要的環(huán)回:

RTL錯誤修復(fù)

功能和代碼覆蓋

每當(dāng)我們發(fā)現(xiàn)功能規(guī)范與IP行為不匹配時,我們就會向設(shè)計人員發(fā)出可能的錯誤信號。這意味著需要修改RTL并發(fā)布新的固定版本。現(xiàn)在,進行回歸自檢測試(即使最初是部分測試)也是一個關(guān)鍵點,它允許我們驗證RTL代碼沒有回歸,當(dāng)然,錯誤已經(jīng)修復(fù)。這種環(huán)回也可以來自形式驗證。

當(dāng)開發(fā)了足夠數(shù)量的測試時,測量功能和代碼覆蓋率是一個很好的做法。像往常一樣,功能和代碼的目標(biāo)是100%,但我們必須考慮到達它的時間。如果我們想要最小化時間,同時保持100%的目標(biāo),我們必須改進驗證的方法和流程。來自正式世界的一個好建議是代碼不可達性分析,它有助于發(fā)現(xiàn)無法訪問的RTL部分,并且可以從整體代碼覆蓋率中刪除。

一個好的經(jīng)驗法則:'如果我沒有運用代碼的一部分,很可能是那里存在錯誤。'因此,我們花了很多時間才能刺激未覆蓋的代碼,但知道某個部分無法訪問可以讓我們節(jié)省時間和精力。

接下來,我們將描述一個新的流程,其主要目標(biāo)是縮短用于驗證數(shù)字IP的時間。保持覆蓋目標(biāo)。

新的驗證流程

正式方法是一種詳盡的驗證,當(dāng)它是適用時,它使人們能夠在更短的時間內(nèi)和每種可能的條件下檢查塊的功能。對于常見的動態(tài)模擬,這有時是不可行的。

目前,有幾種工具可以鏈接到正式引擎,這些工具已經(jīng)足夠成熟,可以使圖1所示的驗證流程變?yōu)槿鐖D2所示的內(nèi)容。 。

主要的變化是將形式驗證作為流程的第一步。真正的第一個檢查是對死代碼和未初始化寄存器的分析。這是一項零工作任務(wù),因為不需要額外的代碼,并且它只需要使用Formal工具編譯RTL。隨后的反饋可能非常有用,因為它可以讓我們徹底清理RTL代碼,突出顯示從未到過的部分,以及列出可能導(dǎo)致'X'傳播的未初始化觸發(fā)器

毫無疑問,通過使用專用的基于斷言的VIP(ABVIP),可以在短時間內(nèi)完全驗證諸如微處理器總線接口之類的標(biāo)準(zhǔn)協(xié)議。 Formal流的這些驗證組件基于描述協(xié)議的斷言。驗證工程師將專注于失敗屬性的調(diào)試,而無需花時間在測試平臺和房地產(chǎn)開發(fā)上。通過使用UVM流,我們可以在幾天而不是幾周內(nèi)完全驗證接口。

可以通過編寫自定義屬性來驗證IP的特定塊,以驗證已實現(xiàn)的功能。可以使用新的選項,例如引入具有與UVM 記分板相同的眾所周知的概念的Formal 記分板,但是利用了Formal引擎的強大功能。它可用于驗證FIFO,通常用于處理數(shù)據(jù)路徑流但不是算術(shù)數(shù)據(jù)路徑的每個塊(例如加法器,乘法器)。

如今,主要的EDA公司制作了基于Formal流程的工具,這些工具使用時髦的技術(shù)詞匯:'APP'。這個概念是為“特定功能”的調(diào)試提供“隨時可用”的環(huán)境。這些APP自動生成斷言,并允許驗證工程師專注于調(diào)試RTL。

最有用的APP之一是用于驗證配置寄存器的訪問策略的APP。通過Formal流程,我們可以詳盡地驗證所有寄存器,尤其是最難驗證的狀態(tài)位,因為它們通常取決于HW狀態(tài)或特殊輸入條件。通常,流程基于IPXACT,然后也可以在設(shè)計開發(fā)的其他步驟中重復(fù)使用。此外,在這種情況下,這種驗證可以節(jié)省很多時間相對于'經(jīng)典'UVM隨機約束方法。

如何在數(shù)字IP設(shè)計中節(jié)省時間

圖2:新數(shù)字IP的驗證流程

可用APP的數(shù)量正在快速增長,這將允許將驗證任務(wù)從動態(tài)移動到靜態(tài),從而改善覆蓋范圍并縮短驗證時間。當(dāng)然,正式流程有一些局限性,目前無法用于驗證所有內(nèi)容;當(dāng)要分析的狀態(tài)數(shù)(即“形式復(fù)雜性指數(shù)”)太大時,引擎無法收斂并徹底分析代碼。這是一項挑戰(zhàn),可以通過引入新算法和計算能力在不久的將來克服這一挑戰(zhàn)。無論如何,我們不能聲稱正式流程將超過動態(tài)模擬,原因很簡單:使用'假設(shè)'語句會引入隱藏錯誤的風(fēng)險,如果屬性成功,則有可能如果在實際應(yīng)用程序中未滿足假設(shè)條件,則RTL行為將是錯誤的。這完全類似于靜態(tài)時序分析(STA)和門級仿真:如果時序約束錯誤,STA表示設(shè)計中沒有時序違規(guī),但最終設(shè)計不適用于某些極端情況。動態(tài)模擬允許我們驗證形式'假設(shè)'語句以及STA約束。

由于這些原因,驗證流程的下一步需要進行UVM模擬,提升通過正式步驟中成功的屬性斷言,現(xiàn)在也可以在動態(tài)模擬中重復(fù)使用。在這個新流程中開發(fā)的測試數(shù)量將少于使用圖1所示流程開發(fā)的測試數(shù)量,因為我們可以專注于正式流程中發(fā)現(xiàn)的部分,并為使用它分析的部分開發(fā)有限的測試。

圖2所示流程的最后幾個步驟基本相同:我們運行不可達性分析以刪除無法訪問的代碼,然后分析代碼和功能覆蓋。

結(jié)論

使用形式驗證方法作為流程的第一步,代表了一種不同的方法,可以更好地利用正式的好處和有效性:零時間用于構(gòu)建測試平臺和RTL的詳盡驗證。此外,使用這種方法的學(xué)習(xí)曲線比UVM更快;用于編寫斷言的語言是緊湊的(PSL或SVA)并且易于使用。最困難的工作是用人類語言定義最能描述我們想要證明的功能的正確屬性。轉(zhuǎn)換為SVA或PSL變得簡單易行。

在RTL驗證的早期階段使用形式化方法的主要優(yōu)點是使用更清晰的代碼進入動態(tài)模擬,其中許多功能已經(jīng)過徹底驗證并且修復(fù)了一些錯誤。由于正式方法允許我們縮短在驗證功能上花費的時間,因此可以大大縮短整體驗證時間。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • IP
    IP
    +關(guān)注

    關(guān)注

    5

    文章

    1616

    瀏覽量

    149277
  • PCB打樣
    +關(guān)注

    關(guān)注

    17

    文章

    2968

    瀏覽量

    21629
  • 華強PCB
    +關(guān)注

    關(guān)注

    8

    文章

    1831

    瀏覽量

    27701
  • 華強pcb線路板打樣
    +關(guān)注

    關(guān)注

    5

    文章

    14629

    瀏覽量

    42947
收藏 人收藏

    評論

    相關(guān)推薦

    群里ucos資料總結(jié),為大家節(jié)省時間,大多都在這啦

    群里ucos資料總結(jié),為大家節(jié)省時間,大多都在這啦
    發(fā)表于 09-13 23:43

    無線傳感器模塊節(jié)省時間

    用預(yù)先認(rèn)證的無線傳感器模塊可以節(jié)省大量的開發(fā)時間和金錢。在這種情況下需要做的就是選擇您需要的無線傳感器模塊并將其直接集成到您的系統(tǒng)。Maxim的MAXWSNENV#無線傳感器節(jié)點演示器套件有許多
    發(fā)表于 10-30 14:35

    USART使用DMA時可以節(jié)省時間嗎?

    USART使用DMA時可以節(jié)省時間嗎?
    發(fā)表于 12-02 07:21

    通過節(jié)省時間和成本的創(chuàng)新技術(shù)降 低電源的EMI

    通過節(jié)省時間和成本的創(chuàng)新技術(shù)降 低電源的EMI分析了開關(guān)模式電源的 EMI,并提供了一些可幫助設(shè)計人員快速且輕松地通過業(yè)界通用 EMI 測試的技術(shù)什么是 EMI? EMI 是一種電磁
    發(fā)表于 01-25 18:48

    如何通過電源設(shè)計節(jié)省時間和空間

    不斷進步,傳感器制造商開始將更多功能集成到這些設(shè)備,同時通過二進制傳感器降低噪聲敏感性。在二進制傳感器,數(shù)據(jù)仍僅限于單向通信,工廠車間仍需要技術(shù)人員來處理手動校準(zhǔn)等任務(wù)。圖 1. 數(shù)字制造環(huán)境依賴智能
    發(fā)表于 03-17 14:22

    何在應(yīng)用程序尋找日歷設(shè)置圖形?

    我正在尋找下圖中的示例。為了節(jié)省時間,我想在我的應(yīng)用程序重復(fù)使用這些圖形(我猜這些圖形是免費的)。謝謝!
    發(fā)表于 01-10 08:04

    數(shù)字電路如何抗干擾

      在電子系統(tǒng)設(shè)計,為了少走彎路和節(jié)省時間,應(yīng)充分考慮并滿足抗干擾性 的要求,避免在設(shè)計
    發(fā)表于 04-17 19:57 ?795次閱讀

    使用草圖布線節(jié)省時間和工作量

    自動布線和手動布線都要求細(xì)致的規(guī)劃策略和執(zhí)行操作,才能獲得理想的結(jié)果。一般而言,如果設(shè)計團隊有專門的時間充分考慮自動布線,并規(guī)劃、布置、約束和優(yōu)先處理設(shè)計數(shù)據(jù)庫,往往能夠獲得最佳的自動布線結(jié)果。自動
    發(fā)表于 03-06 10:11 ?2次下載

    那些 Linux Shell的小技巧,大大提升機器學(xué)習(xí)生產(chǎn)效率

    在機器學(xué)習(xí)的實踐過程,用好Shell能幫你很多節(jié)省時間。
    的頭像 發(fā)表于 03-27 16:46 ?3154次閱讀
    那些 Linux Shell的小技巧,大大提升機器學(xué)習(xí)生產(chǎn)效率

    何在信號鏈設(shè)計器使用現(xiàn)有參考設(shè)計

    了解如何在信號鏈設(shè)計器使用現(xiàn)有參考設(shè)計,選擇正確的器件,從而實現(xiàn)節(jié)省時間的目標(biāo)。
    的頭像 發(fā)表于 07-02 06:00 ?2330次閱讀

    何在PCB設(shè)計實現(xiàn)復(fù)雜的焊盤形狀?

    在某些情況下,您的設(shè)計可能需要幾何不規(guī)則或復(fù)雜的焊盤形狀,并且使它們恰到好處會耗費大量時間和手動工作。通過在AltiumDesigner?快速將復(fù)雜焊盤形狀應(yīng)用到PCB設(shè)計,了解
    的頭像 發(fā)表于 07-23 14:34 ?6181次閱讀

    通過節(jié)省時間和成本的創(chuàng)新技術(shù)降低電源的EMI

    通過節(jié)省時間和成本的創(chuàng)新技術(shù)降低電源的EMI。
    發(fā)表于 06-09 09:53 ?20次下載

    如何通過電源設(shè)計節(jié)省時間和空間

    從工業(yè)物聯(lián)網(wǎng) (IIoT) 到網(wǎng)絡(luò)基礎(chǔ)設(shè)施設(shè)備,下一代電子系統(tǒng)正在注入新的智能,在不斷縮小的空間中需要更多功率,而不會影響熱預(yù)算。因此,傳統(tǒng)的解決方案并不合適。然而,考慮到上市時間的壓力,設(shè)計人員沒有大量的時間來設(shè)計電源,他們必須在有限的空間內(nèi)努力散熱,同時滿足沖擊、振動
    的頭像 發(fā)表于 06-28 18:02 ?568次閱讀
    如何通過電源設(shè)計<b class='flag-5'>節(jié)省時間</b>和空間

    參考設(shè)計節(jié)省時間和精力

    為什么要重新發(fā)明輪子,尤其是在緊迫的項目期限總是迫在眉睫的情況下?借助可免費下載的參考設(shè)計,您可以快速了解您的應(yīng)用程序,并將任何開發(fā)風(fēng)險降至最低。我們的參考設(shè)計是完整的應(yīng)用電路,包括至少一個Maxim IC,由我們的工程師設(shè)計、構(gòu)建和廣泛測試。
    的頭像 發(fā)表于 06-29 16:25 ?670次閱讀
    參考設(shè)計<b class='flag-5'>節(jié)省時間</b>和精力

    Vivado那些事兒:節(jié)省編譯時間系列文章

    雖然想必您知道,在綜合或?qū)崿F(xiàn)階段,增量運行可以從參考文件讀取和復(fù)制信息,但僅在某些階段節(jié)省時間,如果網(wǎng)表發(fā)生大量更改,其中引用的內(nèi)容就會減少,編譯時間也會受到相應(yīng)影響。
    的頭像 發(fā)表于 10-09 16:48 ?2581次閱讀
    Vivado那些事兒:<b class='flag-5'>節(jié)省</b>編譯<b class='flag-5'>時間</b>系列文章