0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

數(shù)字芯片設(shè)計驗證經(jīng)驗分享(第三部分):將ASIC IP核移植到FPGA上——如何確保性能與時序以完成充滿挑戰(zhàn)的

馬華1 ? 來源:Philipp Jacobsohn ? 作者:Philipp Jacobsohn ? 2024-08-26 14:31 ? 次閱讀

作者:Philipp Jacobsohn,SmartDV首席應用工程師

Sunil Kumar,SmartDV FPGA設(shè)計總監(jiān)

本系列文章從數(shù)字芯片設(shè)計項目技術(shù)總監(jiān)的角度出發(fā),介紹了如何將芯片的產(chǎn)品定義與設(shè)計和驗證規(guī)劃進行結(jié)合,詳細講述了在FPGA上使用IP核來開發(fā)ASIC原型項目時,必須認真考慮的一些問題。文章從介紹使用預先定制功能即IP核的必要性開始,通過闡述開發(fā)ASIC原型設(shè)計時需要考慮到的IP核相關(guān)因素,用八個重要主題詳細分享了利用ASIC IP來在FPGA上開發(fā)原型驗證系統(tǒng)設(shè)計時需要考量的因素。

在上篇文章中,我們分享了第二到第四主題,介紹了使用FPGA進行原型設(shè)計時需要立即想到哪些基本概念、在將專為ASIC技術(shù)而設(shè)計的IP核移植到FPGA架構(gòu)上時通常會遇到的困難,以及為了支持基于FPGA的原型,通常會對ASIC IP核進行的一些更改。本篇文章是SmartDV數(shù)字芯片設(shè)計經(jīng)驗分享系列文章的第三篇,將繼續(xù)分享第五、第六主題,包括確保在FPGA上實現(xiàn)所需的性能和時鐘兩個方面的考量因素。

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

主題5:我們?nèi)绾未_保在FPGA上實現(xiàn)所需的性能?

當已經(jīng)在ASIC上實現(xiàn)的IP核被移植到FPGA中時,解決性能問題至關(guān)重要。在具有高時鐘頻率的ASIC上運行的電路,在原型上可能必須進行調(diào)整,以達到運行所需的時鐘頻率。甚至可能需要以較低的時鐘頻率或降低復雜性來運行電路。這里以PCIe接口為例,這樣的接口在物理上是用ASIC中的幾個通道(lane)來實現(xiàn)的,但在FPGA中可能必須限制為單個通道。

另一種解決方案是使用被稱為“降速橋(speed bridge)”的電路。這種電路能夠降低以高時鐘速度輸入數(shù)據(jù)流的頻率,然后饋送至FPGA中以較低時鐘速度運行的IP核進行讀取。這時在IP核的輸出端需要另一個電路,因為輸出數(shù)據(jù)流必須重新相應地提高時鐘。否則,輸入和輸出的數(shù)據(jù)將不會與電路設(shè)計的其余部分同步。

這樣的解決方案在技術(shù)上非常復雜,并且通常只在硬件模擬器或?qū)S肁SIC原型設(shè)計平臺中提供。兩者的成本都是極高的,因此遵循前面描述的電路改變路徑通常更有意義:實現(xiàn)適合FPGA的IP核,例如使用單通道PCI接口而不是在ASIC中通常使用的四通道。當然,這意味著IP核制造商在將ASIC的功能移植到FPGA的目標架構(gòu)上時需要付出額外的努力;但結(jié)果是,F(xiàn)PGA的復雜性和資源占用程度都降低了,并且可以期望實現(xiàn)更高的時鐘頻率。

通常還需要使RTL代碼適應FPGA特定的結(jié)構(gòu)。相關(guān)的例子有乘法器、移位寄存器和存儲器。FPGA具有所謂的“硬宏(hard macro)”,可以有效地實現(xiàn)復雜的電路。如果去構(gòu)造一個由邏輯單元和寄存器組合而成的功能等效電路,而不是提供硬連線乘法器,這將導致一種帶有許多“邏輯級別”上的實現(xiàn),并且只能在FPGA上低效地映射。這反過來又導致可實現(xiàn)的時鐘頻率大大降低。ASIC是不會提供這種預先定義結(jié)構(gòu),因此必須調(diào)整RTL代碼以使FPGA邏輯綜合工具有機會去識別將要實現(xiàn)的功能。否則,有關(guān)該函數(shù)標識的信息(例如,乘法器、移位寄存器或存儲器)可能會丟失。

