實(shí)際案例說(shuō)明用基于FPGA的原型來(lái)測試、驗證和確認IP——如何做到魚(yú)與熊掌兼得?

發(fā)布時(shí)間:2024-10-28 18:36    發(fā)布者:eechina
關(guān)鍵詞: 數字芯片設計 , ASIC原型 , SmartDV
作者:Philipp Jacobsohn,SmartDV首席應用工程師
Sunil Kumar,SmartDV FPGA設計總監

本系列文章從數字芯片設計項目技術(shù)總監的角度出發(fā),介紹了如何將芯片的產(chǎn)品定義與設計和驗證規劃進(jìn)行結合,詳細講述了在FPGA上使用硅知識產(chǎn)權(IP)內核來(lái)開(kāi)發(fā)ASIC原型項目時(shí),必須認真考慮的一些問(wèn)題。

全文從介紹使用IP核這種預先定制功能電路的必要性開(kāi)始,通過(guò)闡述開(kāi)發(fā)ASIC原型設計時(shí)需要考慮到的IP核相關(guān)因素,用八個(gè)重要主題詳細分享了利用ASIC IP來(lái)在FPGA上開(kāi)發(fā)原型驗證系統設計時(shí)需要考量的因素。同時(shí)還提供了實(shí)際案例來(lái)對這些話(huà)題進(jìn)行詳細分析。

這八個(gè)主題包括:一款原型和最終ASIC實(shí)現之間的要求有何不同?當使用FPGA進(jìn)行原型驗證時(shí)會(huì )立即想到哪些基本概念?在將專(zhuān)為ASIC而設計的IP核移植到FPGA架構上時(shí)通常會(huì )遇到哪些困難?為了支持基于FPGA的原型,通常需要對ASIC IP核進(jìn)行哪些更改?我們如何確保在FPGA上實(shí)現所需的性能?在時(shí)鐘方面必須加以考量的因素有哪些?如果目標技術(shù)是FPGA,而不是ASIC,那么需要如何測試IP核的功能?設計團隊最后還應該牢記什么?

在以往的文章分析了這八個(gè)主題之后,最后將通過(guò)一個(gè)實(shí)際案例來(lái)回顧前面講到的八項關(guān)鍵設計考量因素,并揭示合規性測試、互操作性測和實(shí)現方法,以及從不同的方法可能帶來(lái)不同的結果與目前非常流行的“視點(diǎn)前移(shift left)”模式相結合來(lái)對全文進(jìn)行總結等精彩內容。

作為全球領(lǐng)先的驗證解決方案和設計IP提供商,SmartDV的產(chǎn)品研發(fā)及工程應用團隊具有豐富的設計和驗證經(jīng)驗。在國產(chǎn)大容量FPGA芯片和IP新品不斷面市,國內RISC-V CPU等IP提供商不斷發(fā)展壯大的今天,SmartDV及其中國全資子公司“智權半導體”愿意與國內FPGA芯片開(kāi)發(fā)商、RISC-V IP和其他IP提供商、集成電路設計中心(ICC)合作,共同為國內數字芯片設計公司開(kāi)發(fā)基于本地FPGA的驗證與設計平臺等創(chuàng )新技術(shù)與產(chǎn)品。

實(shí)際案例:使用基于FPGA的方法來(lái)確認USB 3.2 Gen2x1 Device IP

要實(shí)現一個(gè)可工作的FPGA原型并不是一件容易的事。通常,工程師的想法是使用合適的FPGA邏輯綜合和布局布線(xiàn)(P&R)工具,將已經(jīng)可用于A(yíng)SIC技術(shù)的IP核映射到足夠大且快速的FPGA上就足夠了,以達到一個(gè)功能性FPGA實(shí)現。這里的要求是所需的功能應該即刻可用,并且無(wú)需進(jìn)行任何更改。IP核的制造商必須達到這一期望。畢竟,IP核應該能夠集成到現有設計中,且不會(huì )有任何重大的時(shí)間延遲。假設IP供應商已經(jīng)提前進(jìn)行了所有必要的測試,以致于將功能集成到現有電路中毫無(wú)困難。

然而對于IP提供商來(lái)說(shuō),將IP核移植到FPGA架構中是一個(gè)具有挑戰性的目標——如果不付出相當大的努力,這幾乎是不可能的。事實(shí)是,在沒(méi)有適當的基礎架構和外圍設備的情況下,測試一個(gè)孤立的IP核只有有限的價(jià)值。例如,“獨立”實(shí)現并不能保證在符合所有規范的情況下實(shí)現所需的功能,特別是在FPGA不僅僅包含孤立IP核的情況下。如果要在FPGA中實(shí)現具有高時(shí)鐘頻率要求的其他電路部件,這一點(diǎn)尤為重要。

