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

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

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

淺析形式驗(yàn)證的分類、發(fā)展、適用場景

rfdqdzdg ? 來源:IC Verification Club ? 2023-08-25 09:04 ? 次閱讀

Definition

Formal Verification:利用數(shù)學(xué)分析的方法,通過算法引擎建立模型,對待測設(shè)計(jì)的狀態(tài)空間進(jìn)行窮盡分析的驗(yàn)證。

Kinds of Formal Verification

相比于動(dòng)態(tài)仿真Simulation Veficiation,形式驗(yàn)證屬于Static Verification,不需要手動(dòng)灌入激勵(lì);通過數(shù)學(xué)分析的方式,對待測設(shè)計(jì)進(jìn)行檢查;

2e4dd27a-42e1-11ee-a2ef-92fbcf53809c.png在這里插入圖片描述

形式驗(yàn)證分為兩大分支:Equivalence Checking等價(jià)檢查 和Property Checking屬性檢查 形式驗(yàn)證初次被EDA工具采用,可以追溯到90年代,被應(yīng)用于RTL code和gate level code的LEC等價(jià)檢查;后來形式驗(yàn)證開始慢慢發(fā)展,衍生出適用于不同場景的各類工具;

Equivalence Checking

Combinational equivalence:用于RTL vs Netlist的檢查,檢查寄存器之間的組合邏輯在綜合前后是否一致,如Formality,Conformal。Sequential Equivalence: 用于RTL vs RTL的檢查,基于cycle的精確度;適用于對原有block級RTL做了非邏輯修改,如Clock/power gating,對修改后的RTL進(jìn)行等價(jià)檢查。Transaction Equivalence:用于C/C++ model VS RTL的檢查,基于transaction的精確度;常用于數(shù)據(jù)通路的算法類設(shè)計(jì)。

Property Checking

屬性檢查基于PSL/SVA Assertion Languages,通過對property的assume,cover,assert語句分析,建立golden模型。FPV(Formal Property Verification)需要用戶直接書寫property;從FPV衍生出各類APP,適用于不同場景,可以根據(jù)相關(guān)配置,自動(dòng)生成對應(yīng)的property。

除了上述兩類,CDC的檢查也屬于static verification;例如Spyglass會(huì)對跨時(shí)鐘域設(shè)計(jì)做structural 結(jié)構(gòu)上的檢查,檢查跨時(shí)鐘域的信號是否經(jīng)過同步器處理;一般來講,formal verification屬于static verification;

Simulation VS Formal

Simulation屬于Dynamic Verification,F(xiàn)ormal屬于Static Verification;兩者是相互補(bǔ)充的驗(yàn)證手段,各有優(yōu)缺點(diǎn),在合適的場景采用合適的驗(yàn)證手段,達(dá)到最佳的ROI。

2e7140f2-42e1-11ee-a2ef-92fbcf53809c.png在這里插入圖片描述

Simulation是time-based的,仿真器依據(jù)消耗時(shí)間的事件推進(jìn)仿真的進(jìn)行,激勵(lì)需要用戶施加;Simulation雖然可以隨機(jī)化發(fā)送激勵(lì),但是對于corner case的遍歷需要花費(fèi)大量時(shí)間;Simulation適用于大規(guī)模的設(shè)計(jì),仿真的時(shí)間深度可以輕松達(dá)到上萬個(gè)cycle;

Formal是state-space based的,依據(jù)算法探索所有可能的狀態(tài)空間,不需要平臺(tái)搭建和輸入激勵(lì),便于快速啟動(dòng)驗(yàn)證;Formal適用于小模塊的驗(yàn)證,隨著設(shè)計(jì)復(fù)雜度和cycle深度的增加,formal會(huì)占用大量資源,難以收斂;

