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

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

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

FPGA內(nèi)部接口設(shè)計(jì)

CHANBAEK ? 來(lái)源:FPGA的現(xiàn)今未 ? 作者:FPGA的現(xiàn)今未 ? 2023-09-07 17:05 ? 次閱讀

FPGA設(shè)計(jì)中,我們通常采用的都是“自頂向下”的設(shè)計(jì)方法,即現(xiàn)有頂層設(shè)計(jì),再有細(xì)節(jié)設(shè)計(jì)。比如先有整個(gè)項(xiàng)目的功能框圖、數(shù)據(jù)流程圖等,然后再細(xì)分功能到一級(jí)模塊,每個(gè)一級(jí)模塊再細(xì)分到二級(jí)、三級(jí)甚至更低級(jí)別的模塊。除了每個(gè)模塊的設(shè)計(jì),如何把模塊連接起來(lái)?也是一個(gè)很有趣且重要的話題,這就是我們通常說(shuō)的內(nèi)部模塊接口。這里先介紹幾種常見(jiàn)的內(nèi)部模塊接口。

AXI接口

目前xilinx或者intel提供的IP core中的接口越來(lái)越多的都支持AXI接口,這種接口是業(yè)界非常通用的接口,使用的頻率也非常的高,關(guān)于這個(gè)接口的說(shuō)明,網(wǎng)上有很多資料,本文不在這里介紹該接口相關(guān)的信息。

采用這種接口有什么好處呢?顯然IP的移植性非常好,只要是使用AXI接口的設(shè)計(jì),都可以直接調(diào)用這樣的IP,不需要做任何接口上的修改,也不會(huì)出現(xiàn)對(duì)接口理解上的差異,確實(shí)很方便。尤其是你的模塊需要和外部模塊對(duì)接的時(shí)候,這里的外部可能是外部的客戶、外部的合作伙伴等,標(biāo)準(zhǔn)的接口也能減少對(duì)接的溝通成本。

AXI接口筆者覺(jué)得也有一些缺點(diǎn),接口相對(duì)比較復(fù)雜。如果我們的FPGA設(shè)計(jì)只是公司或者部門內(nèi)使用,不需要對(duì)外,甚至都不需要重用的時(shí)候,那有沒(méi)有一些更加簡(jiǎn)單的接口呢?這里重點(diǎn)介紹2種內(nèi)部模塊間通用接口,最后再說(shuō)明這樣接口的好處。

req-ack接口

先看時(shí)序圖,這種接口通常是請(qǐng)求方有數(shù)據(jù)要發(fā)送之前,先發(fā)送一個(gè)req請(qǐng)求信號(hào),同時(shí)保持?jǐn)?shù)據(jù)不變,一直等待響應(yīng)方的應(yīng)答。當(dāng)響應(yīng)方處理完數(shù)據(jù)后,給一個(gè)ack應(yīng)答信號(hào),表示一次數(shù)據(jù)傳送完成。

圖片

這種接口的應(yīng)用場(chǎng)景是什么呢?它一般應(yīng)用在低速、無(wú)緩存數(shù)據(jù)傳輸場(chǎng)景。當(dāng)2個(gè)模塊之間的接口傳輸數(shù)據(jù)的性能較低,且有相互依賴,就可以采用這類接口。從時(shí)序圖可以看出,在req階段,整個(gè)data是不會(huì)變化,直到有ack后,再發(fā)送下一個(gè)數(shù)據(jù)。數(shù)據(jù)的傳輸依賴請(qǐng)求和響應(yīng)雙方的配合,彼此牽制。另外,發(fā)送發(fā)等當(dāng)前數(shù)據(jù)處理完成后,才會(huì)有一下次數(shù)據(jù)發(fā)送,所以這類場(chǎng)景無(wú)需數(shù)據(jù)緩存,比較節(jié)省資源,但是性能較低。

流式接口

先看時(shí)序圖,該接口共有5個(gè)信號(hào), data_vld(數(shù)據(jù)有效信號(hào))、 data(數(shù)據(jù)本身)、 data_sop(表示數(shù)據(jù)開(kāi)始)、 data_eop(表示數(shù)據(jù)結(jié)束)、 data_index(和data相關(guān)的其他信號(hào),位寬和格式可以用戶自定義,往往在data_sop = 1或者data_eop = 1的時(shí)候有效,或者在整個(gè)data_vld = 1期間保持不變)、 data_afull(數(shù)據(jù)反壓信號(hào),通知對(duì)端不要再發(fā)送data)。

