Jump to content
    

Actel: Взаимное влияние цепей внутри ПЛИС

Здравствуйте!

Проектирую устройство на базе ПЛИС Microsemi (Actel) A3PE3000.

Столкнулась со следующей проблемой. В ПЛИС формируется опорная частота для некоторой схемы. Сигнал, определяющий эту частоту, при прохождении внутри ПЛИС набирает массу помех. Причем, эти помехи значительно зависят от того, как развел сигналы "Designer". ПЛИС загружена примерно на 70%. Тактовая - от генератора 100 МГц плюс другие частоты, полученные на встроенных PLL.

Вопрос: можно ли как-то заставить Designer помещать цепи на определенное место? Или как еще избавиться от взаимного влияния сигналов внутри ПЛИС?

Заранее Спасибо.

Share this post


Link to post
Share on other sites

Взаимное влияние цепей внутри ПЛИС
>


Нет такого влияния в ПЛИС вообще и в Actel A3PE3000 в частности.

Проверьте, что формируемая тактовая частота (выход счетчика?) "сидит" на глобальной линии

Отчет смотрите в Actel Designer здесь: Tools -> Reports -> Global



Но я думаю что проблема еще и во взаимодействии между собой вот этих "других частот, полученных на встроенных PLL", а вернее взаимодействии логики, которая тактируются этими частотами


 

Share this post


Link to post
Share on other sites

On 10/28/2022 at 7:32 PM, OlgaG said:

Здравствуйте!

Проектирую устройство на базе ПЛИС Microsemi (Actel) A3PE3000.

Столкнулась со следующей проблемой. В ПЛИС формируется опорная частота для некоторой схемы. Сигнал, определяющий эту частоту, при прохождении внутри ПЛИС набирает массу помех. Причем, эти помехи значительно зависят от того, как развел сигналы "Designer". ПЛИС загружена примерно на 70%. Тактовая - от генератора 100 МГц плюс другие частоты, полученные на встроенных PLL.

Вопрос: можно ли как-то заставить Designer помещать цепи на определенное место? Или как еще избавиться от взаимного влияния сигналов внутри ПЛИС?

Заранее Спасибо.

проверьте еще питание fpga, для pll вчастности...

Share this post


Link to post
Share on other sites

В 28.10.2022 в 19:32, OlgaG сказал:

Столкнулась со следующей проблемой. В ПЛИС формируется опорная частота для некоторой схемы. Сигнал, определяющий эту частоту, при прохождении внутри ПЛИС набирает массу помех. Причем, эти помехи значительно зависят от того, как развел сигналы "Designer".

А вывести частоту на какой-нибудь вывод и посмотреть глазковую диаграмму?

Share this post


Link to post
Share on other sites

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 вчастности...

С питанием все ОК, и есть варианты разводки ПЛИС, когда все отлично работает. Это не может подтверждать, что питание в норме?

Прикладываю скриншоты с кусочком трассировки и пояснениями.

1.PNG

2.PNG

3.PNG

Share this post


Link to post
Share on other sites

Использовать  сигнал сформированный в FPGA  как внешней  опору плохая практика,  и тем более если это опора для внешних аналоговых вещей. 

Share this post


Link to post
Share on other sites

5 minutes ago, RobFPGA said:

Использовать  сигнал сформированный в FPGA  как внешней  опору плохая практика,  и тем более если это опора для внешних аналоговых вещей. 

Согласна, но теперь уже поздно. Надо выйти из положения программным способом.

 

Share this post


Link to post
Share on other sites

1 minute ago, OlgaG said:

Надо выйти из положения программным способом.

Я бы  не тратил время на "программный способ".  Так как IMHO такого способа в этом случае нет.
"Мусор"  в сигнал лезет не "наводками" на линю, а скорее через шумы питания и внyтренней "земли".  Кои (шумы) для цифровых схем весьма существенны и плохо контролируются доступным "программным способом". 
IMHO эффективнее решать эту проблему "железным способом", снаружи FPGA.    
       

Share this post


Link to post
Share on other sites

42 minutes ago, OlgaG said:

 

