硬體描述語言與驗證
在上方的4位元計數器中,當count為15時時脈上升,count會變成多少?
reg [3:0] count;
always @(posedge clk)
count <= count + 1;
- A16
- B0
- C維持15不變
查看答案與解析
正確答案:B. 0
4位元的reg只能表示0~15。15(二進位為1111)加1會變成10000,但上位的位元容納不下而被捨棄,所以count會變成0000,也就是回到0。利用這個性質,可以製作每隔固定的數目就重複的計數器。另一方面,若在非預期之處發生位數溢位就會成為錯誤的原因,因此隨時注意訊號的位元寬度是很重要的。
- A. 4位元的範圍是0~15。
- B. 正確。4位元無法表示16,所以回到0。
- C. 加法會進行,並溢位而變成0。