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

XILINX 2018 ILA ядро не видит тактовый клок, при его наличии.

26 minutes ago, Flip-fl0p said:

Все верно. Если при запуске ILA частоты нет, то он будет ругаться. Помогает только повторная прошивка. Как обойти это я не знаю. 

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

3 minutes ago, Strob said:

На проводах. Но все же не сопли ))

Самое интересное, что проблема явно носит случайный характер. Мне удавалось запустить ila много раз перезапуская виваду, выдергивая-подключая программатор и т.д. на некоторых сборках проекта проблема вообще не проявлялась. Более того. У меня было 2 ila, обе подключены к частотам которых нет на момент запуска. Частоты одинаковые 250 МГц, но асинхронные. Одна ila стабильно запускалась, другая - нет.

Пропускал частоту через clock wizard, ставил параметр safe clock startup. Не помогло.

Версия 2020.1 - проблема та же.

 

Сталкивался и с такой проблемой. Два канала JESD две опоры, два ILA. Один работает, другой нет. Мои мысли на этот счёт: некий шум всё равно пробивается, даже если частоты там нет. Ядро XILINX при старте в какой то момент может принять этот шум за корректный клок (при совершенно чудесных обстоятельствах) и потом когда частота уже устанавливается валидная, ядро работает, так как прошло начальную инициализацию или калибровку (не знаю как там всё устроено). При всех же других случаях шум это просто шум и ядро отказывается работать.

1 hour ago, _4afc_ said:

 

Я не использую ядро хотя суть одна . В 2019.1 ядро той же версии 6.2

 

Но у меня клоки не подаются в проект пока они не стабилизируются.

 

Попробуйте поставить BUFGCE на вашу частоту после комутаторов и подавайте её в проект или с задержкой после включения или по PLL_LOCK.

Клок подаётся через ПЛЛ, куда уж больше стабильности? Лок установился, частота есть, можно работать. Коммутаторы находятся не в ПЛИС а на плате. Там 2 два коммутатора, через них клок идёт на клоковый вход в ПЛИС. Клоковый вход подаю на ПЛЛ, а сигнал из ПЛЛ уже в ядро ILA.

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


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

41 минуту назад, Flip-fl0p сказал:

Все верно. Если при запуске ILA частоты нет, то он будет ругаться. Помогает только повторная прошивка. Как обойти это я не знаю. 

Как странно. Пользователи Altera/Intel и не знаю о такой проблеме с SignalTap. Если это не баг Vivado - то это знатный камень в разработчиков, отвечающих за механизмы отладки прошивок ПЛИС у Xilinx.

Подобную ошибку разве не обсуждали на форумах Xilinx? Где тут у нас активные пользователи Хилых?

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


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

27 minutes ago, warrior-2001 said:

Подобную ошибку разве не обсуждали на форумах Xilinx? Где тут у нас активные пользователи Хилых

Искал на форумах. Не находил ничего похожего.

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


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

55 minutes ago, Strob said:

Искал на форумах. Не находил ничего похожего.

Да ладно! https://www.google.com/search?client=firefox-b-d&q=vivado+ila+free+running+clock

 

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


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

24 minutes ago, alexadmin said:

Действительно. :unknw: в такой вариации запроса ищется быстро. 

Значит плохо искал. Впрочем проблему это не решает...

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


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

2 hours ago, Flip-fl0p said:

Все верно. Если при запуске ILA частоты нет, то он будет ругаться. Помогает только повторная прошивка. Как обойти это я не знаю. 

Не согласен, у меня не так:

 

Подключаю USB.

Прошиваю Artix на частоте 10МГц.

DebugCLK появляется через 500мС после запуска Artix.

 

В проекте DebugCLK=384МГц DebugCE=320кГц (каждый 1200 отсчёт) - Refresh Device ila не добавляет.

 

Выбираю на плате DebugCE=0. Digilent=125кГц - Refresh Device ila не добавляет.

 

Выбираю на плате DebugCE=320кГц  - Refresh Device добавляет ila.

 

Нажимаю на треугольник триггера - ila заполняется данными.

 

Выбираю на плате DebugCE=0. - ila не реагирует.

 

Нажимаю на треугольник триггера - появляется окно ошибки unable to arm ila но ila не пропадает.

 

Выбираю на плате DebugCE=320кГц . - ila не реагирует.

 

Нажимаю на треугольник триггера - ila заполняется данными.

 

 

 

 

2 hours ago, Strob said:

На проводах. Но все же не сопли ))

Самое интересное, что проблема явно носит случайный характер.

А положение проводов не носит случайный характер?

 

Мы раньше выпускали модули на Спартанах-6 для себя и ставили в разные макетки и "материнки"...

 

Так вот один и в некоторых макетках одни и те же модули - вообще по JTAG Digilent не соединялись.

 

В других обрезав разводку и подключив JTAG рядом с ПЛИС - удавалось иногда прошить.

 

А был макет на двухслойке под другие модули, где JTAG был подпаян проводами длиной сантиметров 15 - и там шилось всегда.

В итоге чаще всего в нём шили - а потом переставляли в другие.

 

Плохо там всё с выводами JTAG - я по этому HS2 и взял - чтоб короткие связи были...

 

15 minutes ago, Strob said:

Действительно. :unknw: в такой вариации запроса ищется быстро. 

Значит плохо искал. Впрочем проблему это не решает...

Google    xilinx ila reset site:forums.xilinx.com

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


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

13 minutes ago, _4afc_ said:

