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