色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

基于FPGA的ASIC協同原型驗證設計方案

電子設計 ? 來源:CSDN 博主 ? 作者:時光-易逝 ? 2020-12-30 12:00 ? 次閱讀

鑒于芯片設計的復雜度提升, 成功設計一個芯片所牽扯的步驟與過程也愈加復雜,所需花費的資金也成倍增加,一個典型的芯片開發項目的周期和花銷如下所示

可以見到在芯片制造出來之前,很多精力會花費在RTL代碼驗證工作上,另外軟件的相關開發工作,也會在得到芯片前開始,這2方面都需要借助FPGA原形來模擬芯片的行為,幫助硬件開發和軟件開發者,共同提升工作效率。

FPGA原型在數字芯片設計中,基本是必不可少的,原因非常明顯,相比用仿真器,或者加速器等來跑仿真,FPGA的運行速度,更接近真實芯片,可以配合軟件開發者來進行底層軟件的開發。當然FPGA原型作為芯片的替身,也是有諸多限制的,比如規模限制,速度限制,功耗限制,結構限制等,在使用FPGA原型作為芯片的替代時,需要進行相應的修改,才能完成相應功能,甚至有些功能最終無法覆蓋。

如果對FPGA中可以映射為ASIC的資源做逐一對比,我們可以得到這樣的表格。

pIYBAF9uJ4aAQSh4AAD7nwm1X60635.jpg

以上表格看出,除了普通的RTL邏輯以及基本端口,其他的類似存儲時鐘DSP等,最好都是做手動修改進行映射,把ASIC設計轉換為FPGA比較靠譜。

要把一塊ASIC做出FPGA的原型,需要大致一下步驟,

1 FPGA選型

2 做板或者購買原型板。

3 將ASIC設計轉換裝入FPGA

4 調試啟動FPGA原型

5 載入軟件協同運行

6 軟硬件系統驗證

下文就按照這些步驟逐一討論:

o4YBAF9uJ4iAMXp3AAEBWzRc4q8702.jpg

第一個就是FPGA的選型問題,在選型前,當然需要對ASIC的設計進行大致的了解,包括以下各方面:

o4YBAF9uJ4qAdelEAAGmAICMiGc702.jpg

選型問題最關心的幾個維度:

1 容量 其中包括純邏輯容量,存儲容量,dsp單元容量這些

2 內置IP 包括時鐘,存儲控制,cpu等的硬核

3 接口 普通接口與專用高速接口

4 速度 資源占用率在50%左右時的速度,一般被用來評估原型

其中純邏輯容量,也就是ASIC中組合電路與觸發器的容量,是可以直接與FPGA中的資源換算的。

pIYBAF9uJ4uAdkgtAADaR2TgtwY986.jpg

比如上圖xilinx V7 2000T中有2.4M FF,大致對應ASIC的2輸入與非門10M gates,如果使用率按照50%算,大概放置5M邏輯門沒問題。

內置的存儲器,可以實現21M的單雙端口ramrom,fifo等,如果ASIC中使用的存儲稍微多一點,也可以用lut實現部分的存儲,替代block ram。

如果使用較多乘加運算,也可以映射fpga中的dsp器件實現,具體各種型號的FPGA包含多少器件,可以參考xilinx文檔。

對于內置ip,最先要考慮的,就是時鐘模塊MMCM,一般FPGA會有幾個到幾十個時鐘模塊,例如下表2000T中包含24個CMTs,也就是24個PLL和MMCM,每組PLL和MMCM可以對一個時鐘域的時鐘進行分頻倍頻。一般ASIC會包含多個時鐘域,每個時鐘域至少需要一個CMTs對時鐘進行操作,可以據此選擇使用哪個FPGA器件。

o4YBAF9uJ42ARDBeAADnTpKHPqw154.jpg

如要選擇帶有ARM硬核的FPGA來模擬ASIC中的ARM核,則需要選擇zynq系列。系統中自研的邏輯,則通過AXI掛入總線中,當然這樣未必能使FPGA與ASIC中的系統完全一致,但是作為一個圓形,也是足夠的,以下是部分帶有ARM核的FPGA的容量以及相應IP情況

