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

 
 
> Quartus на хочет размещать гигабитные трансиверы
R6L-025
сообщение Mar 3 2017, 07:17
Сообщение #1


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

Группа: Свой
Сообщений: 76
Регистрация: 8-04-11
Из: Ростов-на-Дону
Пользователь №: 64 227



Добрый день!
Прошу помочь с сабжем.
Есть проект под ArriaV-SX в котором должно размещаться 8 одноканальных (1 link) SerialLite-2 корок. В 5-м семействе из slite2 управление трансиверов вынесено в отдельную корку custom_phy (пробовал использовать 2 варианта подключения: по одной 1-канальной custom_phy на каждую кору slite2, и одна 8-канальная custom_phy на все slite2).

Собственно, сама проблема - Quartus (16.1) не хочет размещать все это добро на кристалле с определенной распиновкой.

В этом камне 3 гигабитных банка [2:0]. На плате эти 8 каналов разведены по всем 3-м банкам, с такой конфигурацией Quartus неминуемо фейлится с сообщением:
Код

Error (14566): The Fitter cannot place 8 periphery component(s) due to conflicts with existing constraints (8 Clock Divider(s)).
    Error (175001): The Fitter cannot place 1 Clock Divider, which is within Custom PHY custom_phy_sl2.
        Info (14596): Information about the failing component(s):
                        Info (175028): The Clock Divider name(s): slite2_wrp:array_of_slite2[4]....|tx_pma_ch.master_cgb_inst[0].tx_cgb_master
        Error (16234): No legal location could be found out of 22 considered location(s).  
            Error (178004): Could not find location for destination Clock Divider that enable routing of bonding clock lines
                Info (175027): Destination: Clock Divider slite2_wrp:array_of_slite2[4]:...|tx_pma_ch.tx_cgb
                    ...
            Error (11238): The following 8 Clock Divider locations are already occupied, and the Fitter cannot merge the previously placed nodes with these instances. The nodes may have incompatible inputs or parameters.
                Error (11239): Location HSSIPMATXCGB_X0_Y11_N33 is already occupied by slite2_wrp:array_of_slite2[3]
                Error (11239): Location HSSIPMATXCGB_X0_Y15_N33 is already occupied by slite2_wrp:array_of_slite2[2]
                ....

Как я понимаю он берет какой-то экземпляр корки, например slite[2], пытается разместить "clock devider", для это перебирает все указанные GXB каналы, обнаруживает что все заняты (хотя при этом в сообщении будет указанно что место такое-то для корки slite2[2] уже занято коркой slite2[2]), после чего фэйлится.

Если убрать назначения пинов, то он разместит трансиверы в банках 1-2, при этом проект собирается. Пробовал перебирать комбинации банков, количества трансиверов в них, опорных клоков, опций биндинга между каналами. Без биндинга собирается только комбинация с использованием 1-2 банков, с биндингом - любых 2-х. Но вот как заставить его принять размещение в 3-х банках...
В userguids на Ariia-V и custom_phy не нашел специфичных условий на размещение сразу в 3-х банках.
Плата кастомная, поэтому вполне возможна ошибка с распиновкой GXB (может какие-то хитрые требования к размещению трансиверов о которых мы не знали laughing.gif ).

Может кто-то сталкивался с похожими проблемами?

P.S. скриншот пин-планера с распиновкой на которую ругается Quartus

Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
spectr
сообщение Dec 29 2017, 09:39
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 285
Регистрация: 10-12-04
Из: Earth
Пользователь №: 1 437



Как раз сегодня ночью меня тоже осенило что возможно нужно питать трансиверные триплеты отдельными PLL-ками.
В-общем, после ряда экспериментов оно наконец-то собралось - все 9 трансиверов в дуплексном двухскоростном режиме с поддержкой реконфигурации! То что мне и нужно!

Структура проекта получилась следующая:
3 блока, каждый состоящий из:
- FPLL с частотой 311.04
- PLL Reconfiguration controller
- Трансивер в дуплексном режиме (External PLL - 2 штуки, TXPLL0=622.08, TXPLL1=2488.32, у обоих TXPLL - Bonding x1)
1 общий блок Transceiver Reconfiguration Controller (9 каналов, сгруппированные в 3 группы по 3 канала)

FPLL питаются двумя клоками - один питает одну, второй клок питает оставшиеся две FPLL (а каждая FPLL в свою очередь питает по 3 канала каждого трансивера (точнее 6 каналов, т.к. 3 канала по 2 скорости)).
Опорный клок для RXCDR - один общий.
Клок/ресет для всех реконфигураторов - один общий.

Что стоит отметить отдельно:
1. Я сначала пошел по простому пути и просто скопировал (копипастнул) трансивер с FPLL три раза. И оно не собралось. После тушения жопы и подключения мозгов оказалось что ему необходимо иметь не просто разные инстансы трансиверов, а именно разно созданные ядра, пусть и с одинаковыми в моем случае настройками.
2. FPLL тоже нужны в виде именно отдельно созданных IP-ядер.
3. Реконфигуратор трансивера допускается только одним инстансом (но в настройках можно разбить каналы на группы как нужно). Несколько реконфигураторов (например, 3 по 3 канала) - не собирает.
4. Реконфигуратор для FPLL можно использовать в виде одного ядра, просто скопипащенного 3 несколько раз.
5. Запитать 3 FPLL от одного клока не получилось - пришлось задействовать две клоковые ножки.

