?

Log in

No account? Create an account
Cоединение выводов GPIO 1 платы Terasic DE0-CV и переходника для BusBlaster для работы с MIPSfpga - Юрий Панчул [entries|archive|friends|userinfo]
Money can buy bandwidth. Latency requires bribing God.

[ website | My Website ]
[ userinfo | livejournal userinfo ]
[ archive | journal archive ]

Cоединение выводов GPIO 1 платы Terasic DE0-CV и переходника для BusBlaster для работы с MIPSfpga [Aug. 27th, 2015|11:06 pm]
Yuri Panchul
Пояснительные картинки про соединение выводов GPIO 1 платы Terasic DE0-CV и переходника для BusBlaster. Переходник создан изначально для соединения с платами Basys3, Nexys4 и Nexys4 DDR от http://digilentinc.com

Переходник пришлось ставить именно посередине, чтобы избежать нежелательного подключения питания и заземления.

2015-08-23 12.42.44.jpg


2015-08-23 12.43.10.jpg

2015-08-23 12.44.02.jpg


Выход переходника который изначально предназначалься для соединения с платами от Digilent:

PMOD connector for Digilent boards

Табличка соединений:

MIPSfpga EJTAG pin connections

Теперь в плату Altera Terasic DE0-CV можно загружать/конфигурировать харвер - систему MIPSfpga, и загружать в эту систему софтвер - программы для ядра MIPS microAptiv UP внутри системы.

Описание того, что можно сделать с такой системой - в посте про семинары по MIPSfpga, которые пройдут в МГУ, МИФИ, МИЭТ, ИТМО и Microchip Masters Russia этой осенью - см. http://habrahabr.ru/post/265045/ :


  • Студенты могут строить свои собственные прототипы систем на кристалле, соединяя микропроцессорное ядро, память и спроектированные ими устройства ввода-вывода

  • Внутренние регистры можно подсоединять к выходным портам и выводить наружу информацию о текущем состоянии процессорного конвейера, кэшей и устройства управления памятью. После этого процессор можно запустить на низкой тактовой частоте и наблюдать его работу «в замедленной съемке».

  • Студенты могут экспериментировать со своими вариантами кэшей, проектировать многоядерные системы со специализированными сопроцессорами, эксперименторовать с разделением задачи на аппаратную и программную часть.



Если вы хотите принять участие в создании примеров использования MIPSfpga или спортировать его на другие платы, я агитирую вас стать членом гитхабовской организации http://github.com/MIPSfpga

На повестке дня стоит написание примеров для разной периферии (от дальномерки до джойстика), лабы показывающие процессор изнутри, а также пример использования на MIPSfpga какой-нибудь RTOS.

Я собираюсь послать в Москву пару посылок с периферийными устройствами и если вы готовы написать пример, могу выделить вам что-нибудь из следующих устройств:

PmodALSAmbient Light SensorSPI$15.00
PmodCDC1Capacitative I/OI2C$21.99
PmodCLSCharacter LCD w/ serial interfaceUART, SPI, TWI$39.00
PmodDPOTDigital PotentiometerSPI$21.59
PmodENCRotary encoder$16.99
PmodJSTKTwo axis joystickSPI$35.00
PmodKYPD16-Button Keypad$26.99
PmodMAXSONARUltrasonic Range FinderUART, Pulse$36.00
PmodR2RResistor Ladder D/A Converter$15.99
PmodTMP3Temperature SensorI2C$20.00
PmodUSBUARTUSB to UART InterfaceUART$21.59





Какие примеры для образовательных программ вы готовы написать?

Присоединить к MIPSfpga какой-нибудь дивайс средней степени экзотичности
2(50.0%)
Лабу "процессор изнутри" - про состояние кэша или уровня привилегий
0(0.0%)
О! Я всю жизнь хотел спортировать на что-то RTOS
2(50.0%)
Другое (пояснить в комментариях)
0(0.0%)
LinkReply

Comments:
[User Picture]From: ammosov
2015-08-28 06:19 am (UTC)
другое.

под кат.
(Reply) (Thread)
[User Picture]From: prof_killjoy
2015-08-28 12:40 pm (UTC)
Не понятно, зачем могло потребоваться такое уродливое устройство, изображенное на фото, для соединения с платой. А известно ли крутым профессионалам из Imagination, что такое Virtual JTAG ? Судя по всему, не так чтобы очень. Не иначе как обучение в «университетах» закончилось на триггерах и мультиплексорах. Очень расстраивает такое состояние дел, потому что речь идет о выращивании поколения инженеров...
(Reply) (Thread)
[User Picture]From: panchul
2015-08-28 02:22 pm (UTC)
Вы можете через Virtual JTAG запустить отладчик gdb или его производные? С какой скоростью это будет работать? BusBlaster и OpenOCD втыкаются и в Xilinx, и в Altera. Делать Altera-only интерфейс у нас в компании кто-либо вряд-ли будет, так как Xilinx является нашим официальным партнером проекта MIPSfpga, а Altera - нет.

