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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 2485|回复: 6

[求助] 并联两个DCM时出现的问题

[复制链接]
发表于 2014-7-27 19:24:34 | 显示全部楼层 |阅读模式

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

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

x
代码如下:
module DCM_test(
input clk_25m_external,
output clk_100m,
output clk_125m
    );

wire rst_n1,rst_n2;

IBUFG IBUFG_inst(.O(clk_25m), .I(clk_25m_external));

dcm_100m dcm_100m_ (
    .CLKIN_IN(clk_25m),
    .RST_IN(1'b0),
    .CLKFX_OUT(clk_100m),
    .CLKIN_IBUFG_OUT(),
    .CLK0_OUT(),
    .LOCKED_OUT(rst_n1)
    );
dcm_125m dcm_125m_ (
    .CLKIN_IN(clk_25m),
    .RST_IN(1'b0),
    .CLKFX_OUT(clk_125m),
    .CLKIN_IBUFG_OUT(),
    .CLK0_OUT(),
    .LOCKED_OUT(rst_n2)
    );
endmodule  

在dcm.v内部已经把IBUFG语句注释掉了,clk_25m_external接的是GCLK引脚,但是Place&Route的时候还是报错,
ERRORlace:1012 - A clock IOB / DCM component pair have been found that are not placed at an optimal clock IOB / DCM
   site pair.  The clock component <dcm_100m_/DCM_SP_INST> is placed at site <DCM_X1Y1>.  The clock IO/DCM site can be
   paired if they are placed/locked in the same quadrant.  The IO component <clk_25m_external> is placed at site <9>.
   This will not allow the use of the fast path between the IO and the Clock buffer. If this sub optimal condition is
   acceptable for this design, you may use the CLOCK_DEDICATED_ROUTE constraint in the .ucf file to demote this message
   to a WARNING and allow your design to continue. However, the use of this override is highly discouraged as it may
   lead to very poor timing results. It is recommended that this error condition be corrected in the design. A list of
   all the COMP.PINs used in this clock placement rule is listed below. These examples can be used directly in the .ucf
   file to override this clock rule.
   < NET "clk_25m_external" CLOCK_DEDICATED_ROUTE = FALSE; >
   < PIN "dcm_100m_/DCM_SP_INST.CLKIN" CLOCK_DEDICATED_ROUTE = FALSE; >

让我加上这两天约束语句之后就可以了是哪里写的不对吗,难道并联时必须加这两条语句么?有没有解决办法呢?

综合后的technology视图如下:
发表于 2014-7-28 09:07:10 | 显示全部楼层
你的用的是什么片子,具体的型号
 楼主| 发表于 2014-7-28 12:37:52 | 显示全部楼层
回复 2# haitaox


   Family:Spartan3A and Spartan3AN   Device:XC3S400A
   Package:FT256
   如果把其中一个DCM注释掉就可以通过,两个却不行,不知道怎么回事。
发表于 2014-7-28 22:36:49 | 显示全部楼层
你好,看了sp3a的手册,ug331,Figure2-2,你可以重点关注一下。
该芯片有4个dcm,上边两个,下边两个。上下各有8个gclk,每个gclk只能布线到一个dcm。
如果要从一个gclk布线到2个dcm,可以有一个变通的方法:首先gclk引脚布线到bufg上,再通过bufg布线到任意两个dcm上。
 楼主| 发表于 2014-7-29 12:35:46 | 显示全部楼层
回复 4# haitaox
非常感谢你的耐心指导,按照你说的做了
让外部时钟先经过IBUFG,在经过BUFG,然后连接到两个DCM这样布局布线就可以通过了, IBUFG IBUFG_(.O(clk_25m_), .I(clk_25m_external));BUFG BUFG_(.O(clk_25m), .I(clk_25m_));

还有一个疑问就是在生成DCM的图像界面时 有个CLKIN source的选项,我分别试了External和Interna都可以通过

我认为这种情况应选择Internal吧,为什么external的也行呢。。。。。。
发表于 2014-7-29 12:43:08 | 显示全部楼层
回复 5# y456321


    你好,你可以比较一下两种方式生成代码的区别,我没有试过。一般情况下,我都是直接用dcm的原语,而不是用ip。
    不过我猜测,internal的话,不会生成ibufg原语
 楼主| 发表于 2014-7-29 13:52:48 | 显示全部楼层
回复 6# haitaox


呵呵,好的,多谢了!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

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

GMT+8, 2024-11-17 00:33 , Processed in 0.019651 second(s), 7 queries , Gzip On, Redis On.

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