А положение проводов не носит случайный характер?

Ответ очевиден )) 

но при прочих равных, было 2 ila на кристалле. На одной частоте и обе получали частоту сильно позже старта плисы. Одна ila стартует нормально. Вторая нет. К тому же, если после танцев с бубнами ila заводится, то уже не пропадает до выключения питания.

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


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

2 hours ago, Strob said:

но при прочих равных, было 2 ila на кристалле. На одной частоте и обе получали частоту сильно позже старта плисы. Одна ila стартует нормально. Вторая нет. К тому же, если после танцев с бубнами ila заводится, то уже не пропадает до выключения питания.

Как создаются ila?

Времянки проекта сходятся?

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


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

18 minutes ago, _4afc_ said:

Как создаются ila?

Времянки проекта сходятся?

Создавал через мастер в GUI. Ну а по результату через тикль.

Сходятся. С запасом 250-350 пс.

Я специально для тестов выкидывал из проекта все кроме проверяемого куска. Без изменений.

Вообще, по поводу времянок у меня есть подозрения, хотя и не могу их как либо проверить. Я с проблемой ila не прям сейчас сижу, но недавно было. Несмотря на запас, один из трактов обработки работающий на 250 выдавал странный сигнал. При этом он точно работал нормально раньше. Перепайка плисы решила проблему. Потом подобная ситуация на другом экземпляре появилась(пол года прошло). Вот думаю термоиспытания не гробят ли времянки кристаллов? Там довольно жёстко получается, +100, может даже больше на кристалле. Сейчас опять же проблема ушла когда переразвел на 285 МГц.

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


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

On 3/17/2021 at 3:45 PM, Kronac said:

   Доброго дня, в общем столкнулся с некой проблемой в ядрах ILA. Есть два ядра. Одно ILA1 тактируется внутренней в ПЛИС частотой (которая после загрузки есть всегда), другое ILA2 тактируется частотой формируемой на внешнем генераторе и приходящей в ПЛИС на клоковый вход (в момент загрузки ПЛИС её нет, так как имеются ещё коммутаторы, которые необходимо настроить, чтобы частота пришла в ПЛИС). Первое ядро ILA1 работает без всяких проблем. Второе ядро ILA2 пишет, что нет клока (хотя в его наличии в данный момент времени я уверен на 100%)...

 

Чтобы убедиться, что частота присутствует в ПЛИС, поставил PLL, сделал на ней два выхода. Один пропустил на прямую, а другой поделил в несколько раз, чтобы корректно его отобразить. Вывел деленную частоту и pll LOCK на ILA1, а прямую частоту завёл на клоковый вход ILA2. В итоге при загрузке я настраиваю правильно коммутаторы и вижу на ILA1, что делённая частота и pll lock присутствуют. Но ILA2 всё равно не работает. 

 

У меня сложилось такое чувство, что у XILINX в момент прошивки ПЛИС проходит некая калибровка ядер ILA и если в этот момент не было обнаружено частоты на входе ядра, его просто обрубают без дальнейшей возможности с ним работать... Так ли это? сталкивался ли кто то с данной проблемой?

До этого работал с Intel. Там на сигналтапе если нет клока пишется ошибка "waiting for clock", но при появлении частоты сразу всё начинает работать.

 

У меня аналогичная ситуация: Выдает ошибку:

  1. когда частота ILA < 15 МГц
  2. Когда PLL медленно заводится

Второй случай обошел:

BUFGMUX (I0.(clk_ext),  I1.(clk_from_pll),  S(pll_locked), .O(ila_clk)),

который коммутируется pll_locked.

 

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


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

3 hours ago, gosha said:

У меня аналогичная ситуация: Выдает ошибку:

  1. когда частота ILA < 15 МГц
  2. Когда PLL медленно заводится

Второй случай обошел:


BUFGMUX (I0.(clk_ext),  I1.(clk_from_pll),  S(pll_locked), .O(ila_clk)),

который коммутируется pll_locked.

 

Ну частота у меня большая 250 МГц. Трюк с ПЛЛ тоже пробовал, не помогло.

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


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

15 hours ago, Strob said:

Вот думаю термоиспытания не гробят ли времянки кристаллов?

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

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


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

2 hours ago, likeasm said:

System ILA не пробовали?

Я пробовал и его. На два линка JESD вешал system ILA для Avalon ST. От компиляции к компиляции разные результаты. От одного клока питаются (клок точно есть, потому что на нём отчёты получаю с JESD) то на обоих не видит клока, то видит только на одном, на другом нет..

 

Единственный способ, который мне помог, это перебросить все сигналы (через три регистра), которые я хочу посмотреть, на частоту от PCIe ядра, которая появляется сразу после прогрузки ПЛИС. Далее смотрю ИЛА на частоте PCIe и всё, проблем нет, всегда работает. Но способ не очень подходит, так как есть некий шанс проскока данных и искажения результатов из за разности частот. Случается редко, но бывает.

Изменено пользователем Kronac

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


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

16 hours ago, Strob said:

Я специально для тестов выкидывал из проекта все кроме проверяемого куска. Без изменений.

Если у вас частота одна - сделайте оба ila с одинаковыми данными - может оба отвалятся.

16 hours ago, Strob said:

Создавал через мастер в GUI. Ну а по результату через тикль.

 

результат этих волшебных слов - некое закрытое ядро в проекте или текст в xdc?

может у вас ядро для другого камня или часть цепей в него с другого клока идёт?

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


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

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

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

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

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

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

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

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

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

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