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