衡阳派盒市场营销有限公司

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

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

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

什么是形式驗(yàn)證(Formal驗(yàn)證)?Formal是怎么實(shí)現(xiàn)的呢?

sanyue7758 ? 來(lái)源:處芯積律 ? 2023-07-21 09:53 ? 次閱讀

最近看到行業(yè)群里面經(jīng)常有人問(wèn)什么是形式驗(yàn)證,今天的文章和大家介紹下形式驗(yàn)證(Formal verification)。

相信很多人已經(jīng)接觸過(guò)驗(yàn)證。如我前面有篇文章所寫(xiě)驗(yàn)證分為IP驗(yàn)證,FPGA驗(yàn)證,SOC驗(yàn)證和CPU驗(yàn)證,這其中大部分是采用動(dòng)態(tài)仿真(dynamic simulation)實(shí)現(xiàn),即通過(guò)給定設(shè)計(jì)(design)端口測(cè)試激勵(lì),結(jié)合時(shí)間消耗判斷設(shè)計(jì)的輸出結(jié)果是否符合預(yù)期。動(dòng)態(tài)仿真又分為定向測(cè)試和隨機(jī)測(cè)試。現(xiàn)在很多公司用的UVM驗(yàn)證方法學(xué)便是建立在動(dòng)態(tài)仿真的基礎(chǔ)上的。

ca076182-2710-11ee-962d-dac502259ad0.png

形式驗(yàn)證不同于仿真驗(yàn)證,它是通過(guò)數(shù)學(xué)上完備地證明或驗(yàn)證電路的實(shí)現(xiàn)方法是否確實(shí)實(shí)現(xiàn)了電路設(shè)計(jì)所描述的功能。形式驗(yàn)證方法分為等價(jià)性檢查(equivalence checking)如Formality,LEC等和屬性檢查(Property checking)如Jasper gold,VC Formal 等。我們這里講的形式驗(yàn)證特指屬性的檢查(Property checking)。

ca29fcec-2710-11ee-962d-dac502259ad0.png

如上圖所示,在一個(gè)簡(jiǎn)單的加法設(shè)計(jì)中,我們采用動(dòng)態(tài)仿真的方式去驗(yàn)證上述運(yùn)算是類(lèi)似一種丟飛鏢的過(guò)程,想要驗(yàn)到所有的場(chǎng)景要運(yùn)行2的64次方即18446744073709551616次,這只是簡(jiǎn)單的加法運(yùn)算,如果再加入其它稍微復(fù)雜的邏輯,想用動(dòng)態(tài)仿真的方式打完所有情況是非常困難的。

ca3e4eb8-2710-11ee-962d-dac502259ad0.png

另外一種場(chǎng)景是當(dāng)信號(hào)從設(shè)計(jì)的端口輸入,信號(hào)流的走向會(huì)根據(jù)不同設(shè)定或者狀態(tài)選擇走向不同的路徑。如上圖所示,當(dāng)信號(hào)流可選擇的路徑很多時(shí),通過(guò)動(dòng)態(tài)仿真也是很難覆蓋到所有路徑的。

上述兩個(gè)問(wèn)題用Formal就可以很好的解決掉。

除了功能驗(yàn)證上的使用,F(xiàn)ormal也可以被用在coverage的收集上。在設(shè)計(jì)里面有不少代碼是無(wú)法執(zhí)行到的。如果用動(dòng)態(tài)仿真去找這些點(diǎn),一般的做法是跑大量的回歸測(cè)試(regression),收集coverage,然后針對(duì)沒(méi)打到的coverage hole找designer去review。整個(gè)過(guò)程走下來(lái)會(huì)花費(fèi)不少人力。而用formal可以比較輕松高效的找到其中的一些點(diǎn)。

ca631e32-2710-11ee-962d-dac502259ad0.png

介紹了這么多,那么Formal是怎么實(shí)現(xiàn)的呢?用Formal驗(yàn)證需要輸入設(shè)計(jì)(design),約束(constraint)和待驗(yàn)證的property。這里的設(shè)計(jì)一般是指RTL,約束指的是assumption,clock,reset等,propert是指assertion。

ca70e486-2710-11ee-962d-dac502259ad0.png

下面是一個(gè)簡(jiǎn)單的例子,當(dāng)設(shè)計(jì)如下

ca9baac2-2710-11ee-962d-dac502259ad0.png

我們可以通過(guò)下面描述來(lái)驗(yàn)證該段邏輯,先驗(yàn)證req_valid 為高時(shí),dataout等于datain;

caaa8c86-2710-11ee-962d-dac502259ad0.png

再驗(yàn)證req_valid 為低時(shí),dataout等于0。

