微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > DCM 使用

DCM 使用

时间:10-02 整理:3721RD 点击:

一个开源的代码用Synplify Pro综合,然后将.edf文件在ISE中建立工程,由于使用到了DCM资源,出现了些问题,下面这是与ISE爆出问题有关的.edf文件部分内容,请各位帮忙分析解决下。

(instance (rename sd2_sdbuf "sd2.sdbuf") (viewRef PRIM (cellRef OBUF_F_12 (libraryRef VIRTEX)))

(net sdclk (joined


(portRef O (instanceRef sd2_sdbuf))


(portRef sdclk)


)


(net sdclki (joined


(portRef CLK0 (instanceRef sd0_dll1))


(portRef I (instanceRef sd2_sdbuf))

其中OBUF_F_12为代码中定义的,具体如下

component OBUF_F_12 port( O : out std_ulogic; I : in
std_ulogic ); end component;

Map不能通过,会有如下的错误:

ERRORhysDesignRules:1577 - Illegal routing. The DCM_ADV block


<clkgen0/c2.v/sd0.dll1/DCM_ADV> has CLK output pin <CLK0> with incomplete or


incorrect connectivity. Routing from the <CLK0> pin to a BUFG, BUFGCTRL or


PLL_ADV block type was not found. The DCM_ADV CLK output pins can only route



to BUFG, BUFGCTRL or PLL_ADV block types.

ERRORack:1642 - Errors in physical DRC.

如果将网表中sd2_sdbuf直接改为BUFG:

(instance
sd2_sdbuf (viewRef PRIM (cellRef BUFG (libraryRef VIRTEX)))

(net sdclk (joined


(portRef O (instanceRef sd2_sdbuf))


(portRef sdclk)


)


(net sdclki (joined


(portRef CLK0 (instanceRef sd0_dll1))


(portRef I (instanceRef sd2_sdbuf))

Map及Place & Route可以通过,但是在 Genreate Programming File会有如下的错误:

PhysDesignRules: 950-Dangling pins on block:<clkgen0/c2.v/sd0.dll1/DCM_ADV>:<DCM_ADV_DCM_ADV>. Must have a signal on one of the output clock pins.

Bitgen:25 - DRC detected 1 errors and 1 warnings. Please see the previously displayed individual error or warning messages for more details

选用的器件是Xilinx的xc5vlx110。

try it again

如果将网表中sd2_sdbuf直接改为BUFG:
源代码你有,为啥不改源码,而要改网表文件?
上面的提示说得很清楚了,因为时钟出去是要用到时钟布线资源的,PLL出去的就直接上全球时钟网络好了。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top