2017-03-05 78 views
-2

http://www.johnloomis.org/digitallab/lcdlab/lcdlab3/lcdlab3.qdoc.html這條線在verilog中意味着什麼?

如何更改DATA_BUS以便它不使用inout。

// BIDIRECTIONAL TRI STATE LCD DATA BUS 

assign DATA_BUS = (LCD_RW_INT? 8'bZZZZZZZZ: DATA_BUS_VALUE) 
+0

沒有足夠的信息來回答你的第二個問題。你能提供更多關於如何使用DATA_BUS的信息嗎?連續分配也可以在電線上完成。 –

+0

從這個網站是線路從哪裏。用於在LCD屏幕上顯示的代碼。 http://www.johnloomis.org/digitallab/lcdlab/lcdlab3/lcdlab3.qdoc.html –

回答

2

這是使用三元運算符對DATA_BUS的連續賦值語句。

assign DATA_BUS = (LCD_RW_INT? 8'bZZZZZZZZ: DATA_BUS_VALUE) 

三元運算符可以被認爲是一個迷你if-else語句。在英語中,它可以被翻譯爲假設LCD_RW_INT是1位標誌:

if LCD_RW_INT == 1'b1: 
    DATA_BUS = 8'bZZZZZZZZ 
else: 
    DATA_BUS = DATA_BUS_VALUE 
+0

True代表什麼? –

+0

編輯以反映LCD_RW_INT的真實值。當所有位都爲0時,LCD_RW_INT爲假。 –

+0

查看您提供的源LCD_RW_INT是一個位的標誌,所以1'b1將爲真,1'b0將爲假。 –