设计需要在Spartan6中完成十个不同的时钟给一个FIR滤波器,不同的参数设置下给FIR滤波器选择不同的时钟,时钟最大60M,最小300K,我们现在使用一个DCM产生一个60M的时钟,再使用计数器分频得到了十个不同的时钟,再将分频得到的时钟给FIR滤波器,我们做了两个实验:
1.使用60M分频得到的时钟做为FIR的时钟,使用chipscope分析FIR滤波效果时,发现FIR滤波器不但没有起到滤波的效果,还给数据带来了很多杂散,波形越滤越差,chipscope看信号使用的时钟是FIR的RDY,它与FIR数据输出同频的一个信号,我们用来观察FIR的输出。
2.我们使用DCM出来的全局时钟直接给FIR做时钟,不使用我们分频的时钟,结果在chipscope中发现滤波效果较好,没有发现滤波后的杂散,chipscope看信号使用的触发时钟是使用那个DCM出来的全局时钟。
分析实验结果可能有两个问题引起:
1.我们两次chipscope使用的触发时钟有差异会导致数据偏差。以前实验发现chipscope的时钟选择不当也会造成数据采集的不理想,我们在chipscope上看到的较坏的波形其实是假象,是由于使用的触发时钟不当引起的。
2.设计中FIR滤波器使用的分频时钟有问题。分频时钟为60M时钟计数分频得到,再根据其他变量选择输出一个clk_fir,综合后clk_fir信号被分配到了全局时钟。
问题:
1.在设计中需要用到多个时钟的情况如何解决,我这种分频的方法是不是有问题。
2.可不可以将分频产生的信号做为一个BUFGCE的CE信号,用一个稳定的全局时钟做为BUFGCE的输入,再将BUFGCE的输出给FIR滤波器的时钟。
3.实验时主要用chipscope观察数据,但是chipscope好像不允许使用全局时钟做为触发的时钟,大家有没有好点的办法!
有好点的办法! |