o4YBAF9uJ4-AUvhVAAFKa3PxTxc007.jpg

對于接口的限制,一般FPGA的普通接口數量夠大,不會成為瓶頸,主要在于ASIC所需的特定接口,在FPGA中是否能夠滿足,很多時候這些特定接口需要外接phy才能完成相應功能。

影響FPGA最終運行速度的因素很多,包括代碼風格,具體設計,資源占用率,FPGA型號等,所以這需要在RTL代碼基本框架完成后,通過工具綜合才能得到一個大致數值,所以作為ASIC原型,盡量選擇速度夠快的FPGA。

通過以上限定條件,基本可以選出使用哪種FPGA型號,但是可能ASIC資源占用太多,任何一種都裝不下,這就有2種解決方式了。一種是分塊分別驗證,當然這樣風險極高,且沒法直接驗證最終系統。

另外就是使用多片FPGA得到原型,這就要涉及不同FPGA之中功能劃分的問題,這個是比較麻煩且有難度的事情,對FPGA電路設計,以及ASIC到FPGA的代碼轉換,都有挺多新問題。

第2步就是制版,這需要考量的方面也是相當多,比如信號完整性,電源問題,時鐘問題,可擴展性等,本人對此沒有直接經驗,也就無從展開。當然對于需要多個FPGA的驗證板,一般實力的團隊,未必能搞定,所以選擇花錢買平安,直接選用類似HAPS這樣的驗證系統,可能更靠譜。

第3步就是ASIC的設計裝入FPGA。這需要對原本面向ASIC的代碼,進行修改。

對于一般的純RTL邏輯,在ASIC中與FPGA中都可以綜合出可用結果,但是以下表中的器件,需要修改

pIYBAF9uJ5GAGe_YAAFHNTiKRdo580.jpg

芯片中的pad,一般是fab廠給出的硬核,具有輸入輸出,驅動上下拉控制等。在轉換成FPGA時,一般會在例化中直接用assign替代,并.XDC或者.v中指定上下拉等

如果有ASIC門級網表,可以把底層ASIC實例器件用verilog行為描述替換,在FPGA綜合中則可以對應實現。其他的簡單cell例化,也可以這樣轉換一下。

對于存儲器,一般可以在FPGA中找到與ASIC功能一致的SRAM,ROM ,可以直接把FPGA MEM 外包一層改變端口名字,替代ASIC MEM。小的嵌入flash,則可以把FPGA的SRAM包一層邏輯來模仿。

其他的硬核IP, 可能需要在FPGA中尋找功能一致的,并相應修改接口,與ASIC代碼中其他部分有效連接。

對于BIST,最直接的辦法是去除,一般不會影響實際功能。

對于各種門控時鐘,倍頻分頻等,一般需要針對FPGA做手動修改,使用DCM完成與芯片中時鐘一致的行為。

以下就一些修改中會出現的具體問題,詳細說明。

首先我們拿到的ASIC設計的結構,基本如下圖所示,最外一圈是各種pad ring,里邊先是芯片的各種輔助功能,包括 clk, rst, power, test,debug等。然后是與芯片實際功能相關的部分,可能包括部分模擬電路,數字電路包括cpu,mem 總線,各種邏輯控制等。我們需要明確用FPGA來原形驗證的,主要是數字電路中的那些核心功能,芯片核心外部的那些輔助邏輯,很多是需要修改的,也是無法得到驗證的。這里的pad一般直接在FPGA中直接去例化一個包含幾個assign語句的 FPGA PAD 等效實例,clk rst 需要根據具體上電順序,時鐘資源做調整,一般會對rst功能進行簡化,做成一個全局復位,clk中的分頻與關斷功能會放在CMT中實現。power控制,一般在FPGA中直接忽略,因為用FPGA幾乎無法模擬各種UPF指定的行為。debug test可以根據實際情況保留或者去除,但是即使保持,一般也不會真的去用。核心功能中需要更改的,一般就是各種內部存儲器了。

