コードが理解できない

[code]

    {VGA_R, VGA_G, VGA_B} <=  { {4{rgb_1[2]}}, {4{rgb_1[1]}}, {4{rgb_1[0]}} };
    
[/code]

この式なのですが、理解できなくて  
ご教授いただけると助かります。




以下のverilog記述と等価です。

[code]

    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]};
    
[/code]

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]`という意味です。

