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

А вообще думаю, что пора уже замахнуться на USBlaster III на USB3.0.

Э-э-х, батенька, это как раз тот случай, когда не надо бежать впереди паровоза (то бишь, Alter'ы). Программную совместимость с Кактусом как вы думаете всему этому добру обеспечивать?

ну на http://marsohod.org вон свой программатор mbftdi как-то в кактус запилили.

и там тупо ft2232h, без дополнительной цплд, ибо преобразовывать USB в последовательный интерфейс сама умеет в отличии от ft245 в оригинальном первом бластере.

 

и толку от USB3? ограничения на частоту TCK начнутся гораздо раньше чем закончится пропускная способность high speed USB2.

даже для FPP, 30-40МБайт/с не особо-то ограничение

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


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

Тут идея состоит в том чтобы аппаратный JTAG использовать только при начальной конфигурации или каких-то аппаратных вещей типа граничного сканирования.

А для отладочных вещей типа SignalTap использовать выделенные линии LVDS.

Снаружи в ПК эмулятор SLD_HUB и внутри ПЛИС такой-же ответный но выведенный не на аппаратный JTAG а на выделенный интерфейс.

Потому-как VirtualJtag подсистема USER0/USER1 очень медленная и не удовлетворяет современным требованиям.

 

Как вариант можно использовать как логический анализатор или подключать внешние АЦП/ЦАП.

Такая мини система сбора данных. Можно еще подключить открытое ПО типа GTKwave итд.

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


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

Еще одна причина перехода на низкую частоту это защита от неправильной записи NonVolatile ключа. На сколько я понял протокол записи ключа ключ обратно не вычитывается и если при записи произойдет сбой, то получится кирпич. Можно прочитать только регистр состояния.

Вот поэтому в Альтере и сообразили, что негоже такую чувствительную вещь ставить в зависимость от TCK period'а, генерируемого устройством, зависящим от USB (который далеко не верх надежности). Пользователь, хоть, может, и сам виноват в сбое, и даже сам это понимает, но понесет по жизни негатив об Альтере (если чип стоимостью несколько килобаксов превратился в кирпич). Оно Альтере нужно? Когда можно добавить небольшой контроллер на N килогейт, и решить проблему.

 

По-поводу программной совместимости с кактусом, то протокол условно открытый за исключением авторских прав, сейчас не-понятно кому принадлежащих.

...

Сейчас есть шаблон драйвера под win64/win32, под linux не проверял еще.

А вот это что-то новенькое. Протокол аппаратной части действительно хорошо известен со времен немца Коли, а вот API DLL'ки, более или менее задокументированного, я пока не встречал. Не поделитесь?

 

ну на http://marsohod.org вон свой программатор mbftdi как-то в кактус запилили.

и там тупо ft2232h, без дополнительной цплд, ибо преобразовывать USB в последовательный интерфейс сама умеет в отличии от ft245 в оригинальном первом бластере.

Свою DLL-ку написали, предварительно похатчив оригинал. Это, конечно, самый правильный путь, т.к. открывает самые широкие перспективы (потому у меня и возник интерес - см. выше). Вопрос только в точности вскрытия API. Кстати, а они где-нибудь этой информацией с широкой общественностью делились?

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


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

А для отладочных вещей типа SignalTap использовать выделенные линии LVDS.

Снаружи в ПК эмулятор SLD_HUB и внутри ПЛИС такой-же ответный но выведенный не на аппаратный JTAG а на выделенный интерфейс.

Потому-как VirtualJtag подсистема USER0/USER1 очень медленная и не удовлетворяет современным требованиям.

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

 

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


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

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

Само собой, для такой масштабной задумки плясать следует от программного интерфейса. Когда я говорил про бег впереди паровоза, именно это я и имел в виду. Что не может быть поддержано в рамках известного API - лучше без особой нужды не мутить.

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


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

Выкладывать исходники пока рано, надо причесать в нормальный вид.

Могу выложить примерный драйвер - эмулятор. Пока под Win64.

Скопировать dll в папку bin64.

 

Добавить драйвер

jtagconfig --add JTAG-Blaster JDBG9

Удалить

jtagconfig --remove <N>, N индекс устройства

 

В Quartus открыть окно программатора и выбрать устройство JTAG-Blaster.

В автодетекте должен появиться CycloneIII/IV EP3C6/10. Можно его прошить какой-нибудь прошивкой.

В меню tools выбрать Sources&Probes и запустить. Должны появиться виртуальные кнопки/индикаторы.

 

Тестировал в QUA 13.0 - 15.1 64bit.

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


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

исходники-то ладно,

а вот описание того, что должна вернуть get_supported_hardware() вы где взяли?

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


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

исходники-то ладно,

а вот описание того, что должна вернуть get_supported_hardware() вы где взяли?

Начиная где-то с 11 версии лежит в папке исполняемыми файлами.

Не совсем в открытом виде, но разобраться можно и Альтера этому способствует.

как-то так.

alt_jtag_hw.zip

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

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


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

Вполне может также быть проявлением плохого Signal Integrity. Сбивается всегда одинаково (в одном и том же месте, искажения всегда одни и те же?)

Да вот нет :(

Где-то в процессе буфер переполняется/сбивается.

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


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

Начиная где-то с 11 версии лежит в папке исполняемыми файлами.

Не совсем в открытом виде, но разобраться можно и Альтера этому способствует.

Похоже, я далеко не в танке :) Под рукой Q13SP1, ничего похожего на файл с таким или подобным именем не нашел во всем поддереве. Видимо, совсем не в открытом виде :-) Или это только в Q11 было?

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


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

