OlgaG 0 October 28, 2022 Posted October 28, 2022 · Report post Здравствуйте! Проектирую устройство на базе ПЛИС Microsemi (Actel) A3PE3000. Столкнулась со следующей проблемой. В ПЛИС формируется опорная частота для некоторой схемы. Сигнал, определяющий эту частоту, при прохождении внутри ПЛИС набирает массу помех. Причем, эти помехи значительно зависят от того, как развел сигналы "Designer". ПЛИС загружена примерно на 70%. Тактовая - от генератора 100 МГц плюс другие частоты, полученные на встроенных PLL. Вопрос: можно ли как-то заставить Designer помещать цепи на определенное место? Или как еще избавиться от взаимного влияния сигналов внутри ПЛИС? Заранее Спасибо. Quote Share this post Link to post Share on other sites More sharing options...
Джеймс 0 October 28, 2022 Posted October 28, 2022 · Report post > Взаимное влияние цепей внутри ПЛИС > Нет такого влияния в ПЛИС вообще и в Actel A3PE3000 в частности. Проверьте, что формируемая тактовая частота (выход счетчика?) "сидит" на глобальной линии Отчет смотрите в Actel Designer здесь: Tools -> Reports -> Global Но я думаю что проблема еще и во взаимодействии между собой вот этих "других частот, полученных на встроенных PLL", а вернее взаимодействии логики, которая тактируются этими частотами Quote Share this post Link to post Share on other sites More sharing options...
Maverick_ 10 October 29, 2022 Posted October 29, 2022 · Report post On 10/28/2022 at 7:32 PM, OlgaG said: Здравствуйте! Проектирую устройство на базе ПЛИС Microsemi (Actel) A3PE3000. Столкнулась со следующей проблемой. В ПЛИС формируется опорная частота для некоторой схемы. Сигнал, определяющий эту частоту, при прохождении внутри ПЛИС набирает массу помех. Причем, эти помехи значительно зависят от того, как развел сигналы "Designer". ПЛИС загружена примерно на 70%. Тактовая - от генератора 100 МГц плюс другие частоты, полученные на встроенных PLL. Вопрос: можно ли как-то заставить Designer помещать цепи на определенное место? Или как еще избавиться от взаимного влияния сигналов внутри ПЛИС? Заранее Спасибо. проверьте еще питание fpga, для pll вчастности... Quote Share this post Link to post Share on other sites More sharing options...
iosifk 1 October 29, 2022 Posted October 29, 2022 · Report post В 28.10.2022 в 19:32, OlgaG сказал: Столкнулась со следующей проблемой. В ПЛИС формируется опорная частота для некоторой схемы. Сигнал, определяющий эту частоту, при прохождении внутри ПЛИС набирает массу помех. Причем, эти помехи значительно зависят от того, как развел сигналы "Designer". А вывести частоту на какой-нибудь вывод и посмотреть глазковую диаграмму? Quote Share this post Link to post Share on other sites More sharing options...
OlgaG 0 October 30, 2022 Posted October 30, 2022 · Report post 23 hours ago, iosifk said: А вывести частоту на какой-нибудь вывод и посмотреть глазковую диаграмму? В том то и дело, что как только я добавляю что-то в проект, он разводится по другому, эффект либо исчезает, либо появляется. On 10/29/2022 at 1:34 AM, Джеймс said: >Проверьте, что формируемая тактовая частота (выход счетчика?) "сидит" на глобальной линии Но я думаю что проблема еще и во взаимодействии между собой вот этих "других частот, полученных на встроенных PLL", а вернее взаимодействии логики, которая тактируются этими частотами Тактовая частота 100МГц - на глобальной шине. Выход счетчика, который формирует опору для внешнего устройства - не на глобальной шине. И что же сделать с другими частотами, чтобы они не создавали проблем? И они тоже все на глобальных шинах. On 10/29/2022 at 8:19 PM, Maverick_ said: проверьте еще питание fpga, для pll вчастности... С питанием все ОК, и есть варианты разводки ПЛИС, когда все отлично работает. Это не может подтверждать, что питание в норме? Прикладываю скриншоты с кусочком трассировки и пояснениями. Quote Share this post Link to post Share on other sites More sharing options...
RobFPGA 7 October 30, 2022 Posted October 30, 2022 · Report post Использовать сигнал сформированный в FPGA как внешней опору плохая практика, и тем более если это опора для внешних аналоговых вещей. Quote Share this post Link to post Share on other sites More sharing options...
OlgaG 0 October 30, 2022 Posted October 30, 2022 · Report post 5 minutes ago, RobFPGA said: Использовать сигнал сформированный в FPGA как внешней опору плохая практика, и тем более если это опора для внешних аналоговых вещей. Согласна, но теперь уже поздно. Надо выйти из положения программным способом. Quote Share this post Link to post Share on other sites More sharing options...
RobFPGA 7 October 30, 2022 Posted October 30, 2022 · Report post 1 minute ago, OlgaG said: Надо выйти из положения программным способом. Я бы не тратил время на "программный способ". Так как IMHO такого способа в этом случае нет. "Мусор" в сигнал лезет не "наводками" на линю, а скорее через шумы питания и внyтренней "земли". Кои (шумы) для цифровых схем весьма существенны и плохо контролируются доступным "программным способом". IMHO эффективнее решать эту проблему "железным способом", снаружи FPGA. Quote Share this post Link to post Share on other sites More sharing options...
Джеймс 0 October 30, 2022 Posted October 30, 2022 · Report post 42 minutes ago, OlgaG said: С питанием все ОК, и есть варианты разводки ПЛИС, когда все отлично работает. Это не может подтверждать, что питание в норме? Прикладываю скриншоты с кусочком трассировки и пояснениями. Ну ваще.. Если не хотите ничего переделывать, и нужен "программный" обход, предлагаю вот что. Поставьте в эту линию, которая выходит наружу, последовательно 2-3 элемента BUFD. Потом прямо в Chip Planner, после трассировки которая пройдет случайным образом, перетащите их мышкой в желаемые точки, чтобы проложить маршрут. Если поможет, посмотрите location-s этих BUFD и внесите их в свой .pdc файл Quote Share this post Link to post Share on other sites More sharing options...
OlgaG 0 October 30, 2022 Posted October 30, 2022 · Report post 21 minutes ago, Джеймс said: Ну ваще.. Если не хотите ничего переделывать, и нужен "программный" обход, предлагаю вот что. Поставьте в эту линию, которая выходит наружу, последовательно 2-3 элемента BUFD. Потом прямо в Chip Planner, после трассировки которая пройдет случайным образом, перетащите их мышкой в желаемые точки, чтобы проложить маршрут. Если поможет, посмотрите location-s этих BUFD и внесите их в свой .pdc файл Большое спасибо! Попробую. Quote Share this post Link to post Share on other sites More sharing options...
Самурай 7 October 30, 2022 Posted October 30, 2022 · Report post В 28.10.2022 в 19:32, OlgaG сказал: Сигнал, определяющий эту частоту, при прохождении внутри ПЛИС набирает массу помех. Вы бы лучше показали, что это за "помехи", а то есть сильное подозрение, что это вовсе и не помехи, а следствие несинхронного дизайна, или неаккуратного перехода между тактовыми доменами... Уж больно характерный признак: В 28.10.2022 в 19:32, OlgaG сказал: Причем, эти помехи значительно зависят от того, как развел сигналы "Designer". Quote Share this post Link to post Share on other sites More sharing options...
des00 7 October 31, 2022 Posted October 31, 2022 · Report post 8 hours ago, Самурай said: Вы бы лучше показали, что это за "помехи", а то есть сильное подозрение, что это вовсе и не помехи, а следствие несинхронного дизайна, или неаккуратного перехода между тактовыми доменами... Уж больно характерный признак: Не, есть такой эффект. Наблюдал лично. Выходной сигнал может быть модулирован по амплитуде, иметь аддитивную наводку. И когда тактируешь внешнее устройство, требующее хорошей частоты, то вылезают всякие артефакты) Поэтому только так 9 hours ago, RobFPGA said: Использовать сигнал сформированный в FPGA как внешней опору плохая практика, и тем более если это опора для внешних аналоговых вещей. Даже прибитая гвоздями линия может выдать такой сигнал. Так что перебирать сборки сидом и искать хорошую) Quote Share this post Link to post Share on other sites More sharing options...
yes 1 October 31, 2022 Posted October 31, 2022 · Report post 13 hours ago, OlgaG said: Тактовая частота 100МГц - на глобальной шине. Выход счетчика, который формирует опору для внешнего устройства - не на глобальной шине. подайте частоту вдвое выше на тактовый вход триггера в IO (upd: ну при этом на вход триггера надо подать сигнал /2 - то есть проще с DDR - на входы D0 / D1 константы 1 и 0 ну и тактовую на С) то есть чтобы вывод опоры был прямо в ножке это стандартный способ ------------------------- можно еще с DDR повозиться (чтобы вдвое не увеличивать), но не помню как там в ProASIC-ах DDR сделан ------------------------- наверно, дело не в том, что "влияют сигналы", а разводка от триггера до ножки может пойти каким-то кривым путем и метода исправить это (гарантировать одинаковость при каждом изменении) практически и нету Quote Share this post Link to post Share on other sites More sharing options...
OlgaG 0 November 9, 2022 Posted November 9, 2022 · Report post Проблема частично решилась. Нашли, что на плате рядом с сигналом опорной частоты проходят две цепи разрядов ЦАП, в которых меняются данные. Переделали прошивку ПЛИС, теперь данные этих разрядов не изменяются, Помех на опорной частоте стало меньше, что позволяет работать. В процессе исследования также выяснилось, что на помехи в выходах ПЛИС влияет наличие сильно разветвленных логических модулей (больших мультиплексоров, сумматоров и т.п.). Благодарю всех откликнувшихся за советы! Quote Share this post Link to post Share on other sites More sharing options...