Verilog中if语句和case语句综合出的电路区别
区别是 if else
的逻辑判断有优先级,最内层的 if
的优先级最高,case
的逻辑判断是并列的。
每个 if else
综合出来的电路是一个 2 选 1 选通器。当信号有明显优先级时使用该语句,但是 if
嵌套太多的话会导致路径延时过大,降低运行速度。所以在判定条件较少的时候使用。if else
综合出的电路面积较小。
case语句适用于无明显优先级的逻辑判断,这些逻辑条件都处于同一个优先级且互斥,比如实现对速度要求较高的编解码;case结构电路速度较快,但占用面积较大,综合为 n 选 1 mux电路。