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

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

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

芯片設(shè)計(jì)之邏輯等價(jià)檢查 (LEC)

要長(zhǎng)高 ? 來源:edn ? 作者:DEEKSHITH KRISHNEGOWD ? 2022-05-13 17:02 ? 次閱讀

設(shè)計(jì)芯片是一個(gè)復(fù)雜的過程。它從定義架構(gòu)要求開始,然后是微架構(gòu)開發(fā),然后是 RTL 設(shè)計(jì)和功能驗(yàn)證。然后綜合設(shè)計(jì)得到網(wǎng)表,交給后端團(tuán)隊(duì)進(jìn)行后端流程。在后端流程中,網(wǎng)表在各個(gè)階段經(jīng)歷各種變化,無論是在識(shí)別錯(cuò)誤??后對(duì)設(shè)計(jì)執(zhí)行的工程變更單 (ECO),還是為時(shí)序收斂而修改單元。簡(jiǎn)而言之,該設(shè)計(jì)在進(jìn)入最終流片階段之前會(huì)進(jìn)行多次更改。

為了在更改后驗(yàn)證設(shè)計(jì),有必要通過提供測(cè)試用例來運(yùn)行仿真,但由于設(shè)計(jì)的復(fù)雜性(復(fù)雜的設(shè)計(jì)需要更多的運(yùn)行時(shí)間)以及設(shè)計(jì)更改的頻率,這通常是不可能的。在這種情況下,設(shè)計(jì)要經(jīng)過邏輯等效檢查 (LEC),其中工具通過注入隨機(jī)向量來驗(yàn)證設(shè)計(jì)。

業(yè)內(nèi)有許多工具可用于檢查邏輯等價(jià)性,但使用最廣泛的是Cadence的Conformal和 Synopsys 的Formality。除了 LEC,這些工具還可以用于執(zhí)行其他任務(wù),例如 ECO。在本文中,我們將介紹 Conformal LEC 流程。

pYYBAGJ-HDuAdn_mAAEtD9IbgFA880.png

圖 1一個(gè)典型的 Conformal LEC 流程包括一個(gè)設(shè)置模式和一個(gè) LEC 模式。

一個(gè)典型的保形 LEC 平面運(yùn)行流程主要由一個(gè)設(shè)置階段和一個(gè) LEC 模式組成。設(shè)置模式包括以下步驟:

黑盒規(guī)格

閱讀圖書館和設(shè)計(jì)

設(shè)計(jì)約束規(guī)范

建模指令規(guī)范

切換到 LEC 模式

LEC 模式包括:

映射過程

比較過程

一、黑匣子規(guī)格

在典型的設(shè)計(jì)中,會(huì)有模擬塊、存儲(chǔ)器和數(shù)字塊。內(nèi)存和模擬塊由不同的團(tuán)隊(duì)提供,在運(yùn)行 LEC 時(shí)它們將被視為黑盒。如果設(shè)計(jì)中存在 IP,則 IP 驗(yàn)證由 IP 提供商執(zhí)行,用戶無需花費(fèi)時(shí)間驗(yàn)證 IP。因此,即使 IP 也可以作為黑盒包含在內(nèi)。

可以使用命令指定黑盒,如下圖 2中的第 25 行所示。這必須在讀取設(shè)計(jì)文件/庫(kù)之前完成,以確保只讀取 I/O 端口而不是整個(gè)設(shè)計(jì)。這樣做會(huì)大大減少運(yùn)行時(shí)間,并且在我們?cè)诖笮驮O(shè)計(jì)上運(yùn)行 LEC 時(shí)會(huì)有很大幫助。當(dāng)一個(gè)模塊被指定為黑盒時(shí),Conformal 工具將驗(yàn)證連接——黑盒的輸入和輸出——但它不會(huì)驗(yàn)證黑盒內(nèi)部的邏輯。

pYYBAGJ-HEqAbup8AAGBw4sr2sI893.png

圖 2可以使用此圖像中顯示的命令指定黑盒。

2. 閱讀VHDL/Verilog 設(shè)計(jì)和庫(kù)

除了 Verilog 和 VHDL 支持讀取設(shè)計(jì)文件外,Conformal 工具還支持讀取 Verilog 標(biāo)準(zhǔn)仿真庫(kù)和 Liberty 格式庫(kù)。該信息通過使用如下圖 3中第 37 行和第 40 行所示的命令提供給工具。搜索路徑和文件列表也可以使用適當(dāng)?shù)拿钶斎氲焦ぞ咧小?/p>

