Xilinx bufgmux的时钟该如何约束?
时间:10-02
整理:3721RD
点击:
环境: Xilinx ISE 14.7, Virtex 6
clk1经过bufgce接入bufgmux的I0;
clk2接入bufgmux的I1,mux之后的时钟为clk3
clk1 -> bufgce -> I0
bufgmux -> clk3
clk2 ------------> I1
clk1 频率比clk2高,已经下了如下约束:
1. 对clk1下了priority的约束,使其优先级大于clk2
2. 在ucf里对bufgmux的I1下了TIG的约束。
目前发现有时clk1踢出的数据由clk3收下的时候会收错。时序分析报告里并没有发现时序不满足。
请教这种始终拓扑如何下约束时钟? 谢谢
clk1经过bufgce接入bufgmux的I0;
clk2接入bufgmux的I1,mux之后的时钟为clk3
clk1 -> bufgce -> I0
bufgmux -> clk3
clk2 ------------> I1
clk1 频率比clk2高,已经下了如下约束:
1. 对clk1下了priority的约束,使其优先级大于clk2
2. 在ucf里对bufgmux的I1下了TIG的约束。
目前发现有时clk1踢出的数据由clk3收下的时候会收错。时序分析报告里并没有发现时序不满足。
请教这种始终拓扑如何下约束时钟? 谢谢
clk1和clk3之间注定有skew,加了约束也没用。
可以考虑加个MMCM,bufgce的输出作为MMCM的输入,MMCM输出接bufgmux的I0,clk2接I1,clk3接一个bufg,输出为clk4,clk4连接MMCM的CLKFB_IN,那么clk4与bufgce的输出保持相位一致。
注意:配置MMCM时,clock feedback source要选择user_controlled on-chip
clk1和clk3之间注定有skew,加了约束也没用。
可以考虑加个MMCM,bufgce的输出作为MMCM的输入,MMCM输出接bufgmux的I0,clk2接I1,clk3接一个bufg,输出为clk4,clk4连接MMCM的CLKFB_IN,那么clk4与bufgce的输出保持相位一致。
注意:配置MMCM时,clock feedback source要选择user_controlled on-chip
谢谢,值得一试。
clk1和clk3之间的确无法避免skew,只是困惑,如果clock tree 不能balance,工具似乎也检查不到。
学习学习
