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

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

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

簡談FPGA/Verilog中inout端口使用方法

FPGA學(xué)習(xí)交流 ? 2018-08-13 13:45 ? 次閱讀

大家好,又到了每日學(xué)習(xí)的時(shí)間了,今天我們來聊一聊FPGA/Verilog中inout端口使用方法。

輸入端口可以由wire/reg驅(qū)動(dòng),但輸入端口只能是wire;輸出端口可以使wire/reg類型,輸出端口只能驅(qū)動(dòng)wire;若輸出端口在過程塊中賦值則為reg型,若在過程塊外賦值則為net型。用關(guān)鍵詞inout聲明一個(gè)雙向端口, inout端口不能聲明為reg類型,只能是wire類型;輸入和雙向端口不能聲明為寄存器類型。

INOUT引腳:

1.FPGA IO在做輸入時(shí),可以用作高阻態(tài),這就是所說的高阻輸入;

2.FPGA IO在做輸出時(shí),則可以直接用來輸入輸出。

芯片外部引腳很多都使用inout類型的,為的是節(jié)省管腿。就是一個(gè)端口同時(shí)做輸入和輸出。 inout在具體實(shí)現(xiàn)上一般用三態(tài)門來實(shí)現(xiàn)。三態(tài)門的第三個(gè)狀態(tài)就是高阻'Z'。當(dāng)inout端口不輸出時(shí),將三態(tài)門置高阻。這樣信號(hào)就不會(huì)因?yàn)閮啥送瑫r(shí)輸出而出錯(cuò)了,更詳細(xì)的內(nèi)容可以搜索一下三態(tài)門tri-state的資料.

1 使用inout類型數(shù)據(jù),可以用如下寫法:
inout data;
reg data_in;
reg data_out;

//data為輸出時(shí)
reg en_output;
assign data_inout=en_output?data_out:1'bz;//en_output控制三態(tài)門
//對(duì)于data_out,可以通過組合邏輯或者時(shí)序邏輯根據(jù)data對(duì)其賦值.通過控制en_output的高低電平,從而設(shè)置data是輸出數(shù)據(jù)還是處于高阻態(tài),如果處于高阻態(tài),則此時(shí)當(dāng)作輸入端口使用.en_output可以通過相關(guān)電路來控制.

2 編寫測試模塊時(shí),對(duì)于inout類型的端口,需要定義成wire類型變量,而其它輸入端口都定義成reg類型,這兩者是有區(qū)別的.
當(dāng)上面例子中的data_inout用作輸入時(shí),需要賦值給data_inout,其余情況可以斷開.

此時(shí)可以用assign語句實(shí)現(xiàn):assign data_inout=link?data_in_t:1'bz;

其中的link ,data_in_t是reg類型變量,在測試模塊中賦值.

另外,可以設(shè)置一個(gè)輸出端口觀察data_inout用作輸出的情況:
Wire data_out;
Assign data_out_t=(!link)?data_inout:1'bz;

但要注意給data_inout賦值的時(shí)候,link選通信號(hào)如何給呢?

首先測試文件給源文件的data_inout數(shù)據(jù)賦值,那只能在原INOUT數(shù)據(jù)為高阻態(tài)的時(shí)候才可以賦值,故link信號(hào)即該INOUT數(shù)據(jù)為高阻太時(shí)的控制信號(hào)。

當(dāng)不需要測試文件給你data_inout數(shù)據(jù)賦值的時(shí)候,測試文件的data_inout接口因?yàn)楦咦钁B(tài),從而不影響源文件data_inout接口的其他操作。

今天就聊到這里,各位,加油。