poYBAGJ-HFiANsDzAAIg2fHfvDA441.png

圖 3上面顯示的命令用于讀取設(shè)計(jì)文件。

讀入設(shè)計(jì)后,Conformal 中內(nèi)置的硬件描述語言 (HDL) 規(guī)則檢查插件可用于檢查 lint 錯(cuò)誤和警告。這些錯(cuò)誤和警告可以根據(jù)嚴(yán)重程度進(jìn)行報(bào)告,并且可以添加豁免。使用以下命令報(bào)告黃金和修訂設(shè)計(jì)中的錯(cuò)誤和警告消息:

報(bào)告規(guī)則檢查 -design -error -warning -golden -verbose 》 rpt.rule.golden

報(bào)告規(guī)則檢查 -design -error -warning -revised -verbose 》 rpt.rule.revised

3.設(shè)計(jì)約束規(guī)范

在設(shè)計(jì)中插入測(cè)試設(shè)計(jì) (DFT) 后,將添加某些端口/引腳用于調(diào)試目的。例如,scan_in、scan_out、scan_mode 和 scan_enable。在比較 RTL 與 DFT-RTL 設(shè)計(jì)時(shí),由于這些額外的端口,設(shè)計(jì)將是非等效的。因此,有必要將設(shè)計(jì)置于黃金設(shè)計(jì)和修訂設(shè)計(jì)的通用功能模式中。這可以通過在設(shè)計(jì)中添加約束來實(shí)現(xiàn)。

例如,在下面的圖 4中,左側(cè)的觸發(fā)器是黃金設(shè)計(jì)中的常規(guī) D 觸發(fā)器,而右側(cè)的觸發(fā)器是掃描插入后修訂設(shè)計(jì)中的可掃描 D 觸發(fā)器。黃金設(shè)計(jì)中的 D 輸入是 D in的函數(shù),而修訂設(shè)計(jì)中的 D 輸入是 D in、scan_in 和 scan_enable 的函數(shù)。因此,當(dāng)工具將向量傳遞給兩個(gè)觸發(fā)器時(shí),它們將被標(biāo)記為不等價(jià)。但在功能模式下,scan_enable 將始終為零。因此,如果在 scan_enable 上添加約束以將其綁定到 1‘b0,則黃金設(shè)計(jì)和修訂設(shè)計(jì)在功能模式下將相等。

添加引腳約束 0 scan_enable-revised

pYYBAGJ-HPKAe4URAABzk4_-cX8172.png

圖 4這是掃描插入后黃金 DFF 與修訂后 DFF 的樣子。

4.建模指令規(guī)范

綜合后,綜合工具的網(wǎng)表輸出將進(jìn)行功率優(yōu)化。因此,黃金設(shè)計(jì)中的任何時(shí)鐘門控邏輯都將轉(zhuǎn)換為基于鎖存器的時(shí)鐘門控,如下面的圖 5所示。許多此類優(yōu)化將由不同的工具完成,有必要仔細(xì)審查它們并添加建模指令以匹配兩種設(shè)計(jì)。以下命令可用于為時(shí)鐘門控優(yōu)化添加建模指令:

設(shè)置展平模型-gated_clock

poYBAGJ-HP2AJU1OAAB21rDIoWg244.png

圖 5這是黃金 DFF 與修訂后 DFF 在功耗優(yōu)化后的樣子。

5.切換到LEC模式

添加所有設(shè)置約束和建模指令后,必須將工具切換到 LEC 模式以映射關(guān)鍵點(diǎn)和比較。這是通過使用以下命令完成的:

設(shè)置系統(tǒng)模式 lec

6. 映射過程

當(dāng)工具設(shè)置為 LEC 模式時(shí),工具會(huì)自動(dòng)映射關(guān)鍵點(diǎn),例如初級(jí)輸入 (PI)、初級(jí)輸出 (PO)、DFF、D 鎖存器、黑盒、Z 門和切割門。首先,該工具使用基于名稱的映射,然后是基于函數(shù)的映射。顧名思義,在基于名稱的映射中,工具映射基于黃金和修訂設(shè)計(jì)中的網(wǎng)絡(luò)/變量的名稱。在基于函數(shù)的映射中,該工具分析關(guān)鍵點(diǎn)的輸入邏輯錐并基于它進(jìn)行映射?;诿Q的映射比基于函數(shù)的映射需要更少的運(yùn)行時(shí)間,因此該工具會(huì)在切換到基于函數(shù)的映射之前嘗試使用基于名稱的映射來映射關(guān)鍵點(diǎn)。