同樣,重要的是要確保主IP輸入和輸出的時鐘是干凈的。這是確保通過使用FPGA上提供的寄存器對物理輸入和輸出進行尋址的唯一方法。如果做不到這一點,它就不太可能滿足時鐘到輸出規(guī)則的時序(tCO約束)要求。使用寄存的輸入和輸出通常是一種良好的設(shè)計實踐,但必須注意要確保引入了良好電路設(shè)計這一要求。

wKgZombMH-yACVmYAAAcLIUQ8Og262.png

圖4:對于可靠的器件運行,諸如遵循時鐘域交叉規(guī)則等良好的設(shè)計實踐至關(guān)重要。

良好的設(shè)計實踐是至關(guān)重要的。遵循時鐘域交叉規(guī)則(CDC)可以支持可靠的器件運行,并避免發(fā)生時序違規(guī)。作為IP核的制造商,您有義務根據(jù)電路實現(xiàn)的通用規(guī)則開發(fā)您的產(chǎn)品。在具有一個以上時鐘域的電路中,應特別注意避免亞穩(wěn)態(tài)(metastable state)。從一個時鐘域干干凈凈地過渡到另一個時鐘域至關(guān)重要。為了實現(xiàn)這一點,必須在每種情況下選擇最合適的變量。這可以是上面展示的通過寄存器級的簡單同步,也可以根據(jù)需要通過更復雜的電路實現(xiàn)。一種可靠方法的案例是使用FIFO存儲器。

主題6:在時鐘方面必須加以考量的因素有哪些?

將IP核從ASIC移植到FPGA上時的另一個要點是時鐘分布。這是指IP核中包含的時鐘結(jié)構(gòu),如果電路有多個內(nèi)部使用的時鐘域,并且在IP核中生成所需的時鐘,則該時鐘結(jié)構(gòu)的實現(xiàn)必須兼容FPGA。為了能夠在FPGA上無故障地運行電路,同步時鐘分布是必不可少的。事實上,這是避免過多的時鐘偏移(clock skew)和不可預測的時鐘延遲的唯一方法。這意味著內(nèi)部生成的時鐘既不是波紋時鐘(從FF時鐘分頻器產(chǎn)生的時鐘信號),也不是門控時鐘(從組合邏輯門中派生的時鐘,如多路復用器)。這種結(jié)構(gòu)并不可靠,因為在時鐘分布中會出現(xiàn)不可預測的延遲。

FPGA具有專門的時鐘網(wǎng)絡來分配時鐘信號,以確保在整個芯粒(die)上沒有明顯的偏移。如果因為使用派生時鐘而不使用這些時鐘網(wǎng)絡,這不僅會導致時序問題,還會導致故障。一方面,不能保證在寄存器邏輯上可以保持已設(shè)置時間,這是因為時鐘信號在分配到所有寄存器中后難以計算的延遲。另一方面,不能保證時鐘信號到達寄存器時鐘輸入端時的速度,會比數(shù)據(jù)信號到達用于電路實現(xiàn)的順序單元的“D輸入”端更快,這反過來又會導致在保持時間方面出現(xiàn)違規(guī)行為。

與ASIC設(shè)計相反,F(xiàn)PGA存在一個根本問題。在ASIC庫中,為所有組件都定義了最短和最長時長。另一方面在FPGA中,時序分析只計算“情況最壞時的時間”——即最大延遲。正因為如此,數(shù)據(jù)信號也可以用比時序分析中的估計值更短的時間分配:因此,數(shù)據(jù)信號可以比時鐘信號更早出現(xiàn)在寄存器中。為了解決這個問題,在可編程邏輯模塊中經(jīng)常使用一種兼容FPGA的時鐘分布。不是使用許多不同的、彼此之間有明確聯(lián)系的時鐘信號,而是使用一個單一的時鐘信號,并從其派生出使能信號(而不是分頻時鐘)。然后使用這些使能信號來實現(xiàn)所需的時鐘域,結(jié)果是時鐘域之間都是物理同步。

