精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

3天內不再提示

利用Block Design加速設計

Comtech FPGA ? 來源:Comtech FPGA ? 作者:Comtech FPGA ? 2022-12-15 14:04 ? 次閱讀

一 Block Design設計方法

早期的FPGA,資源是比較有限的,設計規模相對也比較小,之前的設計流程中工程師常用的設計以HDL+Xilinx IP為結構,設計中也會顧慮到FPGA資源的節省。

隨著FPGA的資源越來越大,設計的快速構建、易修改、隨著版本可迭代的要求越來越高。好比在早期單片機時代,C語言是主流的工具;而處理器越來越強,腳本類語言能更快構建最終應用。

Xilinx越來越多的例程,給出的參考設計是基于Block Design設計方法的,block design設計方法具備如下優勢:

A. 框圖形式,直觀易懂
Block Design基于框圖的形式,搭積木+連線的方式; B. 節省大量的Coding時間

互聯總線連線,可以鼠標單一連線。Block Design的一個IP往往可以獨立運行,比代碼的方式只是一個wrapper包含的內容更多;

C. 可以隨著Vivado升級,快速更新IP,保持設計更新
傳統HDL+IP的方式,IP升級后還需要檢查對應HDL的適配。Block Design一般來說,IP作為一個模塊升級,基本上Block Design直接升級,內部不用再干預; D. 包括大量的通用IP,可以靈活構建設計
尤其是基于AMBA的IP,可以幫助用戶快速靈活構建設計;

二 Block Design設計實例

如何理解Block Design設計方法、工具如何使用等問題Xilinx有詳細的文檔手冊來介紹,本文中不做介紹,本文簡單以一個實際的案例,介紹使用Block Design加速設計。

本文描述的這個設計,需要4路光纖,運行Aurora協議,各路Aurora線速率不同。最終Aurora協議的數據部分,還需要通過PCIe上傳到上位機。反過程是上位機的數據,通過PCIe最終分發到4路Aurora光纖,向外傳輸。

本文描述的這個設計中的兩個要點:

1. 利用DDR做大容量緩存

有很多應用需要用DDR做緩存,例如常見的PCIe+Aurora收發,或者ADC/DAC,圖像采集卡等,兩邊速率不匹配并且累計需要的容量超過FPGA內部FIFO的時候,需要外部的DDR做緩沖。

早期Xilinx DDR IP的用戶接口,只提供了類似于FIFO那樣的接口,并且只有一個用戶接口。

05277c2c-7c3d-11ed-8abf-dac502259ad0.png

在傳統的RTL設計方法中,需要將DDR作為緩存,需要自己做如下設計:

A. 多數據輸入輸出的接口,將app_接口擴展多個獨立的接口,供不同的端口使用

B. 總線仲裁,多個獨立接口仲裁,按照round-robin,或者搶占式的方式提供仲裁

C. 地址管理,不同的端口深度要求不同的情況下,對應管理不同的地址空間。

實現這些功能,大概需要寫這么多代碼,對一個工程師來說,這些代碼可能需要2-4周的代碼和仿真時間:

053e1f7c-7c3d-11ed-8abf-dac502259ad0.png

如果使用Block Design實現,1個小時差不多就可以實現上面的這些內容,在Block Design中:

A. 最右側的DDR IP 直接出AXI接口;

B. 使用AXI Smart Connect實現多端口擴展,自帶仲裁功能;

C. 使用DATAMOVER完成外圍FIFO數據到DDR的數據讀寫;

05516a6e-7c3d-11ed-8abf-dac502259ad0.png

搭建這個Block只需要10分鐘,到這一步為止,剩下的工作只需要控制DATAMOVER的命令接口即可。

2. 使用XDMA直接和DDR交互

過去Xilinx 平臺設計DMA,從最早的XAPP1052,到后來一些付費的PLDA和NWlogicIP,設計復雜度不用說,哪怕購買了IP也需要一些時間融入到自己的產品中。

Xilinx有一個XDMA IP,這個IP的介紹和使用參考PG195。這里使用Block Design,添加XDMA。

XDMA對外有2個接口:

A. 一個是AXI_LITE接口,這里接AXI_BRAM IP,對外是一個bram接口,用作寄存器接口,控制PCIe卡內部的寄存器;

B. 一個是AXI Memory Full接口,可以直接對接DDR空間,訪問所有的DDR部分;

05a198e0-7c3d-11ed-8abf-dac502259ad0.png

通過地址空間來看,DDR被PCIe XDMA和4路DATAMOVER共享,DATAMOVER外部接收的數據緩存在DDR空間,上位機可以直接讀走這片緩存的數據,從而實現外部數據到上位機的過程。

05b4fdf4-7c3d-11ed-8abf-dac502259ad0.png

一個實際的PCIe Aurora光纖收發的工程,在Block Design中搭建這些框圖,外圍的代碼非常簡單。下面是一個實際的工程,4光口的Aurora收發卡,使用DDR緩存,并且使用PCIe和上位機交互。

Block Design中包含了PCIe部分,以及上面的DDR緩沖的部分,外部只需要1個DATAMOVER寫控制、1個DATAMOVER讀控制、1個寄存器接口,即完成整個設計。

05f96250-7c3d-11ed-8abf-dac502259ad0.png

