Комментарии 33
А в виваде они много чего ещё поубивали…
Я уже не говорю про волшебный атрибут ROUTE, при помощи которого (а также низкоуровневого редактора, пива и такой-то матери) можно было в этих регулярных структурах ещё и развести руками критические локальные цепи у блоков нижнего уровня и не ждать потом часами, пока роутер пытается сделать то же самое (безуспешно, причём).
Нет, плюсы-то тоже есть. TCL полноценный. В HLC можно из Си сделать HDL описание — не сказать что бы оно хорошо, но когда надо сделать быстро, то, например, фильтры делаются довольно быстро и даже работают. Правда если нужна скорость, я чую, всё равно руками придётся всё описывать. Но как-то… всё равно создаётся ощущения что писали САПР индусы для менеджеров, а инженеров, как всегда, спросить забыли)
Для новичков есть интересный проект — марсоход. Там в блоге много чего доступно расписано. У меня статья есть, где я с этой платкой поигрался немного — вот простой и понятный практический пример именно ПЛИСовой части.
Во-первых это платы, предназначенные для обучения, т.е. практического применения от них ожидать некорректно, но сделать можно многое, лишь бы позволяла периферия. Во-вторых, если речь о самих системах на чипе, ардуинщику-любителю такие девайсы не актуальны. Чуть более актуальны для радиолюбителей, которые хотят собрать свой SDR-трансивер (тысячи их, уже готовых и продающихся). Для каких еще "домашних" хобби это может понадобиться я не знаю. На работе занимаюсь парой проектов на ПЛИС, там и SDR и демодуляторы. До SoC пока не докатились, хотя отладочная плата с цинком есть, и, похоже, все к ним и движется. Ну и еще одно — для вашего домашнего использования может оказаться оправданным использование отдельных микроконтроллера и ПЛИС, это сделает проект дешевле, проще в сборке и снизит временные затраты на изучение всего этого барахла.
Но можно и через ARM. Можно даже поднять ftp, и кидать файл прошивки туда.
Я не уверен насчёт части, может быть, и можно. Я не пробовал. Заливка прошивки полностью делается довольно просто.
Или процесс прошивки очень длинный?
Cкажем так, возможна технология, по аналогией с jit компиляцией, на лету, оптимизирующая куски кода в виде fpga прошивки? имеет ли она смысл?
Есть OpenCL для генерации FPGA (активно рекламируется, но далеко не любой код будет преобразован в эффективную схему). Основная проблема для использования "на лету" — очень высокая длительность синтеза схемы (также требуется очень много памяти и у вендоров обычно нет полного комплекта PAR утилит, работающих на ARM).
https://www.altera.com/en_US/pdfs/literature/wp/wp-01173-opencl.pdf
Пример JIT на Zynq 7020:
https://arxiv.org/pdf/1705.02730.pdf Resource-Aware Just-in-Time OpenCL Compiler for Coarse-Grained FPGA Overlays
Most vendor OpenCL tools simply generate intermediate RTL that must still be mapped through the FPGA backend flow. Unfortunately, the size and fine granularity of modern FPGA fabrics means that PAR (place and route) times are very long, thereby preventing runtime compilation of OpenCL kernels.
The first (blue) bar shows the PAR time using Vivado 2014.2 running on a HP Z420 workstation with an Intel Xeon E5-1650 v2 CPU running at 3.5 GHz with 16 GB of RAM, targeting the Zynq FPGA fabric.
P.S. Из интересных особенностей (если про них вопрос). Можно ресетить FPGA или прошивать FPGA только когда нет передачи данных (и нет неотвеченных запросов) по AXI-шине (внутренние шины от ARM к FPGA и обратно), а то может нарушиться протокол AXI и ARM зависнет.
2) SDK работает у меня на Debian с XFCE отлично, если перед запуском сказать export SWT_GTK3=0.
3) Хотелось бы еще увидеть в статье ссылки на ресурсы (кроме сайтов самих плат). Например, мне очень помог www.wiki.xilinx.com.
Я смотрел информацию по Xilinx ZC702 Evaluation Kit, и решил не добавлять, т.к. эта плата ничем особым не лучше, чем, например, Zedboard, при большей цене.
Ресурсы, согласен, надо добавить. Добавлю во вторую часть обзора. В качестве ресурса также рекомендую Adam Taylor’s MicroZed Chronicles (https://forums.xilinx.com/t5/Xcell-Daily-Blog/bg-p/Xcell/label-name/zynq).
Как скоро ожидать Часть 2. Мир Intel (Altera)?


Так что всё реально.
Обзор плат на SoC ARM+FPGA. Часть первая. Мир Xilinx