verilog 中综合后case语句为什么比if面积大

2025-01-02 20:32:18
推荐回答(1个)
回答1:

首先要明确 使用case语句不一定比使用if语句得到的电路面积小
可能大 可能小 也可能一样
if语句中优先级高的信号如果延迟较大的话 可能比用case实现的并行结构的面积要小
HDL是“硬件描述语言”而不是"硬件设计语言" 它和逻辑的复杂程度、约束、EDA工具算法以及工艺库共同决定实现后的速度、面积、功耗和可靠性等指标
建议你先看一下综合后的Schematic 找出两者的差异
几点说明:
a. 传输门的实现方式会比与或门面积小
b. EDA工具会根据约束来决定if的实现方式 可能有优先级也可能没有优先级
c. 综合指导命令可以影响case和if的实现方式(例如infer_mux、full_case、parallel_case)