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

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

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

image.thumb.png.799f9d0301b06cf5929306c8f438b3b1.png

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

 

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

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

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

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


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

Как-то так и есть. Когда у меня не free-running клок и я не хочу плясать с бубном, я перевожу данные из одного тактового домена в тот, где клок стабильный и смотрю уже там.

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


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

45 minutes ago, Kronac said:

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

 С 2 ILA не работал, но у меня есть ILA частота на которой появляется после нажатия кнопок на борде. Достаточно рефрешить девайс после нажатия кнопок и всё видно.

Такого сообщения как у вас не видел.

Обычно я завожу сам клок тоже в ILA под его же доменом.

Ну и главное чтобы частота JTAG была в 2 раза ниже клока с СЕ в ILA.

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


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

1 hour ago, Kronac said:

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

 

Выглядит как проблема с ILA2, а не с клоком. Если деленная частота на выходе PLL есть, то должна быть и прямая. И появляются они примерно в одно и то же время, так как lock у PLL один. А как вы делаете ila?

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


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

2 hours ago, _4afc_ said:

 С 2 ILA не работал, но у меня есть ILA частота на которой появляется после нажатия кнопок на борде. Достаточно рефрешить девайс после нажатия кнопок и всё видно.

Такого сообщения как у вас не видел.

Обычно я завожу сам клок тоже в ILA под его же доменом.

Ну и главное чтобы частота JTAG была в 2 раза ниже клока с СЕ в ILA.

Спасибо большое! Проблема решена. Не знал, что надо девайс рефрешить, думал автоматизма САПРа достаточно для этого процесса. Сделал рефреш и всё заработало. Вопрос закрыт, всем спасибо =)

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


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

Рефреш - в смысле перезаливка плисы?

Есть аналогичная проблема. Рефреш устройства(в gui) не помогает. При этом проявляется проблема не всегда. Перезаливка плисы не вариант, при перезаливке клоки пропадают.

Вообще если кто знает нюансы, было бы здорово услышать

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

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


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

1 hour ago, Strob said:

Есть аналогичная проблема. Рефреш устройства(в gui) не помогает. При этом проявляется проблема не всегда.

 

Значит клоки на ILA не приходят.

Я обычно делаю дебаг модуль на несколько линий данных. Размещаю его в топе и при необходимости - подключаю туда нужные сигналы.

Поэтому если ILA работала вчера - чтоб ей сегодня не работать?

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


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

2 hours ago, _4afc_ said:

Значит клоки на ILA не приходят.

Я обычно делаю дебаг модуль на несколько линий данных. Размещаю его в топе и при необходимости - подключаю туда нужные сигналы.

Поэтому если ILA работала вчера - чтоб ей сегодня не работать?

Приходят. Уже сто раз проверялось. Может быть рэфреш в 2020.1 багованый, но иногда помогало перезапустить виваду. Раз 8...

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

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


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

12 hours ago, Strob said:

Рефреш - в смысле перезаливка плисы?

Есть аналогичная проблема. Рефреш устройства(в gui) не помогает. При этом проявляется проблема не всегда. Перезаливка плисы не вариант, при перезаливке клоки пропадают.

Вообще если кто знает нюансы, было бы здорово услышать

 

Мне помог Рефреш устройства(в gui). Как вариант можно ещё попробовать закрыть сервер полностью и подключиться к ПЛИС заново.

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


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

1 hour ago, Kronac said:

Мне помог Рефреш устройства(в gui). Как вариант можно ещё попробовать закрыть сервер полностью и подключиться к ПЛИС заново.

Делали. И сервер закрывали, и виваду перезапускали. И программатор переподключали. Иногда помогает. Чаще нет.

А каким программатором пользуетесь? У нас digilent smt1

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


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

2 hours ago, Strob said:

 У нас digilent smt1

Припаянный к вашей плате или на соплях?

Vivado 2019.1 + Digilent HS2 rev.A

 

Дебаг я так описываю:

module DebugRec_24bit_x3(
(* dont_touch = "true" *)   input DebugCLK,
(* dont_touch = "true" *)   input DebugCE,
(* dont_touch = "true" *)   input [23:0] DebugDATA1,
(* dont_touch = "true" *)   input [23:0] DebugDATA2,
(* dont_touch = "true" *)   input [23:0] DebugDATA3
    );
