1. 程式人生 > >VHDL VHDL語言中buffer與inout的區別

VHDL VHDL語言中buffer與inout的區別

INOUT為輸入輸出雙向埠,即從埠內部看,可以對埠進行賦值,即輸出資料。也可以從此埠讀入資料,即輸入。
BUFFER為緩衝埠,功能與INOUT類似,區別在於當需要讀入資料時,只允許內部回讀內部產生的輸出訊號,即反饋。舉個例子,設計一個計數器的時候可以將輸出的計數訊號定義為BUFFER,這樣回讀輸出訊號可以做下一計數值的初始值,要是定義為inout先前的值就被覆蓋了!

buffer屬於雙向埠,既允許讀資料,也允許寫資料。但規定該埠只有一個源,不允許多重驅動,不與其它實體的輸出埠、雙向埠相連。它的驅動源可以是其它實體的緩衝埠,也可以是設計實體的內部訊號源。它可以用於反饋,在實體內部建立一個可讀的緩衝埠。

就是說buffer 僅僅是一個數據快取器,不能用於IO輸出!