|
Spartan6 не дает развести DCM |
|
|
|
Sep 14 2012, 09:31
|
Местный
  
Группа: Свой
Сообщений: 275
Регистрация: 19-05-06
Пользователь №: 17 249

|
Вываливает такую ошибку:
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, чтобы не ругался разводчик??
|
|
|
|
|
 |
Ответов
|
Sep 14 2012, 13:28
|
Частый гость
 
Группа: Свой
Сообщений: 108
Регистрация: 19-02-09
Из: Москва
Пользователь №: 45 069

|
Вот например что-то именно про ODDR2 для вывода клока наружу: http://www.xilinx.com/support/answers/35032.htmЧто значит "Все-таки DCM - надежнее."? Вы в любом случае к нему привязаны.
Сообщение отредактировал troiden - Sep 14 2012, 13:32
|
|
|
|
|
Sep 14 2012, 18:28
|
Местный
  
Группа: Свой
Сообщений: 275
Регистрация: 19-05-06
Пользователь №: 17 249

|
Цитата(Timmy @ Sep 14 2012, 20:35)  А по-моему разводчик прямо говорит, что нужно делать:"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". То есть поместить BUFG между выходом DCM и пинами, куда выводится клок. При генерации DCM визардом BUFG к его выходам цепляются по умолчанию, насколько я помню. Если сигнал с выхода DCM через BUFG попытаться вывести на пин, то произойдет ошибка mapper'а. Не разводится тактовый сигнал на выходной пин. Цитата(troiden @ Sep 14 2012, 17:28)  Вот например что-то именно про ODDR2 для вывода клока наружу: http://www.xilinx.com/support/answers/35032.htmЧто значит "Все-таки DCM - надежнее."? Вы в любом случае к нему привязаны. Добавляется дополнительный блок между в тактовый сигнал, имхо. Хотя в цифре стабильность определяется задатчиком, ну не знаю... Не делал просто так раньше, а тут приходиться писать проект под чужую плату. Вообщем я бы так не делал (поставил бы разветвитель частоты и раздал бы тактовую).
|
|
|
|
Сообщений в этой теме
ovs_pavel Spartan6 не дает развести DCM Sep 14 2012, 09:31 TRILLER Здравствуйте.
Чтобы избежать проблем, просто испол... Sep 14 2012, 10:47 ovs_pavel Коллеги, а насколько хуже будет использовать вмест... Sep 14 2012, 11:17 TRILLER На схеме всё правильно вроде бы.
Могу предположить... Sep 14 2012, 11:36 ovs_pavel Цитата(TRILLER @ Sep 14 2012, 14:36) На с... Sep 14 2012, 11:58   troiden Цитата(ovs_pavel @ Sep 14 2012, 22:28) До... Sep 14 2012, 19:03   Timmy Цитата(ovs_pavel @ Sep 14 2012, 22:28) Ес... Sep 14 2012, 19:40    Bad0512 DCM обычно не используют для выравнивания выходных... Sep 15 2012, 12:00
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|