在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 13907|回复: 14

[求助] viretex5 DCM时钟问题,请大家帮帮忙!

[复制链接]
发表于 2011-10-21 17:05:35 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
我在用DCM做32.768MHz时钟输出是出现一下问题
时钟源:clk=24.576MHz
以下是我的代码:
ibufg(
    I(clk),
    O(clkbuf)
    );
dcm(
   CLKIN_IN(clkbuf),
   CLKFX_OUT(clk32m),
   CLK0_OUT(open),
   LOCKED_OUT(lock)
   );
   
  clk32m_out<=clk32m; --时钟输出管脚
DCM无论采用内部或者外部时钟源,用ISE编译的时候都会出现以下错误:
ERROR:NgdBuild:770 - IBUFG 'CLKIN_IBUFG_INST' and BUFG 'U_IBUFG' on net
   'clkbuf' are lined up in series. Buffers of the same direction cannot be
   placed in series.
ERROR:NgdBuild:924 - input pad net 'clkbuf' is driving non-buffer
当我将时钟输出屏蔽掉后,程序就能编译成功。
请各位大虾帮帮忙,看看怎么解决掉这个问题。
发表于 2011-10-21 17:27:06 | 显示全部楼层
把ibufg 'U_IBUFG' 去掉,DCM里面可能已经包含了ibufg  'CLKIN_IBUFG_INST'
 楼主| 发表于 2011-10-21 17:39:56 | 显示全部楼层
回复 2# warmheard


    我将DCM中的ibufg  'CLKIN_IBUFG_INST'去掉,或者将DCM前的ibufg去掉,编译的结果还是一样的。
发表于 2011-10-21 17:54:31 | 显示全部楼层
ERROR:NgdBuild:770 ERROR:NgdBuild:924
点击这两个ERROR,应该可以找到Xilinx更详细的帮助,仔细看看是什么地方用法有误。
你的DCM是用ISE的core generator生成的吗,最好别自己手写。
发表于 2011-10-21 18:20:39 | 显示全部楼层
你用CLK0做为时钟输出就好了。
发表于 2011-10-22 01:32:10 | 显示全部楼层
现在用vhdl的挺多的啊。
 楼主| 发表于 2011-10-22 10:46:22 | 显示全部楼层
先谢谢各位了,我是用ISE的core generator生成的DCM,然后例化的。后来在调试中发现只要将输出信号clk32m_out屏蔽掉编译就OK了。麻烦大家在帮帮忙
 楼主| 发表于 2011-10-22 15:06:00 | 显示全部楼层
回复 4# warmheard


    请问一下,如何将dcm中的输出bufg去掉,在生长IP核的时候,发现无法将输出bufg去掉,我在生长的dcm。vhdl中自己手动将程序里的输出bufg去掉,程序无法编译。
发表于 2011-10-25 11:14:38 | 显示全部楼层
本帖最后由 warmheard 于 2011-10-25 11:16 编辑

10.1/11.x NGDBuild - "ERROR:NgdBuild:770..."
FeedbackPrintAR# 34771 Search For Another Answer
               
Topic NGDBuild
Last Updated 06/01/2010
Status Active
Description

There is a black-box submodule in the design which is fed with an EDIF/NGC netlist. The following errors and warnings are issued during Translate:

"ERROR:NgdBuild:770 - IBUF 'b_IBUF' and IBUF 'b_ibuf' on net 'b_IBUF' are lined up in series. Buffers of the same direction cannot be placed in series.
WARNING:NgdBuild:463 - input pad net 'b_IBUF' has an illegal input buffer
ERROR:NgdBuild:925 - input net 'b_IBUF' is connected to the incorrect side of buffer(s):
pin O on block b_IBUF with type IBUF
ERROR:NgdBuild:924 - input pad net 'clk_BUFGP' is driving non-buffer primitives:
pin C on block h with type FDR, pin C on block g with type FD, pin O on block clk_BUFGP/BUFG with type BUFG
ERROR:NgdBuild:809 - output pad net 'e' has an illegal load:
pin I1 on block Mxor_g_xor0000_Result1 with type LUT2
ERROR:NgdBuild:455 - logical net 'h' has multiple driver(s):
pin Q on block h with type FDR, pin PAD on block h.PAD with type PAD"

How can I resolve these errors?



Solution
These errors are issued because the submodule EDIF/NGC netlist contains IBUFs/OBUFs. XST also adds IBUFs and OBUFs to the top level, so that they are lined up or the pads are driving/being driven by non-buffer components.

When an EDIF/NGC netlist is used as a submodule of another design, the following conditions must be met:

If the input/output ports of the submodule are connected to the top module ports directly, like port1 in the following figure, the IBUFs/OBUFs can be put in the submodule, but the XST property "Read Cores" has to be checked. Then, XST will read the netlist in the project directory or a location specified in "Cores Search Directories" and will not add extra IBUFs/OBUFs on these top level ports.
If the input/output ports of the submodule are NOT connected to the top module ports directly, like port2 in the following figure, the IBUFs/OBUFs must not be put in the submodule.

The following are some solutions to this problem.

Disable IBUF/OBUF insertion when you generate the submodule netlist. Add all IBUFs/OBUFs to the top level.
For XST, go to Synthesis Properties -> Xilinx Specific Options -> uncheck "Add I/O Buffers"
For Synplify Pro, go to Implementation Options -> Device tab -> check "Disable I/O Insertion"
Selectively disable IBUF/OBUF insertion on the input/output ports that are NOT connected to the top module ports directly.
For XST, use "buffer_type" constraint. Please refer to XST User Guide.
For Synplify Pro, refer to (Xilinx Answer 4508).
If the IBUF/OBUFs are instantiated in the submodule, disabling IBUF/OBUF insertion does not remove the buffers from the submodule. If this is the case, remove the IBUF/OBUFs instantaiation from the submodule and instantiate them in the top level.
发表于 2011-10-25 11:17:25 | 显示全部楼层
http://www.xilinx.com/support/answers/34771.htm
看看官方的solution,你写的东西你自己最明白,好好看看那个地方不符合规则
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条

X

小黑屋| 手机版| 关于我们| 联系我们| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2025-7-4 15:02 , Processed in 0.022583 second(s), 7 queries , Gzip On, MemCached On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表