精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

談談Formal驗證中的Equivalence Checking

sanyue7758 ? 來源:處芯積律 ? 2023-04-08 09:22 ? 次閱讀

Lec形式驗證想必ICer們都很熟悉,尤其是中后端的IC工程師,在正常邏輯綜合生成網表過后或DFT插入mbist等可測試邏輯綜合后,需要對綜合后產生的網表與綜合前的RTL代碼進行等效邏輯Lec驗證,目的是為了保證綜合過程沒有映射map錯,邏輯正確。后端工程師同時還需要在APR的place,cts等階段手動ec后,ecoRt手動ec后,將綜合后的網表與PostRoute ec后的網表進行Lec驗證。

6bdb3732-d576-11ed-bfe3-dac502259ad0.png

圖1 數字電路設計驗證的分類(包括Formal驗證和仿真功能驗證)

實際上形式驗證是為了驗證RTL代碼與綜合后的門級網表之間的邏輯等價性。功能是否等價,與時序無關。與動態仿真 Simulation Veficiation 相比,形式驗證屬于 Static Verification ,不需要手動灌入激勵;只需要通過數學分析的方式,對待測設計進行檢查。

形式驗證由兩類靜態檢查組成:Equivalence Checking 等價檢查 和 Property Checking 屬性檢查,形式驗證現在通常通過EDA工具進行驗證,業內通常用S家的Formality,C家的Conformal進行Lec形式驗證,國內也有多家企業在進行Formal驗證工具的開發如奇捷科技的EasyECO等等,被應用在RTLCode 和 gate level code的LEC等價檢查。

Equivalence Checking

Combinational equuvalence :用于綜合過后RTL與Netlist之間的檢查,檢查寄存器之間的組合邏輯在綜合前后是否一致,比如常見的Lec驗證工具:Formality,Conformal。sequential Equivalence :用于RTL代碼階段的Check,基于cycle的精確度;在module層面上對時鐘&時鐘樹路徑上的gating代碼手動ec后的RTL進行等價檢查。Transaction Equivalence :用于C/C++ model 與 RTL代碼之間進行檢查,基于transaction的精確度;用于通路的算法類設計。

Property Checking

屬性檢查是基于PSL、SVA等斷言語言的,需要通過對屬性的assume,cover,assert等語句進行分析,進行建立golden模型。FPV(Formal Property Verifacation)需要用戶直接書寫property;從FPV衍生出各類APP,適用于不同場景,可以通過配置相關配置,自動生成對應的property。

實際上前端設計使用Spyglass工具對跨時鐘域設計的structure結構的CDC檢查,檢查異步時鐘寄存器在跨時鐘域時,信號有沒有進行同步處理也屬于靜態驗證的一種。

S家的Formality的流程(Reference 參照網表/RTL; Implementation 實施網表)

6bfc3b3a-d576-11ed-bfe3-dac502259ad0.png

圖2 Formal工具的GUI界面

由圖2可以觀察到,在參照網表implemetation下方,有從0.Guide到60.debug的Formal驗證流程,通常Formal的驗證流程為Guidance > Reference>implemetation>setup>Match>Verify(有時候setup順序可以改變),再到最后的Debug,聽上去是不是十分復雜,但是其實不然,讓小編結合FM官方的環境來給你一一介紹:

環境配置

6c13c99e-d576-11ed-bfe3-dac502259ad0.png

Guidance

這一步通常是用來添加DC綜合完后,報出來的.svf文件,通常是些邏輯優化記錄和一些約束條件。

6c300b68-d576-11ed-bfe3-dac502259ad0.png

Reference(這里舉例是綜合后的,所以Reference吃的是RTL HDL,如果是APR后,那么吃的就是綜合后的網表)

讀入rtl設計文件,從吃對應teachlibrary的DB文件(S家的lib文件都是.db格式)開始,再吃Reference參照的設計文件Verilog、VHDL等等,如果有UPF,則還要吃UPF,如果沒有則設置頂層文件。

6c42305e-d576-11ed-bfe3-dac502259ad0.png

6c5f2286-d576-11ed-bfe3-dac502259ad0.png

這一步比較簡單,主要就是read 需要對比的網表 read design file > verlilog >load files吃完netlist后再set top

6c7e7730-d576-11ed-bfe3-dac502259ad0.png

Setup

設置常量

6c94788c-d576-11ed-bfe3-dac502259ad0.png

Match

也是Formal最重要的一個環節,驗證Reference與Implementation的邏輯是否一致.match>run matching

6ca2a02e-d576-11ed-bfe3-dac502259ad0.png

通常Implemetation的point要多于Reference,小編出現過Reference的umatch point反而更多的情況,后來定位發現是部分logic在Reference中刪除了,這也是得來的Formal經驗!!

Verify

也是Formal最重要的一個環節,驗證Reference與Implementation的功能是否一致.這一步驟將吐出failing_point和abort_point,即相同激勵輸入,信號不同的點,都會被當成功能不一致的點輸出到rpt內

6cb66e92-d576-11ed-bfe3-dac502259ad0.png

Debug

可以通過GUI界面一個一個時序錐來對照追問題port,,也可以通過前面verify和match的報告來進行debug,最后跑完,打印出結果,可以看到Passing (equivalent)和Failing (notequivalent)是否通過,再分析沒過的原因。