Брать меня "на слабо" совершенно бесполезно, так как поддержка MIPSfpga не является моей основной деятельностью, ею является работа внутри MIPS I6400. Хотя я стоял у истоков проекта MIPSfpga, сейчас им занимается группа в UK, которая портирует на него Linux и делает Xilinx-центричное решение.

Если вы лично хотите сделать интерфейс к GDB через Virtual JTAG, флаг в руки - я могу по этому поаоду поедставить и порекомендовать вас нашему менеджменту. Когда оно все будет закончено и иметь product quality разумеется. Досужие рассуждения и ранние прототипы им неинтересны.
(Reply) (Parent) (Thread)
[User Picture]From: prof_killjoy
2015-08-28 04:27 pm (UTC)
Мне лично довелось делать подключение через Virtual JTAG специализированного процессора, со скоростью там все прекрасно, особенно если вместо USB Blaster использовать вариант на FT2232, но и так неплохо. Проблем никаких вообще. У Xilinx есть аналог Virtual JTAG, отличается не особо. Используют это не только Altera или Xilinx, в том же OpenRISC 1000 так сделано и с успехом. Одним словом, "все ходят не в ногу, один прапорщик в ногу". Ах да, по слухам EJTAG тоже отлично ложится на это дело, но подробности мне не сообщили, загадочно сказав типа если что, то в Imagnation узнают, если захотят
(Reply) (Parent) (Thread)
[User Picture]From: panchul
2015-08-28 04:41 pm (UTC)
*** Мне лично довелось делать подключение через Virtual JTAG специализированного процессора ***

Просто пересылка данных или работа отладчика GDB?

Если речь идет именно о подключении отладчика GDB, и уже существует работающее решение, не требующее разработки и продуктизации (прототип не катит, его никто не будет продолжать, кроме вас), напишите пожалуйста письмо на английском языке, подробно обосновывающее, почему аналог Virtual JTAG с "ложащимся на это EJTAG-ом" для Xilinx лучше, чем BusBlaster + OpenOCD. Я пришлю это письмо группе в Leeds, UK, которая развивает сейчас MIPSfpga, с копией менеджеру образовательных программ Imagination, его помощнику, а также двум начальникам в Xilinx, которые занимаются образовательными программами.

Сам такой разработкой заниматься не буду, посколько это не является моим жизненным приоритетом, а также не имеет никакого отношения к моим служебным обязанностям.
(Reply) (Parent) (Thread)
[User Picture]From: prof_killjoy
2015-08-28 05:30 pm (UTC)
Конкретно в моем случае был не gdb, у других людей был gdb, на скорость это не влияет никак. Далее. Очень странный подход вижу. Зачинатель блога утверждает - "Мол, мне до этого нет особого дела, типа я тут вышел чисто погулять и мимоходом революционизировать образование". При этом мне предлагается сделать gdb для EJTAG (как вариант - выпросить у тех людей, у которых возможно он есть), далее - переделать MIPSfpga под Virtual JTAG (что предполагается ) и еще организаторской работой заняться и все для того, чтобы ликвидировать откровенную лажу имени Imaginaton ? А может мне еще и гопака тут походу сплясать ? После лицезрения исходников от MIPSfpga я уже предлагал не мучиться и заказать нормально написанное ядро какому-нибудь условному Гейслеру, но этим же должен заниматься кто-то из Imagination, коль скоро фирма сама не способна решить проблему на подобающем уровне. Или может мне списаться с Гейслером и за свой счет ему заказать?
(Reply) (Parent) (Thread)
[User Picture]From: panchul
2015-08-28 08:23 pm (UTC)
*** При этом мне предлагается сделать gdb для EJTAG ***

Я вам ничего не предлагаю делать, это вам показалось
(Reply) (Parent) (Thread)
[User Picture]From: prof_killjoy
2015-08-28 04:31 pm (UTC)
Мне уже сегодня пара человек из числа старых знакомых позвонило, пожаловавшись, что едва не лопнули от смеха, увидев втыкаемый в плату девайс. А лично мне не до смеха. Во-первых, будет обидно, если кого-то из знакомых постигнет судьба Пьетро Аретино, хотя умереть от смеха все же в чем то лучше, чем от маразма. Во-вторых, ситуация не слолько смехотворна, сколько крайне огорчительна. Не совсем понятно, зачем Imagination себя так подставляет, ввязываясь в область (FPGA), где очевидно некомпетентна, при этом позиционируя себя гуру, «революционером образования». К сожалению, для той же России тут нет ничего революционного, здесь уже 20 лет преподаватели в университетах «учат» студентов тому, в чем сами разбираются весьма поверхностно.
(Reply) (Parent) (Thread)
[User Picture]From: panchul
2015-08-28 04:47 pm (UTC)
Если ваши знакомые лопаются от смеха, но у них нет работающей, product quality альтернативы, то все, что я могу сказать - это "смех без причины - признак дурачины". Это при том, что я тоже не фанат BusBlaster-а.
(Reply) (Parent) (Thread)
[User Picture]From: prof_killjoy
2015-08-28 05:35 pm (UTC)
У них там есть свои альтернативы, об одной я уже писал, есть и, скажем там, решения специального назначения. Так что смех там по причине. Рекомендую для начала изучить хотя бы азы предметной области (в деле FPGA), чтобы публично не нести околесицу, а потом рассказывать про "дурачин". Конкретно список на сегодня - "gdb будет медленный через Virtual JTAG", у "Xilinx такого нет, а он наш партнер". Это многовато для одного вечера