Formal適用于40,000 寄存器以內(nèi)的模塊驗(yàn)證(這個(gè)數(shù)據(jù)已經(jīng)被刷新);隨著設(shè)計(jì)復(fù)雜度的增加,state space explosion,狀態(tài)空間激增;一個(gè)設(shè)計(jì)包含n個(gè)dff,有2n種配置,m個(gè)input有2m種組合;該設(shè)計(jì)可能的狀態(tài)達(dá)到2(n+m)個(gè);對于一個(gè)10 input,10 dff的設(shè)計(jì),為220=1,048,576。

回到開頭所說的,Simulation和Formal是相互補(bǔ)充的;模塊中的assertion語句既可以在Formal中使用,也可以在Simulation中使用;Formal產(chǎn)生的覆蓋率也可以merge到Simulation的覆蓋率中;設(shè)計(jì)人員可以通過Formal免于平臺(tái)的搭建,快速地跑通IP中的一些模塊,再hand-off給驗(yàn)證人員使用Simulation sign-off(Shift-Left);Simulation中的corner scenario,可以通過Bug hunting FPV補(bǔ)充驗(yàn)證;

Formal do better

不同的驗(yàn)證策略適合不同的驗(yàn)證場景;Emulation適用于整個(gè)Chip級的驗(yàn)證,加速仿真速度;UVM-Simulation適用于復(fù)雜寄存器配置的傳輸packet的IP驗(yàn)證,便于提取transaction和隨機(jī)化驗(yàn)證;Formal(FPV)適合相對較小的模塊,便于收斂;Formal適合controllable的模塊,例如FSMs;Formal適合observable的模塊,便于assertion的書寫,如AXI bus;串行bus則不適合使用formal。開源項(xiàng)目Opentitan中使用FPV的驗(yàn)證模塊[2]。

適合Formal的常見模塊如下:

?Arbiter、Scheduler

?FIFO 、FSMs

?Interrupt controller、DMA controller、Memory controller

?Power manager unit、Clock programing unit

?Bus、Bus bridge、Bus Fabric (CrossBar NoC etc)

?Cache,Cache-Coherent Protocols modeling and verification

?Data transport

?Pinmux, Clock Controller, Reset Controller

The growth of Formal

Formal Property Verification相關(guān)的工具也有十幾年歷史了,但由于其限制,F(xiàn)ormal Tool并沒有被用戶廣泛使用。但最近這些年,一些因素推動(dòng)了formal的高速發(fā)展:

1. 之前繁多的語言(Vera,'e',摩托羅拉的CBV和英特爾的ForSpec)整合為SystemVerilog Assertion,并加入IEEE 1800協(xié)議,成為標(biāo)準(zhǔn)化的Assertion Languages。工程師在Simulation中廣泛使用SVA,節(jié)省了在Formal上的學(xué)習(xí)成本。

2. 隨著工藝節(jié)點(diǎn)的縮小,流程成本大幅提高;對于corner scenario下可能會(huì)隱藏的bug,工程師更傾向Fromal這類exhaustive的驗(yàn)證手段。

3. Formal可以很好的匹配Simulation;同一家EDA的Formal和Simulation工具相互打通,F(xiàn)ormal產(chǎn)生coverage可以和Simulation的coverage相互merge,F(xiàn)ormal產(chǎn)生的波形可以在Simulaiton上復(fù)現(xiàn),F(xiàn)ormal和Simulaiton相同的GUI Debug工具等。

4. 各類Formal APPs的推出,使得Formal更容易掌握和部署。

5. 隨著企業(yè)服務(wù)器性能的提升和Formal算法的發(fā)展,可以處理更復(fù)雜的設(shè)計(jì)規(guī)模。

6. 一些基于C/C++ model的包含大量運(yùn)算單元的硬件產(chǎn)品,如AI/ML,GPU的需要爆發(fā),推動(dòng)了Formal Data Path Validation;

7. Automotive Chip需求激增及其高可靠性的要求,F(xiàn)ormal提供safety fault analysis的功能;

8. 芯片對Security的要求越來越高,需要窮盡分析所有訪問路徑,適合采用Formal;