С питанием все ОК, и есть варианты разводки ПЛИС, когда все отлично работает. Это не может подтверждать, что питание в норме?

Прикладываю скриншоты с кусочком трассировки и пояснениями.

 

Ну ваще..

Если не хотите ничего переделывать, и нужен "программный" обход, предлагаю вот что.

Поставьте в эту линию, которая выходит наружу, последовательно 2-3 элемента BUFD. Потом прямо в Chip Planner, после трассировки которая пройдет случайным образом, перетащите их мышкой в желаемые точки, чтобы проложить маршрут.

Если поможет, посмотрите location-s этих BUFD и внесите их в свой .pdc файл

Share this post


Link to post
Share on other sites

21 minutes ago, Джеймс said:

Ну ваще..

Если не хотите ничего переделывать, и нужен "программный" обход, предлагаю вот что.

Поставьте в эту линию, которая выходит наружу, последовательно 2-3 элемента BUFD. Потом прямо в Chip Planner, после трассировки которая пройдет случайным образом, перетащите их мышкой в желаемые точки, чтобы проложить маршрут.

Если поможет, посмотрите location-s этих BUFD и внесите их в свой .pdc файл

Большое спасибо! Попробую.

Share this post


Link to post
Share on other sites

В 28.10.2022 в 19:32, OlgaG сказал:

Сигнал, определяющий эту частоту, при прохождении внутри ПЛИС набирает массу помех.

Вы бы лучше показали, что это за "помехи", а то есть сильное подозрение, что это вовсе и не помехи, а следствие несинхронного дизайна, или неаккуратного перехода между тактовыми доменами... Уж больно характерный признак:

В 28.10.2022 в 19:32, OlgaG сказал:

Причем, эти помехи значительно зависят от того, как развел сигналы "Designer".

 

Share this post


Link to post
Share on other sites

8 hours ago, Самурай said:

Вы бы лучше показали, что это за "помехи", а то есть сильное подозрение, что это вовсе и не помехи, а следствие несинхронного дизайна, или неаккуратного перехода между тактовыми доменами... Уж больно характерный признак:

Не, есть такой эффект. Наблюдал лично. Выходной сигнал может быть модулирован по амплитуде, иметь аддитивную наводку. И когда тактируешь внешнее устройство, требующее хорошей частоты, то вылезают всякие артефакты)

Поэтому только так 

9 hours ago, RobFPGA said:

Использовать  сигнал сформированный в FPGA  как внешней  опору плохая практика,  и тем более если это опора для внешних аналоговых вещей. 

Даже прибитая гвоздями линия может выдать такой сигнал. Так что перебирать сборки сидом и искать хорошую)

Share this post


Link to post
Share on other sites

13 hours ago, OlgaG said:

Тактовая частота 100МГц - на глобальной шине. Выход счетчика, который формирует опору для внешнего устройства - не на глобальной шине.

 

подайте частоту вдвое выше на тактовый вход триггера в IO (upd: ну при этом на вход триггера надо подать сигнал /2 - то есть проще с DDR - на входы D0 / D1 константы 1 и 0 ну и тактовую на С)

то есть чтобы вывод опоры был прямо в ножке

это стандартный способ

-------------------------

можно еще с DDR повозиться (чтобы вдвое не увеличивать), но не помню как там в ProASIC-ах DDR сделан

-------------------------

наверно, дело не в том, что "влияют сигналы", а разводка от триггера до ножки может пойти каким-то кривым путем и метода исправить это (гарантировать одинаковость при каждом изменении) практически и нету

 

Share this post


Link to post
Share on other sites

Проблема частично решилась.

Нашли, что на плате рядом с сигналом опорной частоты проходят две цепи разрядов ЦАП, в которых меняются данные. Переделали прошивку ПЛИС, теперь данные этих разрядов не изменяются, Помех на опорной частоте стало меньше, что позволяет работать.

В процессе исследования также выяснилось, что на помехи в выходах ПЛИС влияет наличие сильно разветвленных логических модулей (больших мультиплексоров, сумматоров и т.п.).

Благодарю всех откликнувшихся за советы!

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...