реклама на сайте
подробности

 
 
> Spartan6 не дает развести DCM
ovs_pavel
сообщение Sep 14 2012, 09:31
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 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, чтобы не ругался разводчик??
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
troiden
сообщение Sep 14 2012, 13:28
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 108
Регистрация: 19-02-09
Из: Москва
Пользователь №: 45 069



Вот например что-то именно про ODDR2 для вывода клока наружу:
http://www.xilinx.com/support/answers/35032.htm

Что значит "Все-таки DCM - надежнее."? Вы в любом случае к нему привязаны.

Сообщение отредактировал troiden - Sep 14 2012, 13:32
Go to the top of the page
 
+Quote Post
Timmy
сообщение Sep 14 2012, 16:35
Сообщение #3


Знающий
****

Группа: Участник
Сообщений: 835
Регистрация: 9-08-08
Из: Санкт-Петербург
Пользователь №: 39 515



А по-моему разводчик прямо говорит, что нужно делать:"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 к его выходам цепляются по умолчанию, насколько я помню.
Go to the top of the page
 
+Quote Post
ovs_pavel
сообщение Sep 14 2012, 18:28
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 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 - надежнее."? Вы в любом случае к нему привязаны.


Добавляется дополнительный блок между в тактовый сигнал, имхо. Хотя в цифре стабильность определяется задатчиком, ну не знаю... Не делал просто так раньше, а тут приходиться писать проект под чужую плату. Вообщем я бы так не делал (поставил бы разветвитель частоты и раздал бы тактовую).
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 14:14
Рейтинг@Mail.ru


Страница сгенерированна за 0.01376 секунд с 7
ELECTRONIX ©2004-2016