一:形式驗(yàn)證的基本概念
-> 廣義上的形式驗(yàn)證?
形式驗(yàn)證不僅僅是芯片領(lǐng)域中的一個(gè)概念。正如文章開頭提到過,形式驗(yàn)證強(qiáng)調(diào)使用嚴(yán)格的數(shù)學(xué)推理和形式化技術(shù),以確保系統(tǒng)的行為是否符合預(yù)期的性質(zhì)和規(guī)格。所以說(shuō)只要是可以通過量化方式構(gòu)建數(shù)學(xué)模型的系統(tǒng),都可以使用形式驗(yàn)證來(lái)check其功能性以及其他可量化特性。比如:
- 軟件工程:就拿區(qū)塊鏈舉個(gè)例子。形式驗(yàn)證不僅適用于智能合約本身,還適用于與智能合同交互的去中心化應(yīng)用。這可以幫助確保整個(gè)應(yīng)用的安全性和正確性。
- 金融領(lǐng)域:金融交易的驗(yàn)證是非常重要的,特別是在高頻交易和算法交易領(lǐng)域。形式驗(yàn)證可以確保交易的正確性和合規(guī)性,防止錯(cuò)誤交易和潛在的風(fēng)險(xiǎn)。
-> 芯片工程里的形式驗(yàn)證?
這里拿計(jì)數(shù)器舉一個(gè)簡(jiǎn)單的形式驗(yàn)證示例。請(qǐng)注意,這只是一個(gè)簡(jiǎn)化的示例,實(shí)際的形式驗(yàn)證可能涉及更復(fù)雜的設(shè)計(jì)和性質(zhì)。
假設(shè)有一個(gè)4位的計(jì)數(shù)器電路,可以從0計(jì)數(shù)到15。我們想要驗(yàn)證以下性質(zhì):當(dāng)計(jì)數(shù)器的值達(dá)到最大值15時(shí),下一個(gè)計(jì)數(shù)值應(yīng)該是0。
設(shè)計(jì):計(jì)數(shù)器電路有一個(gè)4位的計(jì)數(shù)器寄存器,可以遞增。當(dāng)計(jì)數(shù)器值達(dá)到15時(shí),下一個(gè)時(shí)鐘周期應(yīng)該將計(jì)數(shù)器重置為0。
形式驗(yàn)證屬性:我們使用SystemVerilog的屬性規(guī)約 (SVA) 來(lái)表達(dá)這個(gè)性質(zhì)。(一般形式驗(yàn)證的case都使用SVA來(lái)編寫)以下是一個(gè)簡(jiǎn)化的屬性規(guī)約示例:
property reset_at_max;
@(posedge clk) disable iff (!rst_n)
(count == 4'b1111) |= > (next_count == 4'b0000);
endproperty
assert property (reset_at_max);
在這個(gè)屬性規(guī)約中,我們定義了一個(gè)屬性 reset_at_max ,它表達(dá)了當(dāng)計(jì)數(shù)器值為15時(shí),下一個(gè)計(jì)數(shù)值應(yīng)為0。這個(gè)屬性在時(shí)鐘上升沿觸發(fā)時(shí)進(jìn)行檢查。如果屬性不滿足,將會(huì)產(chǎn)生一個(gè)驗(yàn)證錯(cuò)誤。
在這個(gè)示例中,使用仿真進(jìn)行驗(yàn)證可能需要執(zhí)行多個(gè)時(shí)鐘周期來(lái)驗(yàn)證所有可能的計(jì)數(shù)序列。但是,使用形式驗(yàn)證可以直接進(jìn)行數(shù)學(xué)推理,驗(yàn)證屬性在所有可能的情況下是否成立.
除此之外,與基于仿真的驗(yàn)證不同,基于仿真的驗(yàn)證會(huì)使用各種輸入情景來(lái)測(cè)試設(shè)計(jì)以確保其正確行為,形式驗(yàn)證涉及數(shù)學(xué)分析以驗(yàn)證設(shè)計(jì)的屬性。這些屬性可以包括功能正確性、安全性、安全性以及某些類型錯(cuò)誤的缺失(例如,競(jìng)態(tài)條件、死鎖等)。
二:形式驗(yàn)證的優(yōu)勢(shì)
從上述的例子看來(lái),那么形式驗(yàn)證要優(yōu)于基于仿真的驗(yàn)證?看似高性能的形式驗(yàn)證,要將它發(fā)揮得淋漓盡致也是需要代價(jià)的。
其實(shí)不然,形式驗(yàn)證也面臨著挑戰(zhàn)。它可能計(jì)算成本高昂,需要專門的專業(yè)知識(shí)來(lái)制定屬性并設(shè)置驗(yàn)證過程。通常與其他驗(yàn)證技術(shù)(如仿真和測(cè)試)結(jié)合使用,以提供全面的驗(yàn)證策略。形式驗(yàn)證和基于仿真的驗(yàn)證各有其優(yōu)勢(shì)和局限性,沒有絕對(duì)的優(yōu)劣之分。選擇哪種驗(yàn)證方法取決于具體的設(shè)計(jì)需求、時(shí)間和資源限制以及設(shè)計(jì)的復(fù)雜性。
形式驗(yàn)證VS動(dòng)態(tài)仿真
->形式驗(yàn)證的特點(diǎn):
- 高度可靠性 :形式驗(yàn)證提供了數(shù)學(xué)證明的可靠性,如果設(shè)計(jì)通過了形式驗(yàn)證,那么可以有很大的信心認(rèn)為設(shè)計(jì)是正確的。
- 全面性 :形式驗(yàn)證可以覆蓋所有可能的狀態(tài),從而捕獲設(shè)計(jì)中的所有潛在錯(cuò)誤,包括一些難以通過仿真檢測(cè)到的問題。
- 對(duì)于復(fù)雜設(shè)計(jì) :對(duì)于復(fù)雜的設(shè)計(jì),特別是關(guān)鍵性能的設(shè)計(jì),形式驗(yàn)證可以幫助發(fā)現(xiàn)隱藏的問題和時(shí)序錯(cuò)誤。
->動(dòng)態(tài)仿真驗(yàn)證的特點(diǎn):
- 易于實(shí)施 :基于仿真的驗(yàn)證通常比形式驗(yàn)證更容易實(shí)施,可以快速驗(yàn)證設(shè)計(jì)的基本功能和常見情況。
- 資源效率高 :在一些情況下,形式驗(yàn)證可能需要更多的計(jì)算資源和時(shí)間,而基于仿真的驗(yàn)證可能更具資源效率。
- 快速迭代 :基于仿真的驗(yàn)證允許設(shè)計(jì)團(tuán)隊(duì)迅速進(jìn)行修改和驗(yàn)證,特別適用于快速迭代的設(shè)計(jì)流程。
可見,trade-off的概念在芯片領(lǐng)域里面處處可見。魚與熊掌不可得兼。
三:在芯片驗(yàn)證中實(shí)現(xiàn)形式驗(yàn)證
形式驗(yàn)證主要由以下幾個(gè)部分組成:
- 性質(zhì)(Properties) :這些是描述設(shè)計(jì)所需屬性和規(guī)格的語(yǔ)句,例如時(shí)序關(guān)系、狀態(tài)轉(zhuǎn)換、約束等。常用的
- 規(guī)約語(yǔ)言 :通常使用形式規(guī)約語(yǔ)言,如 SystemVerilog Assertions(SVA)、Property Specification Language(PSL)等,來(lái)編寫性質(zhì)和約束。
- 定理證明器(Theorem Provers) :這些工具用于推理和證明性質(zhì)是否成立。它們基于形式化邏輯和推理規(guī)則來(lái)驗(yàn)證性質(zhì)。
- 模型檢查器(Model Checkers) :這些工具用于窮舉系統(tǒng)狀態(tài)空間,檢查是否存在滿足性質(zhì)的狀態(tài)序列。
在電子設(shè)計(jì)自動(dòng)化 (EDA) 工具中,許多主要的形式驗(yàn)證工具已經(jīng)集成到綜合工具鏈中,以幫助硬件工程師驗(yàn)證他們的設(shè)計(jì)。這些工具通常基于硬件描述語(yǔ)言 (如Verilog或VHDL) 。
比如:
1. Cadence JasperGold :JasperGold是一個(gè)集成式形式驗(yàn)證平臺(tái),支持屬性規(guī)約和模型檢查,廣泛應(yīng)用于驗(yàn)證硬件設(shè)計(jì)。
2. Synopsys VC Formal :VC Formal是Synopsys的形式驗(yàn)證工具,用于驗(yàn)證功能、時(shí)序和系統(tǒng)級(jí)性質(zhì)。
四:形式驗(yàn)證的未來(lái)
最近幾年,學(xué)術(shù)界
-
寄存器
+關(guān)注
關(guān)注
31文章
5421瀏覽量
123368 -
芯片設(shè)計(jì)
+關(guān)注
關(guān)注
15文章
1068瀏覽量
55468 -
計(jì)數(shù)器
+關(guān)注
關(guān)注
32文章
2284瀏覽量
96039 -
形式驗(yàn)證
+關(guān)注
關(guān)注
0文章
8瀏覽量
5760 -
SVA
+關(guān)注
關(guān)注
1文章
19瀏覽量
10230
發(fā)布評(píng)論請(qǐng)先 登錄
超大規(guī)模芯片驗(yàn)證:基于AMD VP1902的S8-100原型驗(yàn)證系統(tǒng)實(shí)測(cè)性能翻倍

CAN芯片邏輯響應(yīng)驗(yàn)證測(cè)試

FPGA EDA軟件的位流驗(yàn)證

MATLAB在工程中的應(yīng)用
芯華章以AI+EDA重塑芯片驗(yàn)證效率

模擬示波器在電路設(shè)計(jì)與調(diào)試中的應(yīng)用
軟件在芯片設(shè)計(jì)中有什么作用
英諾達(dá)發(fā)布全新靜態(tài)驗(yàn)證產(chǎn)品,提升芯片設(shè)計(jì)效率
LIMS系統(tǒng)在芯片實(shí)驗(yàn)室中的應(yīng)用
三星電容的封裝形式有哪些選擇?
FPGA算法工程師、邏輯工程師、原型驗(yàn)證工程師有什么區(qū)別?
形式驗(yàn)證如何加速超大規(guī)模芯片設(shè)計(jì)?

芯片失效分析中常見的測(cè)試設(shè)備及其特點(diǎn)

評(píng)論