版主: 51FPGA

分享到:
共13条 2/2 « 1 2   

RE: 请问一下关于XILINX里MIG的使用

heiyux
性别保密
高级会员

最后登陆时间:2015-01-22 10:54:26

11# 发表于 2010-04-22 00:22:54
becoll的原帖
目前的板子上也设计了这个模块,还没调到这里来
heiyux的原帖
你的板卡上也设计了DDRII吗?用的是什么FPGA?
有设计一个200MHz的系统时钟吗?
becoll的原帖
恩,是的。用的是v4的 xc4vlx40。系统时钟用的是100M,高频部分加DCM就可以了吧。频率高了时序和功耗都是问题,而且板子也不能就只是个ddr接口的,一般其他模块都不会要求这么高的系统时钟。
我的这个模块近期内还不能调,也许以后还要向你这个先行者请教呢,呵呵
heiyux的原帖
呵呵,到时候一起讨论
我刚开始做XILINX,以前做的是ALTERA的
你的意思是DDRII模块两个系统时钟在外围硬件上只设计了模块操作频率的那个系统时钟,而供到idelay_ctrl的那个高频系统时钟硬件上不设计,在程序里使用DCM供给是么?
becoll的原帖

是的。系统时钟一般情况有一个就够了,而且最好不要太高。ddr需要的时钟较多,都通过dcm产生好了。而且万一你的设计代码跑不到200M,还要把系统时钟往下降,多麻烦。

heiyux的原帖
主要我担心的是:
       在MIG中选了使用DCM和PLL了,所以其他很多DDRII核用到的时钟都在内部直接使用DCM产生,所以生成的核在外部接口上就没有他们,但惟独这两个系统时钟是要外部输入的,在MIG的datasheet上的时钟部分说,用户必须提供这两个时钟,如果在MIG里没有选使用DCM和PLL,那么用户需要提供所有DDRII用到得时钟,
      所以我就想,如果它能直接用DCM的话,那么为什么还要单单列出来呢。。。
becoll的原帖
MIG的datasheet我还没看过。不过我的理解是,mig中应该只使用了单级dcm,而dcm的频率生成范围是有限的,对低频的系统时钟,单级dcm还不能产生200M的输出,而mig中使用多个dcm来产生200M的时钟的话,对资源会是一种巨大的浪费,所以就将200M的时钟交给外部来供给。
再换一个角度,对生成的mig核,200M的时钟不管是专用时钟芯片提供的还是由FPGA内其它dcm提供的,对它来说不都是一个外部输入么,没什么区别
个人见解,仅供参考

哦~,DCM有这个区别,刚开始接触xilinx,我没有实际用过它
你的说法有道理,都是外部时钟输入,
不过我又担心它会报错说不能这么使用,以前设计ALTERA的时候就碰到过一些我认为可以,但编译通不过的,
等设计完成之后我先研究一下MIG,先把设计做出来编译一下看再投板就可以了,非常感谢你的回答。

RE: 请问一下关于XILINX里MIG的使用

heiyux
性别保密
高级会员

最后登陆时间:2015-01-22 10:54:26

12# 发表于 2010-04-22 23:38:52
becoll的原帖
目前的板子上也设计了这个模块,还没调到这里来
heiyux的原帖
你的板卡上也设计了DDRII吗?用的是什么FPGA?
有设计一个200MHz的系统时钟吗?
becoll的原帖
恩,是的。用的是v4的 xc4vlx40。系统时钟用的是100M,高频部分加DCM就可以了吧。频率高了时序和功耗都是问题,而且板子也不能就只是个ddr接口的,一般其他模块都不会要求这么高的系统时钟。
我的这个模块近期内还不能调,也许以后还要向你这个先行者请教呢,呵呵
heiyux的原帖
呵呵,到时候一起讨论
我刚开始做XILINX,以前做的是ALTERA的
你的意思是DDRII模块两个系统时钟在外围硬件上只设计了模块操作频率的那个系统时钟,而供到idelay_ctrl的那个高频系统时钟硬件上不设计,在程序里使用DCM供给是么?
becoll的原帖

是的。系统时钟一般情况有一个就够了,而且最好不要太高。ddr需要的时钟较多,都通过dcm产生好了。而且万一你的设计代码跑不到200M,还要把系统时钟往下降,多麻烦。

heiyux的原帖
主要我担心的是:
       在MIG中选了使用DCM和PLL了,所以其他很多DDRII核用到的时钟都在内部直接使用DCM产生,所以生成的核在外部接口上就没有他们,但惟独这两个系统时钟是要外部输入的,在MIG的datasheet上的时钟部分说,用户必须提供这两个时钟,如果在MIG里没有选使用DCM和PLL,那么用户需要提供所有DDRII用到得时钟,
      所以我就想,如果它能直接用DCM的话,那么为什么还要单单列出来呢。。。
becoll的原帖
MIG的datasheet我还没看过。不过我的理解是,mig中应该只使用了单级dcm,而dcm的频率生成范围是有限的,对低频的系统时钟,单级dcm还不能产生200M的输出,而mig中使用多个dcm来产生200M的时钟的话,对资源会是一种巨大的浪费,所以就将200M的时钟交给外部来供给。
再换一个角度,对生成的mig核,200M的时钟不管是专用时钟芯片提供的还是由FPGA内其它dcm提供的,对它来说不都是一个外部输入么,没什么区别
个人见解,仅供参考
heiyux的原帖

哦~,DCM有这个区别,刚开始接触xilinx,我没有实际用过它
你的说法有道理,都是外部时钟输入,
不过我又担心它会报错说不能这么使用,以前设计ALTERA的时候就碰到过一些我认为可以,但编译通不过的,
等设计完成之后我先研究一下MIG,先把设计做出来编译一下看再投板就可以了,非常感谢你的回答。

xie0jing0的原帖

呵呵,我是用pll的,代替DCM,可以对晶振直接倍频上去。另外再用一个pll产生那个200MHz的时钟,比较节省硬件资源,得到的效果也不错。
对于你板子布线的问题可以先画好pcb,再根据你的io分配写个IO的约束文件,用MIG的updata,就可以获得与你的IO管脚分配一致的约束文件和程序了。
我也是刚刚做过DDR2的,呵呵


哦~ 那就是只用设计一个50MHz左右的晶振供个时钟就可以了
MIG还有update管脚功能的啊,这个好,我去找找去,谢谢啊,以后有问题还要请教一下你

RE: 请问一下关于XILINX里MIG的使用

heiyux
性别保密
高级会员

最后登陆时间:2015-01-22 10:54:26

13# 发表于 2010-07-15 00:49:33
晕,你怎么又在我的另一个贴里回复了,
对,你在MIG里就勾选上DCM就可以了,省很多事,
然后使用板级提供的100MHz时钟锁出一个200MHz时钟和一个操作时钟就可以了。
共13条 2/2 « 1 2   
快速回复主题
  • 匿名不能发帖!请先 [ 登陆 注册 ]