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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> JTAG usb-blaster, как встроиться в цепочку
Putnik
сообщение Aug 29 2011, 07:49
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 214
Регистрация: 4-09-07
Из: Зеленоград
Пользователь №: 30 272



Здравствуйте!
задача встроиться своим JTAG-контроллером реализованном в ПЛИС в цепочку конфигурирования этой же ПЛИС.
интересно, возможно ли это в принципе?


--------------------
за Навального!
Go to the top of the page
 
+Quote Post
iosifk
сообщение Aug 29 2011, 08:05
Сообщение #2


Гуру
******

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



Цитата(Putnik @ Aug 29 2011, 11:49) *
интересно, возможно ли это в принципе?

Да, но зависит от типа ПЛИС...


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
Putnik
сообщение Aug 29 2011, 08:08
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 214
Регистрация: 4-09-07
Из: Зеленоград
Пользователь №: 30 272



Цитата(iosifk @ Aug 29 2011, 12:05) *
Да, но зависит от типа ПЛИС...

Cyclone IV


--------------------
за Навального!
Go to the top of the page
 
+Quote Post
iosifk
сообщение Aug 29 2011, 08:53
Сообщение #4


Гуру
******

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



Цитата(Putnik @ Aug 29 2011, 12:08) *
Cyclone IV


У Альтеры есть мегафункция. Она прицепляется к проекту.
У меня на сайте есть статьи о "Микропроцессор своими руками"... И там одна из статей - об отладке проектов. Вот там и написано об этой мегафункции... Но, можно и перешерстить библиотеку мегафункций... И описание к ней...


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
XVR
сообщение Aug 29 2011, 09:11
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 3 123
Регистрация: 7-04-07
Из: Химки
Пользователь №: 26 847



Цитата(Putnik @ Aug 29 2011, 11:49) *
задача встроиться своим JTAG-контроллером реализованном в ПЛИС в цепочку конфигурирования этой же ПЛИС.
Очень похоже за попытку поднять себя за волосы
Цитата
интересно, возможно ли это в принципе?
У барона Мюнхаузена получилось 1111493779.gif
Go to the top of the page
 
+Quote Post
iosifk
сообщение Aug 29 2011, 09:41
Сообщение #6


Гуру
******

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



Цитата(XVR @ Aug 29 2011, 13:11) *
Очень похоже за попытку поднять себя за волосы


Да нет.. Просто человек хочет иметь на JTAG порт общего назначения, но не умеет об этом правильно сказать. И хочет через Байт-бластер отлаживать что-то у себя в проекте.
Вот он скоро узнает, что это можно. Потом будет встраивать порт, потом будет задавать вопросы про API к USB байт-бластеру. Потом будет материть Альтеру, когда узнает, что API не доступен... Красота и простор для творчества. А потом он на это дело плюнет, когда надоест переключать драйвера к USB после загрузки на отладку... Потом он к паре свободных пинов прицепит микроконтроллер или стартовый набор с микроконтроллером и будет отлаживаться. Или вот найдет у Экзара чипы PCIe - UART. встроит в свой проект высокоскоростной UART, прямо от стартового набора и будет счастлив...
Думаю что так. Впрочем, через пару дней увидим...
Удачи!


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
Stewart Little
сообщение Aug 29 2011, 12:00
Сообщение #7


Лентяй
******

Группа: Свой
Сообщений: 2 203
Регистрация: 11-10-04
Из: Санкт-Петербург
Пользователь №: 843



Цитата(iosifk @ Aug 29 2011, 13:41) *
Просто человек хочет иметь на JTAG порт общего назначения, но не умеет об этом правильно сказать. И хочет через Байт-бластер отлаживать что-то у себя в проекте.

Вы телепат??? blink.gif
Про отладку в посте топикстартера нет ни слова...

Цитата(iosifk @ Aug 29 2011, 13:41) *
Вот он скоро узнает, что это можно. Потом будет встраивать порт, потом будет задавать вопросы про API к USB байт-бластеру. Потом будет материть Альтеру, когда узнает, что API не доступен... Красота и простор для творчества. А потом он на это дело плюнет, когда надоест переключать драйвера к USB после загрузки на отладку... Потом он к паре свободных пинов прицепит микроконтроллер или стартовый набор с микроконтроллером и будет отлаживаться.

Но если топикстартеру нужна таки именно отладка, то сперва он узнает, что есть такая штука, как SignalTap, и станет его использовать, безо всяких вопросов про API, и внешних контроллеров.


--------------------
Чтобы слова не расходились с делом, нужно молчать и ничего не делать...
Go to the top of the page
 
+Quote Post
Putnik
сообщение Aug 29 2011, 12:16
Сообщение #8


Местный
***