9. 移動(dòng)端芯片對于Lower Power的重視;PMU模塊適合formal驗(yàn)證;

10.采用敏捷開發(fā)的芯片團(tuán)隊(duì),對于"shift left"的追求,采用formal快速進(jìn)行模塊驗(yàn)證及早發(fā)現(xiàn)bug;

Deepchip

Deepchip上一個(gè)forma系列的專訪,全面的介紹了formal:

?Jim Hogan on how "this is not your father's formal verification"[3]

?Where Formal ABV whomps HDL simulation for chip verification[4]

?9 major and 23 minor Formal ABV tool metrics - plus their gotchas[5]

?16 Formal Apps that make Formal easy for us non-Formal engineers[6]

?Hogan on Cadence, Mentor, OneSpin, Real Intent, Synopsys formal[7]






審核編輯:劉清

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

    關(guān)注

    4

    文章

    264

    瀏覽量

    31674
  • RTL
    RTL
    +關(guān)注

    關(guān)注

    1

    文章

    385

    瀏覽量

    59666
  • SVA
    SVA
    +關(guān)注

    關(guān)注

    1

    文章

    19

    瀏覽量

    10117
  • CDC技術(shù)
    +關(guān)注

    關(guān)注

    0

    文章

    9

    瀏覽量

    6848
  • FPV
    FPV
    +關(guān)注

    關(guān)注

    0

    文章

    16

    瀏覽量

    4469

原文標(biāo)題:Formal Verification (一) 形式驗(yàn)證的分類、發(fā)展、適用場景

