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

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

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

3天內不再提示

雙向IO與IOB詳解

FPGA技術驛站 ? 來源:FPGA技術驛站 ? 2024-09-18 10:39 ? 次閱讀

典型的全雙工(Full Duplex)系統如下圖所示,芯片1和芯片2之間有彼此獨立的數據傳輸線,這意味著芯片1和芯片2可以同時給對方發送數據而不會發生沖突。SPI/UART采用的就是全雙工通信方式。半雙工系統則不同,芯片1和芯片2之間只有一條專用的且被彼此共享的數據傳輸線。這就要求芯片1和芯片2必須協商好,當前誰發送數據,誰接收數據。如果兩者同時發送數據就會導致發送沖突,從而造成數據丟失。I2C采用的就是半雙工通信方式。

wKgaombqPVCAYUurAAAQgYY5cBs627.jpg

wKgZombqPVCAF-zxAAAUpdyYQm4735.jpg

在上面兩張圖片中,其中的三角形代表輸入/輸出緩沖器(IBUF/OBUF),在半雙工系統中,多了一個控制信號TxEn,該信號控制的是三態緩沖器。這里我們先看一下三態緩沖器的真值表,如下圖所示。可以看到TxEn為1時三態緩沖器輸出等于輸入,為0時,輸出為高阻。當芯片1和芯片2的TxEn均為高時,兩者均會驅動數據傳輸線發送數據,造成沖突。這在半雙工系統中是一定要避免的。

wKgaombqPVCAdFxWAAAx5i896AQ450.jpg

無論是VHDL還是Verilog/SystemVerilog,都提供了相應的語句描述三態緩沖器,而綜合工具也可將其正確地推斷出來。下面給出了三態緩沖器對應的VHDL代碼和Verilog代碼。其中io_data被聲明為雙向信號。需要注意的是盡管VHDL不區分大小寫,但高阻態則必須用大寫Z來表示,Verilog中大小寫均可。

VHDL代碼

wKgZombqPVCAH4foAAA08SenqNc918.jpg

Verilog/SystemVerilog代碼

wKgZombqPVCAVwOSAAAsam0vIwo456.jpg

當前主流的FPGA結構中,三態緩沖器只存在于IOB(Input/Output Block)中。因此,對應的雙向IO一定要放在設計的頂層、。如果在子模塊中使用了三態緩沖器,如下圖的I2C子模塊,因為綜合工具判斷其出現在子模塊中,所以會將三態緩沖器移除使其成為普通輸出,從而造成功能錯誤。

wKgaombqPVCAQ9MkAAAquJtMsgs104.jpg

我們看一個案例,相應的VHDL代碼和SystemVerilog代碼如下圖所示。雙向端口bio均通過關鍵字inout定義。bio作為輸入時和信號b相關,作為輸出時和信號a相關。信號a由寄存器輸出,信號b連接輸出寄存器的輸入端。這兩組寄存器都可以放置在IOB內。

wKgaombqPVCAFwEAAAF9JPcqaTk896.jpg

wKgaombqPVCANyVCAABRCX9w28w254.jpg

通過如下圖所示約束可將這兩組寄存器放置在IOB內,這里屬性IOB的作用對象是通過命令get_cells獲取的寄存器對象。通過命令report_datasheet可查看是否放置成功。如顯示FDRE(IO)則說明該寄存器在IOB內。

wKgZombqPVCAXLDLAAAn5f7HaS4916.jpg

wKgZombqPVGAWHkYAADI5clP4zc945.jpg

也可以通過report_io_reg查看寄存器是否在IOB內。

wKgZombqPVCAAEWpAAAIVFTxS8o653.jpg

wKgaombqPVGAAnGkAAFHkeCLZFU995.jpg

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

    關注

    1620

    文章

    21510

    瀏覽量

    598882
  • 芯片
    +關注

    關注

    450

    文章

    49631

    瀏覽量

    417121
  • 緩沖器
    +關注

    關注

    6

    文章

    1903

    瀏覽量

    45324
  • Verilog
    +關注

    關注

    28

    文章

    1333

    瀏覽量

    109712

原文標題:雙向IO與IOB

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

