候选人写完RTL后,综合报告出现大量LUT、少量FF,时序频率却上不去。面试官不希望你只说“多加流水线”,而是希望你先解释组合逻辑与时序逻辑在FPGA物理资源里如何落地。
读图:一个逻辑单元有什么
图是具有LUT、加法逻辑、触发器及多路选择器的FPGA逻辑单元示意,真实器件不同系列会有不同结构。LUT常用于实现组合布尔逻辑,FF保存时钟边沿采样后的状态,布线资源把不同逻辑单元连接成路径。

综合为何不会按“代码行数”分资源
组合赋值:表达式可能映射为LUT、专用进位链或DSP功能,而不是逐行转换成硬件指令。
时序过程:由时钟边沿更新的变量通常需要FF,工具也可能依据约束进行优化、合并或资源重映射。
长组合路径:多级逻辑和布线延迟共同消耗时序预算,单纯减少LUT数量不保证提高最高频率。
让一条超时路径更清晰
先查看时序报告中的起点、终点、逻辑级数、网线延迟、时钟不确定度与建立时间裕量。确认能否采用流水线切分组合路径,并评估新增延迟周期对协议和状态机的影响;也要检查同步设计是否符合时钟约束。
“我会先看综合后实际用了哪些LUT、FF、DSP及布线资源,再以时序路径报告分析超时成因。若加流水线,必须同步处理数据与有效标志的延迟,而不能只插寄存器就宣称性能提高。”
追问:为什么RTL写了寄存器却可能被优化掉?如果寄存器值不可观察、与常量等价或被其他逻辑覆盖,综合器可能合法优化,需以网表和综合日志确认。
凡亿教育 · 电子工程师面试平台

扫码关注






