cabcfcfe-2710-11ee-962d-dac502259ad0.png

Formal適合所有驗(yàn)證場(chǎng)景嗎?當(dāng)然不是,因?yàn)閒ormal是通過(guò)數(shù)學(xué)運(yùn)算去完成完備性驗(yàn)證,在一些簡(jiǎn)單的邏輯如arbiter,muxes,F(xiàn)SM,Control logic上比較適合用formal去驗(yàn)證,但是對(duì)一些復(fù)雜的場(chǎng)景,比如涉及到大量的memory,復(fù)雜的總線傳輸,多模塊協(xié)助工作等場(chǎng)景都不太適合用Formal。

cad6968c-2710-11ee-962d-dac502259ad0.png





審核編輯:劉清

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

    關(guān)注

    1630

    文章

    21796

    瀏覽量

    606003
  • 仿真器
    +關(guān)注

    關(guān)注

    14

    文章

    1019

    瀏覽量

    83935
  • SoC芯片
    +關(guān)注

    關(guān)注

    1

    文章

    617

    瀏覽量

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

    關(guān)注

    1

    文章

    385

    瀏覽量

    59950
  • UVM
    UVM
    +關(guān)注

    關(guān)注

    0

    文章

    182

    瀏覽量

    19227

原文標(biāo)題:什么是形式驗(yàn)證(Formal 驗(yàn)證)

