對inout埠的理解

2021-06-10 07:31:21 字數 842 閱讀 4885

選線法與解碼法

verilog inout 雙向口使用和**

對inout埠的理解

對於含有inout埠的模組內部而言, inout埠可以理解成從「映像暫存器」 接收連續賦值的線。在定義乙個inout埠時,同時也要定義乙個暫存器作為inout埠的「 映像暫存器」,並將inout埠和這個「 映像暫存器」 用乙個三態門連線起來。當inout埠用作輸出埠時,將inout埠的「 映像暫存器」 設定成所希望的輸出值,並且將三態門選通 這時inout埠的值隨「 映像暫存器」的變化而變化;當inout埠用作輸入埠時,三態門設為高阻態, 斷開「 映像暫存器」 與inout埠的連線 此時就可以像對待普通的輸入埠一樣對它進行操作。

而對於含有inout埠的模組外部而言,需要指定當它作為輸入埠時,其資料的**,以及當它作為輸出埠時其資料的歸屬。

對於有inout( 雙向) 埠的verilog程式設計 要注意以下幾點:   

( 1 ) 對於inout埠,要定義乙個與之相連的「 映像暫存器」。當inout埠作為輸出埠時, 將二者連通; 而當inout埠不作為輸出埠時,要給inout埠賦高阻態來斷開與「 映像暫存器」的連線。

( 2 ) 在例項化含inout( 雙向)埠的模組時,與inout埠相連的只能是乙個wire型別的變數

( 3 ) 不論是模組設計還是**,由於inout埠兼有輸人埠和輸出埠的功能,所以必須分別指定當inout埠作為輸入(輸出)埠時,它與其它單元的連線情況和需要完成的操作。

(4)注意在**時,測試模組與被測模組之間雙向介面的資料方向。測試模組的乙個wire變數,必須在被測模組為輸出時為'z',而在測試模組為輸入(此時其輸出為'z')時有資料輸出。

testbench中inout型別埠的處理方式

測試平台中需要宣告與待測模組輸入輸出埠對應的變數。與輸入埠相連線的變數定義為reg 與輸出埠相連線的變數定義為 wire。雙向埠inout在測試中需要進行簡單的處理。方法如下 為雙向埠設定中間變數inout reg作為該inout的輸出寄存,inout埠在testbench中要定義為wire型變數,...

關於巨集IN OUT和INOUT的說明

define out define in define inout include define out define in define inout void function1 out int p void function2 in int p void function3 inout int ...

zigbee埠的理解

在乙個終端上,可以有多個端點endpoint,這個概念是很重要的。乙個節點可以有多個端點,0號endpoint是zigbee device object zdo 用的乙個端點,255號是用作廣播。我們自己可以定義的是1 240這些端點。每個端點對應乙個任務taskid。因此,我們每增加乙個端點,就要...