《電子技術應用》
您所在的位置:首頁 > 可编程逻辑 > 其他 > FPGA教学——FPGA双向IO使用之三态门说明

FPGA教学——FPGA双向IO使用之三态门说明

2022-10-20
來源:FPGA之家
關鍵詞: FPGA 双向IO 三态门

  在FPGA設計中,雙向IO(輸入輸出引腳)是一個比較麻煩的東西,但是信號線用作總線等雙向數據傳輸時就要用到inout類型。

  以下用液晶的的數據線用作雙向IO示例:

  微信截圖_20221020160850.png

  說是雙向IO端口,其實輸入和輸出不是同時進行的,需要有一個控制信號out_en來控制端口什么時候為輸出,什么時候為輸入。

  那這里就需要引入一個三態門結構電路。

  三態門結構

  那么三態門的結構是怎樣的呢?

  三態門電路的輸出結構和普通門電路的輸出結構有很大的不同,因為它在電路中增加了一個輸出控制端EN。

  微信截圖_20221020161010.png

  由上圖看出,在單相三態門中,當EN=1時,對原電路無影響,電路的輸出符合原來電路的所有邏輯關系,即A可以輸出到B。當EN= 0時,電路內部的所有輸出與外部將處于一種關斷狀態。

  因此,當FPGA的信號線存在雙向IO時,可以有兩個三態門來控制,一個控制輸出,一個控制輸入,結構如下:

  微信截圖_20221020161027.png

  當ENout=1,ENin=0時,雙向三態門的電路傳輸方向是A->B;

  當ENout=0,ENin=1時,雙向三態門的電路傳輸方向是B->A;

  模型分析

  下面簡單做個簡易模型來說明雙向IO如何分別實現作為輸入端口和輸出端口的功能,模塊圖如下:

  微信截圖_20221020161045.png

  模型引腳定義

  (1)輸入口A定義:當雙向端口dinout作為輸出口時,我們將A端口輸入數據傳到模塊中,讓數據從dinout口出來。

  (2)輸出端口B定義:當當雙向端口dinout作為輸入口時,我們將dinout端口輸入數據傳到模塊中,讓數據從B口出來。

  (3)EN控制信號定義:當EN=1時,開通三態門,將dinout作為輸出口使用,當EN=0時,把三態門置為高阻態,這時dinout作為輸入口用。

  代碼展示

  微信截圖_20221020161101.png

  編譯分析后查看RTL視角邏輯電路,符合原有模型設計。

  微信截圖_20221020161134.png

  總結說明

  (1)FPGA內部不允許傳遞雙向IO信號,只有FPGA對外部才能定義為雙向IO端口,即只有在頂層輸出的信號才可以被賦值為高阻態。

  (2)在結構化建模的過程中,一個模塊一個功能的建模,當涉及到內部模塊的端口是雙向IO端口時,然后根據一個雙向IO對應一個輸入,一個輸出和一個使能控制,把模塊中雙向IO的輸出用輸出端口代替,雙向IO的輸入用輸入端口代替,引出使能信號,并把對應assign中賦值的高阻態z根據實際情況給出0或1,來解決FPGA內部雙向IO連接問題。

 更多信息可以來這里獲取==>>電子技術應用-AET<<

微信圖片_20210517164139.jpg

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
主站蜘蛛池模板: 日本久久久网站| 亚洲中文字幕无码专区| 色综合久久久久久久久五月| 精品国产日本| 欧美日韩福利视频| 亚洲a∨一区二区三区| 欧美成在线观看| 在线国产精品网| 欧美日韩精品综合| 日韩中文字幕亚洲精品欧美| 天天干天天操天天干天天操| 国产精品高潮视频| 蜜桃av久久久亚洲精品| 久久久91精品| 精品亚洲第一| 日韩五码在线观看| 欧美大片va欧美在线播放| 精品国产依人香蕉在线精品| 日本一区精品| 日韩中文在线中文网三级| 中文字幕无码不卡免费视频| 国产精品高清免费在线观看| 久久久成人精品| 国产日韩精品视频| 亚洲综合日韩中文字幕v在线| 人妻少妇精品久久| 日韩中文在线字幕| 九九精品在线观看| 91久久精品视频| 在线视频一二三区| 国产呦系列欧美呦日韩呦| 欧美日本高清一区| 91久久精品在线| 日韩在线不卡视频| 免费国产成人av| 国产精品网红直播| 无码无遮挡又大又爽又黄的视频 | 日本一区视频在线观看免费| 国产日韩欧美影视| 国产女人精品视频| 91精品国产网站|