Добрый день!
Прошу помочь с сабжем.
Есть проект под 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 (может какие-то хитрые требования к размещению трансиверов о которых мы не знали

).
Может кто-то сталкивался с похожими проблемами?
P.S. скриншот пин-планера с распиновкой на которую ругается Quartus