Группа: Свой
Сообщений: 214
Регистрация: 4-09-07
Из: Зеленоград
Пользователь №: 30 272



Цитата
Да нет.. Просто человек хочет иметь на JTAG порт общего назначения, но не умеет об этом правильно сказать. И хочет через Байт-бластер отлаживать что-то у себя в проекте.

Вы все правильно поняли, нужно для отладки микропроцессорной системы в ПЛИС

Цитата(Stewart Little @ Aug 29 2011, 16:00) *
Но если топикстартеру нужна таки именно отладка, то сперва он узнает, что есть такая штука, как SignalTap, и станет его использовать, безо всяких вопросов про API, и внешних контроллеров.

SignalTap не помошник для прогона миллиона тестов


--------------------
за Навального!
Go to the top of the page
 
+Quote Post
iosifk
сообщение Aug 29 2011, 12:29
Сообщение #9


Гуру
******

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



Цитата(Stewart Little @ Aug 29 2011, 16:00) *
Но если топикстартеру нужна таки именно отладка, то сперва он узнает, что есть такая штука, как SignalTap, и станет его использовать, безо всяких вопросов про API, и внешних контроллеров.

Здесь все довольно просто. Если надо отладить взаимодействие нескольких сигналов, то тогда можно их либо вывести на тестовые выводы, либо подключить встроенный лог. анализатор.
НО! Если дело идет не об отладке "сигналов", а скажем так, об отладке "алгоритмов", то тут никакой анализатор не поможет. А разработчик смотрит на коллегу-программиста, который по шагам отлаживает что-то в микроконтроллере и тихо воет от зависти. Ему тоже хочется отладки в стиле "микроконтроллер по шагам"... Вот об этом топикстартер и пытался написать.
Беда только в том, что по USB, через штатный бластер, это ему сделать вряд ли удастся... А про LPT я не пишу... Хотя у меня же проект под LPT для сканирования давно выложен на сайте.


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
wpost
сообщение Aug 29 2011, 12:38
Сообщение #10


Участник
*

Группа: Свой
Сообщений: 60
Регистрация: 1-04-10
Из: СПб
Пользователь №: 56 354



IMHO проще заложить RS232 или USB-UART (типа CP2103) и отлаживать свою процессорную систему через обычный COM порт... и не париться с JTAG...
Go to the top of the page
 
+Quote Post
Stewart Little
сообщение Aug 29 2011, 12:44
Сообщение #11


Лентяй
******

Группа: Свой
Сообщений: 2 203
Регистрация: 11-10-04
Из: Санкт-Петербург
Пользователь №: 843



Цитата(Putnik @ Aug 29 2011, 16:16) *
Вы все правильно поняли, нужно для отладки микропроцессорной системы в ПЛИС

А что за система, если не секрет?
Какое ядро используете?

Цитата(Putnik @ Aug 29 2011, 16:16) *
SignalTap не помошник для прогона миллиона тестов

А вот это: http://www.synopsys.com/Tools/Implementati...s/Identify.aspx случайно не сможет спасти отца российской демократии?


--------------------
Чтобы слова не расходились с делом, нужно молчать и ничего не делать...
Go to the top of the page
 
+Quote Post
Putnik
сообщение Aug 29 2011, 13:16
Сообщение #12


Местный
***

Группа: Свой
Сообщений: 214
Регистрация: 4-09-07
Из: Зеленоград
Пользователь №: 30 272



через компорт через отдельные пины ПЛИС для JTAG отладка у нас отлично работает, но USB-blaster быстрее, для большого количества тестов это существенно, есть и другие ньюансы


Цитата(Stewart Little @ Aug 29 2011, 16:44) *
А что за система, если не секрет?
Какое ядро используете?

микропроцессорные системы собственной разработки, линейки разные, подход один
Цитата
А вот это: http://www.synopsys.com/Tools/Implementati...s/Identify.aspx случайно не сможет спасти отца российской демократии?

сигнал-тап использую здесь в дополнение, идентифаем в свое время пользовался, необходимости в нем здесь не вижу.

байтбластер же представляется более красивым решением чем компорт



Цитата(iosifk @ Aug 29 2011, 16:29) *
Здесь все довольно просто. Если надо отладить взаимодействие нескольких сигналов, то тогда можно их либо вывести на тестовые выводы, либо подключить встроенный лог. анализатор.
НО! Если дело идет не об отладке "сигналов", а скажем так, об отладке "алгоритмов", то тут никакой анализатор не поможет. А разработчик смотрит на коллегу-программиста, который по шагам отлаживает что-то в микроконтроллере и тихо воет от зависти. Ему тоже хочется отладки в стиле "микроконтроллер по шагам"... Вот об этом топикстартер и пытался написать.
Беда только в том, что по USB, через штатный бластер, это ему сделать вряд ли удастся... А про LPT я не пишу... Хотя у меня же проект под LPT для сканирования давно выложен на сайте.

