在Verilog HDL語言有一個特殊的運算符:位拼接運算符{}。用這個運算符可以把兩個或多個信號的
某些位拼接起來進行運算操作。其使用方法如下:
{信號1的某幾位,信號2的某幾位,..,..,信號n的某幾位}
即把某些信號的某些位詳細地列出來,中間用逗號分開,最后用大括號括起來表示一個整體信號。見
下例:
{a,b[3:0],w,3’b101}
也可以寫成為
{a,b[3],b[2],b[1],b[0],w,1’b1,1’b0,1’b1}
在位拼接表達式中不允許存在沒有指明位數(shù)的信號。這是因為在計算拼接信號的位寬的大小時必需知
道其中每個信號的位寬。
位拼接還可以用重復(fù)法來簡化表達式。見下例:
{4{w}} //這等同于{w,w,w,w}
位拼接還可以用嵌套的方式來表達。見下例:
{b,{3{a,b}}} //這等同于{b,a,b,a,b,a,b}
用于表示重復(fù)的表達式如上例中的4和3,必須是常數(shù)表達式。
|