未满足DCM输出的时序约束

时间:2017-10-23 10:51:04

标签: fpga xilinx virtex

我的设计中有一个DCM,时钟频率为100MHz:

COMPONENT DCM_100
PORT(
CLKIN_IN : IN std_logic;--100MHz
RST_IN : IN std_logic; 
CLKIN_IBUFG_OUT : OUT std_logic;
CLKOUT0_OUT : OUT std_logic; --divided by 1
CLKOUT1_OUT : OUT std_logic; --divided by 2
CLKOUT2_OUT : OUT std_logic;--divided by 4
CLKOUT3_OUT : OUT std_logic;--divided by 8
CLKOUT4_OUT : OUT std_logic;--divided by 16
CLKOUT5_OUT : OUT std_logic;--divided by 32
LOCKED_OUT : OUT std_logic
);
END COMPONENT;

在设计中使用由输入开关选择的不同时钟。例如,对于开关位置0,将使用CLKOUT0_OUT,这实际上是输入时钟除以1.我仅对输入时钟使用时序约束,如下所示:

  

TIMESPEC" TS_clk" = PERIOD" clk_in" 100 MHz HIGH 50%;

DCM输出由工具自动约束。然后,所有约束的时序分析表明不满足一个约束:

================================================================================
 Timing constraint: TS_Inst_DCM_100_CLKOUT0_BUF = PERIOD TIMEGRP "Inst_DCM_100_CLKOUT0_BUF"         TS_Inst_DCM_100_CLK0_BUF HIGH 50%; 
  43782956 paths analyzed, 19293 endpoints analyzed, 145 failing endpoints 
  145 timing errors detected. (145 setup errors, 0 hold errors, 0 component switching limit errors) 
  Minimum period is  11.280ns. 
 -------------------------------------------------------------------------------- 

和最大频率是:

  

设计统计:       最短时间:11.280ns {1}(最高频率:88.652MHz)       从/到任何节点的最大路径延迟:2.771ns

当我只选择输入时钟的约束时,它与CLOCK0_OUT相同,则满足所有约束。

  

设计统计:       最短时间:8.332ns {1}(最高频率:120.019MHz)

任何人都可以解释这种行为。我应该考虑自动生成的DCM输出约束,还是考虑输入时钟的约束就足够了? 此致

0 个答案:

没有答案