Doka avatar

Журнал Эмбеддед-Инженера

О микроэлектронике, радиотехнике и хобби

Об отладке прототипа SoC

Собственный опыт и эпохи отладки железа

Dmitry Murzinov

2 минут чтения

ПозаВчера

Более 10ти лет назад когда FPGA были недостаточно большими для одновременного размещения там достаточно жирного IP (ЦОС) и CPU, мы разработали кастомный комбайн для РоС в реальном окружении:

в FPGA загружалась IP-core цифрового радиотракта, шина обёртывалась во враппер для трансляции по ETH UDP, на хосте крутилась программа (“единая” для SoC и для хоста), которая “замыкала” петли в радиотракте, обращения программы в адресные пространства были тоже обёрнуты во враппер и транслировались на UDP. Для отлова “сложных” ситуаций можно было подключиться к симулятору, для которого на TCL был написан интерфейс к тому же UDP (что, докучи, позволяло гонять симулятор и хост-программу на разных тачках).

Вчера

Затем, с выходом Vivado и новых семейств, Xilinx сделала макро JTAG-to-AXI, позволяющий из того же TCL читать и писать по AXI. TCL конечно для такого кейса не ахти какой выбор, да еще и работающий из под джававского шелла самого вивадо, но всё ж не надо забывать что конь дарённый (хотя знаю компанию, которая такое решение поставляет клиентам - стыд и скрам).

Сегодня

Вот теперь новый виток, с помощью этой опенсорс-приблуды можно гигантские потоки по USB3.0 гонять в/из AXI (используется FTDI FT601 SuperSpeed USB3.0 для проброса в AXI4 Master). Реальная производительность:

✅ AXI-4 burst reads @ 170MB/s

✅ AXI-4 burst writes @ 230MB/s

Еще бы туда прикрутить AXI-stream опционально чтобы дампы прям с data-path снимать при дебаге наживую, но думаю это вопрос времени.

Завтра

Следующий этап - это когда к чипу для дебага две дифференциальные пары будут подключаться: а остальное USB3.x будет внутри ПЛИС на базе MGT-трансиверов реализовываться - такой проект уже W.I.P в опенсорсе. Просто представьте: для дебага на космической скорости вы просто добавляете на РСВ компактный USB-C. Всё!

Последние записи

Разделы