IP制造商面臨的一個(gè)特別挑戰是缺乏在后期實(shí)現中添加的電路組件的相關(guān)信息,如它們的復雜性,它們對時(shí)鐘速度的要求等。事實(shí)上,一個(gè)內核可能已經(jīng)成功地在與該問(wèn)題無(wú)關(guān)的ASIC流片中使用了很多次。畢竟,IP核不僅要滿(mǎn)足標準和規范所定義的所有參數(例如,USB 3.2總線(xiàn)協(xié)議規范),而且即使將其集成到一個(gè)復雜的整體系統中,該系統被映射到一個(gè)可編程器件(即FPGA)上,也仍然要能夠工作。

這樣一個(gè)完整系統的復雜性,加上它的所有組件,如微處理器、信號處理電路和接口,對所需的時(shí)鐘頻率是否能夠實(shí)現以及FPGA提供的資源是否足夠都有重大影響。必須有足夠數量的等效邏輯門(mén),但其他硬件參數也有限制,如存儲器資源、時(shí)鐘分布組件、高速I(mǎi)O和/或收發(fā)器等。

為了實(shí)現可用于在FPGA電路環(huán)境中測試IP核的功能性系統,IP核供應商必須考慮的不僅僅是要提供的功能。IP供應商可以接觸到自己創(chuàng )建的功能,但不能接觸到IP核用戶(hù)使用的開(kāi)發(fā)和測試環(huán)境,也不能訪(fǎng)問(wèn)連接最終產(chǎn)品的外設,并通過(guò)這些外設提供物理輸入信號。同樣,也不能訪(fǎng)問(wèn)客戶(hù)使用的模擬刺激和測試模式生成器。

驗證覆蓋范圍也被視為是至關(guān)重要的;在任何可能的情況下,都應該涵蓋極端情況,以避免在使用IP的后續階段出現令人不快的意外情況。值得注意的是測試用的電路板,通常情況下市場(chǎng)可提供的印刷電路板,與IP核客戶(hù)隨后將用于所有測試的電路板都有不同。

在輸出端,可以預見(jiàn)到的復雜性并不比輸入信號的供應端更低。以USB接口為例,如果實(shí)現接口IP,就需要使用外部PHY作為物理接口。因為這是一個(gè)模擬接口,在FPGA上不可用,因此必須使用外部組件。這種PHY由各種各樣的制造商提供,盡管希望將USB控制器連接到由最終客戶(hù)選擇的外部PHY組件上,不需要對物理接口進(jìn)行任何與電氣特性相關(guān)的更改,如電壓值、擺幅、輸出引腳的驅動(dòng)器強度或接口的引腳分配,所有參數都必須在功能測試中進(jìn)行詳細驗證。

這是確保物理接口符合所有規范的唯一方法,并且數據傳輸的質(zhì)量也要符合預期。所有這些功能測試都必須提前進(jìn)行,以保證在交付前的階段就可提供功能。由于IP核必須是通用的,即不同的客戶(hù)在不同的應用中選擇PHY來(lái)配套都可用,測試設置必須在測試中包括來(lái)自不同制造商的許多不同的PHY。

創(chuàng )建數據庫也需要一些工作量。當然,僅僅提供RTL代碼和相應的約束條件是不夠的。為了簡(jiǎn)化將IP核集成到現有電路中的工作,通常提供以下數據庫:
•        Verilog中的RTL設計
•        RTL能夠在客戶(hù)選擇的FPGA邏輯綜合工具上可以進(jìn)行綜合
•        具有豁免文件的Lint、CDC和邏輯綜合腳本
•        Lint、CDC和邏輯綜合報告
•        如果適用,提供C語(yǔ)音驅動(dòng)包(裸機驅動(dòng))
•        更詳細的技術(shù)文檔
•        易于使用的、帶有Verilog測試用例的Verilog測試環(huán)境
•        IP測試套件
•        為最終用戶(hù)集成的IP測試臺
•        用于RTL地址映射的IP-XACT文件
•        帶有豁免的代碼覆蓋率報告
•        如果適用,提供IC設計文檔/數據表

USB 3.2 Gen2x1 Device IP:實(shí)現、驗證和確認(Validation)

為了確認USB 3.2 IP核,需要對現有IP核進(jìn)行大量的更改。包括對RTL代碼本身的更改,以及對物理輸入和輸出的微調。對RTL代碼的更改是很有必要的,以使時(shí)鐘分布和時(shí)鐘生成適應目標FPGA架構。為此,額外的、專(zhuān)用于FPGA的庫組件就被實(shí)例化,如所謂的數字鎖相環(huán)(MMCM)。