文章出處:【微信號:數(shù)字芯片設(shè)計(jì)工程師,微信公眾號:數(shù)字芯片設(shè)計(jì)工程師】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    智能IC卡測試設(shè)備的技術(shù)原理和應(yīng)用場景

    應(yīng)用場景中的可靠性和安全性。 綜上所述,智能IC卡測試設(shè)備在保障IC卡質(zhì)量和性能、提高系統(tǒng)安全性和穩(wěn)定性等方面發(fā)揮著重要作用。隨著技術(shù)的不斷發(fā)展和應(yīng)用場景的不斷拓展,智能IC卡測試設(shè)備的應(yīng)用前景將更加廣闊。
    發(fā)表于 09-26 14:27

    便攜式示波器的技術(shù)原理和應(yīng)用場景

    還可以觀察各種不同電信號幅度隨時(shí)間變化的波形曲線,并在這個(gè)基礎(chǔ)上應(yīng)用于測量電壓、時(shí)間、頻率、相位差和調(diào)幅度等電參數(shù)。二、應(yīng)用場景 現(xiàn)場測試:便攜式示波器適用于各種現(xiàn)場測試場景,如電力系統(tǒng)、通信系統(tǒng)
    發(fā)表于 10-24 14:31

    必讀:顯示技術(shù)的應(yīng)用范圍及適用場景

    這一次我們聊一聊顯示技術(shù)技術(shù)的應(yīng)用范圍及適用場景 技術(shù)適用測試條件在介紹每種顯示技術(shù)的應(yīng)用范圍之前,我們先了解一下測量這些顯示技術(shù)適用范圍時(shí)所需要考慮的條件。 照度(Lux)每種顯示技術(shù)都需要適當(dāng)
    發(fā)表于 09-23 08:00

    =>的使用場景有哪些

    使用場景
    發(fā)表于 10-27 13:25

    WAPI的用戶使用場景有哪幾種?

    WAPI的用戶使用場景有哪幾種?基于WAI的安全接入控制分類有哪些?WPI的封裝過程是怎樣的?
    發(fā)表于 05-31 06:51

    FPGA的應(yīng)用場景

    目錄文章目錄目錄FPGAFPGA 的應(yīng)用場景FPGA 的技術(shù)難點(diǎn)FPGA 的工作原理FPGA 的體系結(jié)構(gòu)FPGA 的開發(fā)FPGA 的使用FPGA 的優(yōu)缺點(diǎn)參考文檔FPGAFPGA(Field
    發(fā)表于 07-28 08:43

    淺析NORFLASH的幾大應(yīng)用場景

    文章存儲(chǔ)芯片供應(yīng)商匯英同創(chuàng)電子介紹主要帶給NOR Flash市場增量的幾大應(yīng)用場景:(1)消費(fèi)電子:智能手機(jī)及周邊設(shè)備也催生了大量需求。例如智能手機(jī)跟可穿戴式設(shè)備的配合跟藍(lán)牙耳機(jī)/智能音響的配合等。這些設(shè)備
    發(fā)表于 08-10 14:36

    步進(jìn)電機(jī)是什么工作原理?有哪些分類?應(yīng)用場景是什么?

    步進(jìn)電機(jī)是什么工作原理?有哪些分類?應(yīng)用場景是什么?
    發(fā)表于 10-19 08:21

    Edge Impulse的分類模型淺析

    就Edge Impulse的三大模型之一的分類模型進(jìn)行淺析。針對于圖像的分類識(shí)別模型,讀者可參考OpenMv或樹莓派等主流圖像識(shí)別單片機(jī)系統(tǒng)的現(xiàn)有歷程,容易上手,簡單可靠。單擊此處轉(zhuǎn)到——星瞳科技OpenMv 所以接下來的分析主
    發(fā)表于 12-20 06:51

    MS9331的應(yīng)用場景是什么?

    MS9331的應(yīng)用場景是什么?
    發(fā)表于 02-11 06:41

    華為SD-WAN的典型組網(wǎng)適用場景介紹

    本章主要介紹華為SD-WAN的典型組網(wǎng)的適用場景、組網(wǎng)拓?fù)浜驮O(shè)備選型。
    的頭像 發(fā)表于 12-11 16:55 ?5135次閱讀

    Formal Verification:形式驗(yàn)證分類發(fā)展、適用場景

    形式驗(yàn)證分為兩大分支:Equivalence Checking 等價(jià)檢查 和 Property Checking 屬性檢查 形式驗(yàn)證初次被EDA工具采用,可以追溯到90年代,被應(yīng)用于R
    的頭像 發(fā)表于 02-03 11:12 ?2319次閱讀

    壓力變送器的適用范圍與應(yīng)用場景

    壓力變送器主要對壓力變化進(jìn)行預(yù)警和信號輸出,是保障生產(chǎn)和倉儲(chǔ)安全的關(guān)鍵設(shè)備。壓力變送器本身對不同的壓力環(huán)境有不同的分類,有針對大壓力范圍進(jìn)行適配的型號,也有針對小壓力區(qū)間的型號。對于不同應(yīng)用場景,可以根據(jù)自身特點(diǎn)和需要選擇相應(yīng)的型號。壓力變送器的
    的頭像 發(fā)表于 07-13 14:13 ?2691次閱讀

    淺析Formality形式驗(yàn)證里的案件

    在當(dāng)前的形式驗(yàn)證的領(lǐng)域,主要有兩個(gè)工具,一個(gè)就是Cadence的conformal,另外一個(gè)就是Synopsys的formality(以下簡稱FM)。
    的頭像 發(fā)表于 07-21 09:56 ?2303次閱讀
    <b class='flag-5'>淺析</b>Formality<b class='flag-5'>形式</b><b class='flag-5'>驗(yàn)證</b>里的案件

    電機(jī)的六大分類形式

    電機(jī),作為電能轉(zhuǎn)換與傳遞的核心裝置,廣泛應(yīng)用于各個(gè)領(lǐng)域,從家庭日常使用的家電到工業(yè)自動(dòng)化的關(guān)鍵設(shè)備,都離不開電機(jī)的支持。電機(jī)的種類繁多,根據(jù)不同的分類標(biāo)準(zhǔn),可以將其劃分為多種類型。本文將詳細(xì)解析電機(jī)的六大分類形式,并探討其各自的
    的頭像 發(fā)表于 06-14 10:33 ?2876次閱讀