本文從數(shù)字芯片設(shè)計(jì)項(xiàng)目技術(shù)總監(jiān)的角度出發(fā),介紹了如何將芯片的產(chǎn)品定義與設(shè)計(jì)和驗(yàn)證規(guī)劃進(jìn)行結(jié)合,詳細(xì)講述了在FPGA上使用IP核來開發(fā)ASIC原型項(xiàng)目時(shí),必須認(rèn)真考慮的一些問題。文章從介紹使用預(yù)先定制功能即IP核的必要性開始,通過闡述開發(fā)ASIC原型設(shè)計(jì)時(shí)需要考慮到的IP核相關(guān)因素,用八個(gè)重要主題詳細(xì)分享了利用ASIC所用IP來在FPGA上開發(fā)原型驗(yàn)證系統(tǒng)設(shè)計(jì)時(shí)需要考量的因素。
本篇文章是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)。在國產(chǎn)大容量FPGA新品不斷面市的今天,SmartDV及其中國全資子公司“智權(quán)半導(dǎo)體”愿意與國內(nèi)FPGA芯片開發(fā)商合作,共同為國內(nèi)數(shù)字芯片設(shè)計(jì)公司開發(fā)基于本地FPGA的驗(yàn)證與設(shè)計(jì)平臺(tái)。
明了設(shè)計(jì)需求
半導(dǎo)體IP核提供商支持復(fù)雜的ASIC項(xiàng)目,其中一些項(xiàng)目在時(shí)鐘速度、片芯面積占用、功耗、可靠性、功能安全和可重用性方面有極高的要求,所有這一切都帶來了對(duì)半導(dǎo)體IP這種預(yù)先定制的電路部件的很高期望。一旦有人決定自己不去開發(fā)某項(xiàng)功能,而是通過合作伙伴獲得該功能,都會(huì)將購買該組件的功能視為必然結(jié)果。如果所使用的IP核來自諸如SmartDV這類信譽(yù)良好的供應(yīng)商,該過程將順利進(jìn)行。
由于同一IP核的最終應(yīng)用領(lǐng)域可能完全不同,因此IP核提供商必須將所有可能的應(yīng)用領(lǐng)域考慮在內(nèi),以避免讓客戶失望。例如像MIPI CSI-2接收器/發(fā)射器IP或USB接口這樣的預(yù)定制功能,在用于一款已經(jīng)被銷售數(shù)百萬次的消費(fèi)性產(chǎn)品中時(shí),它的要求就與該功能被用于數(shù)量有限的噴氣戰(zhàn)斗機(jī)這樣的“熱點(diǎn)領(lǐng)域”有所不同。
對(duì)一位用戶來說,成功的產(chǎn)品定義可能是片芯面積的縮小。而對(duì)另一位用戶來說,它也可能意味著即使在惡劣的運(yùn)行條件下,也可以實(shí)現(xiàn)最低的功耗或最高的可靠性。在大多數(shù)情況下,還有另外一個(gè)關(guān)鍵點(diǎn)需要考慮。IP核不僅應(yīng)該只在ASIC上“實(shí)現(xiàn)功能”,而且還可用作基于FPGA的原型設(shè)計(jì)的一部分。眾所周知,在開發(fā)ASIC的過程中需要非常謹(jǐn)慎,但遺憾的是,我們常常低估了FPGA也需要非常特別的關(guān)注,并且還有其獨(dú)特的集成方式。
SmartDV的部分已獲車規(guī)或航規(guī)認(rèn)證的設(shè)計(jì)IP和VIP
坦率地來講,將ASIC IP核移植到FPGA中并不是一件容易的任務(wù),但如果這個(gè)過程有條不紊,成功是可以實(shí)現(xiàn)的!本文全面講述了將ASIC IP核移植到FPGA中時(shí)必須考慮到的所有要點(diǎn),并通過使用SmartDV的USB3.2 Gen2x1 Device IP實(shí)例來進(jìn)一步說明這些要點(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來作為原型工具,以及它和經(jīng)過流片驗(yàn)證的IP核的結(jié)合,以保證正確無誤地實(shí)現(xiàn)設(shè)計(jì)。
- 無論目標(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ò)過更早進(jìn)入市場的機(jī)會(huì),并確保在競爭對(duì)手面前建立自己的競爭優(yōu)勢(shì)。多年來,使用IP核一直是最大限度地縮短復(fù)雜電路的開發(fā)時(shí)間,以及減少驗(yàn)證電路組件所需工作量的一種通用方法。
使用預(yù)先定制的電路組件消除了“重新創(chuàng)造輪子”的需要,但是IP核需要能夠在提高可靠性和避免錯(cuò)誤這兩個(gè)方面之外提供額外的優(yōu)勢(shì),因?yàn)樗鼈儯ㄍǔ#┮呀?jīng)被其他工程師們部署在其項(xiàng)目中。一段時(shí)間以來,業(yè)內(nèi)已經(jīng)用了一個(gè)恰當(dāng)?shù)男g(shù)語“左移”來描述這一現(xiàn)象,即在產(chǎn)品生命周期的早期階段就執(zhí)行測試。從產(chǎn)品規(guī)格的創(chuàng)建到ASIC模塊設(shè)計(jì)的流片,時(shí)間窗口在整個(gè)時(shí)間軸上都朝著項(xiàng)目開始的方向移動(dòng)。
同樣,在設(shè)計(jì)過程中使用FPGA早已被確立為一種標(biāo)準(zhǔn)方法,以便能夠在可提供ASIC之前就對(duì)數(shù)字電路進(jìn)行測試。這個(gè)理念導(dǎo)致了使用一個(gè)現(xiàn)成可用的、可重新編程或可重新配置的FPGA硬件組件來以實(shí)時(shí)速度運(yùn)行設(shè)計(jì),以在設(shè)計(jì)流程的早期階段檢測出錯(cuò)誤。
與最終的ASIC相比,F(xiàn)PGA絕不是成本低廉的解決方案,但它可為設(shè)計(jì)團(tuán)隊(duì)帶來實(shí)實(shí)在在的價(jià)值,從而支持設(shè)計(jì)團(tuán)隊(duì)去有效地發(fā)現(xiàn)在電路創(chuàng)建過程中已經(jīng)產(chǎn)生的錯(cuò)誤,這些錯(cuò)誤無法通過仿真或其他基于軟件的驗(yàn)證方法檢測到。通過擴(kuò)展,它還支持在驗(yàn)證過程中發(fā)現(xiàn)和消除缺陷。
此外,在ASIC芯片開始供貨之前,通常希望有一個(gè)可用的功能平臺(tái),以便能夠在開發(fā)硬件的同時(shí),去實(shí)現(xiàn)和測試運(yùn)行所需的軟件和固件。因此,可以安全地假設(shè)IP核的使用和FPGA的使用都是經(jīng)過驗(yàn)證的電路實(shí)現(xiàn)和驗(yàn)證方法,其應(yīng)用不會(huì)造成任何困難。然而,實(shí)際設(shè)計(jì)過程也經(jīng)常是“細(xì)節(jié)決定成敗”。
面向ASIC原型驗(yàn)證的IP核考量因素
實(shí)際上,提供一款I(lǐng)P并將其無縫地用于ASIC和FPGA是一項(xiàng)極具挑戰(zhàn)性的任務(wù)。在本節(jié)中,我們將討論在考慮原型設(shè)計(jì)任務(wù)時(shí)就開始出現(xià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,那么需要如何測試IP核的功能?
主題8:設(shè)計(jì)團(tuán)隊(duì)還應(yīng)該牢記什么?
圖1:在電路設(shè)計(jì)中嵌入IP核經(jīng)常被誤解為與搭樂高?積木的原理相同,其中的道理就是簡單地組裝預(yù)先定制的構(gòu)建模塊——然而在實(shí)際工作中,這只說出了事實(shí)的一半(圖片來源:iStock/Getty Images)
認(rèn)為只需要將打算實(shí)例化的IP模塊和集成該模塊的實(shí)例之間的物理接口進(jìn)行匹配就行的這種理念就是不現(xiàn)實(shí)的。為了能夠成功地集成預(yù)先定制的電路功能,需要考慮更多的問題。
事實(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í)序行為,邏輯門利用以及諸如存儲(chǔ)單元的使用等等。
事實(shí)是一款I(lǐng)P核必須為不同的目標(biāo)架構(gòu)提供相同的功能——例如,來自不同制造商的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í)鐘頻率。此外,必須提供測試結(jié)構(gòu)方案來支持功能測試,重點(diǎn)是能識(shí)別已流片的ASIC的物理缺陷。
所有這些要求都與在原型設(shè)計(jì)期間如何在FPGA中使用IP幾乎無關(guān),進(jìn)一步的解釋如下所述:
- 片芯面積占用(使用邏輯門數(shù)量)在原型設(shè)計(jì)中扮演著次要的角色。當(dāng)然,我們希望所使用的FPGA器件的復(fù)雜度越低越好,這樣原型的性價(jià)比更高且可減少總體支出。然而,在許多情況下,從一開始就有一個(gè)“盡可能大”的可重構(gòu)的模塊是非常明智的,這樣就能夠覆蓋可能導(dǎo)致面積占用量增加的電路變化,而不需要在原型設(shè)計(jì)進(jìn)行期間將FPGA器件切換到更復(fù)雜的FPGA。切換很可能需要重新設(shè)計(jì),或者在使用預(yù)先定制的FPGA開發(fā)板的情況下,重新購買一個(gè)基于FPGA的原型驗(yàn)證平臺(tái)。
- 功耗對(duì)于一個(gè)目標(biāo)僅為實(shí)現(xiàn)單一功能的原型設(shè)計(jì)來說根本不重要,但是開發(fā)人員也期望部署專為ASIC降低功耗開發(fā)的方法,并將其包含在原型設(shè)計(jì)中則可能是明智的做法。關(guān)于該話題的更詳細(xì)的討論,可以在接下來的主題8的答案下找到:我們還應(yīng)該牢記什么?
- ASIC RTL可能包含測試結(jié)構(gòu),以實(shí)現(xiàn)數(shù)字部件的大規(guī)模量產(chǎn)測試,目的是找出有缺陷的單元。為了支持相關(guān)的測試,需要實(shí)現(xiàn)測試結(jié)構(gòu)。然而,這些類型的測試結(jié)構(gòu)通常不在FPGA中實(shí)現(xiàn),因?yàn)楦静恍枰鼈?。FPGA組件已經(jīng)經(jīng)過了充分的測試。
本系列文章的目標(biāo)是全面分享如何利用ASIC IP來實(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的方法來驗(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)