這時(shí)也很有必要將數據路徑的總線(xiàn)寬度從32位調整到64位,否則就不可能控制PIPE接口中的時(shí)間沖突。由于對PIPE接口的更改,有可能將FPGA中的時(shí)鐘頻率從312.5MHz(32位實(shí)現)降低到156.25MHz(64位實(shí)現),從而使設計適用于目標FPGA目標。最后,FPGA上的布局布線(xiàn)就可以在不存在時(shí)間沖突的情況下完成。

除了上述的設計變更之外,Xilinx / AMD的專(zhuān)有微控制器,即專(zhuān)為該制造商的FPGA開(kāi)發(fā)的Microblaze處理器也被集成到電路中,以執行實(shí)驗設置所需的固件代碼。由于USB 3.2 IP核被配置用于大容量存儲應用,因此板載DDR3存儲器被用于外部存儲,該存儲在FPGA本身上不可用,但在選定的原型平臺上可用。USB控制器通過(guò)主AXI接口訪(fǎng)問(wèn)該DDR3存儲器,而USB控制器的核心寄存器由處理器通過(guò)AHB從接口訪(fǎng)問(wèn)。

硬件平臺選擇如下配置:



SmartDV USB 3.2 Gen2x1 Device Controller是為USB大容量存儲應用而配置的。它完全符合USB 3.2規范(rev. 1.0)和USB 2.0規范(rev. 1.0)。IP內核有以下接口:
•        USB 3.2 Gen2物理層接口
-64位PIPE數據路徑
•        USB 2.0物理層接口
-16位UTMI兼容接口
•        系統主數據路徑接口
-64位AXI主接口
•        系統從屬寄存器訪(fǎng)問(wèn)接口
-32位AHB從屬接口
•        EPO處理器接口

除了可用于證明電路功能(包括仿真、CDC檢查、linting)正確性而采用的標準化驗證方法之外,還進(jìn)行了廣泛的測試以確認電路的實(shí)現。最后,對IP核進(jìn)行了認證。為了實(shí)現這一目標,USB3.2 Gen2大容量存儲設備進(jìn)行了USB Implementers Forum, Inc.推薦的多項合規性和互操作性測試,諸如電氣、PHY、鏈路層和強度測試。認證測試是在臺灣的Allion實(shí)驗室進(jìn)行的,這是一家獲得USB-IF認證的機構。SmartDV的器件已與多個(gè)第三方主機進(jìn)行互操作以便進(jìn)行認證。

具體采用以下方法進(jìn)行確認:

USB 3.2 Device IP合規性測試
•        USBCV第9章合規性測試(SSP/SS/HS/FS模式)
•        鏈路層合規性測試(SSP/SS模式)
所有合規性測試都已成功通過(guò)。

USB 3.2 Device IP互操作性測試
•        與USB.org推薦的ASMedia USB 3.2 Gen2 Host進(jìn)行互操作驗證
•        器件列舉測試(采用SSP/SS/HS/FS模式)
•        連接/分離測試
•        使用CrystalDiskMark性能基準測試工具,來(lái)進(jìn)行數據傳輸測試(采用SSP/SS/HS/FS模式)
•        MSC合規性測試
•        低功耗測試(睡眠/休眠/冷啟動(dòng)/熱啟動(dòng))
•        金樹(shù)(gold tree)互操作性測試(拓撲更改)

所有互操作性測試都已成功通過(guò)。


圖1:USB 3.2 Gen2x1 Device IP確認平臺框圖

為了確認USB 3.2 Gen2x1器件的控制器,使用了來(lái)自制造商AMD / Xilinx的現成商用的FPGA平臺。物理接口是通過(guò)使用來(lái)自M31公司的外部PHY卡來(lái)實(shí)現。

USB 3.2 Gen2x1 Device IP實(shí)現挑戰

在FPGA中實(shí)現USB 3.2控制器絕非易事。由于一些時(shí)鐘頻率相當高,時(shí)序收斂并不是一件容易的事;它需要對PIPE接口進(jìn)行設計更改,并需要在FPGA的邏輯綜合(Synopsys Synplify Premier)和Xilinx/AMD Vivado工具布局和布線(xiàn)功能中進(jìn)行多次迭代。值得注意的是,所選FPGA中的邏輯資源利用率相對較低。