圖片

這種接口信號(hào),非常的像fifo的寫接口信號(hào),通過(guò)這種接口在發(fā)送數(shù)據(jù)的過(guò)程中,只要對(duì)端不反壓就可以不停的發(fā)送。這種接口實(shí)現(xiàn)簡(jiǎn)單,模塊之間高度解耦,性能較好。

也有人會(huì)想,用這樣的私有接口,為什么不用標(biāo)準(zhǔn)axi_stream接口呢?確實(shí)這2種接口已經(jīng)非常非常的相似了,唯一的不同就是反壓的處理,私有接口是不反壓的時(shí)候數(shù)據(jù)就可以無(wú)限制的發(fā)送,即發(fā)數(shù)據(jù)依賴data_afull = 0。但是axi_stream接口的vld和ready之間是沒(méi)有相關(guān)關(guān)系的,協(xié)議規(guī)定不能相互依賴,這點(diǎn)這內(nèi)部處理起來(lái)就稍稍麻煩點(diǎn)點(diǎn)。

另外即使afull = 1以后,一般都還可以繼續(xù)發(fā)送2-3拍數(shù)據(jù),時(shí)序處理起來(lái)也非常的簡(jiǎn)單。而axi_stream中的vld和ready之間是嚴(yán)格的時(shí)序關(guān)系,必須同時(shí)為1,數(shù)據(jù)才能正常發(fā)送,時(shí)序處理起來(lái)相對(duì)麻煩。

總結(jié)

