_pv 52 26 октября, 2016 Опубликовано 26 октября, 2016 · Жалоба А вообще думаю, что пора уже замахнуться на USBlaster III на USB3.0. Э-э-х, батенька, это как раз тот случай, когда не надо бежать впереди паровоза (то бишь, Alter'ы). Программную совместимость с Кактусом как вы думаете всему этому добру обеспечивать? ну на http://marsohod.org вон свой программатор mbftdi как-то в кактус запилили. и там тупо ft2232h, без дополнительной цплд, ибо преобразовывать USB в последовательный интерфейс сама умеет в отличии от ft245 в оригинальном первом бластере. и толку от USB3? ограничения на частоту TCK начнутся гораздо раньше чем закончится пропускная способность high speed USB2. даже для FPP, 30-40МБайт/с не особо-то ограничение Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jks 0 26 октября, 2016 Опубликовано 26 октября, 2016 · Жалоба Тут идея состоит в том чтобы аппаратный JTAG использовать только при начальной конфигурации или каких-то аппаратных вещей типа граничного сканирования. А для отладочных вещей типа SignalTap использовать выделенные линии LVDS. Снаружи в ПК эмулятор SLD_HUB и внутри ПЛИС такой-же ответный но выведенный не на аппаратный JTAG а на выделенный интерфейс. Потому-как VirtualJtag подсистема USER0/USER1 очень медленная и не удовлетворяет современным требованиям. Как вариант можно использовать как логический анализатор или подключать внешние АЦП/ЦАП. Такая мини система сбора данных. Можно еще подключить открытое ПО типа GTKwave итд. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Raven 8 26 октября, 2016 Опубликовано 26 октября, 2016 · Жалоба Еще одна причина перехода на низкую частоту это защита от неправильной записи NonVolatile ключа. На сколько я понял протокол записи ключа ключ обратно не вычитывается и если при записи произойдет сбой, то получится кирпич. Можно прочитать только регистр состояния. Вот поэтому в Альтере и сообразили, что негоже такую чувствительную вещь ставить в зависимость от TCK period'а, генерируемого устройством, зависящим от USB (который далеко не верх надежности). Пользователь, хоть, может, и сам виноват в сбое, и даже сам это понимает, но понесет по жизни негатив об Альтере (если чип стоимостью несколько килобаксов превратился в кирпич). Оно Альтере нужно? Когда можно добавить небольшой контроллер на N килогейт, и решить проблему. По-поводу программной совместимости с кактусом, то протокол условно открытый за исключением авторских прав, сейчас не-понятно кому принадлежащих. ... Сейчас есть шаблон драйвера под win64/win32, под linux не проверял еще. А вот это что-то новенькое. Протокол аппаратной части действительно хорошо известен со времен немца Коли, а вот API DLL'ки, более или менее задокументированного, я пока не встречал. Не поделитесь? ну на http://marsohod.org вон свой программатор mbftdi как-то в кактус запилили. и там тупо ft2232h, без дополнительной цплд, ибо преобразовывать USB в последовательный интерфейс сама умеет в отличии от ft245 в оригинальном первом бластере. Свою DLL-ку написали, предварительно похатчив оригинал. Это, конечно, самый правильный путь, т.к. открывает самые широкие перспективы (потому у меня и возник интерес - см. выше). Вопрос только в точности вскрытия API. Кстати, а они где-нибудь этой информацией с широкой общественностью делились? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_pv 52 26 октября, 2016 Опубликовано 26 октября, 2016 · Жалоба А для отладочных вещей типа SignalTap использовать выделенные линии LVDS. Снаружи в ПК эмулятор SLD_HUB и внутри ПЛИС такой-же ответный но выведенный не на аппаратный JTAG а на выделенный интерфейс. Потому-как VirtualJtag подсистема USER0/USER1 очень медленная и не удовлетворяет современным требованиям. а вот тут как раз имхо и будут грабли с инеграцией этого велосипеда (не через JTAG), в квартус, хотя, возможно, и решаемые. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Raven 8 26 октября, 2016 Опубликовано 26 октября, 2016 · Жалоба а вот тут как раз имхо и будут грабли с инеграцией этого велосипеда (не через JTAG), в квартус, хотя, возможно, и решаемые. Само собой, для такой масштабной задумки плясать следует от программного интерфейса. Когда я говорил про бег впереди паровоза, именно это я и имел в виду. Что не может быть поддержано в рамках известного API - лучше без особой нужды не мутить. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jks 0 26 октября, 2016 Опубликовано 26 октября, 2016 · Жалоба Выкладывать исходники пока рано, надо причесать в нормальный вид. Могу выложить примерный драйвер - эмулятор. Пока под 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. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_pv 52 26 октября, 2016 Опубликовано 26 октября, 2016 · Жалоба исходники-то ладно, а вот описание того, что должна вернуть get_supported_hardware() вы где взяли? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jks 0 26 октября, 2016 Опубликовано 26 октября, 2016 (изменено) · Жалоба исходники-то ладно, а вот описание того, что должна вернуть get_supported_hardware() вы где взяли? Начиная где-то с 11 версии лежит в папке исполняемыми файлами. Не совсем в открытом виде, но разобраться можно и Альтера этому способствует. как-то так. alt_jtag_hw.zip Изменено 27 октября, 2016 пользователем jks Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dvladim 0 26 октября, 2016 Опубликовано 26 октября, 2016 · Жалоба Вполне может также быть проявлением плохого Signal Integrity. Сбивается всегда одинаково (в одном и том же месте, искажения всегда одни и те же?) Да вот нет :( Где-то в процессе буфер переполняется/сбивается. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Raven 8 27 октября, 2016 Опубликовано 27 октября, 2016 · Жалоба Начиная где-то с 11 версии лежит в папке исполняемыми файлами. Не совсем в открытом виде, но разобраться можно и Альтера этому способствует. Похоже, я далеко не в танке :) Под рукой Q13SP1, ничего похожего на файл с таким или подобным именем не нашел во всем поддереве. Видимо, совсем не в открытом виде :-) Или это только в Q11 было? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jks 0 27 октября, 2016 Опубликовано 27 октября, 2016 · Жалоба Похоже, я далеко не в танке :) Под рукой Q13SP1, ничего похожего на файл с таким или подобным именем не нашел во всем поддереве. Видимо, совсем не в открытом виде :-) Или это только в Q11 было? Этот файл это продукт интерпретации. Я имел ввиду файлы с расширением *.pdb для 32 битной версии. Там информации более чем достаточно. Надеюсь что не открыл страшной тайны. Вообще я был уверен, что эна инфа уже давно находится Центральном Хранилище Артефактов, раз на марсоходе драйвера с 2011 года лежат. Я доступа туда не имею пока пэтому не знаю что там и как. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_pv 52 27 октября, 2016 Опубликовано 27 октября, 2016 · Жалоба Начиная где-то с 11 версии лежит в папке исполняемыми файлами. Не совсем в открытом виде, но разобраться можно и Альтера этому способствует. за файлик спасибо. но често говоря, в известное место такое способствование со стороны альтеры. я конечно понимаю что им на средствах отладки тоже очень хочется подзаработать, продавая переходники на ftdi за сотни у.е., много кто так делает, но вообще это свинство. не так давно разбирался с использованием jtag-uarta из своей программы, а не через nios2-terminal (через него как-то всё настолько медленно и печально было). осталась масса "положительных" эмоций, хотя там оно ещё относительно незакрыто и даже исходники кое-какие найти можно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jks 0 27 октября, 2016 Опубликовано 27 октября, 2016 · Жалоба Я вобще сначала пытался на TCL что-то делать, но потом плюнул и решил поискать что-то побыстрее. Надо было найти какой-нибудь универсальный пограмматор для зоопарка для ARM/MIPS/FPGA. В результате сейчас пользую blaster через Альтеровскую либу jtag_client. Там есть полный функционал. И можно писать переносимое ПО под Win/Linux. Была идея JLink с родным драйвером подключить, чтобы разъемы не переставлять каждый раз. Не знаю насколько имеет смысл выкаладывать в открытый доступ либу и описание работы с ней? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Raven 8 28 октября, 2016 Опубликовано 28 октября, 2016 · Жалоба Этот файл это продукт интерпретации. Я имел ввиду файлы с расширением *.pdb для 32 битной версии. Там информации более чем достаточно. Надеюсь что не открыл страшной тайны. Так и есть - не в танке я :-). Ну, не занимался я пока всерьез программным RE,- потому про *.pdb и не в курсе. Теперь уже поспрашивал у знающих людей и стало ясно, что это такой, можно сказать, эксгибиционизм Altera. Формально вроде документы/исходники не выкладывали, но для понимающих (тех, кто "в танке", уж извините, закончу с этим идиоматическим выражением :-)) они содержат массу информации о внутреннем устройстве программных модулей. Тем не менее, за вашим маленьким файликом стоит большая работа, так что - респект и большое спасибо. Вообще я был уверен, что эна инфа уже давно находится Центральном Хранилище Артефактов, раз на марсоходе драйвера с 2011 года лежат. Может, даже и лежит. Но там столько всего, и не всегда оно лежит в очевидном именно для вас месте... Так что аналогия с Хранилищем из "Индианы Джонса" вполне обоснованна :-). В результате сейчас пользую blaster через Альтеровскую либу jtag_client. Там есть полный функционал. И можно писать переносимое ПО под Win/Linux. Еще бОльшая уважуха и респект. Была идея JLink с родным драйвером подключить, чтобы разъемы не переставлять каждый раз. Не знаю насколько имеет смысл выкаладывать в открытый доступ либу и описание работы с ней? В открытый ли доступ - это, конечно, вам решать. Но лично мне это было бы интересно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jks 0 4 ноября, 2016 Опубликовано 4 ноября, 2016 · Жалоба Не стал создавать отдельную тему. Но правильней наверное было бы разместить куда-нибудь в раздел САПР. Undocumented Quartus? Исходный код модуля драйвера под Win32/Win64 и небольшой пример по использованию библиотеки jtag_client. Компиилируется под MSVS. jtag_hw_sample.zip Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться