版主: 51FPGA |
heiyux
![]()
最后登陆时间:2015-01-22 10:54:26 |
becoll的原帖 heiyux的原帖恩,是的。用的是v4的 xc4vlx40。系统时钟用的是100M,高频部分加DCM就可以了吧。频率高了时序和功耗都是问题,而且板子也不能就只是个ddr接口的,一般其他模块都不会要求这么高的系统时钟。 我的这个模块近期内还不能调,也许以后还要向你这个先行者请教呢,呵呵 呵呵,到时候一起讨论 我刚开始做XILINX,以前做的是ALTERA的 你的意思是DDRII模块两个系统时钟在外围硬件上只设计了模块操作频率的那个系统时钟,而供到idelay_ctrl的那个高频系统时钟硬件上不设计,在程序里使用DCM供给是么? 是的。系统时钟一般情况有一个就够了,而且最好不要太高。ddr需要的时钟较多,都通过dcm产生好了。而且万一你的设计代码跑不到200M,还要把系统时钟往下降,多麻烦。 主要我担心的是: 在MIG中选了使用DCM和PLL了,所以其他很多DDRII核用到的时钟都在内部直接使用DCM产生,所以生成的核在外部接口上就没有他们,但惟独这两个系统时钟是要外部输入的,在MIG的datasheet上的时钟部分说,用户必须提供这两个时钟,如果在MIG里没有选使用DCM和PLL,那么用户需要提供所有DDRII用到得时钟, 所以我就想,如果它能直接用DCM的话,那么为什么还要单单列出来呢。。。 MIG的datasheet我还没看过。不过我的理解是,mig中应该只使用了单级dcm,而dcm的频率生成范围是有限的,对低频的系统时钟,单级dcm还不能产生200M的输出,而mig中使用多个dcm来产生200M的时钟的话,对资源会是一种巨大的浪费,所以就将200M的时钟交给外部来供给。 再换一个角度,对生成的mig核,200M的时钟不管是专用时钟芯片提供的还是由FPGA内其它dcm提供的,对它来说不都是一个外部输入么,没什么区别 个人见解,仅供参考 哦~,DCM有这个区别,刚开始接触xilinx,我没有实际用过它 |
heiyux
![]()
最后登陆时间:2015-01-22 10:54:26 |
becoll的原帖 heiyux的原帖恩,是的。用的是v4的 xc4vlx40。系统时钟用的是100M,高频部分加DCM就可以了吧。频率高了时序和功耗都是问题,而且板子也不能就只是个ddr接口的,一般其他模块都不会要求这么高的系统时钟。 我的这个模块近期内还不能调,也许以后还要向你这个先行者请教呢,呵呵 呵呵,到时候一起讨论 我刚开始做XILINX,以前做的是ALTERA的 你的意思是DDRII模块两个系统时钟在外围硬件上只设计了模块操作频率的那个系统时钟,而供到idelay_ctrl的那个高频系统时钟硬件上不设计,在程序里使用DCM供给是么? 是的。系统时钟一般情况有一个就够了,而且最好不要太高。ddr需要的时钟较多,都通过dcm产生好了。而且万一你的设计代码跑不到200M,还要把系统时钟往下降,多麻烦。 主要我担心的是: 在MIG中选了使用DCM和PLL了,所以其他很多DDRII核用到的时钟都在内部直接使用DCM产生,所以生成的核在外部接口上就没有他们,但惟独这两个系统时钟是要外部输入的,在MIG的datasheet上的时钟部分说,用户必须提供这两个时钟,如果在MIG里没有选使用DCM和PLL,那么用户需要提供所有DDRII用到得时钟, 所以我就想,如果它能直接用DCM的话,那么为什么还要单单列出来呢。。。 MIG的datasheet我还没看过。不过我的理解是,mig中应该只使用了单级dcm,而dcm的频率生成范围是有限的,对低频的系统时钟,单级dcm还不能产生200M的输出,而mig中使用多个dcm来产生200M的时钟的话,对资源会是一种巨大的浪费,所以就将200M的时钟交给外部来供给。 再换一个角度,对生成的mig核,200M的时钟不管是专用时钟芯片提供的还是由FPGA内其它dcm提供的,对它来说不都是一个外部输入么,没什么区别 个人见解,仅供参考 哦~,DCM有这个区别,刚开始接触xilinx,我没有实际用过它 呵呵,我是用pll的,代替DCM,可以对晶振直接倍频上去。另外再用一个pll产生那个200MHz的时钟,比较节省硬件资源,得到的效果也不错。 哦~ 那就是只用设计一个50MHz左右的晶振供个时钟就可以了 MIG还有update管脚功能的啊,这个好,我去找找去,谢谢啊,以后有问题还要请教一下你 |
heiyux
![]()
最后登陆时间:2015-01-22 10:54:26 |
晕,你怎么又在我的另一个贴里回复了,
对,你在MIG里就勾选上DCM就可以了,省很多事, 然后使用板级提供的100MHz时钟锁出一个200MHz时钟和一个操作时钟就可以了。 |