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

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

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

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

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

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

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

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


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

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


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

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

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



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


 

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


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

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

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

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

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

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

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

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

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


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

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

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

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

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


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

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

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


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

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

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


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

5 minutes ago, RobFPGA said:

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

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

 

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


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

1 minute ago, OlgaG said:

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

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

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


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

42 minutes ago, OlgaG said:

 

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

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

 

Ну ваще..

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

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

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

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


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

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

Ну ваще..

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

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

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

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

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


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

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

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

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

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

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

 

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


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

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

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

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

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

9 hours ago, RobFPGA said:

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

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

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


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

13 hours ago, OlgaG said:

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

 

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

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

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

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

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

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

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

 

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


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

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

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

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

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

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


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

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

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

Гость
Ответить в этой теме...

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

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

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

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

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

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