必須映射所有關(guān)鍵點(diǎn)。但是第一次運(yùn)行 LEC 時(shí),并不是所有的關(guān)鍵點(diǎn)都會(huì)被映射。這是因?yàn)?IC 設(shè)計(jì)過程中使用的不同工具進(jìn)行了優(yōu)化。例如,綜合工具根據(jù)設(shè)置將RTL中的寄存器/ dma_reg[0][1]重命名為netlist中的/ dma_0_reg[1]?;诿Q的映射將無法匹配此關(guān)鍵點(diǎn),而基于函數(shù)的映射可能會(huì)或可能無法匹配此關(guān)鍵點(diǎn),這取決于邏輯錐的復(fù)雜性。在這些情況下,應(yīng)為工具提供重命名規(guī)則,以便映射這些關(guān)鍵點(diǎn)。以下重命名規(guī)則將解決上述未映射的關(guān)鍵點(diǎn):

添加重命名規(guī)則 REG1 “%d_reg\[%d\]” “reg[@1][@2]” -revised

7.比較過程

僅在映射的關(guān)鍵點(diǎn)上進(jìn)行比較。因此,如前所述,重要的是應(yīng)該映射所有關(guān)鍵點(diǎn)。該工具將嘗試通過將所有輸入組合傳遞給邏輯錐來證明等效性并檢查輸出行為。在比較過程之后,該工具會(huì)將關(guān)鍵點(diǎn)分類為等效點(diǎn)、反向等效點(diǎn)、非等效點(diǎn)和中止點(diǎn)。除等效關(guān)鍵點(diǎn)外的所有類別都應(yīng)調(diào)試。如果所有比較點(diǎn)都相同,那么我們可以得出結(jié)論,黃金和修改后的設(shè)計(jì)是匹配的。

在LEC模式下可以使用如下命令調(diào)用比較過程,比較后會(huì)顯示如圖6所示的信息:

添加比較點(diǎn)-所有比較

poYBAGJ-HWqAPOyaAAHvXguYusY944.png

圖 6所示的 LEC 日志摘要是非等效的黃金和修訂設(shè)計(jì)。

如上所述,每次設(shè)計(jì)更改時(shí)運(yùn)行回歸和其他復(fù)雜模擬并不是驗(yàn)證設(shè)計(jì)的有效方式。在這種情況下使用 LEC 工具表明,可以用更少的運(yùn)行時(shí)間驗(yàn)證設(shè)計(jì)。按照上述步驟使用 Cadence Conformal 進(jìn)行 LEC 將簡(jiǎn)化整個(gè)過程并顯著減少調(diào)試時(shí)間。

