国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

將ASIC IP核移植到FPGA上——如何確保性能與時序以完成充滿挑戰的任務!

發布時間:2024-8-26 21:00    發布者:eechina
作者:Philipp Jacobsohn,SmartDV首席應用工程師

Sunil Kumar,SmartDV FPGA設計總監

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

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

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

主題5:我們如何確保在FPGA上實現所需的性能?

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

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

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

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

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


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

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

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

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

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

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

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

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

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


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

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

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

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


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

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

接下來:

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

最后,SmartDV在利用8個主題進行相關介紹和分析之后,還將提供實際案例:用基于FPGA的方法來驗證USB 3.2 Gen2x1 Device IP,包括:

USB 3.2 Gen2x1 Device IP:實現、驗證和物理驗證
USB 3.2 Gen2x1 Device IP的實現挑戰

歡迎關注SmartDV全資子公司微信公眾號:


本文地址:http://m.qingdxww.cn/thread-869339-1-1.html     【打印本頁】

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

廠商推薦

  • Microchip視頻專區
  • 實時控制解決方案的正確選擇——數字信號控制器(DSC)或通用MCU
  • dsPIC® DSC集成電機驅動器:非常適合在緊湊空間內進行實時控制
  • PIC32CM LS60 Curiosity Pro評估工具包
  • PIC32CK SG單片機——輕松滿足新型網絡安全要求
  • 貿澤電子(Mouser)專區
關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日本特黄的免费大片视频| 午夜成a人片在线观看| 亚洲午夜久久久久国产| 欧美亚洲综合另类成人| 午夜视频福利在线| 一级黄色免费| 人人干人人搞| 日本免费一区尤物| 日本高清免费一本视频在线观看| 青青视频国产在线播放| 四虎亚洲国产成人久久精品| 欧美日韩极品| 青青青视频精品中文字幕| 欧美日韩在线第一页| 亚洲婷婷天堂在线综合| 亚洲人成一区二区三区| 亚洲欧美激情综合第一区| 亚洲日产综合欧美一区二区| 奇米影视888狠狠狠777九色| 三级精品在线观看| 天天干天天日天天射天天操毛片| 秋霞伊人网| 欧美日韩不卡| 婷婷99精品国产97久久综合| 日韩欧美国产中文| 日本三级2019| 亚洲日韩精品欧美一区二区| 亚洲国产精品久久精品成人| 亚洲午夜国产精品| 亚洲色中文字幕在线播放| 亚洲乱码卡一卡二卡三永久| 亚洲黄色网址| 亚洲精品成人中文网| 天天拍拍天天爽免费视频| 欧美亚洲国产一区| 欧美在线一区二区三区欧美| 亚洲精品福利视频| 亚洲自拍偷拍网| 四虎影视色费永久在线观看| 亚洲天堂成人在线观看| 亚洲国产综合精品中文字幕|