我遇到了優先級編碼器設計,並找到了一種使用case語句的新方法。 唯一令人困惑的是,案件陳述是否優先處理案件? 例子:verilog中的case語句
case(1'b1)
A[3]: Y<=4'b1000;
A[2]: Y<=4'b0100;
A[1]: Y<=4'b0010;
A[0]: Y<=4'b0001;
default:Y<=4'b0000;
endcase
在這裏,如果我給A
爲1111
Y
得到1000
即它優先考慮的第一個case語句。 這是爲什麼呢?
哦。那麼我有疑問。這不像寫一個if else語句嗎?那麼爲什麼要寫一個案例陳述? – aditya3524 2013-03-14 20:24:47
@ aditya3524 case語句更清晰,並且通常優先於其他鏈。 – Morgan 2013-03-14 20:27:52
我個人很少看到用這種方式編寫的優先級編碼器。它應該相當於一堆if/else語句。這是更緊湊,但我發現它很難閱讀,因爲case(...)內的值是一個常量。 – dwikle 2013-03-14 20:29:56