все так и есть, читаю ваши статьи, ищу решение


--------------------
за Навального!
Go to the top of the page
 
+Quote Post
Stewart Little
сообщение Aug 29 2011, 13:20
Сообщение #13


Лентяй
******

Группа: Свой
Сообщений: 2 203
Регистрация: 11-10-04
Из: Санкт-Петербург
Пользователь №: 843



Цитата(Putnik @ Aug 29 2011, 17:01) *
... но USB-blaster быстрее, для большого количества тестов это существенно, есть и другие ньюансы

Через USB-Blaster, как указал уважаемый iosifk, это сделать весьма проблематично, т.к. Altera никому не дает описания API jtagserver'а.
Как вариант - можно попробовать действовать через System Console, но, тогда, неверное, придется пересмотреть подходы к проектированию (использовать Qsys, как минимум).
Еще можно попробовать работать с JTAG'ом не через альтеровский бластер, а использовать что-нибудь типа FT232H или FT2232H (MPSSE в режиме JTAG - на сайте у FTDI есть примеры).


--------------------
Чтобы слова не расходились с делом, нужно молчать и ничего не делать...
Go to the top of the page
 
+Quote Post
iosifk
сообщение Aug 29 2011, 13:20
Сообщение #14


Гуру
******

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



Цитата(Putnik @ Aug 29 2011, 17:16) *
через компорт через отдельные пины ПЛИС для JTAG отладка у нас отлично работает, но USB-blaster быстрее, для большого количества тестов это существенно, есть и другие ньюансы

....


Ну вот теперь и встанет вопрос: А как же написать собственную программу для отладки проекта, если API альтера не дает?
Если будете писать свой драйвер, то придется каждый раз после загрузки выключать драйвера Квартуса и ставить свои, а потом соотв. наоборот...


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
Putnik
сообщение Aug 29 2011, 13:42
Сообщение #15


Местный
***

Группа: Свой
Сообщений: 214
Регистрация: 4-09-07
Из: Зеленоград
Пользователь №: 30 272



Есть проект(микропроцессор), у него есть внутрисхемный отладчик, для отладки программ. А именно чтение/запись памяти, регистров, точки останова и прочее.
Доступ к этому отладчику(транспорт) осуществляется через жтаг (tck/tms/tdi/tdo сигналы), эти сигналы заводим на ПЛИС.
Cейчас это все работает, но через LPT жтаг (Xilinx parallel cable IV),.
Отладочная плата DE2-115, на ней так имеется возможность встроиться в jtag цепочку usb blaster'а через внешние выводы. то есть снаружи также доступны эти 4 сигнала, если их так же завести на жтаг, и переключить один джампер.
то уже становится возможным подключиться в внутрисхемному отладчику через usb blaster (при этом в цепочке видно 2 устройства: альтера и наш отладчик). Одно НО мы используем сигналы на плате, которые (часть из них) выходят из ПЛИС и мы их обратно заводим и нее.
Вопрос заключается в следующем:
Возможно ли внутри ПЛИС получить доступ к сигналам TMS/TCK/TDI/TDO с usb blaster'а?
Так понял это возможно сделать через внутреннюю мегафункцию virtual_jtag, так ли это?


--------------------
за Навального!
Go to the top of the page
 
+Quote Post
Shivers
сообщение Aug 29 2011, 14:50
Сообщение #16


Знающий
****

Группа: Свой
Сообщений: 680
Регистрация: 11-02-08
Из: Msk
Пользователь №: 34 950



Цитата(Putnik @ Aug 29 2011, 17:42) *
Есть проект(микропроцессор), у него есть внутрисхемный отладчик, для отладки программ. А именно чтение/запись памяти, регистров, точки останова и прочее.
Доступ к этому отладчику(транспорт) осуществляется через жтаг (tck/tms/tdi/tdo сигналы), эти сигналы заводим на ПЛИС.

Свой процессор? Что то много вскорости отечественных процессоров народится, чувствую.
Могу только сказать, каким путем пошли некоторые другие "разработчики процессоров" в РФ - встроили E-Jtag для отладки, говорят что очень удобно для таких задач, хотя монстр тот еще. Для отладки в ПЛИС он по отдельному порту доступен, разумеется, а в силиконе - к общему тап контроллеру привязан.
Go to the top of the page
 
+Quote Post
XVR
сообщение Aug 29 2011, 17:45
Сообщение #17


Гуру
******

Группа: Свой
Сообщений: 3 123
Регистрация: 7-04-07
Из: Химки
Пользователь №: 26 847



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

Подключиться изнутри к JTAG пинам ПЛИС скорее всего можно. Я вижу 2 варианта (с Альтерой не работал, так что за их реализуемость не поручусь).