Похоже, я далеко не в танке :) Под рукой Q13SP1, ничего похожего на файл с таким или подобным именем не нашел во всем поддереве. Видимо, совсем не в открытом виде :-) Или это только в Q11 было?

Этот файл это продукт интерпретации. Я имел ввиду файлы с расширением *.pdb для 32 битной версии. Там информации более чем достаточно.

Надеюсь что не открыл страшной тайны. Вообще я был уверен, что эна инфа уже давно находится Центральном Хранилище Артефактов, раз на марсоходе драйвера с 2011 года лежат.

Я доступа туда не имею пока пэтому не знаю что там и как.

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


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

Начиная где-то с 11 версии лежит в папке исполняемыми файлами.

Не совсем в открытом виде, но разобраться можно и Альтера этому способствует.

за файлик спасибо.

 

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

я конечно понимаю что им на средствах отладки тоже очень хочется подзаработать, продавая переходники на ftdi за сотни у.е., много кто так делает, но вообще это свинство.

 

не так давно разбирался с использованием jtag-uarta из своей программы, а не через nios2-terminal (через него как-то всё настолько медленно и печально было).

осталась масса "положительных" эмоций, хотя там оно ещё относительно незакрыто и даже исходники кое-какие найти можно.

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


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

Я вобще сначала пытался на TCL что-то делать, но потом плюнул и решил поискать что-то побыстрее.

Надо было найти какой-нибудь универсальный пограмматор для зоопарка для ARM/MIPS/FPGA.

В результате сейчас пользую blaster через Альтеровскую либу jtag_client.

Там есть полный функционал. И можно писать переносимое ПО под Win/Linux.

 

 

Была идея JLink с родным драйвером подключить, чтобы разъемы не переставлять каждый раз.

Не знаю насколько имеет смысл выкаладывать в открытый доступ либу и описание работы с ней?

 

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


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

Этот файл это продукт интерпретации. Я имел ввиду файлы с расширением *.pdb для 32 битной версии. Там информации более чем достаточно.

Надеюсь что не открыл страшной тайны.

Так и есть - не в танке я :-). Ну, не занимался я пока всерьез программным RE,- потому про *.pdb и не в курсе. Теперь уже поспрашивал у знающих людей и стало ясно, что это такой, можно сказать, эксгибиционизм Altera. Формально вроде документы/исходники не выкладывали, но для понимающих (тех, кто "в танке", уж извините, закончу с этим идиоматическим выражением :-)) они содержат массу информации о внутреннем устройстве программных модулей. Тем не менее, за вашим маленьким файликом стоит большая работа, так что - респект и большое спасибо.

 

Вообще я был уверен, что эна инфа уже давно находится Центральном Хранилище Артефактов, раз на марсоходе драйвера с 2011 года лежат.

Может, даже и лежит. Но там столько всего, и не всегда оно лежит в очевидном именно для вас месте... Так что аналогия с Хранилищем из "Индианы Джонса" вполне обоснованна :-).

 

В результате сейчас пользую blaster через Альтеровскую либу jtag_client.

Там есть полный функционал. И можно писать переносимое ПО под Win/Linux.

Еще бОльшая уважуха и респект.

 

Была идея JLink с родным драйвером подключить, чтобы разъемы не переставлять каждый раз.

Не знаю насколько имеет смысл выкаладывать в открытый доступ либу и описание работы с ней?

В открытый ли доступ - это, конечно, вам решать. Но лично мне это было бы интересно.

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


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

Не стал создавать отдельную тему. Но правильней наверное было бы разместить куда-нибудь в раздел САПР. Undocumented Quartus?

Исходный код модуля драйвера под Win32/Win64 и небольшой пример по использованию библиотеки jtag_client.

Компиилируется под MSVS.

jtag_hw_sample.zip

 

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


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

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

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

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

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

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

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

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

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

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