Edited at 2015-08-28 05:37 pm (UTC)
(Reply) (Parent) (Thread)
[User Picture]From: panchul
2015-08-28 06:03 pm (UTC)
*** Конкретно список на сегодня - "gdb будет медленный через Virtual JTAG", у "Xilinx такого нет, а он наш партнер". ***

Ни первого, ни второго я не говорил. Это вам показалось. Кажется - креститься надо.
(Reply) (Parent) (Thread)
[User Picture]From: prof_killjoy
2015-08-28 07:07 pm (UTC)
Юрий, Вы скатываетесь совсем на неподобающий уровень, отрицаете даже смысл своих только что написанных фраз. Не буду заниматься дословным цитированием, это совсем уже не имеет смысла.

По поводу конкретного сюжета - вот я Вам указал на очевидную лажу и пути ее решения, даже от души поделился профессиональным секретом и бесплатно. В ответ - вместо "спасибо" - мои хорошие знакомые были названы "дурачинами", пусть и косвенно, а мне ненавязчиво рекомендовано поработать на общественных началах ассенизатором по организации процесса уборки продуктов жизнедеятельности от Imagination. Это крайне невежливо и неконструктивно. Если Вам нравится выставлять себя и свою фирму в невыгодном свете - это Ваше право, но не думаю, что такой был исходный замысел.

Edited at 2015-08-28 07:09 pm (UTC)
(Reply) (Parent) (Thread)
[User Picture]From: panchul
2015-08-28 07:32 pm (UTC)
Нет, это вы неправильно меня интерпретируете.

"С какой скоростью это будет работать?" - это не утверждение, а вопрос, ответ на который я не знаю, так как отладочные интерфейсы не являются моей специализацией, я вопринимаю их как черный ящик. Мне даден в руки черный ящик от нашей группы в Leeds, я его использую, вникать в EJTAG я не собираюсь в своей жизни вообще.

То же самое относится к партнерству с Xilinx. Я _не_знаю_ есть ли у них аналог Virtual JTAG или нет (это не эквивалентно "у Xilinx-а этого нет"). С Xilinx работает наша группа в Leeds, если Xilinx им не возразил на использование BusBlaster-а, значит они с этим согласны. Я не собираюсь передовать ваши слова ни группе в Leeds, ни в Xilinx, потому что я не разбираюсь в отладочных интерфейсах и не могу сказать, является ли то, что вы говорите обоснованным или нет.

Все, что я могу сделать - передать им ваш готовый продукт. Передавать им абстрактные слова "мне интернет-аноним в ЖЖ сказал, что наверное в Xilinx должен быть аналог Virtual JTAG альтеры, и давайте вы возьмете и это сделаете" - я не собираюсь.


Edited at 2015-08-28 07:33 pm (UTC)
(Reply) (Parent) (Thread)
[User Picture]From: prof_killjoy
2015-08-28 07:10 pm (UTC)
Вот кстати по ссылке http://geektimes.ru/post/260792/ есть коммент внизу, это явно не крутой разработчик писал, а самый что ни на есть "глас народа", и коммент начинается фразой "Не очень ясно, зачем нужен внешний адаптер."
(Reply) (Parent) (Thread)
[User Picture]From: panchul
2015-08-28 07:37 pm (UTC)
Глас народа не учитывает, что BusBlaster можно втыкать и в Altera, и в Xilinx, и в Microchip, и в другие платы как с FPGA, так и с готовые процессоры с EJTAG. Также глас народа не учитывает, что NIOS II не предназначен для ASIC, а вот c MIPSfpga можно экспериментировать на FPGA, а потом сделать (с коммерческой лицензией) ASIC.
(Reply) (Parent) (Thread)
(Deleted comment)
[User Picture]From: prof_killjoy
2015-08-28 04:32 pm (UTC)
Может $35 и не жалко, но тут Imagination помимо "революции в образовании", еще устраивает "революцию в юзабилити", что придает дополнительной пикантности процессу
(Reply) (Parent) (Thread)
[User Picture]From: panchul
2015-08-31 05:22 pm (UTC)
Он или не хочет втыкать эту штуку никуда кроме альтеры, или хочет, чтобы наша тул группа в Leeds, UK выслушала его советы и затрахалась поддержкой кучи платформ

http://panchul.livejournal.com/488698.html?thread=20103930#t20103930
(Reply) (Parent) (Thread)
[User Picture]From: sergegers1
2015-08-28 01:04 pm (UTC)
Не знаю, произведёт ли это впечатление на похудевшую Радулову...
(Reply) (Thread)
(Deleted comment)
[User Picture]From: panchul
2015-08-28 04:17 pm (UTC)
Ничего, до моего приезда в Москву осталось еще 2 месяца, за это время radulova может немного поправиться
(Reply) (Parent) (Thread)