xilinx时钟问题 IBUFG
2015-02-28 13:40
281 查看
xilinx时钟问题 之前用altera没有什么问题,都是直接连接上的,
我在XILINX平台上做DDR2,需要200m的时钟信号,我就用DCM倍频了一个,直接接在DDR2的ipcore上面,出现了如下错误,请大神指点一二,不胜感激!!
ERROR:NgdBuild:770 - IBUFG
'test_ddr2_inst/memc3_infrastructure_inst/se_input_clk.u_ibufg_sys_clk' and
BUFG 'pll_200m_inst/clkout1_buf' on net 'clk_200m' are lined up in series.
Buffers of the same direction cannot be placed in series.
我的程序代码如下:
//**** PLL产生200Mhz时钟信号
pll_200m pll_200m_inst (
.CLK_IN1 (clk ),
.CLK_200m (clk_200m ),
.CLK_50m (clk_50m ),
.LOCKED (locked )
);
然后我直接把clk_200m给了DDR2的系统时钟信号,如下图所示(DDR2代码太多,简单一个链接):
.c3_sys_clk (clk_200m ),
这样会出现问题,不知道怎么解决了呢?
之前测试DDR2的时候,我是把外部的时钟直接接在DDR2的ipcore上面,用的是150M的时钟,现在板子上面只有一个50M的时钟了,只能自己用DCM倍频了,应该是可以通过一个原语解决的,但是不知道是哪个?我胡乱测试了一下,都不行。
我用的是xilinx14.7的版本,也尝试设置了XST的这项设置,去掉Add I/O buffer 但是没用。
问题解决,我首先尝试修改PLL的源代码,把下面代码注释掉
BUFG clkout1_buf
(.O (CLK_200m),
.I (clkfx));
换成 assign CLK_200m = clkfx ;
编译之后,会报错,多驱动问题的错误,我就又恢复原装,尝试修改DDR2的源码!!
assign sys_clk_ibufg = sys_clk ;
// IBUFG u_ibufg_sys_clk
// (
// .I (sys_clk),
// .O (sys_clk_ibufg)
// );
把上面的代码注释掉,然后换成
assign sys_clk_ibufg = sys_clk ;
大功告成,编译就没问题了!!
我在XILINX平台上做DDR2,需要200m的时钟信号,我就用DCM倍频了一个,直接接在DDR2的ipcore上面,出现了如下错误,请大神指点一二,不胜感激!!
ERROR:NgdBuild:770 - IBUFG
'test_ddr2_inst/memc3_infrastructure_inst/se_input_clk.u_ibufg_sys_clk' and
BUFG 'pll_200m_inst/clkout1_buf' on net 'clk_200m' are lined up in series.
Buffers of the same direction cannot be placed in series.
我的程序代码如下:
//**** PLL产生200Mhz时钟信号
pll_200m pll_200m_inst (
.CLK_IN1 (clk ),
.CLK_200m (clk_200m ),
.CLK_50m (clk_50m ),
.LOCKED (locked )
);
然后我直接把clk_200m给了DDR2的系统时钟信号,如下图所示(DDR2代码太多,简单一个链接):
.c3_sys_clk (clk_200m ),
这样会出现问题,不知道怎么解决了呢?
之前测试DDR2的时候,我是把外部的时钟直接接在DDR2的ipcore上面,用的是150M的时钟,现在板子上面只有一个50M的时钟了,只能自己用DCM倍频了,应该是可以通过一个原语解决的,但是不知道是哪个?我胡乱测试了一下,都不行。
我用的是xilinx14.7的版本,也尝试设置了XST的这项设置,去掉Add I/O buffer 但是没用。
问题解决,我首先尝试修改PLL的源代码,把下面代码注释掉
BUFG clkout1_buf
(.O (CLK_200m),
.I (clkfx));
换成 assign CLK_200m = clkfx ;
编译之后,会报错,多驱动问题的错误,我就又恢复原装,尝试修改DDR2的源码!!
assign sys_clk_ibufg = sys_clk ;
// IBUFG u_ibufg_sys_clk
// (
// .I (sys_clk),
// .O (sys_clk_ibufg)
// );
把上面的代码注释掉,然后换成
assign sys_clk_ibufg = sys_clk ;
大功告成,编译就没问题了!!
相关文章推荐
- [转] 与全局时钟资源相关的Xilinx原语:BUFG, IBUFG, DCM
- 时钟管脚设置问题 xilinx ERROR:Place:864 - Incompatible IOB's are locked to the same bank 0
- Xilinx全局时钟资源BUFG,IBUFG,BUFGP,IBUFGDS等含义以及使用
- xilinx 时钟问题
- 在VMWare中运行FreeBSD时的时钟同步问题
- 虚拟机中GUEST OS时钟(TIMEKEEP)问题的探讨 续
- JavaScript时钟间隔的问题~
- Xilinx FPGA全局时钟和第二全局时钟资源的使用方法
- 虚拟机中GUEST OS时钟(TIMEKEEP)问题的探讨
- 解决开机自动打开目录的问题-可能与微软农历时钟软件有关
- 在VMWare中运行FreeBSD时的时钟同步问题
- 在VMWare中运行FreeBSD时的时钟同步问题
- 在VMWare中运行FreeBSD时的时钟同步问题
- 在VMWare中运行FreeBSD时的时钟同步问题
- 真正有效的解决VMware时钟/时间过快或过慢问题的方法
- 在VMWare中运行FreeBSD时的时钟同步问题
- 再谈JavaScript时钟中的16ms精度问题.
- 再谈JavaScript时钟中的16ms精度问题.
- 在VMWare中运行FreeBSD时的时钟同步问题
- 简单C# DGI绘图:时钟 (透明pictureBox解决抖动问题)