收藏 人收藏

    評論

    相關推薦

    什么是準雙向IO和開漏輸出?上拉電阻的好處和選擇原則

    單片機IO口內部的結構,主要是三種:準雙向IO、開漏輸出、強推挽輸出
    的頭像 發表于 11-09 16:27 ?1259次閱讀
    什么是準<b class='flag-5'>雙向</b><b class='flag-5'>IO</b>和開漏輸出?上拉電阻的好處和選擇原則

    FPGA中雙向端口IO的研究

    [attach]***[/attach]FPGA中雙向端口IO的研究針對現 場 可 編 程 門 陣 列 芯 片 的 特 點 研 究 中 雙 向 端 口 的 設 計同 時 給出 仿真初始化雙向端口 的方法 采用這種
    發表于 08-12 12:00

    無法將符號組合到單個IOB

    的符號和/或與輸入,輸出,或一致的性質類型的IO組件雙向使用,不包含需要更具體的IO組件類型的其他符號或屬性。每個下面的約束指定了一個非法物理站點類型IOB的組分:符號
    發表于 10-10 11:49

    DCM/IOB不合適

    嗨,我的項目合成確定,但在奇怪的錯誤實現中斷:地點:1012- 已發現時鐘IOB / DCM組件對未放置在最佳時鐘IOB / DCM站點對。時鐘組件放置在現場。如果將時鐘IO / DCM站點放置
    發表于 05-10 09:29

    IOB / BUFGCTRL時鐘元件對發生錯誤

    IO可以使用IOB和時鐘緩沖器之間的快速路徑。具有時鐘功能的IOB站點,在其設備的一半(TOP或BOTTOM)中具有專用于BUFGCTRL站點的快速路徑。您可能想要分析存在此問題的原因并進行更正。這
    發表于 09-06 10:33

    不兼容的IOB被鎖定到同一個銀行11沖突的IO標準是什么

    鎖定IOB的列表:fmc_imageon_vita_receiver_0_io_vita_spi_mosi_pin hdmi_data [23
    發表于 07-14 15:53

    stm32單片機準雙向IO口配置介紹

    我們在開始學習51內核的單片機的時候就知道,p0口的引腳都是雙向IO口,P1,P2,P3的IO口需要雙向使用時需要外接上拉電阻,故稱為準雙向
    發表于 02-21 07:00

    一文詳解Spartan-6系列IO Tile結構

    對Spartan-6系列FPGA來說,一個IO Tile包括2個IOB、2個ILOGIC、2個OLOGIC、2個IODELAY。 圖 1Spartan-6系列IO Tile結構圖 圖 2Spartan-6 FPGA I/O Ba
    的頭像 發表于 07-14 06:50 ?8112次閱讀
    一文<b class='flag-5'>詳解</b>Spartan-6系列<b class='flag-5'>IO</b> Tile結構

    《Linux設備驅動開發詳解》第11章、內存與IO訪問

    《Linux設備驅動開發詳解》第11章、內存與IO訪問
    發表于 10-27 11:27 ?6次下載
    《Linux設備驅動開發<b class='flag-5'>詳解</b>》第11章、內存與<b class='flag-5'>IO</b>訪問

    《Linux設備驅動開發詳解》第9章、Linux設備驅動中的異步通知與異步IO

    《Linux設備驅動開發詳解》第9章、Linux設備驅動中的異步通知與異步IO
    發表于 10-27 11:33 ?0次下載
    《Linux設備驅動開發<b class='flag-5'>詳解</b>》第9章、Linux設備驅動中的異步通知與異步<b class='flag-5'>IO</b>

    《Linux設備驅動開發詳解》第8章、Linux設備驅動中的阻塞與非阻塞IO

    《Linux設備驅動開發詳解》第8章、Linux設備驅動中的阻塞與非阻塞IO
    發表于 10-27 11:35 ?9次下載
    《Linux設備驅動開發<b class='flag-5'>詳解</b>》第8章、Linux設備驅動中的阻塞與非阻塞<b class='flag-5'>IO</b>

    FPGA中IOB寄存器的使用教程詳細說明

    一個fpga主要是由可編程輸入輸出單元(圖中的IOB模塊),可編程邏輯單元(CLB模塊),塊RAM(圖中的BRAM,也屬于內嵌硬件),數字時鐘管理(DCM,也屬于內嵌硬件),還有一些內嵌的專用的硬件模塊(DSP),IOB寄存器就在圖中的
    發表于 12-28 17:13 ?19次下載

    FPGA中IOB寄存器的使用心得

     一個fpga主要是由可編程輸入輸出單元(圖中的IOB模塊),可編程邏輯單元(CLB模塊),塊RAM(圖中的BRAM,也屬于內嵌硬件),數字時鐘管理(DCM,也屬于內嵌硬件),還有一些內嵌的專用的硬件模塊(DSP),IOB寄存器就在圖中的
    發表于 12-28 17:13 ?9次下載

    xilinx FPGA的IOB使用教程說明

    xilinx FPGA的資源一般指IOB,CLB,BRAM,DCM,DSP五種資源。其中IOB就是input/output block,完成不同電氣特性下對輸入輸出信號的的驅動和匹配要求。
    發表于 12-29 16:59 ?12次下載
    xilinx FPGA的<b class='flag-5'>IOB</b>使用教程說明

    關于stm32單片機準雙向IO口配置

    我們在開始學習51內核的單片機的時候就知道,p0口的引腳都是雙向IO口,P1,P2,P3的IO口需要雙向使用時需要外接上拉電阻,故稱為準雙向
    發表于 12-24 19:19 ?19次下載
    關于stm32單片機準<b class='flag-5'>雙向</b><b class='flag-5'>IO</b>口配置