реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Отладка Microblaze в симуляторе
Олег Гаврильченк...
сообщение Sep 16 2015, 09:12
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 177
Регистрация: 10-02-15
Пользователь №: 85 052



Проектируется система на Xilinx Kintex-7. Среда разарботки ISE 14.7. Для симуляции использую Active-HDL 9.1 или Modelsim 10
В системе используется IP ядро Microblze MCS(Микроконтроллерная система на Microblaze 1.4.1). Симуляция HDL запускается нормально.
Такой вопрос, возможно ли во время HDL симуляции как-то "подключиться" к микроконтроллеру и отлаживать его на уровне исходного кода. Другими словами, если например, я остановил HDL симуляцию в Active-HDL в какой-то точке, как понять, в каком месте остановилась программа в Microblaze? Microblaze имеет Trace Port, в нем можно видеть текущую инструкцию, но это мало-что говорит, так как даже содержимого регистров я не знаю.
Возможно ли, при исполнении программы в симуляторе как-то видеть отладочную печать от Microblaze, снимать отладочные дампы или даже подключать пошаговый отладчик?
Заранее спасибо всем за ответы?
Go to the top of the page
 
+Quote Post
agregat
сообщение Sep 16 2015, 11:07
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 790
Регистрация: 6-02-14
Из: Омск
Пользователь №: 80 379



Знаю точно что код можно отлаживать по шагам с эмулятором, но это уже на готовом изделии..
С другой стороны, проц программный, какой смысл моделировать его на уровне кода в Modelsim?
Главное при синтезе получить отчет что с задержками все нормально и этого должно быть достаточно для работоспособности Microblaze.
Ничего нового прогон программы по шагам в отладчике не добавит... Или я чего то не понимаю.
Go to the top of the page
 
+Quote Post
Kuzmi4
сообщение Sep 16 2015, 11:26
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329



Цитата(Олег Гаврильченко @ Sep 16 2015, 11:12) *
...возможно ли во время HDL симуляции как-то "подключиться" к микроконтроллеру и отлаживать его на уровне исходного кода?

с глобальной точки зрения на имеющихся в доступе средствах - нет.
Go to the top of the page
 
+Quote Post
Олег Гаврильченк...
сообщение Sep 16 2015, 12:11
Сообщение #4


Частый гость
**

Группа: Участник
Сообщений: 177
Регистрация: 10-02-15
Пользователь №: 85 052



Цитата(agregat @ Sep 16 2015, 14:07) *
Знаю точно что код можно отлаживать по шагам с эмулятором, но это уже на готовом изделии..
С другой стороны, проц программный, какой смысл моделировать его на уровне кода в Modelsim?
Главное при синтезе получить отчет что с задержками все нормально и этого должно быть достаточно для работоспособности Microblaze.
Ничего нового прогон программы по шагам в отладчике не добавит... Или я чего то не понимаю.


Я хочу иметь возможность проверять работу программы не только в железе, но и на ПК. Мне кажется, это может быть полезно.
Go to the top of the page
 
+Quote Post
Kuzmi4
сообщение Sep 16 2015, 12:15
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329



2 Олег Гаврильченко
если стоит вопрос проверки софта, то в SW вы его на 100% не проверите
Go to the top of the page
 
+Quote Post
Олег Гаврильченк...
сообщение Sep 16 2015, 13:17
Сообщение #6


Частый гость
**

Группа: Участник
Сообщений: 177
Регистрация: 10-02-15
Пользователь №: 85 052



Цитата(Kuzmi4 @ Sep 16 2015, 15:15) *
2 Олег Гаврильченко
если стоит вопрос проверки софта, то в SW вы его на 100% не проверите

Это-то понятно, что на ПК я его и не проверю. Но какая-то часть ошибок все же будет устранена.
Go to the top of the page
 
+Quote Post
iosifk
сообщение Sep 16 2015, 13:46
Сообщение #7


Гуру
******

Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369



Цитата(Олег Гаврильченко @ Sep 16 2015, 12:12) *
Такой вопрос, возможно ли во время HDL симуляции как-то "подключиться" к микроконтроллеру и отлаживать его на уровне исходного кода. Другими словами, если например, я остановил HDL симуляцию в Active-HDL в какой-то точке, как понять, в каком месте остановилась программа в Microblaze?
Возможно ли, при исполнении программы в симуляторе как-то видеть отладочную печать от Microblaze, снимать отладочные дампы или даже подключать пошаговый отладчик?
Заранее спасибо всем за ответы?

