質問: ``` {VGA_R, VGA_G, VGA_B} <= { {4{rgb_1[2]}}, {4{rgb_1[1]}}, {4{rgb_1[0]}} }; ``` この式なのですが、理解できなくて ご教授いただけると助かります。
回答: 以下のverilog記述と等価です。 ``` VGA_R <= {rgb_1[2], rgb_1[2], rgb_1[2], rgb_1[2]}; VGA_G <= {rgb_1[1], rgb_1[1], rgb_1[1], rgb_1[1]}; VGA_B <= {rgb_1[0], rgb_1[0], rgb_1[0], rgb_1[0]}; ``` VGA_R/G/B、この三つの信号の幅は4ビット以上はずです。 `{}`は連接演算子で、`{VGA_R, VGA_G, VGA_B}`では左は`VGA_R`、右は`VGA_B`その順で合計12ビットの信号としてまとめて取り扱っています。 `{4{rgb_1[2]}}`は`{rgb_1[2], rgb_1[2], rgb_1[2], rgb_1[2]}`の略で、四つの`rgb_1[2]`という意味です。