當(dāng)有對(duì)外的接口時(shí),應(yīng)該還是要采用業(yè)界標(biāo)準(zhǔn)的接口,但是模塊內(nèi)部的設(shè)計(jì),還是要遵循設(shè)計(jì)簡(jiǎn)單、實(shí)用可靠、無(wú)依賴,性能高的基本原則。

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

    關(guān)注

    1629

    文章

    21748

    瀏覽量

    603909
  • FPGA設(shè)計(jì)
    +關(guān)注

    關(guān)注

    9

    文章

    428

    瀏覽量

    26532
  • 接口
    +關(guān)注

    關(guān)注

    33

    文章

    8612

    瀏覽量

    151302
  • AXI
    AXI
    +關(guān)注

    關(guān)注

    1

    文章

    127

    瀏覽量

    16636
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    fpga內(nèi)部主要結(jié)構(gòu)及其功能分析(Kintex-7FPGA內(nèi)部結(jié)構(gòu))

    Kintex-7 FPGA內(nèi)部結(jié)構(gòu)相比傳統(tǒng)FPGA內(nèi)部結(jié)構(gòu)嵌入了DSP48E1,PCIE,GTX,XADC,高速IO口等單元,大大提升了FPGA
    發(fā)表于 08-24 09:26 ?2134次閱讀
    <b class='flag-5'>fpga</b><b class='flag-5'>內(nèi)部</b>主要結(jié)構(gòu)及其功能分析(Kintex-7<b class='flag-5'>FPGA</b><b class='flag-5'>內(nèi)部</b>結(jié)構(gòu))

    FPGA設(shè)計(jì)實(shí)例】基于FPGA的串行接口(RS-232)

    本帖最后由 eehome 于 2013-1-5 09:44 編輯 串行接口(RS-232) 連接到PC與FPGA的串信接口是一種簡(jiǎn)單的連接方式。本節(jié)課程將向大家展示了如何在一個(gè)FPGA
    發(fā)表于 03-20 14:05

    學(xué)fpga內(nèi)部結(jié)構(gòu)和各接口實(shí)驗(yàn)怎么學(xué)

    學(xué)fpga內(nèi)部結(jié)構(gòu)和各接口實(shí)驗(yàn)怎么學(xué),看什么資料
    發(fā)表于 05-10 18:38

    通過(guò)FPGA實(shí)現(xiàn)溫控電路接口及其與DSP通信接口的設(shè)計(jì)

    公司的 ACEX系列的EP1K100,它時(shí)鐘頻率高,具有豐富內(nèi)部資源,提供大量可編程 IO管腳,配置十分方便?;?FPGA的溫控電路接口在整個(gè)電路中具有非常重要的作用。FPGA本身的
    發(fā)表于 08-19 09:29

    如何避免FPGA內(nèi)部操作和ADC數(shù)據(jù)之間的同步問(wèn)題?

    接口是LVDS2. FPGA驅(qū)動(dòng)FSMC接口所需的最低內(nèi)部時(shí)鐘為40MHz3. 14位ADC(7個(gè)差分對(duì))支持并行和LVDS接口,1個(gè)差分
    發(fā)表于 08-25 09:23

    基于FPGA的十端口千兆以太網(wǎng)接口的設(shè)計(jì)與實(shí)現(xiàn)

    當(dāng)前的路由器或交換機(jī)產(chǎn)品都提供多端口千兆以太網(wǎng)接口。采用高性能FPGA 設(shè)計(jì)十端口千兆以太網(wǎng)接口, 闡述了系統(tǒng)平臺(tái)的硬件設(shè)計(jì)及主要單元模塊的功能,并對(duì)FPGA
    發(fā)表于 08-29 09:30 ?51次下載

    基于FPGA的SPI4.2接口設(shè)計(jì)

    本文介紹了一種FPGA和IPX2805之間的SPI4.2接口模塊設(shè)計(jì)的方法,對(duì)硬件設(shè)計(jì)進(jìn)行了說(shuō)明,著重闡述了FPGA內(nèi)部SPI4.2接口模塊
    發(fā)表于 07-28 16:56 ?33次下載

    基于FPGA的SDI接口設(shè)計(jì)_蘇建

    基于FPGA的SDI接口設(shè)計(jì),學(xué)習(xí)FPGA的好資料?。。?!
    發(fā)表于 06-06 10:00 ?31次下載

    接口、內(nèi)部類和Java API基礎(chǔ)

    理解接口的作用,理解接口和實(shí)現(xiàn)接口的類的關(guān)系,掌握聲明接口、一個(gè)類實(shí)現(xiàn)多個(gè)接口的聲明和使用方法。理解內(nèi)嵌類型的概念,掌握聲明
    發(fā)表于 11-23 11:52 ?0次下載

    _FPGA內(nèi)部的RAM M9K

    FPGA內(nèi)部的RAM M9K
    發(fā)表于 04-07 11:40 ?4次下載

    怎么讓FPGA內(nèi)部超高帶寬邏輯互連的方法

    了革命性的新型二維片上網(wǎng)絡(luò)(2D NoC)。2D NoC如同在FPGA可編程邏輯結(jié)構(gòu)上運(yùn)行的高速公路網(wǎng)絡(luò)一樣,為FPGA外部高速接口內(nèi)部可編程邏輯的數(shù)據(jù)傳輸提供了超高帶寬(~27Tb
    發(fā)表于 03-04 15:59 ?1751次閱讀

    如何使用FPGA內(nèi)部的ROM以及程序?qū)υ揜OM的數(shù)據(jù)讀操作

    FPGA本身是SRAM架構(gòu)的,斷電之后,程序就消失,那么如何利用FPGA實(shí)現(xiàn)一個(gè)ROM呢,我們可以利用FPGA內(nèi)部的RAM資源實(shí)現(xiàn)ROM,但不是真正意義上的ROM,而是每次上電都會(huì)把初
    的頭像 發(fā)表于 02-08 16:30 ?1.2w次閱讀
    如何使用<b class='flag-5'>FPGA</b><b class='flag-5'>內(nèi)部</b>的ROM以及程序?qū)υ揜OM的數(shù)據(jù)讀操作

    FPGA內(nèi)部詳細(xì)架構(gòu)

    為了便于管理和適應(yīng)多種電器標(biāo)準(zhǔn),FPGA 的 IOB 被劃分為若干個(gè)組(Bank),每個(gè) Bank 的接口標(biāo)準(zhǔn)由其接口電壓 VCCO 決定,一個(gè) Bank 只能有一種 VCCO,但不同 Bank 的 VCCO 可以不同。
    的頭像 發(fā)表于 10-20 09:56 ?2912次閱讀

    內(nèi)部通信接口介紹

    內(nèi)部通信接口:主要用于板級(jí)信號(hào)傳輸,通常應(yīng)用于設(shè)備內(nèi)部,特點(diǎn)是速度快,距離短,常用的有UART,IIC,SPI等接口。 外部通信接口
    的頭像 發(fā)表于 04-04 15:18 ?2180次閱讀
    <b class='flag-5'>內(nèi)部</b>通信<b class='flag-5'>接口</b>介紹

    FPGA和外圍接口總結(jié)

    FPGA和外圍接口-基礎(chǔ)版
    的頭像 發(fā)表于 05-22 10:57 ?940次閱讀
    <b class='flag-5'>FPGA</b>和外圍<b class='flag-5'>接口</b>總結(jié)