三 結語

使用Block Design設計方法,主體部分都可以快速拖拽和連線完成,使得外圍所需要的的代碼大大簡化,只需要區區3個模塊代碼,完成從數據流到DDR的緩沖以及通過XDMA讀取DDR的過程,從而完成外圍接口和上位機的通訊。

這個設計可以適配很多種Stream形式的設計:

A. Aurora光纖收發卡;

B. Camera Link圖像采集卡;

C. AD/DA數據采集回放卡;

審核編輯 :李倩

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

    關注

    1626

    文章

    21677

    瀏覽量

    601990
  • 代碼
    +關注

    關注

    30

    文章

    4753

    瀏覽量

    68365
  • Block
    +關注

    關注

    0

    文章

    26

    瀏覽量

    14683

原文標題:利用Block Design加速設計

文章出處:【微信號:Comtech FPGA,微信公眾號:Comtech FPGA】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    U50的AMD Vivado Design Tool flow設置

    AMD Alveo 加速卡使用有兩種流程,AMD Vitis Software Platform flow 和 AMD Vivado Design Tool flow。比較常見的是 Vitis
    的頭像 發表于 11-13 10:14 ?117次閱讀
    U50的AMD Vivado <b class='flag-5'>Design</b> Tool flow設置

    GPU加速計算平臺是什么

    GPU加速計算平臺,簡而言之,是利用圖形處理器(GPU)的強大并行計算能力來加速科學計算、數據分析、機器學習等復雜計算任務的軟硬件結合系統。
    的頭像 發表于 10-25 09:23 ?219次閱讀

    FPGA加速深度學習模型的案例

    FPGA(現場可編程門陣列)加速深度學習模型是當前硬件加速領域的一個熱門研究方向。以下是一些FPGA加速深度學習模型的案例: 一、基于FPGA的AlexNet卷積運算加速 項目名稱
    的頭像 發表于 10-25 09:22 ?150次閱讀

    請問TLV320AIC3204中Processing Block是做什么用的啊?

    TLV320AIC3204中Processing Block 是做什么用的啊?
    發表于 10-24 08:24

    利用邊沿速率加速器和自動感應電平轉換器

    電子發燒友網站提供《利用邊沿速率加速器和自動感應電平轉換器.pdf》資料免費下載
    發表于 09-02 11:58 ?0次下載
    <b class='flag-5'>利用</b>邊沿速率<b class='flag-5'>加速</b>器和自動感應電平轉換器

    淺談Pango_Design_Suite工具的安裝

    聯系了小眼睛FPGA官方客服,獲取了基于PGX-Mini 4K開發板的SDK包,這里有包含了兩個版本的Pango_Design_Suite安裝文件,筆者
    發表于 05-30 00:43

    Cadence與NVIDIA聯合推出利用加速計算和生成式AI重塑設計

    中國上海,2024 年 3 月 25 日——楷登電子(美國 Cadence 公司,NASDAQ:CDNS)近日宣布,公司將深化與 NVIDIA 在 EDA、系統設計與分析、數字生物學和人工智能領域的多年合作,推出兩款變革性解決方案,利用加速計算和生成式 AI 重塑設計。
    的頭像 發表于 03-25 14:36 ?569次閱讀

    利用GPU加速在Orange Pi?5上跑LLMs:人工智能愛好者High翻了!

    本期視頻將會給人工智能愛好者們帶來超級震撼!視頻中,我們將深入了解利用GPU加速在OrangePi5上跑LLMs的精彩世界。最近知乎上的一篇文章《利用GPU加速,在OrangePi上跑
    的頭像 發表于 01-22 15:29 ?940次閱讀
    <b class='flag-5'>利用</b>GPU<b class='flag-5'>加速</b>在Orange Pi?5上跑LLMs:人工智能愛好者High翻了!

    加速度傳感器原理及其應用

    中形成電壓信號,從而測量加速度。 2.電容原理:電容式加速度傳感器利用電容的變化來測量加速度。當傳感器受到加速度時,內部的移動部件會導致電容
    的頭像 發表于 01-05 08:39 ?1664次閱讀
    <b class='flag-5'>加速</b>度傳感器原理及其應用

    LTpowerCAD supply design和ToolBox無法使用怎么解決?

    從官網下載的LTpowerCAD解壓完整安裝setup,軟件版本2.7.1,即使是sync/release也是無法解決報錯問題,只有system design功能能正常使用外,supply
    發表于 01-04 08:10

    粒子加速器的加速原理是啥呢?

    粒子加速器的加速原理是啥呢? 粒子加速器是一種重要的實驗設備,用于研究粒子物理學、核物理學等領域。其主要原理是通過電場和磁場的作用,對帶電粒子進行加速,在高速運動過程中使其獲得較大的動
    的頭像 發表于 12-18 13:52 ?1989次閱讀

    芯片Block的劃分問題解析

    后端在floorplan階段,如何擺放macro是一個很重要的問題。如果采用層次化設計,對于每一個block來說都需要在block內部把所分配的macro擺好。
    的頭像 發表于 12-06 14:51 ?652次閱讀

    block schematic如何使用?

    block schematic這個如何使用,有使用指南嗎?auido input 沒東西可選啊。
    發表于 11-29 07:11