From http://www.johnloomis.org/digitallab/lcdlab/lcdlab3/lcdlab3.qdoc.html
How can I change DATA_BUS so that it is not using inout.
// BIDIRECTIONAL TRI STATE LCD DATA BUS
assign DATA_BUS = (LCD_RW_INT? 8'bZZZZZZZZ: DATA_BUS_VALUE)
This is a continuous assign statement to DATA_BUS using a ternary operator.
assign DATA_BUS = (LCD_RW_INT? 8'bZZZZZZZZ: DATA_BUS_VALUE)
The ternary operator could be thought of as a mini if-else statement. In english it could be translated like so assuming LCD_RW_INT is a 1 bit flag:
if LCD_RW_INT == 1'b1:
DATA_BUS = 8'bZZZZZZZZ
else:
DATA_BUS = DATA_BUS_VALUE