聲明:本文內(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)投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1620

    文章

    21510

    瀏覽量

    598921
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    FPGA頻率測量的方法有哪些?

    FPGA在實(shí)際應(yīng)用,頻率測量不可或缺,對(duì)于高頻及低頻信號(hào)的頻率測量,FPGA有哪些方法呢?提供Verilog源碼會(huì)更好。
    發(fā)表于 06-19 14:55

    FPGA研發(fā)設(shè)計(jì)相關(guān)規(guī)范(很實(shí)用)

    設(shè)計(jì)的考慮,子模塊輸出信號(hào)建議用寄存器; 13、內(nèi)部模塊端口避免inout,最好在最頂層模塊處理雙向總線; 14、子模塊禁止使用三態(tài)邏輯,可以在頂層模塊使用; 15、禁止出現(xiàn)未連接的端口
    發(fā)表于 05-13 15:39

    Xilinx Zynq-7000嵌入式系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

    今天給大俠帶來Xilinx Zynq-7000嵌入式系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn),話不多說,上貨。 Xilinx的ZYNQ系列FPGA是二種看上去對(duì)立面的思想的融合,ARM處理器的串行執(zhí)行+FP
    發(fā)表于 05-08 16:23

    FPGA研發(fā)設(shè)計(jì)相關(guān)規(guī)范(很實(shí)用)

    ,子模塊輸出信號(hào)建議用寄存器; 13、內(nèi)部模塊端口避免inout,最好在最頂層模塊處理雙向總線; 14、子模塊禁止使用三態(tài)邏輯,可以在頂層模塊使用; 15、禁止出現(xiàn)未連接的端口; 1
    發(fā)表于 04-16 15:42

    veriloginput和output作用

    Verilog,input和output用于定義模塊的輸入和輸出端口。它們是用于通信的關(guān)鍵元素,定義了模塊與其它模塊之間的數(shù)據(jù)傳輸接口。通過input和output端口,模塊之間可
    的頭像 發(fā)表于 02-23 10:29 ?2224次閱讀

    verilog端口類型有哪三種

    Verilog ,端口類型有三種:輸入端口(input)、輸出端口(output)和雙向端口
    的頭像 發(fā)表于 02-23 10:28 ?1366次閱讀

    verilog調(diào)用模塊端口對(duì)應(yīng)方式

    Verilog是一種硬件描述語言(HDL),廣泛應(yīng)用于數(shù)字電路設(shè)計(jì)和硬件驗(yàn)證。在Verilog,模塊是構(gòu)建電路的基本單元,而模塊端口對(duì)應(yīng)方式則用于描述模塊之間信號(hào)傳遞的方式。本文將介
    的頭像 發(fā)表于 02-23 10:20 ?1089次閱讀

    verilog雙向端口的使用

    輸出信號(hào)。本文將詳細(xì)介紹Verilog雙向端口的使用,并提供示例說明其在實(shí)際應(yīng)用的作用。 第一部分:雙向端口的定義和語法 在Verilog
    的頭像 發(fā)表于 02-23 10:18 ?978次閱讀

    inout類型怎么仿真

    InOut類型的仿真是指通過計(jì)算機(jī)軟件模擬和模擬硬件組件之間的輸入和輸出交互過程,以驗(yàn)證和評(píng)估電子電路設(shè)計(jì)的正確性和性能。下面將詳細(xì)介紹InOut類型的仿真及其實(shí)現(xiàn)方法。 一、InOut
    的頭像 發(fā)表于 02-23 10:17 ?646次閱讀

    verilog inout用法與仿真

    Verilog語言是一種硬件描述語言(HDL),用于描述數(shù)字邏輯電路和系統(tǒng)。它是一種非常強(qiáng)大且廣泛使用的語言,在數(shù)字電路設(shè)計(jì)扮演著重要的角色。其中, inoutVerilog
    的頭像 發(fā)表于 02-23 10:15 ?1967次閱讀

    verilog函數(shù)和任務(wù)對(duì)比

    verilog,函數(shù)和任務(wù)均用來描述共同的代碼段,并且在模式內(nèi)任意位置被調(diào)用,提高代碼效率,讓代碼更加的直觀,提高代碼可讀性。但是在實(shí)際使用的過程,函數(shù)和任務(wù)也存在諸多的不同,下面將對(duì)而這進(jìn)行
    的頭像 發(fā)表于 02-12 18:43 ?747次閱讀

    FPGA的片內(nèi)資源

    FPGA的片內(nèi)資源
    發(fā)表于 01-08 22:12

    示波器探頭接地彈簧的使用方法和注意事項(xiàng)

    使用方法和注意事項(xiàng),以下將進(jìn)行詳細(xì)介紹。 一、示波器探頭接地彈簧的使用方法 1. 將探頭連接到示波器的輸入端口。探頭一般有兩個(gè)連接端口,一個(gè)是探頭接地
    的頭像 發(fā)表于 01-08 15:29 ?1573次閱讀

    PCBA焊接電路電烙鐵的使用方法

    PCBA焊接電路電烙鐵的使用方法的相關(guān)知識(shí)。
    的頭像 發(fā)表于 12-26 10:27 ?618次閱讀

    Verilog 模塊基本結(jié)構(gòu)

    verilog語法手冊(cè)
    發(fā)表于 10-23 09:28 ?0次下載