微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > ISE14.5 Spartan6 MAP出错

ISE14.5 Spartan6 MAP出错

时间:10-02 整理:3721RD 点击:
各位大侠们,我在使用ISE14.5选用Spartan6 xc6slx9-3tqg144写了含有这样一段描述的情况下MAP时报错,小弟用xilinx的东西不久,一直不知道如何解决:        reg CISCLK_pre = 1'b0;
reg CISCLK_now = 1'b0;

wire CISCLK_pulse;

always@(posedge vsmp_CLK) begin
CISCLK_now
<= CIS_inclk;
CISCLK_pre
<= CISCLK_now;
end

assign CISCLK_pulse = (!CISCLK_now)&&(CISCLK_pre);
报错信息如下:
ERRORlace:1136 - This design contains a global buffer instance,
   <CLK_Module_INST/BUFGMUX_CIS_INST>, driving the net, <CIS_CLK>, that is
   driving the following (first 30) non-clock load pins.
   < PIN: CIS_ADC_TopModule_INST/ADC_Controller_INST/VSMP_OEB_INST/CISCLK_now.D;
   >
   < PIN:
   FIFO_Top_Module_STAN/DATA_Recieved_Module_STAN/CIS_Signal_Edge/Signal_Edge_no
   w.D; >
   This is not a recommended design practice in Spartan-6 due to limitations in
   the global routing that may cause excessive delay, skew or unroutable
   situations.  It is recommended to only use a BUFG resource to drive clock
   loads. If you wish to override this recommendation, you may use the
   CLOCK_DEDICATED_ROUTE constraint (given below) in the .ucf file to demote
   this message to a WARNING and allow your design to continue.
   < PIN "CLK_Module_INST/BUFGMUX_CIS_INST.O" CLOCK_DEDICATED_ROUTE = FALSE; >
ERRORack:1654 - The timing-driven placement phase encountered an error.
各位,报错中的Signal_Edge_now的处理和CIS_CLK做了一样的处理方式,错误提示加BUFG,我尝试给各种了多种加BUFG,尝试给各个信号加,都会报错,请问该怎么办?小弟QQ469985713,E-mail:bn.scorpio@foxmail.com,小弟提前拜谢了!

你的目的是快时钟检测慢时钟上升沿吧?
这么写是不行的,适合ASIC风格,但不适合FPGA,一个时钟是无法当成FF的输入端来源的,布线过不去。如果是个时钟进来的PIN是GC或CC,那就用不了。如果是普通数据PIN,则可以直接当成数据来使用。
建议换成如下风格,

  1. always @ (posege CIS_inclk)revert <= ~revert;

复制代码

然后用采样时钟把这个寄存器打二拍,然后检测它的上下沿翻转,就OK了。



   谢谢 eaglelsb 的耐心解答,你解答的非常好,我是后来在实践中才领悟的,很抱歉这么迟才回复你,希望以后能经常得到 eaglelsb 的帮助

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

网站地图

Top