Deekshith Krishnegowda 是 Marvell Technology 圣克拉拉辦事處的 IC 設(shè)計(jì)工程師。

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

    關(guān)注

    15

    文章

    1024

    瀏覽量

    54942
  • vhdl
    +關(guān)注

    關(guān)注

    30

    文章

    817

    瀏覽量

    128208
  • D觸發(fā)器
    +關(guān)注

    關(guān)注

    3

    文章

    164

    瀏覽量

    47972
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    如何檢查AND門的邏輯門?

    你好。我是在FPGA上設(shè)計(jì)系統(tǒng)的初學(xué)者。我的fpga是XC7K325T -2 FFG900(knitex - 7系列)我想計(jì)算基本15位2輸入加法器的邏輯延遲。如果我能檢查AND門或OR門的延遲等
    發(fā)表于 05-25 07:28

    分享一個(gè)FEC RTLvs Netlist等價(jià)性比對(duì)的示例

    中,只要你使用邏輯綜合將RTL轉(zhuǎn)換為門級(jí)網(wǎng)表,那么你必然需要使用FEC工具進(jìn)行RTL和門級(jí)網(wǎng)表等價(jià)性比對(duì)。下圖是一個(gè)FEC RTLvs Netlist等價(jià)性比對(duì)的示例。看起來不同,實(shí)際功能是一致
    發(fā)表于 07-22 14:56

    帶黑盒組合電路的等價(jià)性驗(yàn)證

    為了在早期階段發(fā)現(xiàn)電路設(shè)計(jì)錯(cuò)誤,需要對(duì)包含未知部分的實(shí)現(xiàn)電路和規(guī)范電路進(jìn)行等價(jià)性驗(yàn)證。本文提出了一種“分而治之”的方法,把電路劃分成若干子電路,使用四值邏輯
    發(fā)表于 07-30 17:39 ?17次下載

    檢查晶閘管的觸發(fā)能力(方法四)

    檢查晶閘管的觸發(fā)能力(方法四) 利用兆歐表和萬用表檢查晶閘管觸發(fā)能力的電路
    發(fā)表于 07-28 08:17 ?776次閱讀

    什么是軟件與硬件的邏輯等價(jià)

    什么是軟件與硬件的邏輯等價(jià)性     隨著大規(guī)模集成電路技術(shù)的發(fā)展和軟件硬化的趨勢(shì),計(jì)算機(jī)系統(tǒng)軟、硬件界限已經(jīng)變得模糊了。因?yàn)槿魏尾僮?/div>
    發(fā)表于 04-13 13:44 ?5563次閱讀

    邏輯漏洞越權(quán)詳解

    邏輯漏洞越權(quán)詳解
    發(fā)表于 09-07 09:41 ?5次下載
    <b class='flag-5'>邏輯</b>漏洞<b class='flag-5'>之</b>越權(quán)詳解

    等價(jià)型PG邏輯在加法器設(shè)計(jì)中的應(yīng)用分析

    引言 在全加器設(shè)計(jì)中運(yùn)用PG邏輯是非常普遍的,本文在設(shè)計(jì)和研究全加器時(shí),根據(jù)現(xiàn)有的PG邏輯公式推導(dǎo)出了一種新的邏輯公式,并論證了兩者之間的等價(jià)關(guān)系。這一新的公式能夠指導(dǎo)全加器設(shè)計(jì)中的連
    發(fā)表于 11-06 11:49 ?0次下載
    <b class='flag-5'>等價(jià)</b>型PG<b class='flag-5'>邏輯</b>在加法器設(shè)計(jì)中的應(yīng)用分析

    功能ECO理論基礎(chǔ):邏輯等價(jià)檢查

    為了節(jié)省測(cè)試時(shí)間,LEC工具需要對(duì)邏輯錐進(jìn)行優(yōu)化。現(xiàn)在市場(chǎng)上已經(jīng)出現(xiàn)一些基于機(jī)器學(xué)習(xí)(Machine Learning)和深度學(xué)習(xí)(deep learning)的形式驗(yàn)證算法的LEC工具。
    的頭像 發(fā)表于 12-24 17:43 ?1069次閱讀

    邏輯互連AC耦合電容綜述

    邏輯互連AC耦合電容綜述
    發(fā)表于 09-10 15:08 ?4次下載

    單端邏輯電平互聯(lián)綜述

    單端邏輯電平互聯(lián)綜述
    發(fā)表于 09-10 15:37 ?2次下載

    芯片設(shè)計(jì)邏輯綜合過程

    邏輯綜合操作(Compile design),根據(jù)芯片的復(fù)雜程度,邏輯綜合操作的時(shí)間可能是幾秒,也可能是半個(gè)月。如果設(shè)計(jì)環(huán)境和約束設(shè)置不當(dāng),邏輯綜合操作的時(shí)間會(huì)被延長(zhǎng)。
    的頭像 發(fā)表于 08-12 15:10 ?3899次閱讀

    RTL與網(wǎng)表的一致性檢查

    芯片設(shè)計(jì)的中間和最后階段,比如綜合、DFT、APR、ECO等階段,常常要檢查設(shè)計(jì)的一致性。也叫邏輯等價(jià)檢查(Logic Equivale
    的頭像 發(fā)表于 11-07 12:51 ?3821次閱讀

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

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

    邏輯等價(jià)檢查LEC)基礎(chǔ)知識(shí)介紹

    DFF的CK(時(shí)鐘)、D(數(shù)據(jù))、RN(復(fù)位)、SN(置位)就是這個(gè)“邏輯塊”的終點(diǎn),它們的輸入都是一個(gè)組合邏輯。
    的頭像 發(fā)表于 03-27 11:07 ?3916次閱讀

    c語言中邏輯等價(jià)于什么

    在C語言中,邏輯等價(jià)于1。邏輯真可以理解為一個(gè)表達(dá)式、語句或條件的結(jié)果為真,即滿足條件。在計(jì)算機(jī)科學(xué)和編程中,邏輯真在控制流語句、循環(huán)和條件語句中具有重要的作用。
    的頭像 發(fā)表于 11-30 14:10 ?2280次閱讀