1. Объявить TMS/TCK/TDI/TDO пользовательскими ногами после конфигурирования, и посадить на них свой JTAG в прошивке. ПЛИС должна поддерживать возможность отдать JTAG ноги прошивке (Xilinx например умеет, насколько я помню)

2. Забрать ноги JTAG'а через virtual_jtag. Опять же, мегафункция должна это поддерживать. (Xilinx умеет это частично, TDO он не отдаст. Т.е. для ваших целей - не умеет)

Go to the top of the page
 
+Quote Post
_pv
сообщение Aug 30 2011, 08:57
Сообщение #18


Гуру
******

Группа: Свой
Сообщений: 2 563
Регистрация: 8-04-05
Из: Nsk
Пользователь №: 3 954



Цитата(Stewart Little @ Aug 29 2011, 20:20) *
Через USB-Blaster, как указал уважаемый iosifk, это сделать весьма проблематично, т.к. Altera никому не дает описания API jtagserver'а.
Еще можно попробовать работать с JTAG'ом не через альтеровский бластер, а использовать что-нибудь типа FT232H или FT2232H (MPSSE в режиме JTAG - на сайте у FTDI есть примеры).

можно и с blaster'om самому работать, там же внутри тот же самый ft245 (fifo) и мелкая плисина которая прилетающие байты разбирает и соответственно ногами jtaga дергает. Протокол там не сказать чтобы сложный (описание тут), а то что лежит в папке quartus\drivers\usb-blaster\ - так просто переименованные драйвера D2XX от ftdi.

Go to the top of the page
 
+Quote Post
iosifk
сообщение Aug 30 2011, 12:06
Сообщение #19


Гуру
******

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



Цитата(Putnik @ Aug 29 2011, 16:16) *
Вы все правильно поняли, нужно для отладки микропроцессорной системы в ПЛИС

Кстати, а Вы софт-симулятор для Вашего процессора сделали? Мне, например, это сильно помогло при отладке.
И что за процессор у Вас?


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
Putnik
сообщение Aug 30 2011, 12:17
Сообщение #20


Местный
***

Группа: Свой
Сообщений: 214
Регистрация: 4-09-07
Из: Зеленоград
Пользователь №: 30 272



Цитата(iosifk @ Aug 30 2011, 16:06) *
Кстати, а Вы софт-симулятор для Вашего процессора сделали? Мне, например, это сильно помогло при отладке.
И что за процессор у Вас?

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

Архитектур процессоров 2, собственной разработки, с уникальными системами команд.
Ссылка



--------------------
за Навального!
Go to the top of the page
 
+Quote Post
Hoodwin
сообщение Aug 30 2011, 20:04
Сообщение #21


Знающий
****

Группа: Участник
Сообщений: 881
Регистрация: 21-03-10
Из: _// \\_
Пользователь №: 56 107



Так если у вас хватило терпения нарисовать целиком две архитектуры, то может быть и отладочный интерфейс к ним можно нарисовать свой собственный, и не привязывать его к альтеровскому JTAG'y? Ну и, кроме того, появляется возможность вообще управлять интерфейсом отладочного модуля, хоть JTAG, хоть SPI или 2-wire, а то и вовсе 1-wire протокол прикрутить для компактных вариантов корпусов типа QFN.
Go to the top of the page
 
+Quote Post
Putnik
сообщение Aug 30 2011, 20:33
Сообщение #22


Местный
***

Группа: Свой
Сообщений: 214
Регистрация: 4-09-07
Из: Зеленоград
Пользователь №: 30 272



Цитата(Hoodwin @ Aug 31 2011, 00:04) *
Так если у вас хватило терпения нарисовать целиком две архитектуры, то может быть и отладочный интерфейс к ним можно нарисовать свой собственный, и не привязывать его к альтеровскому JTAG'y? Ну и, кроме того, появляется возможность вообще управлять интерфейсом отладочного модуля, хоть JTAG, хоть SPI или 2-wire, а то и вовсе 1-wire протокол прикрутить для компактных вариантов корпусов типа QFN.

Дык, он и есть свой собственный, и в Хилых плисках так же работает.
Пока вот только не получается через usb-blaster его на специализированных ногах TMS/TCK/TDI/TDO запустить. Пробовал к sld_virtual_jtag подключаться нашим контроллером JTAG используя только эти 4 сигнала, бросив все остальные. не работает - в цепочке только альтера после прошивки, хотя в Technology Map и файлике с пинами видно что к ящику макрофункции заходят TMS/TCK/TDI/TDO с правильных ножек ПЛИС а выходят на мой блок. копаю дальше..


--------------------
за Навального!
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 18th August 2025 - 07:51
Рейтинг@Mail.ru


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