Перейти к содержанию
    

Подать такты не на специализированную ногу

Здравствуйте. Собираю проект для EP3C120F780 в который входит ядро, для управления микросхемой 88E1111 написанное другим человеком. На ядро поступает несколько тактовых сигналов с разных источников. Один из этих сигналов ENET_RX_CLK 125МГц идущий с PHY поступает на pll где сдвигается на 90 градусов. Проект рисовали с одной из отладочных плат, но на плате данный сигнал выведен на ножку плис B14 которая является DIFFCLK_4p. В моём же случае сигнал идёт на ножку R4 являющуюся обычной пользовательской лапой. При компиляции квартус утверждает, что не можт развести проек, т.к.:

Error (176554): Can't place PLL "Eth_sys:Eth_sys_inst|Et_88E1111_0:the_Et_88E1111_0|Et_88E1111_v2:et_88e1111

_0|NET_IP_core:NET_IP_core_inst|RGMII_MAC:RGMII_MAC_inst|rx_pll_phase_shifter:rx_

pll_phase_shifter_inst|altpll:altpll_component|rx_pll_phase_shifter_altpll:auto_g

enerated|pll1" -- I/O pin eth_rx_clk (port type INCLK of the PLL) is assigned to a location which is not connected to port type INCLK of any PLL on the device".

Может ли кто подсказать решение данной проблемы? Заранее спасибо.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Конечно. Переразвести плату, как положено. Сначала думать, потом проект в Quartus-е отлаживать, потом плату разводить.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Конечно. Переразвести плату, как положено.
Может что нибудь менее радикальное?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Может что нибудь менее радикальное?

Можно. Перерезать дорожки, перепаять проводами. Все равно это не окончательная версия платы.

Анекдот такой был. "Доктор, а можно без ампутации...? Можно. Вот этим мажьте... сам отвалится."

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да там 2 микросхемы... и у обеих ножки под жёп... брюхом... дорожка в среднем слое...

Может попробовать выкинуть pll и сдвигатель фазы сделать на логике... Но конечно в плане стабильности будет не комельфо.

Изменено пользователем Грендайзер

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

обеих ножки под жёп... брюхом... дорожка в среднем слое

расковыривайте переходнушки, паяйтесь к ним.

 

сдвигатель фазы сделать на логике

Создать проблемы на свою голову, а потом с ними героически бороться - это так по-русски.

Научитесь признавать свои ошибки, и главное - делать из этого опыта правильные выводы. Если конечно не хотите и дальше прыгать по граблям.

заниматься извращениями внутри плисины не советую - пустая потеря времени.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да там 2 микросхемы... и у обеих ножки под жёп... брюхом... дорожка в среднем слое...

Может попробовать выкинуть pll и сдвигатель фазы сделать на логике... Но конечно в плане стабильности будет не комельфо.

Это входной клок данных, там не просто сдвиг, там скорее всего PLL включено в режиме компенсации задержки клока (а сдвиг-то уже и и так на внешних сигналах есть - обеспечен источником сигнала) - Source-Synchronous Compensation Mode, т.ч. ничо там вручную не насдвигаете. Посмотрите, может какая-то из входных тактовых ног PLL выведена на переходку или доступна так или иначе для сопельного монтажа. Если нет, то либо переделывать плату, либо снимать ПЛИС, подводить к ламели проводок (процарапать канавку в плате, вклеить на БФ-2 туда тонкий проводок) и ставить обратно, но это уже ювелирство, хотя обычно удаётся достичь успеха. Для макета сгодится, а там исправите плату.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да, у самого из мыслей только проковырять слои... Вообщем спасибо всем за советы!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Проблема очень похожа на мою.

ссылка

Только вот у меня простой переразводкой не обойдётся,придётся переходить на более толстую плисину. Решил пока подождать плату и попробовать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Попробуйте довернуть клок не с помощью PLL, а с помощью ALTCLKCTRL настроенной в качестве глобального буфера.

В этом случае при прохождении клока через глобальный буфер будет получаться задержка порядка 1,2 нс, что должно быть вполне достаточно. Также задержки можно крутить и в 88E1111. Посмотрите в datasheet описание 20 регистра.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Попробуйте довернуть клок не с помощью PLL, а с помощью ALTCLKCTRL настроенной в качестве глобального буфера.

В этом случае при прохождении клока через глобальный буфер будет получаться задержка порядка 1,2 нс, что должно быть вполне достаточно. Также задержки можно крутить и в 88E1111. Посмотрите в datasheet описание 20 регистра.

если по совокупности, - то время, потраченное FPGA-инженером на обход косяка трассировки, будет стоит дороже, чем суммарная стоимость переразводки+изготовления платы.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

если по совокупности, - то время, потраченное FPGA-инженером на обход косяка трассировки, будет стоит дороже, чем суммарная стоимость переразводки+изготовления платы.

Даже в моём случае (+1Кбакс)?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Может ли кто подсказать решение данной проблемы? Заранее спасибо.

У Вас есть плата (возможно отладочная покупная) на которой 88E1111 работает?

Признаться, у меня даже с правильно разведенной платой (заранее проверял в квартусе разводимость прежде чем схему делать) есть траблы с 88E1111, а если пытаться исправлять такую фатальную ошибку вроде клоков ПЛИС - то это однозначно переразводить.

 

Когда сделаете новую плату - будем вместе побеждать :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

а если пытаться исправлять такую фатальную ошибку вроде клоков ПЛИС - то это однозначно переразводить.

Отнюдь. Я работал с парой чужих плат где клоки были заведены на обычные пины. И я всегда обходился без PLL.

Доворачивал их с помощью задержек либо в ПЛИС, либо в самой микросхеме PHY. Главное было пропустить их через глобальный буфер и получить временной сдвиг в пределах 1,1-1,9нс.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

а если пытаться исправлять такую фатальную ошибку вроде клоков ПЛИС - то это однозначно переразводить.

А Вы забыли что например, в шинах с DDR наоборот рекомендуется клок формировать как дополнительный разряд данных(обычными портами IO)? Это я к тому что в ответах присутствуют только намёки,что мол это не хорошо и нет ни одного конкретного ответа к каким последствиям это может привести.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...