から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)
から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)
これは、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
Trueは何を意味していますか? –
LCD_RW_INTの真理値を反映するように編集されました。 LCD_RW_INTは、そのビットがすべて0である場合、Falseです。 –
LCD_RW_INTを提供したソースを見た後は1ビットのフラグであるため、1'b1は真、1'b0は偽になります。 –
2番目の質問に答えるのに十分な情報がありません。 DATA_BUSの使用方法に関する詳細情報を提供できますか?ワイヤ上で連続的な割り当てを行うこともできます。 –
このウェブサイトからは、行がどこにあるかがわかります。 LCD画面に表示するコードで使用されます。 http://www.johnloomis.org/digitallab/lcdlab/lcdlab3/lcdlab3.qdoc.html –