Хочу отдельной строкой сказать спасибо DeadMazay за помощь!
Go to the top of the page
 
+Quote Post
DeadMazay
сообщение Dec 29 2017, 11:34
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 15
Регистрация: 13-11-09
Пользователь №: 53 611



Цитата(spectr @ Dec 29 2017, 12:39) *
3 блока, каждый состоящий из:
- FPLL с частотой 311.04
- Трансивер в дуплексном режиме (External PLL - 2 штуки, TXPLL0=622.08, TXPLL1=2488.32, у обоих TXPLL - Bonding x1)
1 общий блок Transceiver Reconfiguration Controller (9 каналов, сгруппированные в 3 группы по 3 канала)

Дык получается на каждую тройку 2 ФАПЧа должно быть - если они подключаются как TXPLL0 и TXPLL1? Или всё-таки один ФАПЧ реконфигурируется? Или у ФАПЧа много выходов DPA?

Цитата(spectr @ Dec 29 2017, 12:39) *
FPLL питаются двумя клоками - один питает одну, второй клок питает оставшиеся две FPLL (а каждая FPLL в свою очередь питает по 3 канала каждого трансивера (точнее 6 каналов, т.к. 3 канала по 2 скорости)).
Опорный клок для RXCDR - один общий.

5. Запитать 3 FPLL от одного клока не получилось - пришлось задействовать две клоковые ножки.

Я запитывал 2шт. FPLL от того же опорного клока, что и 8шт. RXCDR, то есть с одной выделенной ноги REFCLK
Go to the top of the page
 
+Quote Post
DeadMazay
сообщение Dec 29 2017, 15:21
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 15
Регистрация: 13-11-09
Пользователь №: 53 611



А у меня эта кухня заработала уже в железе.
То же всем спасибо, с Новым Годом!
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- R6L-025   Quartus на хочет размещать гигабитные трансиверы   Mar 3 2017, 07:17
- - R6L-025   UPDATE Вроде разобрался, оказывается надо внимател...   Mar 4 2017, 13:17
|- - DeadMazay   Цитата(R6L-025 @ Mar 4 2017, 16:17) ...   Dec 6 2017, 16:11
- - bogaev_roman   Заводил все свои 36 трансиверов на arriaV в следую...   Dec 7 2017, 12:10
|- - DeadMazay   Цитата(bogaev_roman @ Dec 7 2017, 15:10) ...   Dec 7 2017, 13:43
||- - bogaev_roman   Цитата(DeadMazay @ Dec 7 2017, 16:43) Вер...   Dec 7 2017, 14:42
||- - DeadMazay   Цитата(bogaev_roman @ Dec 7 2017, 17:42) ...   Dec 10 2017, 10:22
|- - DeadMazay   Цитата(bogaev_roman @ Dec 7 2017, 15:10) ...   Dec 7 2017, 14:56
|- - DeadMazay   Квартус 17.1 не смог развести даже одну группу из ...   Dec 8 2017, 07:53
|- - bogaev_roman   Цитата(DeadMazay @ Dec 7 2017, 17:56) PCS...   Dec 8 2017, 15:29
|- - DeadMazay   Цитата(bogaev_roman @ Dec 8 2017, 18:29) ...   Dec 11 2017, 13:38
|- - bogaev_roman   Цитата(DeadMazay @ Dec 11 2017, 16:38) А ...   Dec 11 2017, 14:46
|- - DeadMazay   Цитата(bogaev_roman @ Dec 11 2017, 17:46)...   Dec 12 2017, 15:21
- - spectr   Отличная тема. А вот скажите, удалось ли кому запу...   Dec 7 2017, 13:57
|- - DeadMazay   Цитата(spectr @ Dec 7 2017, 16:57) Отличн...   Dec 7 2017, 14:04
|- - DeadMazay   Цитата(DeadMazay @ Dec 7 2017, 17:04) Вот...   Dec 11 2017, 12:02
- - spectr   Так удалось кому-нибудь в итоге сделать двухскорос...   Dec 21 2017, 10:20
|- - DeadMazay   Цитата(spectr @ Dec 21 2017, 13:20) Так у...   Dec 22 2017, 11:36
- - spectr   DeadMazay, спасибо за советы. Пробую потихонечку р...   Dec 28 2017, 08:45
- - spectr   Итак, чего удалось добиться. Проект состоит из: - ...   Dec 28 2017, 10:23
|- - DeadMazay   Цитата(spectr @ Dec 28 2017, 13:23) Что п...   Dec 28 2017, 19:59
- - spectr   Убрал ресеты, и ресет-контроллер вообще из проекта...   Dec 28 2017, 12:19
- - spectr   Снова дошли руки до этого проекта. И возникла очер...   May 11 2018, 08:53
|- - DeadMazay   Цитата(spectr @ May 11 2018, 11:53) Пробл...   May 11 2018, 10:13
|- - spectr   Цитата(DeadMazay @ May 11 2018, 13:13) Не...   May 11 2018, 11:52
|- - DeadMazay   Цитата(spectr @ May 11 2018, 14:52) Если ...   May 11 2018, 15:13
- - spectr   В результате ряда экспериментов на serial loopback...   May 16 2018, 14:04
- - spectr   Ситуация разрешилась, всё заработало. У трансивер...   May 17 2018, 14:13


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

 


RSS Текстовая версия Сейчас: 30th July 2025 - 21:02
Рейтинг@Mail.ru


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