文章出處:【微信號(hào):處芯積律,微信公眾號(hào):處芯積律】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    淺析形式驗(yàn)證的分類(lèi)、發(fā)展、適用場(chǎng)景

    Formal Verification:利用數(shù)學(xué)分析的方法,通過(guò)算法引擎建立模型,對(duì)待測(cè)設(shè)計(jì)的狀態(tài)空間進(jìn)行窮盡分析的驗(yàn)證
    的頭像 發(fā)表于 08-25 09:04 ?1780次閱讀
    淺析<b class='flag-5'>形式</b><b class='flag-5'>驗(yàn)證</b>的分類(lèi)、發(fā)展、適用場(chǎng)景

    EDA形式化驗(yàn)證漫談:仿真之外,驗(yàn)證之內(nèi)

    “在未來(lái)五年內(nèi)仿真將逐漸被淘汰,僅用于子系統(tǒng)和系統(tǒng)級(jí)驗(yàn)證。與此同時(shí),形式化驗(yàn)證方法已經(jīng)開(kāi)始處理一些系統(tǒng)級(jí)任務(wù)。隨著技術(shù)發(fā)展,更多Formal相關(guān)的商業(yè)標(biāo)準(zhǔn)化會(huì)推出。” Intel?fellow
    的頭像 發(fā)表于 09-01 09:10 ?1490次閱讀

    A Roadmap for Formal Property

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

    深層解析形式驗(yàn)證

      形式驗(yàn)證Formal Verification)是一種IC設(shè)計(jì)的驗(yàn)證方法,它的主要思想是通過(guò)使用形式證明的方式來(lái)
    發(fā)表于 08-06 10:05 ?4013次閱讀
    深層解析<b class='flag-5'>形式</b><b class='flag-5'>驗(yàn)證</b>

    新思科技憑借突破性機(jī)器學(xué)習(xí)技術(shù)將形式屬性驗(yàn)證性能提高10倍

    新思科技宣布,推出一種基于人工智能(AI)的最新形式驗(yàn)證應(yīng)用,即回歸模式加速器。作為新思科技VC Formal?解決方案的組成部分,VC Formal采用最先進(jìn)的機(jī)器學(xué)習(xí)算法,將設(shè)計(jì)和
    的頭像 發(fā)表于 09-06 11:13 ?5861次閱讀

    從C/C++到RTL,提速100倍的形式化驗(yàn)證加快AI算法到芯片的迭代

    VC Formal數(shù)據(jù)通路驗(yàn)證應(yīng)用支持HECTOR技術(shù)廣泛的市場(chǎng)采用
    的頭像 發(fā)表于 06-28 08:38 ?5183次閱讀

    形式驗(yàn)證工具對(duì)系統(tǒng)功能的設(shè)計(jì)

    形式驗(yàn)證工具(Formal Verification Tool)是通過(guò)數(shù)學(xué)邏輯的算法來(lái)判斷硬件設(shè)計(jì)的功能是否正確,通常有等價(jià)性檢查(Equivalence Checking)和屬性檢查(Property Checking)兩種方
    的頭像 發(fā)表于 08-25 14:35 ?1563次閱讀

    Formal Verification:形式驗(yàn)證的分類(lèi)、發(fā)展、適用場(chǎng)景

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

    分享一些形式驗(yàn)證(Formal Verification)的經(jīng)典視頻

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

    可以通過(guò)降低約束的復(fù)雜度來(lái)優(yōu)化Formal的執(zhí)行效率嗎?

    我們可以通過(guò)降低約束的復(fù)雜度來(lái)優(yōu)化Formal的執(zhí)行效率,但是這個(gè)主要是通過(guò)減少Formal驗(yàn)證空間來(lái)實(shí)現(xiàn)的,很容易出現(xiàn)過(guò)約,導(dǎo)致bug遺漏。
    的頭像 發(fā)表于 02-15 15:14 ?929次閱讀

    談?wù)?b class='flag-5'>Formal驗(yàn)證中的Equivalence Checking

    Lec形式驗(yàn)證想必ICer們都很熟悉,尤其是中后端的IC工程師,在正常邏輯綜合生成網(wǎng)表過(guò)后或DFT插入mbist等可測(cè)試邏輯綜合后,需要對(duì)綜合后產(chǎn)生的網(wǎng)表與綜合前的RTL代碼進(jìn)行等效邏輯Lec驗(yàn)證
    的頭像 發(fā)表于 04-08 09:22 ?4591次閱讀

    Formal Verification的基礎(chǔ)知識(shí)

    通過(guò)上一篇對(duì)Formal Verification有了基本的認(rèn)識(shí);本篇將通過(guò)一個(gè)簡(jiǎn)單的例子,感受一下Formal的“魅力”;目前Formal Tool主流的有Synopsys的VC Forma
    的頭像 發(fā)表于 05-25 17:29 ?2800次閱讀
    <b class='flag-5'>Formal</b> Verification的基礎(chǔ)知識(shí)

    聊聊形式驗(yàn)證中的SVA

    SVA,即SystemVerilog Assertion,在simulation和Formal都有極為廣泛的應(yīng)用,這里介紹一些基本的概念和常用的語(yǔ)法。
    的頭像 發(fā)表于 06-14 09:31 ?1983次閱讀
    聊聊<b class='flag-5'>形式</b><b class='flag-5'>驗(yàn)證</b>中的SVA

    數(shù)字驗(yàn)證Formal Verification在國(guó)內(nèi)的應(yīng)用以及前景如何?

    這種中型規(guī)模的RTL如果用simulation,妥妥的一分鐘能跑十幾個(gè)sanity case,所以性?xún)r(jià)比實(shí)在太低。尤其是碰到帶memory的設(shè)計(jì),用formal簡(jiǎn)直就是噩夢(mèng)(不過(guò)工具好像可以替換掉memory的邏輯,你也可以dummy掉data payload,但控制邏輯的data path同樣不短)。
    的頭像 發(fā)表于 06-26 16:38 ?1452次閱讀

    Formal Verify形式驗(yàn)證的流程概述

    Formal Verify,即形式驗(yàn)證,主要思想是通過(guò)使用數(shù)學(xué)證明的方式來(lái)驗(yàn)證一個(gè)修改后的設(shè)計(jì)和它原始的設(shè)計(jì),在功能上是否等價(jià)。
    的頭像 發(fā)表于 09-15 10:45 ?1280次閱讀
    <b class='flag-5'>Formal</b> Verify<b class='flag-5'>形式</b><b class='flag-5'>驗(yàn)證</b>的流程概述
    新葡京娱乐城怎么样| 太阳百家乐网址| 百家乐官网去哪里玩最好| 北京太阳城老年公寓| 百家乐有多少种游戏| 百家乐官网赌博技巧大全| 日喀则市| 大发888-娱乐平台| 如何玩百家乐官网扑克| 516棋牌游戏下载| 香港百家乐娱乐场开户注册 | 百家乐官网有几种打法| 大发888游戏下载| 百家乐baccarat| 八卦与24山| 百家乐官网推筒子| 梁平县| 大发888娱乐在线| 戒掉百家乐的玩法技巧和规则| 百家乐数学规律| 百家乐官网龙虎玩| 百家乐官网怎样概率大| 新盈国际| 大发888唯一官网| 澳门百家乐游戏玩法| 百家乐手机游戏下载| 鸟巢百家乐官网的玩法技巧和规则 | 伽师县| 集结号棋牌下载| 手机百家乐能兑换现金棋牌游戏| 爱赢百家乐开户送现金| 百家乐官网看大小路| 百家乐官网高科技| 百家乐官网压分技巧| 百家乐外挂| 大发888虎牌官方下载| 百家乐专业赌| 百家乐双人操作分析仪| 百家乐娱乐城网站| 罗盘24山珠宝火坑| 东莞百家乐官网的玩法技巧和规则|