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

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

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

FPGA入門之原語BUFIO的理解

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

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

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

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

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

首先、需要明確BUFIO是輸入用的。BUFIO是用來驅動輸入時鐘的,將外部時鐘引入FPGA的!與IOBUF不同啊,但與IBUFG類似,時鐘信號進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(全局時鐘)和GTP_DUAL。然后輸出到BUFG或者,DCM ,PLL的時鐘輸入。

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

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

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

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

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

圖片

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

圖片

結合一下BUFIO的原語結構:

圖片

可以看出:

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

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

就是說virtex里面BUFIO好像只能由Clock-Capable I/O驅動了。

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

    關注

    10

    文章

    1703

    瀏覽量

    131191
  • CLB
    CLB
    +關注

    關注

    0

    文章

    27

    瀏覽量

    5932
  • i/o
    i/o
    +關注

    關注

    0

    文章

    33

    瀏覽量

    4559
收藏 人收藏

    評論

    相關推薦

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

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

    Xilinx FPGA無痛入門,海量教程免費下載

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

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

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

    為什么當我將錯誤降級為警告時, 在FPGA編輯器中就找不到BUFIO2了?

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

    請問ISERDESE2原語支持多少位輸入?

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

    FPGA上有哪些額外的原語?

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

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

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

    STM32入門RCC與復位

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

    Gowin FPGA原語使用手冊

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

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

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

    Xilinx FPGA常用原語介紹

    項目中主要用到的原語與IO端口有關,所以基本在Input/Output Functions 和IO兩類中。下面著重介紹實際中所用到的幾個原語,芯片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上面,這里有特定的硬件結構可以實驗上面單沿變雙沿的方法,也就是使用原語進行一些列的操作。
    發(fā)表于 01-25 07:07 ?12次下載
    Vivado IDDR與ODDR<b class='flag-5'>原語</b>的使用

    (29)FPGA原語設計(差分時鐘轉單端時鐘)

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

    (30)FPGA原語設計(單端時鐘轉差分時鐘)

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

    Xilinx FPGA學習筆記:原語BUFIO理解

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