//-----------------------------
(* mark_debug = "true" *) reg [23:0] debDATA1,debDATA2,debDATA3; 
(* mark_debug = "true" *) wire  DebCLK; 
BUFGCE BUFGCE_DebCLK  (.O(DebCLK),  .CE(DebugCE), .I(DebugCLK) ); 

//-----------------------------
initial
		begin 
		debDATA1=0;
		debDATA2=0;
		debDATA3=0;
        end  
//-----------------------------   

always @( posedge DebCLK) 
    begin
    debDATA1<=DebugDATA1;
    debDATA2<=DebugDATA2;
    debDATA3<=DebugDATA3;
    end
    
endmodule
 

 

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


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

2 hours ago, Strob said:

Делали. И сервер закрывали, и виваду перезапускали. И программатор переподключали. Иногда помогает. Чаще нет.

А каким программатором пользуетесь? У нас digilent smt1

 Я использую digilent и программатор от XILINX. Но всё же проблема моя не решена. Возможно Ваша как то связана с ней. Попробую ниже описать что я выяснил.

19 hours ago, Kronac said:

Спасибо большое! Проблема решена. Не знал, что надо девайс рефрешить, думал автоматизма САПРа достаточно для этого процесса. Сделал рефреш и всё заработало. Вопрос закрыт, всем спасибо =)

ПРОБЛЕМА НЕ УШЛА. 

  В общем поспешил я с выводами. Вчера после увиденных сообщений, запустился один раз, сделал рефреш в vivado, увидел работающий ILA2, возрадовался и пошёл домой. Сегодня с утра включаю и таже проблема. ILA1 работает, ILA2 никак не могу запустить.  Вывел уже даже частоту, которую подаю как опору на ILA2 на осцилл, чтобы уже глазками посмотреть.

  Вот что я выяснил: на моей плате изначально нет частоты, включается она коммутаторами через ПЛИС. В момент первой прошивки нет частоты и следовательно ILA2 не работает. Далее я коммутирую всё и получаю уже на входе ПЛИС клок (ILA2 тем не менее всё ещё не работает, как бы я не перезапускал Vivado или не делал рефреш). Далее я перезагружаю прошивку ПЛИС. В момент прошивки частота на плате уже присутствует, так как сброса коммутатора нет. ПЛИСа прогружается, частота есть, ILA1 и ILA2 работают. В общем всё супер.  Решил проверить что будет, если я выключу и сразу включу частоту. При ВЫключении ошибка об отсутствии клока, как и ожидалось появилась, но вот ВКлючив клок, я не смог никак убрать ошибку. Перезапускал раз 5 Vivado, делал рефреши ничего не помогало... Помогает только перезагрузка прошивка ПЛИС.  

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

Ядро ILA я использую стандартное, не имеющее сброса (возможно в этом и проблема у XILINX).

image.thumb.png.af897616b6a4cb7327d7b67410b9e45e.png

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


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

27 minutes ago, Kronac said:

  Вот что я выяснил: на моей плате изначально нет частоты, включается она коммутаторами через ПЛИС. В момент первой прошивки нет частоты и следовательно ILA2 не работает. Далее я коммутирую всё и получаю уже на входе ПЛИС клок (ILA2 тем не менее всё ещё не работает, как бы я не перезапускал Vivado или не делал рефреш). Далее я перезагружаю прошивку ПЛИС. В момент прошивки частота на плате уже присутствует, так как сброса коммутатора нет. ПЛИСа прогружается, частота есть, ILA1 и ILA2 работают. В общем всё супер.  Решил проверить что будет, если я выключу и сразу включу частоту. При ВЫключении ошибка об отсутствии клока, как и ожидалось появилась, но вот ВКлючив клок, я не смог никак убрать ошибку. Перезапускал раз 5 Vivado, делал рефреши ничего не помогало... Помогает только перезагрузка прошивка ПЛИС.  

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

Ядро ILA я использую стандартное, не имеющее сброса (возможно в этом и проблема у XILINX).

 

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

 

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

 

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

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


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

Цитата

 

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

Ядро ILA я использую стандартное, не имеющее сброса (возможно в этом и проблема у XILINX).

 

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

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


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

1 hour ago, _4afc_ said:

Припаянный к вашей плате или на соплях?

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

1 hour ago, Kronac said:

ПРОБЛЕМА НЕ УШЛА. 

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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