o4YBAF9uJ5KAU4ItAABr-sbLcfw959.jpg

時鐘門控 clock gating 一般在ASIC中廣泛使用,一般會在clk模塊中例化成由latch與門組成的門控單元,對某個模塊進行時鐘控制。這些門控單元,如果直接在FPGA中例化為相同邏輯的latch與門,邏輯功能是沒有問題的。但是這時與門出來的受控時鐘,則不能再FPGA的專用時鐘網絡中走線,而是走普通的信號網絡,這樣FPGA能達到的頻率很差。為了糾正這樣情況,可以把對寄存器的門控,放在寄存器端,也就是選用FPGA中行如FDCE這樣帶門控的寄存器。這個過程可以手動完成,但是比較麻煩,一般來說專門的FPGA綜合工具能做這種自動轉換。比如 vivado中使用 (* gated_clock = "true" *) input clk_a; 標定受控時鐘,并在腳本加入 -gated_clock_conversion on 綜合選項。

pIYBAF9uJ5SAMgUDAACEUPLqIb8614.jpg

當然如果需要的可控時鐘不太多,也就是少于FPGA中BUFGCE的數量,則可以直接把門控信號加在 BUFGCE的控制端,輸出就是走時鐘網絡的門控信號了。如果FPGA器件中有 BUFHCE,則可以對更多層級的時鐘進行門控,也就可以得到更多的受控時鐘。

有關FPGA門控時鐘的更詳細解釋,可以參照 https://forums.xilinx.com/t5/General-Technical-Discussion/Reg-Clock-gati...

ASIC轉變到FPGA使用的綜合約束,在SDC與XDC基本相容,例如

o4YBAF9uJ5WASP10AABCNnQArGg415.jpg

這些都可以直接使用,當然很多情況下FPGA還是不可能跑到ASIC速度,必須降速運行。另外還需要添加FPGA中對管腳位置,類型,驅動強度等的約束,以及一些綜合選項

以上即為對ASIC代碼更改的主要部分,在下到FPGA板調試前,最好對更改的FPGA代碼進行仿真,確認功能正常,減少上板調試的工作量。

第4步為啟動調試FPGA原型。

在把修改后的FPGA代碼裝入調試前,先需要保證FPGA板本身是正常可用的,這時如果是外購的開發板或者類似haps的驗證系統,則會省去一些麻煩。

如果是頭次開發的FPGA板,則需要先裝入一個最簡單的FPGA鏡像文件,測試一下FPGA的電源供電下載連接是否可用,然后通過幾個用于測試的FPGA文件,測試下板上與FPGA連接的其他器件是否正常工作。一般頭次設計的板子,多少會有各種問題,比如電源供電問題,管腳連接的差分信號匹配問題,阻抗匹配,電流驅動,信號質量等問題 如果板子通過了以上測試,則可以認為電路硬件設計沒有問題,可以裝入FPGA原形文件進行測試了。

裝入修改了的FPGA原型模擬ASIC,一般不會一次成功,一般出現的問題可以分為以下三類:

1 RTL邏輯錯誤,包括原本ASIC既有的和修改過程引入的錯誤。

2 接口錯誤 與外部器件的電信號連接錯誤,包括電壓不匹配,驅動電流不一致等。

3 軟件錯誤 MCU運行的軟件沒有正確配置相關功能導致,這種一般在仿真中難以發現,因為仿真很少運行真正的軟件系統。

對fpga原型的板上調試,可以歸納為以下步驟。

o4YBAF9uJ5eAT0qPAAEr1cN26H8340.jpg

當載入實際運行的軟件后,通過FPGA原型,就可以如同在實際芯片中一樣,對軟件進行測試修改,同時完成系統級的驗證工作了。也就進入了步驟5.6,這與普通的嵌入式軟件開發大致相同。

對于通過FPGA進行原型驗證,有以下設計流程上的建議,值得參考

