2013-11-29 23 views
-1

我有一些prblm,同時檢查使用if語句在verilog代碼的條件。它也類似於c。但在我的編碼中,它比較了許多使用多個if的字符串。它檢查if語句下面的條件是否成立。如果有更多的字符串匹配,它會執行所有的真正的塊。如果沒有匹配到其他的...所以是任何可能的verilog多倍,如果單一的其他....在這裏,我們不能使用的情況下,因爲條件是比較。多個如果條件與單獨的verilog

+6

顯示你已經嘗試過的一些代碼。 – KethanKumar

+0

沒有顯示對所解決問題的最小理解 – Greg

回答

1

級聯的if語句:

always @* begin 
    if (...) begin 
    // ... 
    end 
    else if (...) begin 
    // ... 
    end 
    else begin 
    // ... 
    end 
end 

通常case語句是一個更好的辦法:

always @* begin 
    case (reg_or_wire) 
    0 : begin 
     // ... 
    end 
    1 : begin 
     // ... 
    end 
    default : begin 
     // ... 
    end 
    endcase 
end 

的情況下值是缺省整型,但你或許應該指定寬度和價值,例如4'b1010,4'ha;