可以假設,在資源利用率較高的情況下,時(shí)序收斂會(huì )更加困難;谶@一假設,我們注意到市場(chǎng)上在過(guò)去一段時(shí)間里已經(jīng)出現了一些功能更強大的FPGA器件,如Xilinx/AMD Virtex Ultrascale+/Kintex Ultrascale+、英特爾Stratix-10或Lattice CertusPro-NX,它們都基于比Xilinx/AMD Virtex-7 FPGA更先進(jìn)的工藝技術(shù),雖然后者在設計和設置這些測試的時(shí)候仍然是被廣泛使用的器件?梢苑判牡丶僭O,使用這些新一代FPGA器件可以更容易地確保實(shí)現所需的時(shí)序。

Virtex-7 FPGA(xc7vx485tffg1761-2)的資源利用率如下:



通過(guò)調整這兩種工具(Synopsys Synplify Premier和Xilinx/AMD Vivado)的約束和設置,在不違反時(shí)間約束的情況下就可能實(shí)現。系統中所使用的時(shí)鐘域和對應的時(shí)鐘頻率如下圖所示:



然而,即使在時(shí)序收斂之后,設計也不會(huì )立即出現在板卡上。從PHY接收的數據沒(méi)有在USB 3.2控制器中正確采樣。因此,有必要部署額外的組件來(lái)調整IO延遲值,以便正確地對數據進(jìn)行采樣。

總的來(lái)說(shuō),使USB 3.2控制器能夠與外部PHY互操作是一項極具挑戰性的任務(wù)。除了解決某些互操作性問(wèn)題外,還需要開(kāi)發(fā)在Microblaze微控制器上運行所需的固件代碼,以便在大容量存儲應用模式下確認設計。


圖2:在SmartDV實(shí)驗室中的確認和性能測量設置

電路功能的確認,以及所有互操作性和合規性測試,都是在A(yíng)MD/Xilinx的標準FPGA板上進(jìn)行的。此外,測試設置允許我們去確定可實(shí)現的數據吞吐量。所有的測試和測量都使用了合適的設備。為了確定可實(shí)現的數據吞吐量,我們使用了CrystalDiskMark的性能基準測試工具。

結論:魚(yú)與熊掌兼得?

部署可同樣用于A(yíng)SIC和FPGA架構的IP核是一項極具挑戰性的任務(wù)。因此,必須謹慎選擇IP核供應商,并全面詢(xún)問(wèn)其在FPGA實(shí)現方面的專(zhuān)業(yè)知識。

事實(shí)上,即使一款I(lǐng)P核已經(jīng)經(jīng)歷了許多次成功的ASIC流片,并在許多芯片產(chǎn)品中得到了使用,但這并不意味著(zhù)它可以很容易地用于FPGA。相反,盡管FPGA的復雜度通常比硬連線(xiàn)器件低很多,它們至少也需要與ASIC同樣的重視程度。其將花費的努力經(jīng)常被低估和忽視,特別是在A(yíng)SIC開(kāi)發(fā)在實(shí)現和驗證方面捆綁了所有工程資源的時(shí)候。這在很大程度上是因為在有時(shí)間壓力的情況下,再加上不斷要求產(chǎn)品能夠盡快進(jìn)入市場(chǎng),所以開(kāi)發(fā)ASIC時(shí)難以對FPGA等可編程器件給予必要的關(guān)注。

事實(shí)仍然是,在A(yíng)SIC驗證中被忽視的錯誤幾乎不可避免地會(huì )導致至少需要一次額外的流片,其結果是導致成本大幅增加和項目嚴重延遲,這與流行術(shù)語(yǔ)“加快產(chǎn)品上市時(shí)間”所描述的完全相反。通過(guò)認真地使用FPGA原型,實(shí)現“一次流片成功”的概率顯著(zhù)增加,這會(huì )帶來(lái)許多優(yōu)勢,包括產(chǎn)品更早進(jìn)入市場(chǎng)、研發(fā)團隊可以即刻轉向新的項目、項目整體成本得以?xún)?yōu)化等。

FPGA原型設計增加了驗證覆蓋范圍,并增加了在產(chǎn)品開(kāi)發(fā)的早期階段發(fā)現錯誤的可能性,從而減少了在后期必須處理的錯誤。當然,使用預定義的和經(jīng)過(guò)測試的IP核也提供相當大的優(yōu)勢,因為在這里可以預期更少的意外。通過(guò)擴展,最佳的IC設計解決方案則是結合了作為原型設計載體的FPGA和經(jīng)硅驗證的IP內核,來(lái)作為無(wú)錯誤實(shí)現的保證。使用經(jīng)過(guò)試驗和測試的驗證工具及其所有功能,就可以完成其他工作,從而實(shí)現早期目標并成功完成項目。

