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

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

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

FPGA入門之原語BUFIO的理解

jf_78858299 ? 來源:Hack電子 ? 作者:Hack電子 ? 2023-05-11 16:16 ? 次閱讀

我一直沒搞明白BUFIO是干嘛用的。

官方解釋有這么一段話,如下:(virtex的)

“BUFIO是用來驅(qū)動(dòng)I/O列內(nèi)的專用時(shí)鐘網(wǎng)絡(luò),這個(gè)專用的時(shí)鐘網(wǎng)絡(luò)獨(dú)立于全局時(shí)鐘資源,適合采集源同步數(shù)據(jù)。BUFIO只能由位于同一時(shí)鐘區(qū)域的Clock-Capable I/O驅(qū)動(dòng)。一個(gè)時(shí)鐘區(qū)域有4個(gè)BURIO,其中的2個(gè)可以驅(qū)動(dòng)相鄰區(qū)域的I/O時(shí)鐘網(wǎng)絡(luò)。BUFIO不能驅(qū)動(dòng)邏輯資源(CLB、BRAM等),因?yàn)镮/O時(shí)鐘網(wǎng)絡(luò)只存在于I/O列中?!?/p>

就是如果BUFIO只能驅(qū)動(dòng)IO,到達(dá)不了CLB和RAM,可是數(shù)據(jù)最終是要進(jìn)邏輯的啊,為什么呢?

首先、需要明確BUFIO是輸入用的。BUFIO是用來驅(qū)動(dòng)輸入時(shí)鐘的,將外部時(shí)鐘引入FPGA的!與IOBUF不同啊,但與IBUFG類似,時(shí)鐘信號(hào)進(jìn)FPGA也可以經(jīng)過IBUFG。

其次、再來看BUFIO的輸入和輸出:SPARTAN6 的UG382手冊里這么寫的,如下:

BUFIO2 can drive ISERDES2 and OSERDES2 for either SDR or DDR clocking. BUFIO2 can

also route clock inputs from either a GCLK or a GTP_DUAL tile to a BUFG, DCM, or PLL

clock input. BUFIO2_2CLK can be used to replace one of the BUFIO2s required for DDR

clocking of the ISERDES2 and OSERDES2

(SDR:單邊沿,DDR:雙邊沿)

就是說BUFIO2輸入可以是GCLK(全局時(shí)鐘)和GTP_DUAL。然后輸出到BUFG或者,DCM ,PLL的時(shí)鐘輸入。

也就是說數(shù)據(jù)流順序 PAD-->BUFIO-->BUFG或者PAD-->BUFIO-->DCM(PLL)--->BUFG不知道有這樣用的嗎。

但實(shí)際應(yīng)用可以這樣,BUFIO配和ISERDES2使用,ISERDES2是將串行數(shù)據(jù)轉(zhuǎn)成并行數(shù)據(jù),相當(dāng)于分頻了。而BUFIO具有分頻的功能。

舉例串行數(shù)據(jù)轉(zhuǎn)成4bit并行數(shù)據(jù):串行數(shù)據(jù)相當(dāng)4分頻,同樣將隨路時(shí)鐘clk_in(就是和串行數(shù)據(jù)同步進(jìn)來的時(shí)鐘,,作為串行數(shù)據(jù)的采集時(shí)鐘)同步BUFIO接進(jìn)FPGA,

BUFIO可以將輸入的隨路時(shí)鐘clk_in進(jìn)行4分頻為clk_in4。這樣把clk_in4給BUFG,然后就可以同步將4bit的數(shù)據(jù)輸入采集到邏輯FIFO中去了。

配個(gè)圖,看看BUFIO的輸入輸出可以接什么:

圖片

輸出鏈接示意圖,如下:可以看到PN-->BUFIO-->BUFG(DCM)或者PN-->BUFIO-->IO,驅(qū)動(dòng)IO(PN只差分對(duì)的P和N)

圖片

結(jié)合一下BUFIO的原語結(jié)構(gòu):

圖片

