2017-03-05 13 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

2番目の質問に答えるのに十分な情報がありません。 DATA_BUSの使用方法に関する詳細情報を提供できますか?ワイヤ上で連続的な割り当てを行うこともできます。 –

+0

このウェブサイトからは、行がどこにあるかがわかります。 LCD画面に表示するコードで使用されます。 http://www.johnloomis.org/digitallab/lcdlab/lcdlab3/lcdlab3.qdoc.html –

答えて

2

これは、3値演算子を使用したDATA_BUSへの連続的な代入文です。

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

3者演算子は、ミニ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の真理値を反映するように編集されました。 LCD_RW_INTは、そのビットがすべて0である場合、Falseです。 –

+0

LCD_RW_INTを提供したソースを見た後は1ビットのフラグであるため、1'b1は真、1'b0は偽になります。 –

関連する問題