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

Две ПЛИС разных производителей в одной JTAG цепочке: как и чем прошить?

Всем добра.
Например Актель и Альтера.
Хочется шить одномоментно из одного ПО ничего не перетыкая.
Просьба пнуть в нужном направлении.

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


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

OFF. Не так давно хотел одновременно шить разные мс одного производителя с помощью его-же ПО, и фиг там.

Пришлось шить по очереди. Хорошо что хоть без перетыкивания обошлось.

А Вы разных шить хотите!!! :spiteful:

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


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

тулзы умеют писать прошивку (набор команд по жтагу) в некий универсальный формат STAPL (https://en.wikipedia.org/wiki/Standard_Test_and_Programming_Language) или тому подобное. там в цепочке чужую ПЛИС надо задавать как bypass

но будут потери функциональности, трудности отладки и т.п. - я не пользовался

в актеле генерилось где-то в isp, в альтере в файл-конвершин по-моему

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


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

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


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

29.10.2020 в 02:23, zombi сказал:

OFF. Не так давно хотел одновременно шить разные мс одного производителя с помощью его-же ПО, и фиг там.

Пришлось шить по очереди. Хорошо что хоть без перетыкивания обошлось.

Конфигурационные микросхемы были отдельные для каждой ПЛИСки?

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


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

3 hours ago, MrGalaxy said:

Конфигурационные микросхемы

Без внешних конф.мс.

Вот тема Quartus Programmer "ругается", ого уже три года прошло. Во время летит. А Intel так проблему и не решил.

 

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


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

On 10/28/2020 at 9:57 PM, MaratZuev said:

Всем добра.
Например Актель и Альтера.
Хочется шить одномоментно из одного ПО ничего не перетыкая.
Просьба пнуть в нужном направлении.

Готовых софтин такого рода, да еще с GUI, я не знаю. Если подобная задача появляется в контексте автоматизации серийного производства, то не грех самостоятельно разработать поддержку такого решения, пусть хотя бы даже и на скриптах.

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


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

Раньше был некий JTAG player  который мог проигрывать файлы svf по моему. А этот файл генерил софт от вендора. Формат весьма доступный и можно склеить несколько файлов.

Думаю сейчас есть нечто подобное.

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


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

чего-то сразу забыл написать - смысл JTAG в штатной загрузке? по-моему это только для отладки, всегда есть вариант загрузки по последовательному интерфейсу (SPI slave), который будет быстрее и проще (аппаратная поддержка в процессоре-загрузчике, например, а не ногами gpio дергать)

JTAG может для каких-то хитрых операций, прошивка OTP в ПЛИСине, криптография, но для таких операций командный файл может и не генериться - то есть для сторонних JTAG тулзов такие операции запрещены - то есть если расчет на это, то надо внимательно очень проверять возможность

если JTAG выбран, чтобы кода меньше писать - могу ошибаться , давно было, но кажется, что актел дает С код для последовательной загрузки  (ищите directc), с альтерой не знаю, но наверняка на гитхабе есть (да и кодировать то там по доке ...)

в двух SPI-ях проводов 3 + 2 чип селекта, не на много больше 4 JTAG-а

 

 

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


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

9 hours ago, MaratZuev said:

Скрипты брать, например, отсюда?

Это лищь пример общения с пользовательской логикой через JTAG Alter'ы. Но иллюстрация неплохая. Но вам-то надо загружать SOF-файл через JTAG, а не общаться с с уже загруженной логикой в FPGA. Это перекается по функционалу с этим примером, но не совсем то.

Поскольку в задаче присутствуют FPGA от нескольких вендоров, то для каждого надо будет найти/написать/приспособить свою библиотечку примитивов для загрузки (т.к. принципы загрузки у всех, скорее всего, разнятся). Да, там будет общий нижний слой JTAG примитивов, но над ним для каждой FPGA технологии будет свой подставляемый слой со спецификой конфигурирования FPGA от Altera или Xilinx, например.

Отсюда вопрос - действительно ли это именно то, чего вам хочется? Я имею в виду грузить именно через JTAG. Если не ошибаюсь, каждый из FPGA вендоров предусмотрел более простой метод конфигурирования (Altera and Xilinx - точно) - тот, который используется при конфигурировании с помощью конфигурационных FLASH. Эти методы у них по-разному называются, но принцип близкий. И часто приводятся C-шные исходники для реализации такой загрузки через микроконтроллер, например. У Altera точно видел такую Application Note. JTAG - да, более универсальный подход, но он и сложнее.

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


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

14 hours ago, MegaVolt said:

Раньше был некий JTAG player  который мог проигрывать файлы svf по моему. А этот файл генерил софт от вендора. Формат весьма доступный и можно склеить несколько файлов.

Вот здесь написано следующее: SVF files support only one ACTION or programming flow per file, due to language limitations.

14 hours ago, MegaVolt said:

Думаю сейчас есть нечто подобное.

SVF Player Но вопрос в склейке ужа с ежом остаётся

7 hours ago, Raven said:

JTAG - да, более универсальный подход, но он и сложнее.

Мы не ищем лёгких путей, а программировать хотелось бы влёт лёгким движением мыши без перетыкания всяких программаторов соответственно парадигме: один софт (программатора), один загрузочый кабель, один разъём JTAG, две ПЛИС от двух разных вендоров и две их прошивки в (как теперь понимаю) SVF формате, который надо будет обрабатывать пунктом 1 в этой цепочке.

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


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

3 часа назад, MaratZuev сказал:

SVF Player Но вопрос в склейке ужа с ежом остаётся

 

Да. Перевести первую флешку после загрузки в прозрачный режим придётся скорее всего ручками. Либо возможно подсмотрев это в ещё одном файле svf созданном только для этой комманды. И возможно даже придётся поправить коды для второй плис потому что первая в прозрачном режиме будет давать задержку выходных данных на 1 такт.

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


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

7 часов назад, MaratZuev сказал:

Мы не ищем лёгких путей, а программировать хотелось бы влёт лёгким движением мыши без перетыкания всяких программаторов соответственно парадигме: один софт (программатора), один загрузочый кабель, один разъём JTAG, две ПЛИС от двух разных вендоров и две их прошивки в (как теперь понимаю) SVF формате, который надо будет обрабатывать пунктом 1 в этой цепочке.

Попробуйте связку FT2232H + UrJTAG + svf-файлы для разных ПЛИС.

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


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

Если речь идет о конфигурировании через JTAG с использованием SVF-файлов, то их нужно будет слегка модифицировать - добавить действия с TAP-контроллерами, предшествующими и/или следующими за нашим интересантом в JTAG-цепочке. Делается это через использование команд HIR/HDR и TIR/TDR (H, T - header and trailer, голова и хвост, соответственно). Для пояснения такая картинка из SVF spec'а:

 

image.png.0cc39bc27cb54c192650369b661ff6c9.png

Сами же действия просты:

  • в IR загоняется команда BYPASS
  • в DR всегда подставляется 1'b0 (это и будет содержимым 1-битного BYPASS DR)

 

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


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

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

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

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

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

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

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

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

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

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