好啦,到這里今天這期Formal形式驗證全流程以及flow代碼環境講解就講到這里啦,小編在這里留下個小問題,如果在fm環境內要吃UPF(為了Implemetation netlist),需要進行哪些代碼操作呢?知道的小伙伴可以后臺留言哦。

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • IC
    IC
    +關注

    關注

    36

    文章

    5900

    瀏覽量

    175240
  • eda
    eda
    +關注

    關注

    71

    文章

    2708

    瀏覽量

    172886
  • RTL
    RTL
    +關注

    關注

    1

    文章

    385

    瀏覽量

    59706
  • 驗證
    +關注

    關注

    0

    文章

    59

    瀏覽量

    15167
  • 網表
    +關注

    關注

    0

    文章

    14

    瀏覽量

    7627

原文標題:談談Formal驗證中的Equivalence Checking

文章出處:【微信號:處芯積律,微信公眾號:處芯積律】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    一文解析最嚴格的等價性比對驗證combinational equivalence

    Combinational equivalence是使用EDA工具進行等價性比對中最成熟的FEV技術,一般情況下是將RTL和原理圖網表進行等價性比對。
    的頭像 發表于 07-19 09:48 ?1604次閱讀

    介紹放寬約束的等價性比對sequential equivalence

    Sequential equivalence被某些EDA工具稱之為周期精確等價(cycle-accurate equivalence),名字不重要,關鍵的是理解它和combinational?equivalence的區別。
    的頭像 發表于 07-19 09:53 ?1075次閱讀

    A Model Checking Example--Solving Sudoku Using Simulink Design Verifier

    , presents an easy-to-understand application of formal methods—specifically, model checking
    發表于 07-18 09:39

    Formal算法基礎知識學習筆記

    Spec和Implementation,這樣的比較輸入和輸入我們可以判定implementation與spec是等價的,設計符合我們的要求。這個一個典型的formal equivalence
    發表于 10-26 16:21

    A Roadmap for Formal Property

    What is formal property verification? A natural language such as English allowsus to interpret
    發表于 07-18 08:27 ?0次下載
    A Roadmap for <b class='flag-5'>Formal</b> Property

    談談電路的“地”

    談談電路的“地”     無論是在模擬電路還是在數字電路
    發表于 04-16 23:34 ?2658次閱讀

    形式驗證工具對系統功能的設計

    形式驗證工具(Formal Verification Tool)是通過數學邏輯的算法來判斷硬件設計的功能是否正確,通常有等價性檢查(Equivalence Checking)和屬性檢查
    的頭像 發表于 08-25 14:35 ?1432次閱讀

    Formal Verification:形式驗證的分類、發展、適用場景

    形式驗證分為兩大分支:Equivalence Checking 等價檢查 和 Property Checking 屬性檢查 形式驗證初次被E
    的頭像 發表于 02-03 11:12 ?2380次閱讀

    分享一些形式驗證(Formal Verification)的經典視頻

    前段時間很多朋友在微信群里討論Formal驗證的視頻資料問題,今天整理好了,分享給大家。
    的頭像 發表于 02-11 13:15 ?798次閱讀
    分享一些形式<b class='flag-5'>驗證</b>(<b class='flag-5'>Formal</b> Verification)的經典視頻

    可以通過降低約束的復雜度來優化Formal的執行效率嗎?

    我們可以通過降低約束的復雜度來優化Formal的執行效率,但是這個主要是通過減少Formal驗證空間來實現的,很容易出現過約,導致bug遺漏。
    的頭像 發表于 02-15 15:14 ?841次閱讀

    Formal Verification的基礎知識

    通過上一篇對Formal Verification有了基本的認識;本篇將通過一個簡單的例子,感受一下Formal的“魅力”;目前Formal Tool主流的有Synopsys的VC Forma
    的頭像 發表于 05-25 17:29 ?2481次閱讀
    <b class='flag-5'>Formal</b> Verification的基礎知識

    數字驗證Formal Verification在國內的應用以及前景如何?

    這種中型規模的RTL如果用simulation,妥妥的一分鐘能跑十幾個sanity case,所以性價比實在太低。尤其是碰到帶memory的設計,用formal簡直就是噩夢(不過工具好像可以替換掉memory的邏輯,你也可以dummy掉data payload,但控制邏輯的data path同樣不短)。
    的頭像 發表于 06-26 16:38 ?1276次閱讀

    什么是形式驗證(Formal驗證)?Formal是怎么實現的呢?

    相信很多人已經接觸過驗證。如我以前有篇文章所寫驗證分為IP驗證,FPGA驗證,SOC驗證和CPU驗證
    的頭像 發表于 07-21 09:53 ?1.1w次閱讀
    什么是形式<b class='flag-5'>驗證</b>(<b class='flag-5'>Formal</b><b class='flag-5'>驗證</b>)?<b class='flag-5'>Formal</b>是怎么實現的呢?

    Formal Verify形式驗證的流程概述

    Formal Verify,即形式驗證,主要思想是通過使用數學證明的方式來驗證一個修改后的設計和它原始的設計,在功能上是否等價。
    的頭像 發表于 09-15 10:45 ?1068次閱讀
    <b class='flag-5'>Formal</b> Verify形式<b class='flag-5'>驗證</b>的流程概述

    談談 十折交叉驗證訓練模型

    談談 十折交叉驗證訓練模型
    的頭像 發表于 05-15 09:30 ?781次閱讀