Вываливает такую ошибку:
Phase 4.2 Initial Placement for Architecture Specific Features ERROR:Place:1238 - Component "U9/DCM_SP_Clk_25_MHz" does not have a feasible site.
There are 12 potential locations for the component:
Location "DCM_X0Y1" cannot be used to place the component due to following error condition(s):
ERROR:Place:1201 - Component <U9/DCM_SP_Clk_25_MHz> of type DCM is not placeable because it has locked loads placed in regions: CLOCKREGION_X1Y7.
There is a restriction that the clock loads of a DCM must be in a horizontally adjacent clock region to the DCM. It is recommended that a BUFG
be used for this clock signal so that the clock loads can be placed anywhere on the device. If the clock driver or clock loads are locked or area grouped,
please ensure that they are constrained to horizontally adjacent clock regions.
Location "DCM_X0Y3" cannot be used to place the component due to following error condition(s):
ERROR:Place:1201 - Component <U9/DCM_SP_Clk_25_MHz> of type DCM is not placeable because it has locked loads placed in regions: CLOCKREGION_X1Y7.
There is a restriction that the clock loads of a DCM must be in a horizontally adjacent clock region to the DCM. It is recommended that a BUFG
be used for this clock signal so that the clock loads can be placed anywhere on the device. If the clock driver or clock loads are locked or area grouped,
please ensure that they are constrained to horizontally adjacent clock regions.
И т.д. вывалил все DCM-ы, т.е. вроде как использовать их не могу.
Привожу часть проекта как подцепил DCM.
BUFG BUFG_Clk_125_MHz (
.I (Clk_125_MHz),
.O (w_Clk_125_MHz) - это тактовая частота. Она разводится внутри кристалла. От нее же тактируется и DCM следующим образом:
);
DCM_SP #(
.CLKDV_DIVIDE (2.0),
.CLKFX_DIVIDE (10),
.CLKFX_MULTIPLY (2),
.CLKIN_DIVIDE_BY_2 ("FALSE"),
.CLKIN_PERIOD (8),
.CLKOUT_PHASE_SHIFT ("NONE"),
.CLK_FEEDBACK ("1X"),
.DESKEW_ADJUST ("SYSTEM_SYNCHRONOUS"),
.DLL_FREQUENCY_MODE ("LOW"),
.DUTY_CYCLE_CORRECTION ("TRUE"),
.PHASE_SHIFT (0),
.STARTUP_WAIT ("FALSE")
) DCM_SP_Clk_25_MHz (
.CLK0 (w_CLK0),
.CLK180 (),
.CLK270 (),
.CLK2X (),
.CLK2X180 (),
.CLK90 (),
.CLKDV (),
.CLKFX (w_Phy_25MHz),
.CLKFX180 (),
.LOCKED (w_Lock_25MHz),
.PSDONE (),
.STATUS (),
.CLKFB (w_CLK0),
.CLKIN (Clk_125_MHz),
.PSCLK (),
.PSEN (1'b0),
.PSINCDEC (),
.RST (1'b0)
);
assign Phy_25MHz = w_Phy_25MHz;
assign Phy_GTXClk = w_CLK0;
Эти два сигнала (Phy_GTXClk и Phy_25MHz) не тактируют внутри кристалла ничего, просто выдаются наружу.
В usf-файле прописал ограничение на
PIN "Phy_GTXClk_BUFG.O" CLOCK_DEDICATED_ROUTE = FALSE;
но не помогает.
Как можно тактовую развести на DCM, чтобы не ругался разводчик??