現在有一個(gè)很流行的術(shù)語(yǔ)可以形容這種方法:視點(diǎn)前移(shift left)。

最后但同樣重要的一點(diǎn)是,我們必須提到快速完成項目最重要的因素:人。經(jīng)驗豐富的專(zhuān)家團隊對于電路功能的實(shí)現、驗證和確認的價(jià)值是不言而喻的——這是最主要的成功因素。對于所有的工具、輔助工具和預定義的電路功能而言,如果你不知道如何高效地組合和使用它們,則它們都是毫無(wú)用處的。無(wú)論目標是ASIC還是FPGA,擁有強大且可靠的合作伙伴、具有必要專(zhuān)業(yè)知識和適當經(jīng)驗的專(zhuān)家團隊,都是您成功的關(guān)鍵。

雖然電路設計從來(lái)都不是一件容易的事,但選擇合適的合作伙伴肯定會(huì )讓您更輕松。

本系列文章的目標是全面分享經(jīng)驗,幫助讀者利用ASIC IP來(lái)實(shí)現完美的FPGA驗證原型。歡迎關(guān)注SmartDV全資子公司“智權半導體”微信公眾號閱讀:


關(guān)于作者:Philipp Jacobsohn
Philipp Jacobsohn是SmartDV的首席應用工程師,他為北美、歐洲和日本地區的客戶(hù)提供設計IP和驗證IP方面的支持。除了使SmartDV的客戶(hù)實(shí)現芯片設計成功這項工作,Philipp還是一個(gè)狂熱的技術(shù)作家,樂(lè )于分享他在半導體行業(yè)積累的豐富知識。在2023年加入SmartDV團隊之前,Philipp在J. Haugg、Synopsys、Synplicity、Epson Europe Electronics、Lattice Semiconductors、EBV Elektronik和SEI-Elbatex等擔任過(guò)多個(gè)管理和現場(chǎng)應用職位。Philipp在瑞士工作。

關(guān)于作者:Sunil Kumar
Sunil Kumar是SmartDV的FPGA設計總監。作為一名經(jīng)驗豐富的超大規模集成電路(VLSI)設計專(zhuān)業(yè)人士,Sunil在基于FPGA的ASIC原型設計(包括FPGA設計、邏輯綜合、靜態(tài)時(shí)序分析和時(shí)序收斂)和高速電路板設計(包括PCB布局和布線(xiàn)、信號完整性分析、電路板啟動(dòng)和測試)等方面擁有豐富的專(zhuān)業(yè)知識。在2022年加入SmartDV團隊之前,Sunil在L&T Technology Services Limited擔任過(guò)項目經(jīng)理和項目負責人職位。Sunil在印度工作。

關(guān)于智權半導體
智權半導體科技(廈門(mén))有限公司是SmartDV Technologies™在華設立的全資子公司,其目標是利用SmartDV全球領(lǐng)先的硅知識產(chǎn)權(IP)技術(shù)和產(chǎn)品,以及在地化的支持服務(wù)來(lái)賦能中國集成電路行業(yè)和電子信息產(chǎn)業(yè)。目前,SmartDV在全球已有300家客戶(hù),其中包括十大半導體公司中的七家和四大消費電子公司。

SmartDV于2007年由經(jīng)驗豐富的ASIC設計專(zhuān)業(yè)人員迪帕克·庫馬爾·塔拉、杜爾加·拉克什米·塔拉和卡維塔·塔拉·哈里多斯在印度創(chuàng )辦。自成立以來(lái),SmartDV一直專(zhuān)注于IP領(lǐng)域并不斷推出廣受市場(chǎng)歡迎的IP產(chǎn)品,這得益于我們在集成電路IP領(lǐng)域內發(fā)展出來(lái)的獨具創(chuàng )新的技術(shù)與方法。

通過(guò)將專(zhuān)有的SmartCompiler™技術(shù)與數百位專(zhuān)家工程師的知識相結合,SmartDV可以快速、經(jīng)濟、可靠地定制IP,以實(shí)現您獨特的設計目標。因此,無(wú)論您是為下一代SoC、ASIC或FPGA尋找基于標準的設計IP,還是尋求驗證解決方案(VIP)來(lái)測試您的芯片設計,您都會(huì )發(fā)現SmartDV的IP非常容易集成,并在性能上可力助您的芯片設計實(shí)現差異化。

了解更多關(guān)于SmartDV和智權半導體的信息,請瀏覽:www.smart-ip.cn,或發(fā)郵件到:chinasales@smart-ip.cn

本文地址:http://selenalain.com/thread-875598-1-1.html     【打印本頁(yè)】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問(wèn)題,我們將根據著(zhù)作權人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页