Spartan-3 DCM使用求助

2020-02-24 20:33发布

本帖最后由 aceice 于 2013-6-21 10:59 编辑

clk信号输入到FPGA,一路提供给DCM的clkin,一路提供给另外一部分逻辑。
直接综合的话,会提示:
ERROR:Xst:2035 - Port <clk_50MHz> has illegal connections. This port is connected to an input buffer and other components.

在综合选项里将Add I/O Buffers取消,可以综合过去,但是Translate又会提示错误:
ERROR:NgdBuild:924 - input pad net 'clk_50MHz' is driving non-buffer primitives:

按照网上一份资料,说的是生成的DCM,包含一个IBUFG,遂手工将DCM源码里的IBUFG去掉。
再次Translate,提示一个警告
WARNING:ConstraintSystem:119 - Constraint <NET "clk_50MHz" LOC = A8;>
   [TestIBUFG.ucf(3)]: This constraint cannot be distributed from the design
   objects matching 'NET "clk_50MHz"' because those design objects do not
   contain or drive any instances of the correct type.

并且Map出错,提示
ERROR:Pack:198 - NCD was not produced.  All logic was removed from the design.
   This is usually due to having no input or output PAD connections in the
   design and no nets or symbols marked as 'SAVE'.  You can either add PADs or
   'SAVE' attributes to the design, or run 'map -u' to disable logic trimming in
   the mapper.  For more information on trimming issues search the Xilinx


再次将Add I/O Buffers勾选上,Translate,Map都没问题,但是Place & Route会有个警告:
WARNING:Route:455 - CLK Net:clk_50MHz_IBUFG may have excessive skew because
-------------------------------------------------------------------------------------------------------------------------------------
怎么解决这个问题?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
14条回答
Backkom80
1楼-- · 2020-02-25 02:08
 精彩回答 2  元偷偷看……
aceice
2楼-- · 2020-02-25 02:32
Backkom80 发表于 2013-6-21 11:05
建意逻辑部分也放在dcm的后面。

我是参照特权的异步复位,同步释放电路做的。
他先是用低频时钟将复位打了一拍给PLL复位(ALTERA)
然后又用PLL产生的高速时钟将PLL的LOCK和输入复位生成的复位信号又打了一拍做为整个系统的复位信号。
在Quartus下这样做过是没问题的。:'(
Backkom80
3楼-- · 2020-02-25 02:38
然后又用PLL产生的高速时钟将PLL的LOCK和输入复位生成的复位信号又打了一拍做为整个系统的复位信号
打这一拍是用的什么时钟输入的原时钟,还是pll输出的时钟?
aceice
4楼-- · 2020-02-25 03:36
Backkom80 发表于 2013-6-21 11:57
然后又用PLL产生的高速时钟将PLL的LOCK和输入复位生成的复位信号又打了一拍做为整个系统的复位信号
打这一 ...

PLL的时钟。
输入到PLL的复位是用50MHz输入时钟打一拍
系统复位是用PLL生产的200MHz再打一拍
Backkom80
5楼-- · 2020-02-25 07:49
aceice 发表于 2013-6-21 11:59
PLL的时钟。
输入到PLL的复位是用50MHz输入时钟打一拍
系统复位是用PLL生产的200MHz再打一拍 ...

个人觉得,输入到 PLL复位无需50M时钟打这一拍。这估计也就你所说的另外一部分逻辑。
GoldSunMonkey
6楼-- · 2020-02-25 10:18
 精彩回答 2  元偷偷看……

一周热门 更多>