FPGA 可以支持具有超過(guò) 2000 萬(wàn)個(gè)等效門(mén)、處理器平臺(tái)和一系列通信、數(shù)字信號(hào)處理 (DSP) 和其他功能塊的設(shè)計(jì)。這些設(shè)備與過(guò)去的簡(jiǎn)單可編程芯片相去甚遠(yuǎn),過(guò)去設(shè)計(jì)人員可以快速將幾千個(gè)邏輯門(mén)加載到 FPGA 中并立即看到它們運(yùn)行。今天的設(shè)備需要一個(gè)全面的驗(yàn)證策略,就像 ASIC 一樣詳盡。
傳統(tǒng)FPGA驗(yàn)證
早期的 FPGA 設(shè)計(jì)流程包括輸入門(mén)級(jí)原理圖設(shè)計(jì),將其下載到測(cè)試板上的設(shè)備上,然后使用真實(shí)測(cè)試數(shù)據(jù)驗(yàn)證整個(gè)系統(tǒng)。即使只有幾千個(gè)門(mén),很明顯,在下載之前對(duì)設(shè)計(jì)進(jìn)行某種形式的仿真提供了一種通過(guò)早期檢測(cè)解決問(wèn)題的更簡(jiǎn)單、更快捷的方法。
隨著 FPGA 技術(shù)的改進(jìn),更先進(jìn)的設(shè)計(jì)技術(shù)是不可避免的。與 ASIC 設(shè)計(jì)類似,硬件描述語(yǔ)言 (HDL) 的使用變得司空見(jiàn)慣,并且設(shè)計(jì)的黃金表示從門(mén)轉(zhuǎn)移到了寄存器傳輸級(jí) (RTL) 代碼。高級(jí)仿真用于在綜合之前對(duì)設(shè)計(jì)進(jìn)行徹底的功能驗(yàn)證,如今,所有高級(jí) ASIC 功能驗(yàn)證技術(shù)也用于 FPGA RTL 代碼。
然而,綜合后的 FPGA 驗(yàn)證是另一回事。
依賴于制造的驗(yàn)證
ASIC 和定制 IC 制造成本高、耗時(shí)且風(fēng)險(xiǎn)大。這導(dǎo)致了嚴(yán)格的簽核過(guò)程,最終設(shè)計(jì)以多種方式進(jìn)行測(cè)試,以確保其正確性。此外,硬件仿真通常用于大型 IC,以使用真實(shí)數(shù)據(jù)和/或?qū)⒃谏a(chǎn)中運(yùn)行的軟件進(jìn)一步測(cè)試設(shè)備。
當(dāng)然,F(xiàn)PGA 是不同的。由于 FPGA 可能會(huì)根據(jù)需要多次快速更新新設(shè)計(jì)代碼以使其正確,因此似乎沒(méi)有必要進(jìn)行詳盡的簽核和單獨(dú)的仿真。
FPGA 的一個(gè)特別有用的特性是快速原型設(shè)計(jì)的能力。事實(shí)證明,這對(duì)于高速驗(yàn)證非常寶貴,F(xiàn)PGA 甚至被用于針對(duì)其他 IC 類型的原型設(shè)計(jì)。事實(shí)上,由于這一特性,一些仿真器將 FPGA 作為其核心技術(shù)。
過(guò)去,假設(shè)對(duì)于大型 FPGA,對(duì) RTL 代碼進(jìn)行功能測(cè)試并對(duì)原型設(shè)備本身進(jìn)行最終檢查就足夠了。然而,現(xiàn)在正在使用具有數(shù)百萬(wàn)個(gè)等效門(mén)的 FPGA,新的設(shè)計(jì)流程要求改變了這種情況。
大型 FPGA 設(shè)計(jì)流程問(wèn)題
可以將兩種類型的硬件錯(cuò)誤引入 IC,包括 FPGA。在功能驗(yàn)證期間消除了人為錯(cuò)誤造成的設(shè)計(jì)錯(cuò)誤。另一方面,系統(tǒng)性問(wèn)題是由自動(dòng)化設(shè)計(jì)改進(jìn)工具鏈引入的,通常不會(huì)通過(guò)功能驗(yàn)證過(guò)程進(jìn)行檢查。如果它們進(jìn)入最終設(shè)備,它們可能很難被發(fā)現(xiàn)和損壞。
高質(zhì)量的 FPGA 解決方案依賴于工具鏈的有效性,尤其是綜合和布局布線 (P&R) 功能提供的優(yōu)化。寄存器與可用寄存器間邏輯的比率是固定的,如果該比率在設(shè)計(jì)代碼中不平衡,則允許浪費(fèi)矩陣的部分。因此,觸發(fā)器位置相對(duì)于邏輯門(mén)發(fā)生變化的順序優(yōu)化是重要的 FPGA 綜合和 P&R 能力(圖 1)。
圖 1:基本 FPGA 設(shè)計(jì)。
這些要求促使 FPGA 供應(yīng)商投資于復(fù)雜的、最先進(jìn)的綜合技術(shù)。為了設(shè)計(jì)出最高質(zhì)量的設(shè)計(jì),在這些工具中采用了極其積極的優(yōu)化,這是整個(gè) FPGA 設(shè)計(jì)結(jié)果質(zhì)量 (QoR) 的關(guān)鍵驅(qū)動(dòng)因素。
對(duì)于較小的 FPGA,由 RTL 代碼細(xì)化過(guò)程導(dǎo)致的系統(tǒng)性錯(cuò)誤相對(duì)不常見(jiàn),并且會(huì)在硬件內(nèi) FPGA 的最終測(cè)試期間發(fā)現(xiàn)。對(duì)于利用現(xiàn)代設(shè)計(jì)流程的大型 FPGA,這種假設(shè)已被證明是有缺陷的,并可能導(dǎo)致嚴(yán)重的設(shè)計(jì)問(wèn)題。
系統(tǒng)性錯(cuò)誤的等價(jià)檢查解決方案
采用積極優(yōu)化的綜合和 P&R 工具的組合容易出現(xiàn)系統(tǒng)錯(cuò)誤。因?yàn)檫@些工具對(duì) RTL 代碼中看似微小的差異很敏感,所以不可能測(cè)試每個(gè)設(shè)計(jì)和工具優(yōu)化組合。因此,通過(guò)提高優(yōu)化級(jí)別并檢查以確保不會(huì)為特定設(shè)計(jì)引入系統(tǒng)錯(cuò)誤,可以獲得最佳結(jié)果。
由于系統(tǒng)設(shè)計(jì)問(wèn)題的性質(zhì),在大型 FPGA 中測(cè)試門(mén)級(jí)設(shè)計(jì)表示已成為一項(xiàng)關(guān)鍵要求。系統(tǒng)性問(wèn)題可能發(fā)生在 FPGA 中與正在開(kāi)發(fā)的設(shè)計(jì)部分幾乎沒(méi)有關(guān)系的任何地方。它們通常會(huì)產(chǎn)生意外行為或由不尋常的極端情況觸發(fā),從而使驗(yàn)證測(cè)試的創(chuàng)建變得復(fù)雜且耗時(shí)。它們對(duì)調(diào)試很煩人,因?yàn)橥ǔ1仨氃趲缀鯖](méi)有關(guān)于問(wèn)題根源的信息的情況下檢查整個(gè)設(shè)計(jì)。最糟糕的是,他們可以輕松地將其制成最終產(chǎn)品,從而導(dǎo)致后期制作重新旋轉(zhuǎn)。
用于 ASIC 設(shè)計(jì)的基于形式驗(yàn)證的等效檢查 (EC) 將 RTL 代碼與派生的門(mén)級(jí)等效代碼進(jìn)行了詳盡的比較,特別針對(duì)系統(tǒng)問(wèn)題(圖 2)。由于 RTL 代碼已經(jīng)過(guò)全面驗(yàn)證,因此整體解決方案代表了保證設(shè)計(jì)功能的最有效方式。
圖 2:等價(jià)檢查必須支持順序優(yōu)化。
對(duì)于 FPGA 設(shè)計(jì),需要一種能夠支持最新 FPGA 綜合工具利用的高級(jí)順序優(yōu)化的新型 EC。由于 FPGA 設(shè)計(jì)流程在邏輯設(shè)計(jì)空間內(nèi)移動(dòng)鎖存器,標(biāo)準(zhǔn)等效性檢查無(wú)法輕松地將 RTL 寄存器映射到門(mén)觸發(fā)器。這可以通過(guò)利用更常見(jiàn)的與屬性檢查相關(guān)的高級(jí)形式技術(shù)來(lái)解決,例如,OneSpin 的 360 EC-FPGA 中使用的 EC 工具的一項(xiàng)新的重要功能。這是從 FPGA 設(shè)計(jì)中有效消除系統(tǒng)錯(cuò)誤的絕對(duì)要求。
在 FPGA 流程中使用 EC 有以下好處:
確信在最終 FPGA 測(cè)試中觀察到的任何問(wèn)題都與設(shè)計(jì)相關(guān),并且不是系統(tǒng)性的,從而推動(dòng)了更快、更輕松的調(diào)試過(guò)程。
消除了創(chuàng)建一系列復(fù)雜測(cè)試以針對(duì)系統(tǒng)錯(cuò)誤或嘗試預(yù)測(cè)系統(tǒng)錯(cuò)誤故障條件的耗時(shí)需求。
確信最終設(shè)計(jì)中不存在系統(tǒng)性、極端情況錯(cuò)誤,確保經(jīng)過(guò)驗(yàn)證的 RTL 代碼和門(mén)級(jí)最終設(shè)計(jì)之間的一致性。
有信心利用可用的最激進(jìn)的優(yōu)化,而不必?fù)?dān)心引入錯(cuò)誤,從而實(shí)現(xiàn)最高質(zhì)量的設(shè)計(jì)。
EC 的使用直接關(guān)系到最終設(shè)計(jì)質(zhì)量、可靠性、設(shè)計(jì)進(jìn)度和工程效率。毫不奇怪,全球許多使用大型 FPGA 的電子公司都在使用它。
FPGA實(shí)現(xiàn)驗(yàn)證
隨著 FPGA 變得越來(lái)越大和越來(lái)越復(fù)雜,它們的設(shè)計(jì)和功能驗(yàn)證趨向于 ASIC。在現(xiàn)代 FPGA 設(shè)計(jì)流程的先進(jìn)性的推動(dòng)下,這種趨勢(shì)現(xiàn)在正在擴(kuò)展到實(shí)現(xiàn)驗(yàn)證領(lǐng)域。EC 現(xiàn)在是該流程的必要組成部分,保留了 FPGA 生產(chǎn)過(guò)程中的固有效率。
審核編輯:郭婷
-
FPGA
+關(guān)注
關(guān)注
1629文章
21750瀏覽量
604057 -
asic
+關(guān)注
關(guān)注
34文章
1204瀏覽量
120542
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論