IP核內(nèi)時鐘分配的另一種可能性是使用鎖相環(huán)/延遲鎖相環(huán)(PLL/DLL),F(xiàn)PGA都有相應單元供開發(fā)者使用,他們也可被用于時鐘生成。有必要使電路去適應目標架構(gòu),從而確保一個兼容的(同步)時鐘分布。FPGA中的時鐘分配要求與ASIC中的時鐘分配要求不同。為了可靠地運行電路,可能需要更改IP核的RTL代碼。理解這一點是重要的,即使完全相同的功能已經(jīng)在ASIC上成功實現(xiàn),情況亦是如此。此外,還需要提供特別用于FPGA的邏輯綜合和P&R約束。

例如:如果使能信號被用于提供不同的時鐘域,則所有的時鐘控制單元(如FF、存儲器)都要連接到一個主時鐘上。這個時鐘通常具有系統(tǒng)中最高的時鐘頻率。對于運行速度稍微比主時鐘慢的時鐘域來說,必須定義所謂的多周期約束。否則可能導致整個系統(tǒng)無法達到所需的時鐘頻率。在沒有提供適當約束的情況下,時序估計假設(shè)所有時鐘域都必須達到主時鐘定義的系統(tǒng)時鐘頻率。當然,現(xiàn)實中并非如此;一大部分電路根本不需要達到這個頻率,因為它們是通過使能邏輯控制的。反過來,缺少約束將導致時序違規(guī)。因此,在創(chuàng)建打算映射到FPGA中的電路時,就應該特別注意提供合適的邏輯綜合和布局布線(P&R)約束。

即使在IP核具有多個時鐘域的情況下,必須注意確保時鐘比率是被明確地進行定義;在FPGA的啟動階段中,其設(shè)計是確保電路功能在定義的時間點覆蓋所有的時鐘域,并且通過使用一個合適的時鐘生成器和適當?shù)臅r序約束來避免時鐘之間的偏移。

wKgaombMH-OAIqdzAAAXDLlJE3g014.png

圖5:PLL/DLL可用于在多時鐘設(shè)計中創(chuàng)建一個已定義的啟動序列。(圖片來源:SmartDV)

PLL/DLL的用途并不局限于調(diào)偏、頻率合成和時鐘操作。另一個應用是以這種方式去設(shè)計FPGA的啟動序列,電路功能在所有時鐘域的規(guī)定時間內(nèi)都能得到保證。PLL上電后自動鎖定;無需額外重置。只有當時鐘穩(wěn)定時,復位才會解除。這在具有多個時鐘域的電路中是必不可少的。

當然,這種預防措施只有在時鐘彼此同步的情況下才有必要。在這種情況下,就需要通過相應的邏輯綜合約束來定義相關(guān)時鐘域的確切比例。這不僅需要提供帶有相應設(shè)置腳本的RTL代碼,還需要提供將IP核集成到電路中的所有必要的時鐘約束和時序特例,如多周期路徑和假路徑約束。

需要注意的是,如果一個電路包含多個時鐘,不僅要特別注意時鐘結(jié)構(gòu),還要特別注意復位分布。如果沒有特別注意到同步復位域,就不會以違反時序要求而終止運行,但可能導致電路故障。

wKgZombMH9qAADTFAAAeuxFJKn4046.png

圖6:如果一個電路包含多個時鐘,必須同時特別注意到時鐘和復位分配。

為了無故障地使用IP核,時鐘域的同步是必不可少的。在分配復位信號時,需要對復位域交叉采取適當?shù)念A防措施。

接下來:

本系列文章的目標是全面分享經(jīng)驗,幫助讀者利用ASIC IP來實現(xiàn)完美的FPGA驗證原型,在前兩篇文章中講述了了解ASIC IP與FPGA驗證原型的區(qū)別并提前做相應規(guī)劃和調(diào)整之后,本篇文章介紹了我們?nèi)绾未_保在FPGA上實現(xiàn)所需的性能,以及在時鐘方面必須加以考量的因素。接下來將介紹剩下的兩大主題:如果目標技術(shù)是FPGA而不是ASIC,那么需要如何測試IP核的功能?設(shè)計團隊還應該牢記什么?歡迎關(guān)注SmartDV全資子公司“智權(quán)半導體”微信公眾號繼續(xù)閱讀。

