我遇到了优先级编码器设计,并找到了一种使用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