ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Пятница
29 марта
835702
Evgeny_CD, Архитектор (27.04.2018 01:53, просмотров: 2363)
[ZPU] -> открытый (BSD) стековый 32 битный процессор Spartan-6 639 LUT 100 MHz 0.5 DMIPS/MHz или 1162 LUT 80 MHz 2.6 DMIPS/MHz Документация -> http://repo.or.cz/w/zpu.git?a=blob_plain;f=zpu/docs/zpu_arch.html;hb=HEAD
https://github.com/zylin/zpu
Порт GCC есть. Невероятная простота! 0.5 DMIPS/MHz https://github.com …ore/zpu_core_small.vhd 2.6 DMIPS/MHz https://github.com …zpu4/core/zpu_core.vhd В силу своей простоты легко расширяемый. Поскольку все данные для него - память, то можно приделать любой аппаратный блок, который даст нужную производительность. Фирма, создавшая это чудо, несколько утратила интерес к нему. Но нашлись продолжатели. http://section5.ch mail list особой активностью не отличается https://groups.google.com/forum/#!forum/zylin-zpu Но нашелся пост человека, который описал свои улучшения ZPU https://groups.google.com/forum/#!topic/zylin-zpu/91-qiRXdkR8 Этот трудолюбивый швейцарец наклепал кучу вариантов ядра http://section5.ch …cist-soc/soc-overview/ Приделал scatter-gather style DMA engine http://section5.ch …obuffering-techniques/ И сделал универсальную поделочную сетевую плату на Spartan-6 LX9. Он точно курил мои посты!!!! http://section5.ch …oduct/netpp-node-v0-1/ XC6SLX9-2TQG144I 102 I/O 144TQFP 1 $18.97 XC6SLX9-3TQG144I 102 I/O 144TQFP 1 $20.86 - это самый быстрый и индустриальный. Оно вот на этом ядре http://section5.ch …soc-overview/#dagobert В эту небольшую плиску он напихал • 32 Bit processor ’ZPUng’ v1.1, three stage pipeline @54 Mhz • Wishbone-Bus for address decoding and peripherals • Autobuffer DMA for high speed data I/O • Programmable in C (GCC) • Hardware Debugger (JTAG), GDB • Ethernet, UDP/IP stack И потратил ресурсов Spartan6-LX9 Registers 2961 (25%) LUT 3972 (69%) RAMB16 30 (93%) - заметим, в чипе только BRAM почти закончилась, а логики хватит, чтобы простую периферию сотворить. Что интересно, кода там исполняется из SPI флешки с кешем на BRAM. Но мы же помним про ECP5, верно? http://caxapa.ru/778579.html
                       T             Case            IO  LE    RAM    DSP  Умн. PLL Price
LFE5U-12F-6BG381I      -40°C ~ 100°C 381-CABGA 0.8   197 12000 32х18k YES  28   2   100 - $5.64
LFE5U-25F-6BG381I      -40°C ~ 100°C 381-CABGA 0.8   197 24000 56х18k YES  28   2   100 - $10.77
XC6SLX9-3TQG144I       -40°C ~ 100°C 144-TQFP        101 9152  32х18k YES  16   2   1 - $20.66
10CL006YE144I7G        -40°C ~ 100°C  144-EPFQ       88  6272  30x9k  -    15   2   25 - $8.98
10CL010YE144I7G        -40°C ~ 100°C  144-EPFQ       88  10320 46x9k  -    23   2   1 - $13.02
10CL016YE144I7G        -40°C ~ 100°C  144-EPFQ       78  15408 56x9k  -    56   4   1 - $18.90
10CL025YE144I7G        -40°C ~ 100°C  144-EPFQ       76  24624 66x9k  -    66   2   1 - $27.30
В варианте MachXO2 (LE там как в ECP5) быстрый вариант ZPU занимает 2429 LUT4, в 2 раза больше Spartan-6, но в LFE5U-25F за $10 элементов в 3 раза больше, чем в XC6SLX9 $20.86, так что все влезет. А памяти в ECP5 в 2 раза больше. Есть проект dombert на Lattice - тактовая частота процессора 50 МГц вместо 54 http://section5.ch …/soc-overview/#dombert Кстати, там видно отличие ECP5 от ECP3 Теперь вспоминаем про SRAM ZBT http://caxapa.ru/830111.html И понимаем, что ~$15 собирается удивительный периферийный контроллер. Топовая версия. -- 50 МГц 50-80-100 DMIPS 32 битное простое ядро -- DMA мечты -- сеть 100, да и 1000 Мбит влезет, из которой на аппаратном уровне выжимается 100% скорости -- нужная специализированная периферия. Которая будет идеальна для целевой задачи, и идеальна в части RT - ибо FPGA. Из LFE5U-12F-6BG381I 100 - $5.64 + внешний чим быстрой SRAM за $1.3 = $7 получится чуть более простой, но тоже мощный периферийный контроллер. IS61WV6416EEBLL-10BLI 1Mb (64K x 16) Parallel 10ns 48-TFBGA (6x8) 100 $1.33 BGA 0.75mm IS61WV6416DBLL-10TLI 1Mb (64K x 16) Parallel 10ns 44-TSOP2 100 $1.50 64K x 16 HIGH SPEED ASYNCHRONOUS CMOS STATIC RAM WITH ECC за 8.3 (FPGA + 2* SRAM - код и данные раздельно) получится весьма кошерный контроллер. Получается, что я правильно задумал идею "универсальный сетевой микроконтроллер". Не я один это "увидел". Что касается отцов-основателей ZPU, то они сделали великое дело, но в целом тащили проект в сторону достаточно больших ОСей, у них есть порт eCOS, и там оно не не очень пошло, почему они и забросили. А вот как на достаточно маленький контроллер для внутричиповых применений они на свое детище, похоже, не очень смотрели. Трудолюбивый швейцарец еще очень много чего сделал - интеграция с Labview, качественный симулятор SoC, система отладки и прочая. Но для мелких проектов можно обойтись и без этого.