最后,SmartDV在利用8個主題進行相關(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的首席應用工程師,他為北美、歐洲和日本地區(qū)的客戶提供設(shè)計IP和驗證IP方面的支持。除了使SmartDV的客戶實現(xiàn)芯片設(shè)計成功這項工作,Philipp還是一個狂熱的技術(shù)作家,樂于分享他在半導體行業(yè)積累的豐富知識。在2023年加入SmartDV團隊之前,Philipp在J. Haugg、Synopsys、Synplicity、Epson Europe Electronics、Lattice Semiconductors、EBV Elektronik和SEI-Elbatex等擔任過多個管理和現(xiàn)場應用職位。Philipp在瑞士工作。

關(guān)于作者: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擔任過項目經(jīng)理和項目負責人職位。Sunil在印度工作。

關(guān)于智權(quán)半導體

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

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

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

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

如希望立即閱讀全文英文版,或者盡快了解結(jié)論“如何做到魚與熊掌兼得?”,請瀏覽SmartDV網(wǎng)站,也可發(fā)郵件到以下電子郵箱索?。篶hinasales@smart-ip.cn

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1638

    文章

    21861

    瀏覽量

    610142
  • asic
    +關(guān)注

    關(guān)注

    34

    文章

    1237

    瀏覽量

    121474
  • 時序
    +關(guān)注

    關(guān)注

    5

    文章

    392

    瀏覽量

    37615
  • IP核
    +關(guān)注

    關(guān)注

    4

    文章

    335

    瀏覽量

    50075
  • 數(shù)字芯片
    +關(guān)注

    關(guān)注

    1

    文章

    110

    瀏覽量

    18613
收藏 1人收藏

    評論

    相關(guān)推薦

    獨特的51單片機教程第三部分—牛人經(jīng)驗,論壇獨家奉獻

    本帖最后由 eehome 于 2013-1-5 10:01 編輯 獨特的51單片機教程第三部分—牛人經(jīng)驗,論壇獨家奉獻指令系統(tǒng) 與 尋址方式 按照順序,今天該到說指令系統(tǒng)的時候了,要說指令系統(tǒng)
    發(fā)表于 11-17 11:18

    獨特的51單片機教程第三部分下—牛人經(jīng)驗,論壇獨家奉獻

    ——有什么潛力,至于怎么做,怎么寫這條指令,這才是接下來要查的內(nèi)容。 獨特的51單片機教程第三部分下—牛人經(jīng)驗,論壇獨家奉獻獨特的51單片機教程匯總貼https://bbs.elecfans.com
    發(fā)表于 11-18 09:59

    LabVIEW開發(fā)者必備技巧寶典第三部分

    LabVIEW開發(fā)者必備技巧寶典第三部分分享給大家,請叫我雷鋒。
    發(fā)表于 12-05 11:40

    LabVIEW開發(fā)者必備技巧寶典第三部分

    本帖最后由 jfzhangjin 于 2015-5-6 09:30 編輯 LabVIEW開發(fā)者必備技巧寶典第三部分由電子發(fā)燒友網(wǎng)論壇出品,集結(jié)眾多大牛、工程師的經(jīng)驗之作。為廣大LabVIEW
    發(fā)表于 12-05 14:19

    找不到任何基于PSoC4或Pro的第三部分模塊

    大家好,我似乎找不到任何基于PSoC4或Pro的第三部分模塊。例如,對話框的DA14580來自松下的PAN1740模塊。塞浦路斯IC有第三方供應商嗎?提前感謝!克里斯托弗
    發(fā)表于 09-17 14:18

    接收機用晶體變換器設(shè)計及制作第三部分

    接收機用晶體變換器設(shè)計及制作第三部分 晶體變換器的印刷電路基板的制作與調(diào)整 圖26晶體變換器的印刷電路基板
    發(fā)表于 05-15 10:58 ?1060次閱讀
    接收機用晶體變換器設(shè)計及制作<b class='flag-5'>第三部分</b>

    開關(guān)電源設(shè)計(第3版)第三部分

    電子發(fā)燒友網(wǎng)站提供《開關(guān)電源設(shè)計(第3版)第三部分.txt》資料免費下載
    發(fā)表于 09-12 15:04 ?0次下載

    2012年P(guān)SoC數(shù)?;旌显O(shè)計培訓_第三部分

    2012年P(guān)SoC數(shù)模混合設(shè)計培訓_第三部分
    發(fā)表于 10-27 09:30 ?8次下載
    2012年P(guān)SoC數(shù)?;旌显O(shè)計培訓_<b class='flag-5'>第三部分</b>

    LTC2387驅(qū)動程序第三部分

    LTC2387驅(qū)動程序第三部分
    發(fā)表于 05-16 15:23 ?5次下載
    LTC2387驅(qū)動程序<b class='flag-5'>第三部分</b>

    用于激活設(shè)備的可編程定時器-第三部分

    電子發(fā)燒友網(wǎng)站提供《用于激活設(shè)備的可編程定時器-第三部分.zip》資料免費下載
    發(fā)表于 12-16 10:28 ?0次下載
    用于激活設(shè)備的可編程定時器-<b class='flag-5'>第三部分</b>

    Arduino六足機器人第三部分:遠程控制

    在本系列的第三部分也就是最后一部分,我們將為機器人添加最后一個部件:遙控器。此外,我們對支腳進行了一些細微的改進,使它們能夠在任何類型的基底表面都能更加穩(wěn)定。首先,我們會介紹經(jīng)過細微修改的支腿機制
    的頭像 發(fā)表于 02-23 11:07 ?1669次閱讀
    Arduino六足機器人<b class='flag-5'>第三部分</b>:遠程控制

    硬件即代碼第三部分:空間與時間

    電子發(fā)燒友網(wǎng)站提供《硬件即代碼第三部分:空間與時間.zip》資料免費下載
    發(fā)表于 06-14 15:12 ?0次下載
    硬件即代碼<b class='flag-5'>第三部分</b>:空間與時間

    SensorTile.box第三部分:編程模式(Pro mode)介紹

    電子發(fā)燒友網(wǎng)站提供《SensorTile.box第三部分:編程模式(Pro mode)介紹.pdf》資料免費下載
    發(fā)表于 07-29 16:19 ?0次下載
    SensorTile.box<b class='flag-5'>第三部分</b>:編程模式(Pro mode)介紹

    用于高頻接收器和發(fā)射器的鎖相環(huán)——第三部分

    電子發(fā)燒友網(wǎng)站提供《用于高頻接收器和發(fā)射器的鎖相環(huán)——第三部分.pdf》資料免費下載
    發(fā)表于 11-23 10:18 ?0次下載
    用于高頻接收器和發(fā)射器的鎖相環(huán)——<b class='flag-5'>第三部分</b>

    ASIC IP核移植FPGA——更新概念并推動改變完成充滿挑戰(zhàn)的任務!

    本系列文章從數(shù)字芯片設(shè)計項目技術(shù)總監(jiān)的角度出發(fā),介紹了如何芯片的產(chǎn)品定義與設(shè)計和驗證規(guī)劃進行結(jié)合,詳細講述了在
    的頭像 發(fā)表于 08-10 17:13 ?957次閱讀
    <b class='flag-5'>將</b><b class='flag-5'>ASIC</b> <b class='flag-5'>IP</b><b class='flag-5'>核移植</b><b class='flag-5'>到</b><b class='flag-5'>FPGA</b><b class='flag-5'>上</b>——更新概念并推動改變<b class='flag-5'>以</b><b class='flag-5'>完成</b><b class='flag-5'>充滿</b><b class='flag-5'>挑戰(zhàn)</b>的任務!

    電子發(fā)燒友

    中國電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會員交流學習
    • 獲取您個性化的科技前沿技術(shù)信息
    • 參加活動獲取豐厚的禮品