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

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

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

Formal Verify形式驗證的流程概述

冬至子 ? 來源:簡矽芯學(xué)堂 ? 作者:簡矽芯學(xué)堂 ? 2023-09-15 10:45 ? 次閱讀

概述

Formal Verify,即形式驗證,主要思想是通過使用數(shù)學(xué)證明的方式來驗證一個修改后的設(shè)計和它原始的設(shè)計,在功能上是否等價。

用于比較的設(shè)計文件可以是一個RTL級的設(shè)計和它的門級網(wǎng)表,或者綜合后的門級網(wǎng)表和做完布局布線及優(yōu)化之后的門級網(wǎng)表。常見的工具是synopsys公司的Formality。

對于DFT工程師來說,要完成的形式驗證有2種:

第一,驗證插入DFT測試邏輯之后的設(shè)計文件與未插入DFT測試邏輯的原始設(shè)計文件之間是否等價;

第二,驗證綜合后插入掃描鏈的門級網(wǎng)表與未插入掃描鏈的門級網(wǎng)表之間是否等價。

圖片

Why Formal Verify

做形式驗證是為了確認修改后的設(shè)計電路與原始設(shè)計電路是等價的。不管是人為的修改還是工具處理后的電路不一定能保證等價性,工具也是人做出來的,也有可能會出錯,所以要確認。

DFT工程師運用工具將DFT測試邏輯插入到設(shè)計中,不能改變原始電路的功能,所以在完成DFT設(shè)計后要驗證電路是否等價于原始設(shè)計的電路。

Formal Verify****的分類

1、等價性檢查

用于比較設(shè)計的兩種實現(xiàn)是否一致,可分為組合等價性檢查和時序等價性檢查。利用數(shù)學(xué)技術(shù)來驗證參考設(shè)計與改動后的設(shè)計等價,主要目的是在一個設(shè)計經(jīng)過變換之后,窮舉地檢驗變換前后的功能一致性,即證明設(shè)計的變換沒有產(chǎn)生功能的變化。

2、形式模型檢查

是一種檢測設(shè)計是否具有所需屬性的方法,如安全性、活性和公平性。模型檢驗所針對的對象是同步時序設(shè)計。系統(tǒng)的設(shè)計spec用時序狀態(tài)邏輯公式來描述。而通過對有限狀態(tài)系統(tǒng)的所有可能的狀態(tài)空間遍歷來證明設(shè)計是符合規(guī)范的,增強設(shè)計者的信心;或者是通過提供違反spec的反例,以幫助設(shè)計者來發(fā)現(xiàn)早期設(shè)計的錯誤。反例給出的方式是從系統(tǒng)的初始狀態(tài)出發(fā)到“壞”的狀態(tài)的路徑。系統(tǒng)的狀態(tài)空間能夠用有效的抽象符號算法來隱含地描述。

3、定理證明

是形式驗證技術(shù)中最高的,它需要設(shè)計行為的形式化描述,通過嚴格的數(shù)學(xué)證明,比較HDL描述的設(shè)計和系統(tǒng)的形式化描述在所有可能輸入下是否一致。這種驗證方法需要非常深厚的數(shù)學(xué)功底,而且不能完全自動化,所以應(yīng)用案例較少。

Formal Verify的流程

圖片

1、準備HDL文件和fm_verify.tcl腳本

對于DFT工程師,需要準備好原始設(shè)計的RTL-level的HDL文件、插入DFT測試邏輯之后RTL-level的HDL 文件和fm_verify.tcl運行腳本,進行RTL的Formal Verify;

準備好綜合后的門級網(wǎng)表文件、插入掃描鏈之后門級網(wǎng)表 文件和fm_verify.tcl運行腳本,進行門級網(wǎng)表的Formal Verify。

2、設(shè)置design_name和讀取庫文件

set_top top, 設(shè)置頂層為top。

read_db/project/${USER}/library/db/*.db,用read_db讀取.db庫文件。

3、用read_verilog命令讀入設(shè)計

create_container pre_dft

read_verilog -f ./scripts/ref_filelist (未插DFT測試邏輯的設(shè)計)

create_container post_dft

read_verilog -f ./scripts/imp_filelist(已插DFT測試邏輯的設(shè)計)

讀入reference design和implement design

current_design top 設(shè)置當前設(shè)計名稱為top

4、設(shè)置環(huán)境

讀取設(shè)計后,需要設(shè)置formal verification環(huán)境。比如插入dft以后,做function驗證時,不需要考慮scan mode/test mode,或者人為創(chuàng)建的port,需要給這些port設(shè)置一個常量告訴工具不去檢查。

5、Match

檢查 reference design 和 Implemention design 的比較點是否匹配。

6、Verify

驗證功能是否一致,電路是否等價。

總結(jié)

本文主要介紹了Formal Verify的概念、分類、進行Formal Verify的原因以及Formal Verify的具體流程。

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

    關(guān)注

    1

    文章

    384

    瀏覽量

    59528
  • 形式驗證
    +關(guān)注

    關(guān)注

    0

    文章

    8

    瀏覽量

    5688
  • SPEC
    +關(guān)注

    關(guān)注

    0

    文章

    31

    瀏覽量

    15748
  • DFT設(shè)計
    +關(guān)注

    關(guān)注

    0

    文章

    10

    瀏覽量

    8863
  • HDL語言
    +關(guān)注

    關(guān)注

    0

    文章

    46

    瀏覽量

    8897
收藏 人收藏

    評論

    相關(guān)推薦

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

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

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

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

    關(guān)于功能驗證、時序驗證形式驗證、時序建模的論文

    半定制/全定制混合設(shè)計的特點,提出并實現(xiàn)了一套半定制/全定制混合設(shè)計流程中功能和時序驗證的方法。論文從模擬驗證、等價性驗證和全定制設(shè)計的功能驗證
    發(fā)表于 12-07 17:40

    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

    深層解析形式驗證

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

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

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

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

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

    形式驗證工具對系統(tǒng)功能的設(shè)計

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

    16nm技術(shù)的形式驗證流程、優(yōu)勢和調(diào)試

    必須優(yōu)化正式驗證流程中的初始網(wǎng)表,因此測試設(shè)計需要額外的邏輯。在這里,我們提供16 nm節(jié)點的形式驗證流程和調(diào)試技術(shù)。
    的頭像 發(fā)表于 11-24 12:09 ?1178次閱讀
    16nm技術(shù)的<b class='flag-5'>形式</b><b class='flag-5'>驗證</b><b class='flag-5'>流程</b>、優(yōu)勢和調(diào)試

    形式驗證入門之基本概念和流程

    和靜態(tài)時序分析工具一起來完成對電路完備的驗證。本文就以Synopsys公司的formality工具為例,來介紹形式驗證流程和基本概念,后續(xù)會詳細介紹使用formality做RTL2G
    的頭像 發(fā)表于 12-27 15:18 ?1897次閱讀

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

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

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

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

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

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

    Formal Verification的基礎(chǔ)知識

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

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

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