|
Можно подцепить вход pll на обычную ногу? |
|
|
|
Feb 10 2014, 17:22
|

Местный
  
Группа: Свой
Сообщений: 375
Регистрация: 9-10-09
Из: Свердловский регион
Пользователь №: 52 845

|
Развели печатную плату с Циклон 5 (Альтера). Кварц 50МГц подключили к "обычной" ноге (на картинке AB10). В проекте решили заиметь более высокую частоту с помощью pll. При подкючении входа pll к этой ноге квартус на этапе фиттеровщика выдает сообщение об ошибке: Код Error (175001): Could not place fractional PLL Info (175028): The fractional PLL name: PLL:inst12|PLL_0002:pll_inst|altera_pll:altera_pll_i|general[0].gpll~FRACTIONAL_PLL Error (177020): The PLL reference clock was not placed in a dedicated input pin that can reach the fractional PLL Info (175026): Source: pin clk50MHZ Info (175015): The I/O pad is constrained to the location PIN_AB10 due to: User Location Constraints (PIN_AB10) Info (175029): 8 locations affected Info (175029): FRACTIONALPLL_X0_Y1_N0 Info (175029): FRACTIONALPLL_X0_Y22_N0 Info (175029): FRACTIONALPLL_X0_Y39_N0 Info (175029): FRACTIONALPLL_X0_Y64_N0 Info (175029): FRACTIONALPLL_X0_Y81_N0 Info (175029): FRACTIONALPLL_X0_Y108_N0 Info (175029): FRACTIONALPLL_X121_Y1_N0 Info (175029): FRACTIONALPLL_X121_Y108_N0 Error (12289): An error occurred while applying the periphery constraints. Review the offending constraints and rerun the Fitter. Info (11798): Fitter preparation operations ending: elapsed time is 00:00:18 Error (11802): Can't fit design in device Error: Quartus II 64-Bit Fitter was unsuccessful. 4 errors, 3 warnings Error: Peak virtual memory: 1239 megabytes Error: Processing ended: Mon Feb 10 23:14:46 2014 Error: Elapsed time: 00:00:32 Error: Total CPU time (on all processors): 00:00:31 Error (293001): Quartus II Full Compilation was unsuccessful. 6 errors, 23 warnings Ребята нашли выход: сверлят плату с обратной стороны, в районе нужного шарика (нога E10), подпаиваются проводком. Несколько плат удалось так апгрейдить, а несколько удалось убить. Неужто программно ничего нельзя сделать?
|
|
|
|
|
Feb 10 2014, 17:25
|
Знающий
   
Группа: Свой
Сообщений: 790
Регистрация: 6-02-14
Из: Омск
Пользователь №: 80 379

|
Нельзя, dedicated global clock buf специальные входы, которые разведены по всему чипу так, чтобы обеспечить максимально качественный клок для доставки в выбранный банк. Простые пины вносят большой джитттер и задержки, поэтому использовать можно, качество клока будет далеко неидеальным. Сверлят правильно, ведь от клока зависит, будет дизайн работать или нет.
Вопрос в другом, почему сверлят, когда можно перепаять BGA чип? Пайка BGA не такая сложная операция и чипы убить сложно если выдерживать профиль. Отпаяли, приклеили лаком для ногтей проводок к плате, запаяли обратно. Две три итерации вполне выдержит.
Сообщение отредактировал agregat - Feb 10 2014, 17:28
|
|
|
|
|
Feb 11 2014, 07:42
|
Гуру
     
Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881

|
Цитата(sazh @ Feb 11 2014, 11:41)  Странно другое, что это продолжают поддерживать в новых семействах. Ничего странного, это абсолютная необходимость, иметь возможность полученный на внутренней логике сигнал завести на PLL. Да и элементарно, по разводке дорожек может оказаться, что не критичный по джиттеру клок удобнее завести на простой пин. Я удивляюсь другому, что столько лет, а предрассудки все те же, что клоки можно подавать только на клоковые пины. Изучайте внутреннюю структуру ПЛИС аккуратно, внимательно и полностью!!! И пользуйтесь всеми ее возможностями без надуманных ограничений.
|
|
|
|
|
Feb 11 2014, 07:52
|
Гуру
     
Группа: Свой
Сообщений: 2 435
Регистрация: 6-10-04
Из: Петербург
Пользователь №: 804

|
Цитата(SM @ Feb 11 2014, 10:42)  Изучайте внутреннюю структуру ПЛИС аккуратно, внимательно и полностью И все же это был плод совместных изысканий при обсуждении на конференции always @(posedge clk) begin ct <= ct + 1'b1; end lcell lcell ( .in (ct[1]), .out (out_lcell) ); global global ( .in (out_lcell), .out (out_global) ); Стандартный подход гарантирует отсутствие проблем, например выше перечисленных, пусть даже по незнанию.
|
|
|
|
|
Feb 11 2014, 08:00
|
Гуру
     
Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881

|
Цитата(sazh @ Feb 11 2014, 11:52)  И все же это был плод совместных изысканийпри обсуждении на конференции Обсуждения не было бы, если бы человек почитал даташит: http://www.altera.com/literature/hb/cyclone-v/cv_52004.pdffig. 4-9 - видим, что на GCLK можно подать с Internal logic (LCELL) fig. 4-23 - видим, что на вход PLL можно подать GCLK (GLOBAL) и всех дел... Но ведь лень, матушка... Проще то и быстрее спросить тут, чем изучать литературу. Я тоже, по лени, вместо того, чтобы глянуть в даташит, и сказать "сделайте так", просто по памяти написал "а попробуйте", тоже лень. А вот Вы уже заставили меня лезть в книжки... Цитата(sazh @ Feb 11 2014, 11:52)  Стандартный подход гарантирует отсутствие проблем, например выше перечисленных, пусть даже по незнанию. Зато, нередко, стандартный подход не позволяет сделать дешевле/меньше/лучше/т.п., чем у конкурента. Использование только стандартных подходов явный признак низкой квалификации разработчика. PS В Вашем примере LCELL лишний, выход ct[1] и так сам по себе LCELL.
|
|
|
|
|
Feb 11 2014, 08:44
|
Знающий
   
Группа: Свой
Сообщений: 572
Регистрация: 17-11-05
Из: СПб, Россия
Пользователь №: 10 965

|
Цитата(SM @ Feb 11 2014, 11:37)  Нет. Я так заводил и в ACEX, и в Cyclone первом, у меня нет опыта работы с циклонами старше 2-го вообще. В любой ПЛИС (альтеры, латиса) есть возможность подачи на PLL глобального клока, и подачи клока в глобальную сеть из логической матрицы. Не уверен. Если посмотреть на структуру того же первого циклона, то там вход на PLL заведен только со входных dedicated input пинов. Из логики идет коннект только на clock control и далее на global, но оттуда на PLL уже не попасть. Вот в пятых действительно нарисован сигнал на вход pll из логики. По факту удалось проверить только на Cyclone 3 (младше уже мой квартус не держит) и там. Error (15065): Clock input port inclk[0] of PLL "pll:inst|altpll:altpll_component|pll_altpll:auto_generated|pll1" must be driven by a non-inverted input pin or another PLL, optionally through a Clock Control block. Структура точно такая, как у автора - pin->LCELL->global-> PLL.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|