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