|
1. 移位運(yùn)算符 移位運(yùn)算符是雙目運(yùn)算符,將運(yùn)算符左邊的操作數(shù)左移或右移運(yùn)算符右邊的操作數(shù)指定的位數(shù),用0來(lái)補(bǔ)充空閑位。如果右邊操作數(shù)的值為X或Z,則移位結(jié)果為未知數(shù)X。 Verilog HDL中有兩種移位運(yùn)算符:<<(左邏輯移)和>>(右邏輯移)。 例程1 仿真圖 從仿真圖,可以看出,每次a都向左邊移動(dòng)移位,后面補(bǔ)充0,直到把邏輯1溢出,后面就一直為0了。每次b都向右邊移動(dòng)移位,前面補(bǔ)充0,直到把邏輯1溢出,就一直為0了。 總結(jié):移位運(yùn)算符的使用時(shí),左移可以看成是乘以2,右移可以看成是除以2。所以移位運(yùn)算符用在計(jì)算中,代替乘法和除法。尤其是除法,使用移位的方式,可以節(jié)省資源。2. 位拼運(yùn)算符 位拼運(yùn)算符是將多個(gè)小的表達(dá)式合并形成一個(gè)大的表達(dá)式,用符號(hào){}來(lái)實(shí)現(xiàn)多個(gè)表達(dá)式的連接運(yùn)算,各個(gè)表達(dá)式之間用“,”隔開(kāi)。 例程2 仿真圖 從圖中可以看出,輸出從左向右,每次0變換一個(gè)位置,到最右邊時(shí)就會(huì)放返回最左邊繼續(xù)循環(huán),使用拼位的運(yùn)算符,就會(huì)使程序編寫(xiě)起來(lái)變得簡(jiǎn)單了。 代碼的意思就是,每次把最低位放到最高位,讓前三位放到后面,這樣邏輯“1”就實(shí)現(xiàn)了移位,形成了循環(huán)。 |