xilinx fpga的设计规范和时序问题解决

xilinx fpga的设计规范和时序问题解决
xilinx FPGA在设计时,代码编写尽量使用vivado中的代码模板,模板代码可以综合正确且结构简介的电路结构;Tools>>Language Templates;
在这里插入图片描述在这里插入图片描述
代码框架:I/O模块和时钟尽量放在顶层,目的是资源共享,提高性能,降低功耗;输出采用寄存器输出,降低路径延时保证时序收敛。
复位:官方推荐采用高电平同步复位,降低资源使用和功耗,有助于时序收敛。
时序修正
时序问题主要有两个:建立时间(setup time)和保持时间(hold time)。
建立时间(setup time):指触发器的时钟上升沿到来之前,数据保持稳定的时间。导致建立时间违规主要有两个原因:逻辑级数(Logic Level)太大或者扇出(fanout)太大。
Logic Level:包含一个net和一个LUT延迟。logic level和器件的工作最高频率有关,级数不可以太大,否则会造成时序收敛困难。
解决由建立时间造成的时序收敛问题解决办法是采用重定时的方法,将冗长的组合逻辑进行寄存器打拍输出。
fanout:指模块直接调用下级模块的个数,fanout过大在FPGA表现出来的是netdelay较大,不利于时序收敛,同样和器件、设计频率有关。
没有使用扇出优化时的综合网表
上图是没有使用优化的输出,驱动了11个DSP48E11,最高工作频率为fmax=206.016MHz。
解决fanout的办法:
1,寄存器复制:
通过复制几个相同的寄存器来分担原先由一个寄存器驱动所有模块的问题,继而达到减小扇出的目的。
复制寄存器方法减小扇出代码实现
复制代码解决扇出的综合网表

2,使用max_fanout约束:
在代码中设置信号属性(* max_fanout = “3” *)reg signed [15:0] din_d;
使用max_fanout语句优化后的综合网表
3,使用BUFG(主要针对时钟和复位的扇出太大)

  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
手把手课堂: Xilinx FPGA设计时序约束指南 Xilinx FPGA设计时序约束指南是一份详细的技术指南,旨在帮助设计人员在Xilinx FPGA的设计过程中正确地应用时序约束。该指南提供了关于时序约束的基础知识和最佳实践,并详细介绍了如何使用Xilinx工具来设置和验证时序约束。 在设计FPGA时,时序约束对于确保电路操作的正确性和可靠性至关重要。时序约束指定了电路中不同信号之间的时序关系,例如时钟和数据信号之间的关系。通过正确地设置时序约束,可以确保电路在特定的时钟频率下工作正常,并且可以防止出现时序冲突和故障。 Xilinx FPGA设计时序约束指南首先介绍了时序约束的基本概念,包括时钟信号和数据路径的相关术语和特性。然后,指南详细解释了如何使用Xilinx工具(如Vivado)来设置时序约束,包括使用基于约束文件的约束方法和使用基于时序推导的约束方法。通过这些方法,设计人员可以根据设计需求和时序规范准确地定义时序约束。 此外,该指南还介绍了如何验证时序约束的正确性。通过使用Xilinx工具提供的时序分析功能,设计人员可以分析和优化电路的时序性能,确保设计满足指定的时序要求。指南还提供了一系列实际的案例研究和常见问题解答,帮助设计人员更好地理解和应用时序约束。 综上所述,Xilinx FPGA设计时序约束指南是设计人员在进行FPGA设计时的重要参考资料。通过使用该指南提供的指导和实践经验,设计人员可以更好地应用时序约束,确保电路的时序性能和可靠性,提高FPGA设计的成功率和效率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值