硬體描述語言與驗證 在上方的描述中,時脈上升之前a=0、b=1。上升之後a與b的值會變成什麼?always @(posedge clk) begin a <= b; b <= a; end Aa=1、b=0(互換) Ba=1、b=1 Ca=0、b=0 查看答案與解析 正確答案:A. a=1、b=0(互換) 在非阻塞賦值中,會先評估兩個右邊(b的舊值1與a的舊值0),再同時將1寫入a、0寫入b,因此值會互換。以電路來看,就是將兩個正反器的輸出互相接到對方的輸入。若以阻塞賦值(=)撰寫,第1行a會變成1,第2行的b會代入新的a值1,結果兩者都變成1。 A. 正確。右邊兩者都是以舊值來評估。B. 這是以「=」撰寫時的結果。C. 值不會遺失。