Kronac 0 17 марта, 2021 Опубликовано 17 марта, 2021 (изменено) · Жалоба Доброго дня, в общем столкнулся с некой проблемой в ядрах ILA. Есть два ядра. Одно ILA1 тактируется внутренней в ПЛИС частотой (которая после загрузки есть всегда), другое ILA2 тактируется частотой формируемой на внешнем генераторе и приходящей в ПЛИС на клоковый вход (в момент загрузки ПЛИС её нет, так как имеются ещё коммутаторы, которые необходимо настроить, чтобы частота пришла в ПЛИС). Первое ядро ILA1 работает без всяких проблем. Второе ядро ILA2 пишет, что нет клока (хотя в его наличии в данный момент времени я уверен на 100%)... Чтобы убедиться, что частота присутствует в ПЛИС, поставил PLL, сделал на ней два выхода. Один пропустил на прямую, а другой поделил в несколько раз, чтобы корректно его отобразить. Вывел деленную частоту и pll LOCK на ILA1, а прямую частоту завёл на клоковый вход ILA2. В итоге при загрузке я настраиваю правильно коммутаторы и вижу на ILA1, что делённая частота и pll lock присутствуют. Но ILA2 всё равно не работает. У меня сложилось такое чувство, что у XILINX в момент прошивки ПЛИС проходит некая калибровка ядер ILA и если в этот момент не было обнаружено частоты на входе ядра, его просто обрубают без дальнейшей возможности с ним работать... Так ли это? сталкивался ли кто то с данной проблемой? До этого работал с Intel. Там на сигналтапе если нет клока пишется ошибка "waiting for clock", но при появлении частоты сразу всё начинает работать. Изменено 17 марта, 2021 пользователем Kronac Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
alexadmin 0 17 марта, 2021 Опубликовано 17 марта, 2021 · Жалоба Как-то так и есть. Когда у меня не free-running клок и я не хочу плясать с бубном, я перевожу данные из одного тактового домена в тот, где клок стабильный и смотрю уже там. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_4afc_ 24 17 марта, 2021 Опубликовано 17 марта, 2021 · Жалоба 45 minutes ago, Kronac said: У меня сложилось такое чувство, что у XILINX в момент прошивки ПЛИС проходит некая калибровка ядер ILA и если в этот момент не было обнаружено частоты на входе ядра, его просто обрубают без дальнейшей возможности с ним работать... Так ли это? сталкивался ли кто то с данной проблемой? С 2 ILA не работал, но у меня есть ILA частота на которой появляется после нажатия кнопок на борде. Достаточно рефрешить девайс после нажатия кнопок и всё видно. Такого сообщения как у вас не видел. Обычно я завожу сам клок тоже в ILA под его же доменом. Ну и главное чтобы частота JTAG была в 2 раза ниже клока с СЕ в ILA. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
attaboy 0 17 марта, 2021 Опубликовано 17 марта, 2021 · Жалоба 1 hour ago, Kronac said: Чтобы убедиться, что частота присутствует в ПЛИС, поставил PLL, сделал на ней два выхода. Один пропустил на прямую, а другой поделил в несколько раз, чтобы корректно его отобразить. Вывел деленную частоту и pll LOCK на ILA1, а прямую частоту завёл на клоковый вход ILA2. В итоге при загрузке я настраиваю правильно коммутаторы и вижу на ILA1, что делённая частота и pll lock присутствуют. Но ILA2 всё равно не работает. Выглядит как проблема с ILA2, а не с клоком. Если деленная частота на выходе PLL есть, то должна быть и прямая. И появляются они примерно в одно и то же время, так как lock у PLL один. А как вы делаете ila? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Kronac 0 17 марта, 2021 Опубликовано 17 марта, 2021 · Жалоба 2 hours ago, _4afc_ said: С 2 ILA не работал, но у меня есть ILA частота на которой появляется после нажатия кнопок на борде. Достаточно рефрешить девайс после нажатия кнопок и всё видно. Такого сообщения как у вас не видел. Обычно я завожу сам клок тоже в ILA под его же доменом. Ну и главное чтобы частота JTAG была в 2 раза ниже клока с СЕ в ILA. Спасибо большое! Проблема решена. Не знал, что надо девайс рефрешить, думал автоматизма САПРа достаточно для этого процесса. Сделал рефреш и всё заработало. Вопрос закрыт, всем спасибо =) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Strob 0 17 марта, 2021 Опубликовано 17 марта, 2021 (изменено) · Жалоба Рефреш - в смысле перезаливка плисы? Есть аналогичная проблема. Рефреш устройства(в gui) не помогает. При этом проявляется проблема не всегда. Перезаливка плисы не вариант, при перезаливке клоки пропадают. Вообще если кто знает нюансы, было бы здорово услышать Изменено 17 марта, 2021 пользователем Strob Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_4afc_ 24 17 марта, 2021 Опубликовано 17 марта, 2021 · Жалоба 1 hour ago, Strob said: Есть аналогичная проблема. Рефреш устройства(в gui) не помогает. При этом проявляется проблема не всегда. Значит клоки на ILA не приходят. Я обычно делаю дебаг модуль на несколько линий данных. Размещаю его в топе и при необходимости - подключаю туда нужные сигналы. Поэтому если ILA работала вчера - чтоб ей сегодня не работать? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Strob 0 17 марта, 2021 Опубликовано 17 марта, 2021 (изменено) · Жалоба 2 hours ago, _4afc_ said: Значит клоки на ILA не приходят. Я обычно делаю дебаг модуль на несколько линий данных. Размещаю его в топе и при необходимости - подключаю туда нужные сигналы. Поэтому если ILA работала вчера - чтоб ей сегодня не работать? Приходят. Уже сто раз проверялось. Может быть рэфреш в 2020.1 багованый, но иногда помогало перезапустить виваду. Раз 8... Изменено 17 марта, 2021 пользователем Strob Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Kronac 0 18 марта, 2021 Опубликовано 18 марта, 2021 · Жалоба 12 hours ago, Strob said: Рефреш - в смысле перезаливка плисы? Есть аналогичная проблема. Рефреш устройства(в gui) не помогает. При этом проявляется проблема не всегда. Перезаливка плисы не вариант, при перезаливке клоки пропадают. Вообще если кто знает нюансы, было бы здорово услышать Мне помог Рефреш устройства(в gui). Как вариант можно ещё попробовать закрыть сервер полностью и подключиться к ПЛИС заново. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Strob 0 18 марта, 2021 Опубликовано 18 марта, 2021 · Жалоба 1 hour ago, Kronac said: Мне помог Рефреш устройства(в gui). Как вариант можно ещё попробовать закрыть сервер полностью и подключиться к ПЛИС заново. Делали. И сервер закрывали, и виваду перезапускали. И программатор переподключали. Иногда помогает. Чаще нет. А каким программатором пользуетесь? У нас digilent smt1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_4afc_ 24 18 марта, 2021 Опубликовано 18 марта, 2021 · Жалоба 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 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Kronac 0 18 марта, 2021 Опубликовано 18 марта, 2021 · Жалоба 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). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_4afc_ 24 18 марта, 2021 Опубликовано 18 марта, 2021 · Жалоба 27 minutes ago, Kronac said: Вот что я выяснил: на моей плате изначально нет частоты, включается она коммутаторами через ПЛИС. В момент первой прошивки нет частоты и следовательно ILA2 не работает. Далее я коммутирую всё и получаю уже на входе ПЛИС клок (ILA2 тем не менее всё ещё не работает, как бы я не перезапускал Vivado или не делал рефреш). Далее я перезагружаю прошивку ПЛИС. В момент прошивки частота на плате уже присутствует, так как сброса коммутатора нет. ПЛИСа прогружается, частота есть, ILA1 и ILA2 работают. В общем всё супер. Решил проверить что будет, если я выключу и сразу включу частоту. При ВЫключении ошибка об отсутствии клока, как и ожидалось появилась, но вот ВКлючив клок, я не смог никак убрать ошибку. Перезапускал раз 5 Vivado, делал рефреши ничего не помогало... Помогает только перезагрузка прошивка ПЛИС. В связи с проделанными опытами, я прихожу к выводу, что если в момент прошивки ПЛИС не было частоты, либо она пропадала в процессе работы, ILA работать не будет (по крайней мере в версии 2018.3). Ядро ILA я использую стандартное, не имеющее сброса (возможно в этом и проблема у XILINX). Я не использую ядро хотя суть одна . В 2019.1 ядро той же версии 6.2 Но у меня клоки не подаются в проект пока они не стабилизируются. Попробуйте поставить BUFGCE на вашу частоту после комутаторов и подавайте её в проект или с задержкой после включения или по PLL_LOCK. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Flip-fl0p 4 18 марта, 2021 Опубликовано 18 марта, 2021 · Жалоба Цитата В связи с проделанными опытами, я прихожу к выводу, что если в момент прошивки ПЛИС не было частоты, либо она пропадала в процессе работы, ILA работать не будет (по крайней мере в версии 2018.3). Ядро ILA я использую стандартное, не имеющее сброса (возможно в этом и проблема у XILINX). Все верно. Если при запуске ILA частоты нет, то он будет ругаться. Помогает только повторная прошивка. Как обойти это я не знаю. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Strob 0 18 марта, 2021 Опубликовано 18 марта, 2021 (изменено) · Жалоба 1 hour ago, _4afc_ said: Припаянный к вашей плате или на соплях? На проводах. Но все же не сопли )) 1 hour ago, Kronac said: ПРОБЛЕМА НЕ УШЛА. Самое интересное, что проблема явно носит случайный характер. Мне удавалось запустить ila много раз перезапуская виваду, выдергивая-подключая программатор и т.д. на некоторых сборках проекта проблема вообще не проявлялась. Более того. У меня было 2 ila, обе подключены к частотам которых нет на момент запуска. Частоты одинаковые 250 МГц, но асинхронные. Одна ila стабильно запускалась, другая - нет. Пропускал частоту через clock wizard, ставил параметр safe clock startup. Не помогло. Версия 2020.1 - проблема та же. Изменено 18 марта, 2021 пользователем Strob Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться