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

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


Участник
*

Группа: Участник
Сообщений: 55
Регистрация: 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
R6L-025
сообщение Mar 4 2017, 13:17
Сообщение #2


Участник
*

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



UPDATE
Вроде разобрался, оказывается надо внимательней читать документацию rolleyes.gif Хотя осталось не мало непонятных для меня моментов.
Из того что понял:
- в Arria-V все трансиверы разделены по банкам;
- в каждом банке по 6 полнодуплексных трансиверов. В понятие "полнодуплексный трансивер" включают один RX и один TX трансиверы + канальная PLL + своя схеме деления клока "clock devider";
- каждый банк поделен на 2 полу-банка - верхний и нижний;
- в каждом полу-банке (т.е. 3 трансивера) в среднем трансивере стоит "central PLL", тогда как в оставшихся 2-х "local PLL". Central PLL являются более производительными (для GT и ST кристаллов), и могут питать
клоком другие трансиверы, тогда как local - только самих себя;
- есть 3 схемы тактирования трансиверов: x1, x6, xN. В схеме x1 - каждый трансивер питается через свой локальный делитель,
В схемах x6, xN - клок проходит через центральный, потом через локальный. Причем в xN режиме можно питать одним клоком все трансиверы на той-же самой стороне кристалла, на которой находится сама питающая CMU PLL.

Для тактирования через xN, как оказалось, нужно пожертвовать одним центральным трансивером, который будет работать только как CMU PLL с делителем. На нашей плате этого не было учтено, и каналы slite2 были разведены в точности по центральным трансиверам. Так что если освободить хоть один центральный трансивер в любом банке - все заработает т.к. он будет работать как CMU PLL.

А вот с тактированием по схеме x1 происходят не совсем мне понятные совсем не понятные вещи:
почему-то необходимо хотя бы один центральный трансивер с каждого банка оставлять не подключенным. Однако в handbook'e нарисовано что при тактировании по схеме x1 будет использоваться CMU PLL центрального трансивера, но сам трансивер при этом может использоавтся по прямому назначению, а какого либо комментария на счет того что его нельзя использовать я так и не смог найти. Единственное предположение - что это как-то связанно с приемной частью трансиверов, там есть ограничение при котором центральный трансивер превращяется в PLL если использоавть согласующее FIFO на входе PCM блока трансивера. Я то не использую их, но других предположентий у меня нет)

Если смотреть на схему Альтеровского ArriaV-SoC devkit - они оставили не подключенными все центральные трансиверы во всех банках (кроме банка с PCIe, там только одна из 2-х не подключена).

Если кто-то сталкивался с такими ограичениями на размещения трансиверов - напишите, может еще кому-то поможет в схожей ситуации rolleyes.gif


Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 26th June 2017 - 22:37
Рейтинг@Mail.ru


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