Я думаю, что можно такое сделать...
Например что-то такое:
В память Процессора загрузить программу-монитор, которая будет ресурсы процессора записывать куда-нибудь, например в порт... Которую и вызывать после каждой выполненной команды.
А в тестбенче эти данные выводить на консоль, тогда они появятся в окне сообщений симулятора.
И остается открыть файл с исследуемой программой и его "по шагам" скармливать процессору. Как? Ну например вычитывая команду процессором из какого-нибудь порта... Или чем-то внешним по DMA загонять в тестбенче эту команду в память команд... Или загонять в стек и из него извлекать...
Такой путь конечно "кривой" и трудоемкий, но он возможен. На консоли будете получать трассировку - время симуляции, команду, ресурсы процессора...
Но мне например проще вообще на Си сделать программную модель процессора и в ней все отладить. Как я и делал для самопального процессора.


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
RobFPGA
сообщение Sep 16 2015, 16:21
Сообщение #8


Профессионал
*****

Группа: Свой
Сообщений: 1 214
Регистрация: 23-12-04
Пользователь №: 1 643



Приветствую!

Возможно написание PLI/VPI/DPI модуля который позволит в симуляторе гонять софт как на всамделишном проце и даже отлаживать его стандартным дебагером! .

Но это во первых будет меееееедлено - а во вторых много С-шной писанины.

Успехов! Rob.
Go to the top of the page
 
+Quote Post
jojo
сообщение Sep 16 2015, 17:00
Сообщение #9


Знающий
****

Группа: Свой
Сообщений: 574
Регистрация: 9-10-04
Из: FPGA-city
Пользователь №: 827



Можно параметризовать, сохранить и декриптовать ядро, где-то тут пробегал рецепт.
Тогда все потроха процессора, по идее, будут видны в симуляторе.
Игрался тут с исходниками MCS, включал ему FPU и прочие юниты, получалось...


Go to the top of the page
 
+Quote Post
Олег Гаврильченк...
сообщение Sep 16 2015, 17:12
Сообщение #10


Частый гость
**

Группа: Участник
Сообщений: 177
Регистрация: 10-02-15
Пользователь №: 85 052



Цитата(jojo @ Sep 16 2015, 20:00) *
Можно параметризовать, сохранить и декриптовать ядро, где-то тут пробегал рецепт.
Тогда все потроха процессора, по идее, будут видны в симуляторе.
Игрался тут с исходниками MCS, включал ему FPU и прочие юниты, получалось...

А разве исходники MCS доступны? У меня есть только исходники для симуляции, в которых разобраться слишком сложно.
Go to the top of the page
 
+Quote Post
jojo
сообщение Sep 16 2015, 17:19
Сообщение #11


Знающий
****

Группа: Свой
Сообщений: 574
Регистрация: 9-10-04
Из: FPGA-city
Пользователь №: 827



Цитата(Олег Гаврильченко @ Sep 16 2015, 20:12) *
А разве исходники MCS доступны? У меня есть только исходники для симуляции, в которых разобраться слишком сложно.


Нет, но их можно добыть. Это неофициальный маршрут проектирования.
Go to the top of the page
 
+Quote Post
Олег Гаврильченк...
сообщение Sep 17 2015, 08:06
Сообщение #12


Частый гость
**

Группа: Участник
Сообщений: 177
Регистрация: 10-02-15
Пользователь №: 85 052



Цитата(jojo @ Sep 16 2015, 20:19) *
Нет, но их можно добыть. Это неофициальный маршрут проектирования.

А можно узнать, как можно достать исходники Microblaze?
Go to the top of the page
 
+Quote Post
jojo
сообщение Sep 17 2015, 13:15
Сообщение #13


Знающий
****

Группа: Свой
Сообщений: 574
Регистрация: 9-10-04
Из: FPGA-city
Пользователь №: 827



Ответил в сообщении.

Если коротко, то

XIL_CG_API_DEBUG=TRUE
XIL_COREUTIL_DEBUG_GENERATECORE=TRUE

Потом декомпрессор ядер


Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 30th June 2025 - 12:57
Рейтинг@Mail.ru


Страница сгенерированна за 0.01452 секунд с 7
ELECTRONIX ©2004-2016