Xilinx System Generator 乘加器组合逻辑引入的时序违约问题

问题描述

使用Xilinx System generator搭建了一个波形处理应用,在Equalization均衡处理中使用到乘法、加法和除法IP核,使用后编译出现时序违约数值偏大问题。
时序违约图片

问题定位

打开"Implementation"中的"Report Clock Interaction",发现除了跨时钟域"Inter-clock paths"存在时序违约问题外,单个时钟域内部"Intra-clock paths"也存在时序违约问题。
在这里插入图片描述
双击相应path,可以看到违约的具体信息Summary,
可以定位到Sytem Generator产生的IP核内部存在组合逻辑时序无法满足的问题。

IP核内部Path

在这里插入图片描述
IP核内部该Path出现了乘加运算的组合逻辑时间太长问题,单个时钟周期可能无法得到正确的输出值。

问题解决

因为使用 System generator产生的IP核工作时钟高达250MHz,不宜将乘法运算的Latency改为0,默认的乘法运算Latency是3个clk:
在这里插入图片描述
在这里插入图片描述
修改后,重新编译导出并综合布线后,时序违约问题解决:
在这里插入图片描述

问题分析结论

本人是System Generator的初学者,虽然接触时间不长,但可以体会到使用该工具,在仿真效率和信号处理开发上带来的巨大提升,也需要该软件生态进一步扩展,实现更多成熟IP核的导入和支持第三方IP核的添加。
解决这个问题有几点体会和大家分享:
1.尽量使用默认的组件参数,避免不必要的问题。本人在初次使用时,为了时钟对齐,将许多组件的Latency均改为了0,导致编译时大量较长的组合逻辑造成时序违约;
2.出现时序违约时,善用Vivado中的Summary,可以便利定位问题;
3.时序违约不外乎两种,一种是我这种组合逻辑问题;一种是跨时钟域的问题,尽量通过FIFO跨时钟域,如果跨时钟域并不影响我们的逻辑,也可以set false path进行忽略。

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值