搜狐首页 科技 拜见宫主大人

手机搜狐

SOHU.COM

在FPGA设计中,时序就是全部

↑点击上方“电子工程专辑”轻松关注

当你的FPGA设计不能满足时序要求时,原因也许并不明显。解决方案不仅仅依赖于使用FPGA的实现工具来优化设计从而满足时序要求,也需要设计者具有明确目标和诊断/隔离时序问题的能力。设计者现在有一些小技巧和帮助来设置时钟;使用像Synopsys Synplify Premier一样的工具正确地设置时序约束;然后调整参数使之满足赛灵思FPGA设计性能的目标。

会有来自不同角度的挑战,包括:

让我更进一步地观察这三类中的技术,检验如何使用它们来达到时序目的。

第一步:更好的设计计划

最重要的就是确定正确且完整的设计约束。这些约束用于设计意图以及性能的目标和综合工具之间的通信。设计一旦综合完毕,这些约束和关键路径信息将被自动注释到Vivado设计套件的摆放和路由(PR)工具中,进一步确保满足时序。

第二步:RTL代码风格和关键路径调整

为了获得更好的时序,我们建议使用特定的代码风格来描述有限状态机、RAM、数学/DSP功能、时钟树和移位寄存器。结果会提高时序QoR,因为综合工具能够推断一个实现使用了FPGA原语的构件。

此外,这些代码风格让你免于创建不必要的逻辑,例如可推测的锁存器、RAM的读/写检查逻辑和打包进入DSP原语的逻辑。当需要更多这方面主题时,使用综合工具中的核生成器就成为值得考虑的关键点了。

第三步:获得最终的时序收敛

在综合、摆放和路由之后能够报告总体的时序信息。例如,Synplify软件允许你使用TCL命令(report_timing)报告设计的具体部分。为了进一步提高时序QoR,我们建议你关联综合之后和PR之后的时序结果,具体是在时序关键路径上给定起点和终点的边界。

看完本文有收获?请分享给更多人

关注「电子工程专辑」,做优秀工程师!

回复关键词有干货:电路设计丨电容丨三极管丨PCB丨接地??????

长按二维码识别关注

阅读原文可一键关注+历史信息

精选