將ASIC IP核移植到FPGA上——明了需求和詳細規(guī)劃以完成充滿挑戰(zhàn)的任務(wù)
本文從數(shù)字芯片設(shè)計項目技術(shù)總監(jiān)的角度出發(fā),介紹了如何將芯片的產(chǎn)品定義與設(shè)計和驗證規(guī)劃進行結(jié)合,詳細講述了在FPGA上使用IP核來開發(fā)ASIC原型項目時,必須認真考慮的一些問題。文章從介紹使用預(yù)先定制功能即IP核的必要性開始,通過闡述開發(fā)ASIC原型設(shè)計時需要考慮到的IP核相關(guān)因素,用八個重要主題詳細分享了利用ASIC所用IP來在FPGA上開發(fā)原型驗證系統(tǒng)設(shè)計時需要考量的因素。
本文引用地址:http://www.ex-cimer.com/article/202407/461468.htm本篇文章是SmartDV數(shù)字芯片設(shè)計經(jīng)驗分享系列文章的第一篇,作為全球領(lǐng)先的驗證解決方案和設(shè)計IP提供商,SmartDV的產(chǎn)品研發(fā)及工程應(yīng)用團隊具有豐富的設(shè)計和驗證經(jīng)驗。在國產(chǎn)大容量FPGA新品不斷面市的今天,SmartDV及其中國全資子公司“智權(quán)半導(dǎo)體”愿意與國內(nèi)FPGA芯片開發(fā)商合作,共同為國內(nèi)數(shù)字芯片設(shè)計公司開發(fā)基于本地FPGA的驗證與設(shè)計平臺。
明了設(shè)計需求
半導(dǎo)體IP核提供商支持復(fù)雜的ASIC項目,其中一些項目在時鐘速度、片芯面積占用、功耗、可靠性、功能安全和可重用性方面有極高的要求,所有這一切都帶來了對半導(dǎo)體IP這種預(yù)先定制的電路部件的很高期望。一旦有人決定自己不去開發(fā)某項功能,而是通過合作伙伴獲得該功能,都會將購買該組件的功能視為必然結(jié)果。如果所使用的IP核來自諸如SmartDV這類信譽良好的供應(yīng)商,該過程將順利進行。
由于同一IP核的最終應(yīng)用領(lǐng)域可能完全不同,因此IP核提供商必須將所有可能的應(yīng)用領(lǐng)域考慮在內(nèi),以避免讓客戶失望。例如像MIPI CSI-2接收器/發(fā)射器IP或USB接口這樣的預(yù)定制功能,在用于一款已經(jīng)被銷售數(shù)百萬次的消費性產(chǎn)品中時,它的要求就與該功能被用于數(shù)量有限的噴氣戰(zhàn)斗機這樣的“熱點領(lǐng)域”有所不同。
對一位用戶來說,成功的產(chǎn)品定義可能是片芯面積的縮小。而對另一位用戶來說,它也可能意味著即使在惡劣的運行條件下,也可以實現(xiàn)最低的功耗或最高的可靠性。在大多數(shù)情況下,還有另外一個關(guān)鍵點需要考慮。IP核不僅應(yīng)該只在ASIC上“實現(xiàn)功能”,而且還可用作基于FPGA的原型設(shè)計的一部分。眾所周知,在開發(fā)ASIC的過程中需要非常謹慎,但遺憾的是,我們常常低估了FPGA也需要非常特別的關(guān)注,并且還有其獨特的集成方式。
SmartDV的部分已獲車規(guī)或航規(guī)認證的設(shè)計IP和VIP
坦率地來講,將ASIC IP核移植到FPGA中并不是一件容易的任務(wù),但如果這個過程有條不紊,成功是可以實現(xiàn)的!本文全面講述了將ASIC IP核移植到FPGA中時必須考慮到的所有要點,并通過使用SmartDV的USB3.2 Gen2x1 Device IP實例來進一步說明這些要點。
對于芯片設(shè)計工程師的關(guān)鍵價值
● 將一款I(lǐng)P核部署到ASIC和FPGA兩種架構(gòu)中具有挑戰(zhàn)性,但值得一試。
● 將ASIC IP移植到FPGA中時,需要考慮的相關(guān)因素包括在需求、性能、時鐘、功能等方面的差異。
● 最佳的芯片設(shè)計解決方案是用FPGA來作為原型工具,以及它和經(jīng)過流片驗證的IP核的結(jié)合,以保證正確無誤地實現(xiàn)設(shè)計。
● 無論目標是ASIC還是FPGA,快速且成功完成項目的一個關(guān)鍵因素是涉及該項目的專家團隊的經(jīng)驗水平,因此選擇一個可靠的IP合作伙伴也是設(shè)計團隊取得成功的又一關(guān)鍵!
使用預(yù)先定制功能即IP核的必要性
集成電路設(shè)計團隊的最終目標是能夠更快速地交付一款有效用的最終產(chǎn)品,以便于不錯過更早進入市場的機會,并確保在競爭對手面前建立自己的競爭優(yōu)勢。多年來,使用IP核一直是最大限度地縮短復(fù)雜電路的開發(fā)時間,以及減少驗證電路組件所需工作量的一種通用方法。
使用預(yù)先定制的電路組件消除了“重新創(chuàng)造輪子”的需要,但是IP核需要能夠在提高可靠性和避免錯誤這兩個方面之外提供額外的優(yōu)勢,因為它們(通常)已經(jīng)被其他工程師們部署在其項目中。一段時間以來,業(yè)內(nèi)已經(jīng)用了一個恰當(dāng)?shù)男g(shù)語“左移”來描述這一現(xiàn)象,即在產(chǎn)品生命周期的早期階段就執(zhí)行測試。從產(chǎn)品規(guī)格的創(chuàng)建到ASIC模塊設(shè)計的流片,時間窗口在整個時間軸上都朝著項目開始的方向移動。
同樣,在設(shè)計過程中使用FPGA早已被確立為一種標準方法,以便能夠在可提供ASIC之前就對數(shù)字電路進行測試。這個理念導(dǎo)致了使用一個現(xiàn)成可用的、可重新編程或可重新配置的FPGA硬件組件來以實時速度運行設(shè)計,以在設(shè)計流程的早期階段檢測出錯誤。
與最終的ASIC相比,F(xiàn)PGA絕不是成本低廉的解決方案,但它可為設(shè)計團隊帶來實實在在的價值,從而支持設(shè)計團隊去有效地發(fā)現(xiàn)在電路創(chuàng)建過程中已經(jīng)產(chǎn)生的錯誤,這些錯誤無法通過仿真或其他基于軟件的驗證方法檢測到。通過擴展,它還支持在驗證過程中發(fā)現(xiàn)和消除缺陷。
此外,在ASIC芯片開始供貨之前,通常希望有一個可用的功能平臺,以便能夠在開發(fā)硬件的同時,去實現(xiàn)和測試運行所需的軟件和固件。因此,可以安全地假設(shè)IP核的使用和FPGA的使用都是經(jīng)過驗證的電路實現(xiàn)和驗證方法,其應(yīng)用不會造成任何困難。然而,實際設(shè)計過程也經(jīng)常是“細節(jié)決定成敗”。
面向ASIC原型驗證的IP核考量因素
實際上,提供一款I(lǐng)P并將其無縫地用于ASIC和FPGA是一項極具挑戰(zhàn)性的任務(wù)。在本節(jié)中,我們將討論在考慮原型設(shè)計任務(wù)時就開始出現(xiàn)的最普遍的問題。
原型設(shè)計:各種考量因素的總體概述
主題1:一款原型和最終ASIC實現(xiàn)之間的要求有何不同?
主題2:當(dāng)使用FPGA進行原型設(shè)計時會立即想到哪些基本概念?
主題3:在將專為ASIC技術(shù)而設(shè)計的IP核移植到FPGA架構(gòu)上時通常會遇到哪些困難?
主題4:為了支持基于FPGA的原型,通常需要對ASIC IP核進行哪些更改?
主題5:我們?nèi)绾未_保在FPGA上實現(xiàn)所需的性能?
主題6:在時鐘方面必須加以考量的因素有哪些?
主題7:如果目標技術(shù)是FPGA,而不是ASIC,那么需要如何測試IP核的功能?
主題8:設(shè)計團隊還應(yīng)該牢記什么?
圖1 在電路設(shè)計中嵌入IP核經(jīng)常被誤解為與搭樂高?積木的原理相同,其中的道理就是簡單地組裝預(yù)先定制的構(gòu)建模塊——然而在實際工作中,這只說出了事實的一半
(圖片來源:iStock/Getty Images)
認為只需要將打算實例化的IP模塊和集成該模塊的實例之間的物理接口進行匹配就行的這種理念就是不現(xiàn)實的。為了能夠成功地集成預(yù)先定制的電路功能,需要考慮更多的問題。
事實上,嵌入IP核遠非易事!有各種各樣的參數(shù)可能需要調(diào)整:例如,必須確保時鐘信號與頻率匹配,還必須特別注意復(fù)位的分布規(guī)律。輸入和輸出信號必須與電路的其余部分同步;甚至可能需要應(yīng)用帶有延遲的時鐘和數(shù)據(jù)信號。IP核的集成也改變了整個系統(tǒng)的延遲,額外的功能也影響電路的時序行為,邏輯門利用以及諸如存儲單元的使用等等。
事實是一款I(lǐng)P核必須為不同的目標架構(gòu)提供相同的功能——例如,來自不同制造商的ASIC和FPGA產(chǎn)品,它們具有不同的工藝節(jié)點和結(jié)構(gòu),這給功能實現(xiàn)的質(zhì)量提出了特殊挑戰(zhàn);同時,也對IP供應(yīng)商用于驗證和物理確認電路功能的方法提出了特殊挑戰(zhàn)。
主題1:一款原型和最終ASIC實現(xiàn)之間的要求有何不同?
通常,與基于FPGA的原型設(shè)計相比,在ASIC設(shè)計的后期會提出各種不同的要求。例如,除了提供實際的電路功能之外,ASIC規(guī)范的主要關(guān)注點可以是降低功耗,也可能是占用最小的片芯面積,甚至是實現(xiàn)最高的時鐘頻率。此外,必須提供測試結(jié)構(gòu)方案來支持功能測試,重點是能識別已流片的ASIC的物理缺陷。
所有這些要求都與在原型設(shè)計期間如何在FPGA中使用IP幾乎無關(guān),進一步的解釋如下所述:
● 片芯面積占用(使用邏輯門數(shù)量)在原型設(shè)計中扮演著次要的角色。當(dāng)然,我們希望所使用的FPGA器件的復(fù)雜度越低越好,這樣原型的性價比更高且可減少總體支出。然而,在許多情況下,從一開始就有一個“盡可能大”的可重構(gòu)的模塊是非常明智的,這樣就能夠覆蓋可能導(dǎo)致面積占用量增加的電路變化,而不需要在原型設(shè)計進行期間將FPGA器件切換到更復(fù)雜的FPGA。切換很可能需要重新設(shè)計,或者在使用預(yù)先定制的FPGA開發(fā)板的情況下,重新購買一個基于FPGA的原型驗證平臺。
● 功耗對于一個目標僅為實現(xiàn)單一功能的原型設(shè)計來說根本不重要,但是開發(fā)人員也期望部署專為ASIC降低功耗開發(fā)的方法,并將其包含在原型設(shè)計中則可能是明智的做法。關(guān)于該話題的更詳細的討論,可以在接下來的主題8的答案下找到:我們還應(yīng)該牢記什么?
● ASIC RTL可能包含測試結(jié)構(gòu),以實現(xiàn)數(shù)字部件的大規(guī)模量產(chǎn)測試,目的是找出有缺陷的單元。為了支持相關(guān)的測試,需要實現(xiàn)測試結(jié)構(gòu)。然而,這些類型的測試結(jié)構(gòu)通常不在FPGA中實現(xiàn),因為根本不需要它們。FPGA組件已經(jīng)經(jīng)過了充分的測試。
本系列文章的目標是全面分享如何利用ASIC IP來實現(xiàn)完美的FPGA驗證原型的經(jīng)驗,本篇在講述了如何了解ASIC IP與FPGA驗證原型的區(qū)別并提前做相應(yīng)規(guī)劃之后,還將詳細介紹與之相關(guān)的另外七大主題。下一篇將介紹使用FPGA進行原型設(shè)計時會立即想到哪些基本概念?在將專為ASIC技術(shù)而設(shè)計的IP核移植到FPGA架構(gòu)上時通常會遇到哪些困難?以及為了支持基于FPGA的原型,通常需要對ASIC IP核進行哪些更改?歡迎關(guān)注SmartDV全資子公司“智權(quán)半導(dǎo)體”微信公眾號繼續(xù)閱讀。
最后,SmartDV在相關(guān)介紹和分析之后,還提供實際案例:用基于FPGA的方法來驗證USB 3.2 Gen2x1 Device IP
USB 3.2 Gen2x1 Device IP:實現(xiàn)、驗證和物理驗證
USB 3.2 Gen2x1 Device IP的實現(xiàn)挑戰(zhàn)
關(guān)于作者
Philipp Jacobsohn
Philipp Jacobsohn是SmartDV的首席應(yīng)用工程師,他為北美、歐洲和日本地區(qū)的客戶提供設(shè)計IP和驗證IP方面的支持。除了使SmartDV的客戶實現(xiàn)芯片設(shè)計成功這項工作,Philipp還是一個狂熱的技術(shù)作家,樂于分享他在半導(dǎo)體行業(yè)積累的豐富知識。在2023年加入SmartDV團隊之前,Philipp在J. Haugg、Synopsys、Synplicity、Epson Europe Electronics、Lattice Semiconductors、EBV Elektronik和SEI-Elbatex等擔(dān)任過多個管理和現(xiàn)場應(yīng)用職位。Philipp在瑞士工作。
Sunil Kumar
Sunil Kumar是SmartDV的FPGA設(shè)計總監(jiān)。作為一名經(jīng)驗豐富的超大規(guī)模集成電路(VLSI)設(shè)計專業(yè)人士,Sunil在基于FPGA的ASIC原型設(shè)計(包括FPGA設(shè)計、邏輯綜合、靜態(tài)時序分析和時序收斂)和高速電路板設(shè)計(包括PCB布局和布線、信號完整性分析、電路板啟動和測試)等方面擁有豐富的專業(yè)知識。在2022年加入SmartDV團隊之前,Sunil在L&T Technology Services Limited擔(dān)任過項目經(jīng)理和項目負責(zé)人職位。Sunil在印度工作。
評論