设计一段 RTL 前,可以先把需求写成两个问题:输出是否只取决于当前输入,以及系统是否需要记住先前的状态。前者帮助划分组合逻辑,后者提示需要寄存器和时钟边界。

阅读相关教程或检查自己的设计时,可以逐项核对:

  1. 每个信号在哪个时钟周期有效?跨周期传递的信息由谁保存?
  2. 组合路径是否过长,需要引入流水线阶段?新增阶段会给接口带来多少延迟?
  3. 复位、使能和时钟域是否明确?仿真结果与综合后的时序约束是否一致?

具体写法还需要结合目标器件、时钟频率和工具报告验证。这份记录保留阅读入口,后续可添加经过实测的代码和波形。

原文:腾讯云开发者社区《在 FPGA 中何时用组合逻辑或时序逻辑》。