可以看出:

  • IOCLK就去驅(qū)動(dòng)IO了或者IOSERDES2的CLK0,1;IODDR2等
  • DIVCLK可以去接BUFG或者PLL。
  • SERDESSTROB可以去驅(qū)動(dòng)IOSERDES2的IOCE使能腳了。

以上是對(duì)SP6講的,在virtex里面,有文章開頭那句話:BUFIO是用來驅(qū)動(dòng)I/O列內(nèi)的專用時(shí)鐘網(wǎng)絡(luò),這個(gè)專用的時(shí)鐘網(wǎng)絡(luò)獨(dú)立于全局時(shí)鐘資源,適合采集源同步數(shù)據(jù)。BUFIO只能由位于同一時(shí)鐘區(qū)域的Clock-Capable I/O驅(qū)動(dòng)。一個(gè)時(shí)鐘區(qū)域有4個(gè)BURIO,其中的2個(gè)可以驅(qū)動(dòng)相鄰區(qū)域的I/O時(shí)鐘網(wǎng)絡(luò)。BUFIO不能驅(qū)動(dòng)邏輯資源(CLB、BRAM等),因?yàn)镮/O時(shí)鐘網(wǎng)絡(luò)只存在于I/O列中。”

就是說virtex里面BUFIO好像只能由Clock-Capable I/O驅(qū)動(dòng)了。

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

    關(guān)注

    10

    文章

    1673

    瀏覽量

    130955
  • CLB
    CLB
    +關(guān)注

    關(guān)注

    0

    文章

    25

    瀏覽量

    5916
  • i/o
    i/o
    +關(guān)注

    關(guān)注

    0

    文章

    33

    瀏覽量

    4554
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    xilinx中的carry4原語在高云FPGA中用什么原語替代?

    xilinx中的carry4原語在高云FPGA中用什么原語替代
    發(fā)表于 05-09 16:13

    Xilinx FPGA無痛入門,海量教程免費(fèi)下載

    用notepad++的關(guān)聯(lián)設(shè)置Lesson07 特權(quán)Xilinx FPGA SF-SP6入門指南 -- ISE與Modelsim聯(lián)合仿真庫編譯Lesson08 特權(quán)Xilinx FPGA
    發(fā)表于 07-22 11:49

    如何從Virtex原語切換到Spartan原語?

    親愛的大家,Virtex中的許多原語在Spartan 6中找不到,例如BUFIO,BUFR,IDELAY,IDDR。如何使用Spartan原語實(shí)現(xiàn)類似的功能?非常感謝你!箱子以上來自于谷歌翻譯以下
    發(fā)表于 06-03 10:31

    為什么當(dāng)我將錯(cuò)誤降級(jí)為警告時(shí), 在FPGA編輯器中就找不到BUFIO2了?

    。我閱讀了用戶指南,我知道BUFIO2的位置是錯(cuò)誤的,但我不知道這個(gè)特定BUFIO2的實(shí)例名稱是否在ucf文件中放置了位置約束。當(dāng)我將錯(cuò)誤降級(jí)為警告時(shí),我在FPGA編輯器中找不到BUFIO
    發(fā)表于 06-26 08:24

    請(qǐng)問ISERDESE2原語支持多少位輸入?

    嗨,有沒有辦法在7系列FPGA中讀取18位串行LVDS輸入,尤其是Artix-7?如果我理解正確,ISERDESE2原語僅支持最多14位輸入。數(shù)據(jù)速率約為400 Mbps,采用2線DDR傳輸模式。先謝謝你,
    發(fā)表于 04-24 09:33

    FPGA上有哪些額外的原語?

    用于xilinx ML507的Xilinx頂點(diǎn)XC5VFX70TFFG1136 FPGA如何將xilinx LUT作為移位寄存器?什么是xilinx ML507的Xilinx頂點(diǎn)XC5VFX70TFFG1136 FPGA的CLB結(jié)構(gòu)。這個(gè)
    發(fā)表于 06-16 16:48

    FPGA雙沿采樣IDDR原語實(shí)現(xiàn) 精選資料推薦

    1.1 FPGA設(shè)計(jì)思想與技巧1.1.1 本節(jié)目錄1)本節(jié)目錄;2)本節(jié)引言;3)FPGA簡介;4)FPGA雙沿采樣IDDR原語實(shí)現(xiàn);5)
    發(fā)表于 07-26 06:37

    STM32入門RCC與復(fù)位

    【自我總結(jié)2】STM32入門RCC與復(fù)位【自我總結(jié)】STM32入門RCC與復(fù)位【自我總結(jié)2】STM32入門
    發(fā)表于 08-20 07:48

    Gowin FPGA原語使用手冊

    Gowin FPGA原語使用指南
    發(fā)表于 09-30 06:59

    Xilinx 7 Series FPGA時(shí)鐘網(wǎng)絡(luò)的區(qū)別(BUFG,BUFGR,BUFIO

    當(dāng)Xilinx 7Series FPGA中,存在3種主要的時(shí)鐘網(wǎng)絡(luò):BUFG,BUFR,BUFIO以及他們所衍生出的各種變種。那么他們有什么主要特點(diǎn)和區(qū)別呢? BUFIO是IO時(shí)鐘網(wǎng)絡(luò),顧名思義,它
    發(fā)表于 02-08 05:31 ?2374次閱讀
    Xilinx 7 Series <b class='flag-5'>FPGA</b>時(shí)鐘網(wǎng)絡(luò)的區(qū)別(BUFG,BUFGR,<b class='flag-5'>BUFIO</b>)

    Xilinx FPGA常用原語介紹

    項(xiàng)目中主要用到的原語與IO端口有關(guān),所以基本在Input/Output Functions 和IO兩類中。下面著重介紹實(shí)際中所用到的幾個(gè)原語,芯片A7系列。
    發(fā)表于 01-06 11:23 ?1.6w次閱讀
    Xilinx <b class='flag-5'>FPGA</b>常用<b class='flag-5'>原語</b>介紹

    Vivado IDDR與ODDR原語的使用

    只能發(fā)生在FPGA的IOB上面,這里有特定的硬件結(jié)構(gòu)可以實(shí)驗(yàn)上面單沿變雙沿的方法,也就是使用原語進(jìn)行一些列的操作。
    發(fā)表于 01-25 07:07 ?12次下載
    Vivado IDDR與ODDR<b class='flag-5'>原語</b>的使用

    (29)FPGA原語設(shè)計(jì)(差分時(shí)鐘轉(zhuǎn)單端時(shí)鐘)

    (29)FPGA原語設(shè)計(jì)(差分時(shí)鐘轉(zhuǎn)單端時(shí)鐘)1.1 目錄1)目錄2)FPGA簡介3)Verilog HDL簡介4)FPGA原語設(shè)計(jì)(差分時(shí)
    發(fā)表于 12-29 19:41 ?5次下載
    (29)<b class='flag-5'>FPGA</b><b class='flag-5'>原語</b>設(shè)計(jì)(差分時(shí)鐘轉(zhuǎn)單端時(shí)鐘)

    (30)FPGA原語設(shè)計(jì)(單端時(shí)鐘轉(zhuǎn)差分時(shí)鐘)

    (30)FPGA原語設(shè)計(jì)(單端時(shí)鐘轉(zhuǎn)差分時(shí)鐘)1.1 目錄1)目錄2)FPGA簡介3)Verilog HDL簡介4)FPGA原語設(shè)計(jì)(單端時(shí)
    發(fā)表于 12-29 19:41 ?10次下載
    (30)<b class='flag-5'>FPGA</b><b class='flag-5'>原語</b>設(shè)計(jì)(單端時(shí)鐘轉(zhuǎn)差分時(shí)鐘)

    Xilinx FPGA學(xué)習(xí)筆記:原語BUFIO理解

    我一直沒搞明白BUFIO是干嘛用的。
    的頭像 發(fā)表于 05-08 15:20 ?2538次閱讀
    Xilinx <b class='flag-5'>FPGA</b>學(xué)習(xí)筆記:<b class='flag-5'>原語</b><b class='flag-5'>BUFIO</b>的<b class='flag-5'>理解</b>