o4YBAF9uJ5mALVsrAAEf9S9w9XY691.jpg

以上參考了xilinx網站內容,以及FPMM等書。

編輯:hfy


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

    關注

    1629

    文章

    21729

    瀏覽量

    603010
  • asic
    +關注

    關注

    34

    文章

    1199

    瀏覽量

    120438
  • Xilinx
    +關注

    關注

    71

    文章

    2167

    瀏覽量

    121305
  • 芯片設計
    +關注

    關注

    15

    文章

    1015

    瀏覽量

    54878
收藏 人收藏

    評論

    相關推薦

    FPGAASIC的區別 FPGA性能優化技巧

    FPGAASIC的區別 FPGA(現場可編程門陣列)和ASIC(專用集成電路)是兩種不同的集成電路技術,它們在多個方面存在顯著的區別: FPGA
    的頭像 發表于 12-02 09:51 ?175次閱讀

    數字芯片設計驗證經驗分享文章 實際案例說明用基于FPGA原型來測試、驗證和確認IP——如何做到魚與熊掌兼

    本系列文章從數字芯片設計項目技術總監的角度出發,介紹了如何將芯片的產品定義與設計和驗證規劃進行結合,詳細講述了在FPGA上使用硅知識產權(IP)內核來開發ASIC原型項目時,必須認真考
    的頭像 發表于 10-28 14:53 ?302次閱讀
    數字芯片設計<b class='flag-5'>驗證</b>經驗分享文章 實際案例說明用基于<b class='flag-5'>FPGA</b>的<b class='flag-5'>原型</b>來測試、<b class='flag-5'>驗證</b>和確認IP——如何做到魚與熊掌兼

    FPGAASIC的優缺點比較

    適應各種應用場景。這意味著用戶可以根據需要,通過編程來更改FPGA的功能,而無需更改硬件設計。 設計周期短 :與ASIC相比,FPGA的設計、驗證和生產周期更短。這主要是因為
    的頭像 發表于 10-25 09:24 ?395次閱讀

    解鎖SoC “調試”挑戰,開啟高效原型驗證之路

    引言由于芯片設計復雜度的提升、集成規模的擴大,以及產品上市時間要求的縮短,使得設計驗證變得更加困難。特別是在多FPGA環境中,設計調試和驗證的復雜性進一步增加,傳統的調試手段難以滿足對高性能、高效率
    的頭像 發表于 10-09 08:04 ?680次閱讀
    解鎖SoC “調試”挑戰,開啟高效<b class='flag-5'>原型</b><b class='flag-5'>驗證</b>之路

    快速部署原型驗證:從子卡到調試的全方位優化

    引言原型驗證是一種在FPGA平臺上驗證芯片設計的過程,通過在FPGA上實現芯片的設計原型,使得開
    的頭像 發表于 09-30 08:04 ?622次閱讀
    快速部署<b class='flag-5'>原型</b><b class='flag-5'>驗證</b>:從子卡到調試的全方位優化

    ASIC IP核移植到FPGA上——更新概念并推動改變以完成充滿挑戰的任務!

    本系列文章從數字芯片設計項目技術總監的角度出發,介紹了如何將芯片的產品定義與設計和驗證規劃進行結合,詳細講述了在FPGA上使用IP核來開發ASIC原型項目時,必須認真考慮的一些問題。文
    的頭像 發表于 08-10 17:13 ?828次閱讀
    將<b class='flag-5'>ASIC</b> IP核移植到<b class='flag-5'>FPGA</b>上——更新概念并推動改變以完成充滿挑戰的任務!

    大規模 SoC 原型驗證面臨哪些技術挑戰?

    引言隨著電子設計自動化(EDA)驗證工具的重要性日益增加,開發者們開始尋求減少流片成本和縮短開發周期的方法。其中,使用可編程邏輯芯片(FPGA)來構建有效的驗證流程成為一種流行的解決方案
    的頭像 發表于 06-06 08:23 ?1147次閱讀
    大規模 SoC <b class='flag-5'>原型</b><b class='flag-5'>驗證</b>面臨哪些技術挑戰?

    fpga原型驗證平臺與硬件仿真器的區別

    FPGA原型驗證平臺與硬件仿真器在芯片設計和驗證過程中各自發揮著獨特的作用,它們之間存在明顯的區別。
    的頭像 發表于 03-15 15:07 ?1106次閱讀

    fpga原型驗證流程

    FPGA原型驗證流程是確保FPGA(現場可編程門陣列)設計正確性和功能性的關鍵步驟。它涵蓋了從設計實現到功能驗證的整個過程,是
    的頭像 發表于 03-15 15:05 ?1559次閱讀

    fpga驗證和uvm驗證的區別

    FPGA驗證和UVM驗證在芯片設計和驗證過程中都扮演著重要的角色,但它們之間存在明顯的區別。
    的頭像 發表于 03-15 15:00 ?1586次閱讀

    FPGA與AISC的差異

    根據需求進行重新配置,而ASIC一旦制造完成,其功能就無法更改。 開發周期和成本 :FPGA的開發周期相對較短,成本較低,適合原型驗證和小批量生產。而
    發表于 02-22 09:54

    FPGA資源與AISC對應關系

    情況下,FPGA可以被用作ASIC原型驗證平臺,幫助設計師驗證和優化ASIC的設計。然而,由于
    發表于 02-22 09:52

    到底什么是ASICFPGA

    ASIC,不是簡單的競爭和替代關系,而是各自的定位不同。 FPGA現在多用于產品原型的開發、設計迭代,以及一些低產量的特定應用。它適合那些開發周期必須短的產品。FPGA還經常用于
    發表于 01-23 19:08

    原型平臺是做什么的?proFPGA驗證環境介紹

    proFPGA是mentor的FPGA原型驗證平臺,當然mentor被西門子收購之后,現在叫西門子EDA。
    的頭像 發表于 01-22 09:21 ?1382次閱讀
    <b class='flag-5'>原型</b>平臺是做什么的?pro<b class='flag-5'>FPGA</b><b class='flag-5'>驗證</b>環境介紹

    什么是FPGA原型驗證FPGA原型設計的好處是什么?

    FPGA原型設計是一種成熟的技術,用于通過將RTL移植到現場可編程門陣列(FPGA)來驗證專門應用的集成電路(ASIC),專用標準產品(AS
    發表于 01-12 16:13 ?1206次閱讀
    主站蜘蛛池模板: 被强J高H纯肉公交车啊| 擼擼擼麻豆密臀AV| 蜜桃婷婷狠狠久久综合9色| 秋霞午夜一级理论片久久| 男人扒开添女人下部口述| 亚洲精品国产自在在线观看| 亚洲国产中文在线视频免费| 把腿张开JI巴CAO死你H教室| 久久强奷乱码老熟女| 亚洲免费一区二区| 国产精品久久久久久搜索| 欧美v1deossexo高清| 1313久久国产午夜精品理论片| 国产精品一库二库三库| 老女老肥熟国产在线视频| 一本道色综合手机久久| seba51久久精品| 欧美乱妇狂野欧美在线视频| caoporn 超碰免费视频| 欧美在线看费视频在线| 岛国精品在线观看| 手机在线国产视频| 国产精品v片在线观看不卡| 日韩精品一区二区三区色欲AV| GAY2022空少被体育生暴菊| 精品动漫国产亚洲AV在线观看| 亚洲国产精品99久久久久久| 俄罗斯女人Z0Z0极品| 亚洲国产精品免费线观看视频| 国产又黄又硬又粗| 野草观看免费高清视频| 伦理片在线线手机版韩国免费6| 99久久99久久久精品齐齐鬼色| 欧美成人精品高清在线观看| 成年色黄APP下载| 亚洲精品AV无码喷奶水糖心| 国产精品无码久久久久不卡| 亚洲色图19p| 好紧的小嫩嫩17p| 97免费视频在线观看| 我的美女奴隶|