Новый лабник «Цифровой синтез» продолжает книгу Харрисов и помогает сделать видеоигру на FPGA



    Новый лабник «Цифровой синтез» продолжает традиции учебника Дэвида Харриса и Сары Харрис «Цифровая схемотехника и архитектура компьютера», скачивания которого завалили британский сайт. Лабник позволяет потрогать руками всю теорию из Харрис & Харрис на плате FPGA, от мигания лампочек до процессора. В лабнике также разобрана концепция конвейерной обработки, без которой вы не пройдете интервью на работу проектировщиком ни в одну микроэлектронную компанию. В конце показан путь от FPGA до ASIC, массовых микросхем, которые стоят в айфонах, теслах и ИИ-акселераторах.

    В книжке есть интервью команды из Питера, которую Intel привез в свою штаб-квартиру в Silicon Valley за их победу на конкурсе Innovate FPGA. Книжку «Цифровой синтез: практический курс» поддержала ведущая компания в автоматизации пректирования микросхем Cadence Design Systems (на фото выше сибирячка Наташа стоит с FPGA платой перед штаб-квартирой Cadence в Silicon Valley — в посте будет ее видео).

    Лабник делался под эгидой Высшей Школы Экономики / МИЭМ (Александр Романов, Вероника Прохорова и Игорь Агамирзян), при этом разные главы в нем писали преподаватели Московского, Киевского и Самарского университетов, Питерского ИТМО, Черниговского политеха и Университета Калифорнии Санта-Круз (Чарльз Данчек, вечернее отделение в Silicon Valley). В создании учебника приняли участие инженеры российских компании IVA Technologies (Станислав Жельнио, аппаратный ускоритель ИИ + образовательный проект schoolMIPS) и ФГУП НПЦАП
    (отделение Роскосмоса), американских компаний MIPS, Juniper Networks и AMD. Издало учебник ДМК-Пресс.


    Я составил план лабника и привлек знакомых по предыдущим образовательным проектам авторов, после чего передал управление Александру Романову, который провел кропотливую работу, почти два года менеджируя проект. Создание учебника естественно вписалось в деятельность Александра, который за 3 года поднял лабораторию в ВШЭ МИЭМ, которая занимается встроенными компьютерами, роботехникой и ПЛИС. Лаборатория организовала несколько команд на Innovate FPGA, причем одна из них стала бронзовым призером в региональном финале.

    Учебник годится не только для студентов — его можно использовать для летних лагерей по цифровому проектированию для продвинутых школьников. Разобраться с нуля по тьюториалам в интернете, как работать со средой Intel Quartus II — это нетривиально. А в учебнике это все расписано по шагам. Кроме этого, в нем есть вся теоретическая база, чтобы сделать что-то интересное для школьников, помимо мигания лампочками, которые им быстро надоедают. Интересное — это например видеоигру:



    Идея учить верилогу с помощью игр на VGA не нова — такая лаба есть во многих вузах, например в курсе 6.111 Introductory Digital Systems Laboratory Массачусетского Технологического Института (MIT). Также, два года назад вышла книжка Designing Video Game Hardware in Verilog Paperback by Steven Hugg, с довольно развитыми играми с танчиками, гоночными машинками, генератором псевдослучайного звездного неба с помощью LFSR, фрейм-буфером и даже аппаратно-программным интерфейсом. Кроме этого, игры на VGA есть в демонстрациях от производителей ПЛИС Xilinx и Intel/Altera, точнее от их компаний-партнеров — Digilent и Terasic.



    В частности в лабе из MIT очень наглядно показано, что все, что нужно сделать для рисования на дисплее — это реализовать в виде схемы функцию, которая в качестве аргумента принимает координаты X и Y точки на экране и возвращает цвет этой точки (RGB). В простейшем случае эта функция — комбинационная, например вот такая функция нарисует шедевр Малевича: «цвет черный (RGB=0,0,0), если x >= 200 и x <= 400 и y >= 200 и y < 400, иначе цвет белый (RGB=1,1,1)». Мы будем далее называть такую схему «миксер», посколько она будет «смешивать» вводы от генераторов разных изображений.

    Для генерации самих аргументов миксера X и Y используется простая, построенная на двух счетчиках схема, которая использует тактовый сигнал высокой частоты CLK. Помимо координат X и Y эта схема генерирует сигналы HSYNC и VSYNC для дисплея VGA. Cигналы HSYNC и VSYNC остались со времен электронно-лучевой трубки. Они говорят виртуальному лучу, когда переходить на следующую точку/пиксел на экране по горизонтали, а потом на следующий ряд по вертикали.

    В сложном случае миксер использует не только значения своих входов X и Y, но и значения из элементов состояния (D-триггеров и памяти), в которые происходит запись по тактовому сигналу CLK. В этом случае тактовый сигнал тоже входит в миксер. Схемы с тактовыми сигналами и элементами состояния называются последовательностными (эти схемы проходят последовательность состояний, которые четко отделяет друг от друга пульсирующий тактовый сигнал). На последовательностных миксерах можно реализовать движущиеся изображения любой степени сложности.

    Вот картинки из MIT-шной лабы (такое же есть в куче других вузов), иллюстрирующие функцию генератора HSYNC/VSYNC, миксера (того самого блока, которые вычисляет RGB как функцию от X/HCOUNT и Y/VCOUNT), а также вывод HSYNC, VSYNC и RGB на экран. На картинке используется переключатель/мультиплексор между тремя миксерами — один рисует полоски, другой прямоугольник, третий — изображение на экране во время игры в пинг-понг:



    В коде простейший миксер выглядит так. Он рисует разноцветные квадраты из смесей красного, синего и зеленого, а также линии чистых цветов:



    Таким способом можно рисовать разнообразные красочные статические изображения. Вот изображения, которые нарисовали школьники на летней школе в Зеленограде сразу после короткой лекции с объяснением, как это делать:



    Ну хорошо, школьники могут закодировать функцию RGB (X, Y) и рисовать статические картинки. Но что делать дальше, какой следущий шаг? Мы рассмотрели возможность использовать материалы от MIT, Digilent+Xilinx, Altera+Terasic и Steven Hugg, после чего пришли к выводу, что в чистом виде использовать их нельзя. Вузовские лабы вписаны в вузовскую программу, а материалы от вендоров ПЛИС недостаточно хорошо написаны, а также не содержат подсказок, как менять код в формате летней школы, чтобы школьники изобретали свои игры. У книжки же Стивена Хагга есть два недостатка, которые являются обратной стороной ее достоинств (живости и красочности):

    • Во-первых, Стивен Хагг по-видимому не работал как Verilog дизайнер в электронной компании, поэтому в его коде есть разные вещи которые бы профессионал верилога так не делал.

    • Во-вторых, Стивен Хагг реализовал очень визуально привлекательную и легкую в использовании среду разработки и моделирования 8bitworkshop, которая, увы, уходит в сторону от средств, которые используют разработчики в промышленности.


    Вообще верилог у Стивена Хагга стоит в одном ряду с программированием процессоров старых 8-битных консолей от Атари и Нинтендо. Таким образом Хагг ориентирован не на тренировку будущих супердизайнеров, а на ностальгантов, ретро-компьютерщиков и других реконструкторов. Разница между его средой и профессиональными средствами проектирования еще больше, чем между средой программирования Ардуино и тулкитами для STM32.



    Я конечно не предлагаю сваливать на школьников Cadence SimVision и Synopsys Design Compiler за стотысяч долларов, но школьники вполне могут потянуть бесплатные версии профессиональных тулов Xilinx Vivado, Intel/Altera Quartus II, Mentor ModelSim, а также Icarus Verilog, GTKWave и онлайн-площадку edaplayground.com.

    Я перечитал предыдущий абзац и подумал: а вот Cadence SimVision для летней школы в Зеленограде можно было бы и использовать. Он имхо сделан лучше и удобнее и своего прямого конкурента Synopsys Design Vision Environment (DVE)*, и средств от Mentor Graphics (бесплатного ModelSim и платного Questa), и всех дешевых и бесплатных тулов (IcarusVerilog и т.д.) Если московское отделение Cadence Design System предоставит нам право и поддержку использования их софтвера на летних школах в Зеленограде, лично я буду за интеграции этого в программу школы.

    * У DVE например текст в окне исходников глючит/прыгает, когда я запускаю его под Ubuntu. Приходится делать window resize пока он перестает глючить. У SimVision такого нет.

    Вот начало тьюториала по SimVision (всего в него входит 22 видео):


    Но вернемся назад к играм. Если не Стивен Хагг, то что? Я написал пример простейшей игры, которую использовал на летней школе в Зеленограде. Исходники игры лежат на гитхабе. Выглядит она так:


    За две недели школьники разобрались с основными принципами проектирования на уровне регистровых передач и стали делать свои собственные, причем нетривиальные игры:


    Поговорим о технических деталях игры-примера. Платформенно-независимый модуль игры может быть помещен (instantiated) в обвязке (wrapper) любой FPGA платы, на которой есть VGA порт и две кнопки. Если плата совсем голая, то к ней можно подсоединить переходник для VGA и кнопки через провода GPIO (general purpose input/output). Модуль игры состоит из:

    1. Генератора развертки VGA.
    2. Двух параллельно работающих модулей для спрайта торпеды и спрайта цели.
    3. Конечного автомата для сценария игры, с состояниями «начало», «наведение», «летит», «победа/поражение».
    4. Модуля, который определяет, столкнулись ли спрайты.
    5. Таймера для задания длительности визуального эффекта после выигрыша (моргающий малиновый экран) или поражения (желтый экран).





    Все эти картинки нужно для следующей школы перерисовать с помощью draw.io или Lucidchart в нормальные микроархитектурные диаграммы:



    Еще нужно добавить в материалы школы временные диаграммы, нарисованные с помощью WaveDrom, чтобы показать как работает генератор развертки VGA, а также как вычисляет координаты мини-конвейер тракта данных внутри спрайтов:



    И разумеется нужно нарисовать диаграммы конечного автомата. Я сделал дюжину вариантов конечного автомата этой игры, вот на доске — вариант с четырьмя состояниями:



    Зачем я сделал много вариантов? Даже с таким простым автоматом можно сравнить разные стили их кодирования на верилоге, а также проиллюстрировать оптимизацию состояний и тайминга. Все это спрашивают на интервью на позицию проектировщика микросхем в Apple, NVidia, Intel, AMD и другие компании. Поэтому эту область нужно знать так, чтобы от зубов отскакивало. Есть несколько хороших статей Клиффорда Каммингса на эту тему:

    1. Самая новая статья 2019 года: FiniteStateMachine (FSM) Design & Synthesis using SystemVerilog — Part I by Clifford E. Cummings & Heath Chambers.
    2. Более старая статья, в которой упоминается эффективный стиль кодирования one-hot state machine, который можно встретить в коде процессоров SPARC и MIPS: Synthesizable Finite State Machine Design Techniques Using the New SystemVerilog 3.0 Enhancements by Clifford E. Cummings. См. на странице 10: «case (1'b1) // synopsys parallel_case next[READ]: rd <= 1'b1».
    3. Еще одна старая статья, в которой на странице 9 описывается полезный трюк, при котором выводные сигналы идут прямо из специально закодированного состояния: Coding And Scripting Techniques For FSM Designs With Synthesis-Optimized, Glitch-Free Outputs by Clifford E. Cummings.

    Я засинтезировал разные варианты конечного автомата игры с помощью наиболее распостраненного в индустрии тула Synopsys Design Compiler и сделал вот такую табличку. Как мы видим, современная версия DC очень эффективно оптимизирует все стили, так что вытягивать пикосекунды на конечных автоматах можно, но необязательно. Хотя возможно для более сложный конечных автоматов трюки из статей Каммингса будут более критичны:



    Во время школы в Зеленограде мы также обсуждали, что при проектировании чипов, помимо языков описания аппаратуры Verilog и VHDL, используются и много вспомогательных языков:

    • Для автоматизации сборки, менеджмента регрессии, извлечения информации из отчетов синтеза и кодогенарации используют Питон, а также bash, make и прочую юниксную/линуксную кухню.

    • Древний Tcl/Tk является стандартным внутренним языком программ синтеза, симуляции и физического дизайна. На нем пишутся скрипты, которые определяют период цикла тактового сигнала, привязывают имена в коде на Verilog к реальным выводам на FPGA, синтезируют и анализируют группы файлов, добавляют сигналы во временную диаграмму при анализе результатов симуляции или при отладке.

    • Многие компании еще с 1990-х скрестили немодный сейчас Perl с верилогом. Они используют Perl для препроцессирования и генерации кода на верилоге. Хотя после внедрения Verilog-2001 и SystemVerilog такой гибрид в 90% случаев можно заменить на Verilog-2001 generate и многомерные порты из SystemVerilog, все же остались случаи, когда гибрид перла с верилогом полезен. В частности, если вы используете бесплатные программы, которые не поддерживают SystemVerilog.

    • C/C++ и библиотеки типа SystemC используют для написания моделей аппаратных блоков на уровне транзакций. Инженеры-верификаторы проверяют блоки, проектируемые на верилоге, против этих моделей.

    • Если вы работаете в процессорной компании, вам полезно знать ассемблер. Даже если вы не низкоуровневый программист и не верификатор, а проектировщик процессора на уровне регистровых передач (Register Transfer Level — RTL).


    Вот ссылки для тех, кого заинтересовало использование перла в качестве препроцессора для верилога:

    1. G. Spivey. EP3: An extensible Perl preprocessor
    2. vpp.pl man page
    3. A Verilog Preprocessor

    Пример, как использовать встроенный в верилог перл для соединения 64 портов:

    //@ for my $i (0..7) {
      //@ for my $j (0..7) {
        .D$i$j(P${i}data[$j]),
      //@ }
    //@ }
    



    Было бы хорошо, если бы кто-нибудь написал универсальные скрипты для моделирования и синтеза примера (необязательно моей игры) на всех основных платформах для синтеза, симуляции, отладки, анализа динамического энергопотребления, физического проектирования, обвязки для всех плат итд. Это можно было бы использовать на школах и семинарах:



    Тут у вас может возникнуть вопрос: а почему я использую на семинарах Linux? Хотя и под Windows есть среды для моделирования и синтеза для FPGA, но в индустрии проектирования массовых чипов Windows не прижился. В начале 1990-х рынок рабочих станций для разработчиков ASIC-ов был поделен между SunOS и HP/UX. Потом электронные компании года три поиграли с Windows NT, но оно не пошло. После этого Synopsys и другие компании проектировочного софта плюнули и перешли на Linux — сначала на Red Hat, потом на SuSE и Ubuntu. Подозреваю, в основном из-за кучи скриптов на перле, C-shell итд, а также из-за удаленной работы разработчиков через telnet и X Window.

    Поэтому я для своих семинаров хожу с кучей bootable SSD с Lubuntu, на которых установлен весь нужный софт. При этом я использую legacy boot, но последнее время выяснилось, что все больше компьютеров требуют UEFI boot. По-видимому надо будет сделать bootable SSD с UEFI boot.

    Прижимистые компании вместо Red Hat используют CentOS. Возможно многие тулы для проектирования идут и под Debian, но я не проверял.



    Для семинаров я используют китайские FPGA платы, одну из которых держит в руках новосибирская девушка Наташа, которая проводит у нас в Silicon Valley тусовки формата Что-Где-Когда.



    В марте месяце я гулял по дикой природе Калифорнии вместе с российским бизнесменом Сергеем Зориным, который отвез в Москву десяток плат ZEOWAA, похожих по характеристикам на ту, которую держит в руках Наташа.

    Так как из-за коронавируса эти летом семинаров в Зеленограде наверное не будет, я думаю раздать этот десяток плат московским школьникам бесплатно (UPD: школьникам из других городов тоже можно хотя тут дополнительная суета с пересылкой). C двумя условиями:

    1. Перед получением платы вам нужно пройти все три части онлайн-курса «Как работают создатели умных наночипов» («От транзистора до микросхемы», «Логическая сторона цифровой схемотехники», «Физическая сторона цифровой схемотехники»), и получить сертификат. Этот курс мы создали вместе с РОСНАНО, точнее его образовательной дочкой eNano, проектом STEMford.



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

    2. После получения платы я ожидаю, что вы сделаете на ней проект, выложите код на гитхаб и напишете про ваш проект пост на Хабре.


    Если вы хотите купить в качестве подспорья для такого проекта новую книгу «Логический синтез», то для читателей Хабра у нее есть промокод — Sintez_2020.



    В перспективе хорошо было бы слезть с использования китайских плат и сделать дешевую российскую плату для таких упражнений с FPGA, с открытым дизайном. Я приветствую, если вы поделитесь мыслями в комментах о программах для проектирования плат и идеями, как лучше спроектировать и маркетировать такую плату. Для массового использования со школьникам желательно чтобы она стоила не больше $30 или 2000 рублей.



    Если вы школьник и заинтересовались проектированием микросхем, вы можете поступать в МИЭТ, ВШЭ МИЭМ, МИФИ, МГУ, МФТИ (в нем подобными упражнениями занимается Никита Поляков, МЭИ, МИСиС, ИТМО, ЛЭТИ, Самарский Университет, некоторые украинские университеты (КНУ, Черниговский НТУ, харьковский ХНУРЭ) и другие вузы. Вот я застал как при мне ремонтировали подход к приемной комиссии МИЭТ в Зеленограде:



    А вот как МИЭТ выглядит внутри:



    Трудоустроиться там можно кстати прямо напротив МИЭТ в НПО ЭЛВИС, которое занимается умными камерами и чипами для спутников:



    Или вы можете приехать в Silicon Valley. Хотите пройти интервью в компании Долины? Упражняйтесь на платах ПЛИС!

    Похожие публикации

    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама

    Комментарии 32

      +4
      > В перспективе хорошо было бы слезть с использования китайских плат и сделать дешевую российскую плату для таких упражнений с FPGA

      Такие платы уже есть, и давно: marsohod.org/howtobuy
      Брал у них первый Марсоход; цена вполне приемлемая.
        +2
        Кстати, конкретно про видеоигры в платах Марсоход:
        1) Игра Питон, MAX II 240LE
        2) Теннис, MAX II 240LE
        3) Теннис для двоих, MAX II 240LE
        4) Клеточный автомат Жизнь (Cyclone III) и Жизнь (МАХ10 50KLe)
        5) Игра River Raid, МАХ10 8KLe
          0
          Да, это хорошо, Жизнь — отличный пример, буду использовать. И параллельная instantiation клеток внутри generate, и загрузка их через сдвиговый регистр — это чисто и поучительно.

          А нет ли планов сделать что-то вроде Марсоход2RPI но с VGA выходом как у Марсоход2?
          0
          Марсоходовцы молодцы что такое сделали, но в текущий момент их платы вписываются в конкретно мои семинары не очень.

          1. Первый Марсоход с MAX II имеет ограниченное количество ячеек что ведет к ограниченным упраднениям.

          2. Марсоход2 несет старый Cyclone III.

          3. Марсоход3 дорогой, а я платы школьникам после семинара раздаю, чтобы они могли продолжить дома. Одно дело раздать 20 плат по $30 — это всего-лишь $600, а другое дело — раздать 20 плат по 10500 рублей — это в сумме почти $3000, дорого.

          4. Я посмотрю новый Марсоход2RPI. Он по цене и по FPGA подходит, но у него нет видеовыхода — нужен дополнительный переходник за $8.99 store.digilentinc.com/pmod-vga-video-graphics-array
            0
            Для этого сначала нужна российская ПЛИС, а сними напряженно, в остальных случаях компания Терасик очень лояльно относится к школьникам и студентам, у нас студент тут заинтересовался и заказал у них по EDU цене без всяких подтверждений счастлив и доволен…
            +1
            По поводу САПРов (мнение чисто субъективное, но тем не менее):
            Altium Designer — очень крутой и удобный комбайн, популярный в СНГ в современном производстве, но и стоит как крыло самолёта. Если есть возможность выбить бесплатную лицензию для учреждения образования (раньше вроде выдавали, как сейчас — не знаю), на мой взгляд — лучший вариант. Вроде как есть возможность сразу в нём писать код для ПЛИС и вроде даже есть какие-то средства симуляции — давно не работал в нём, не могу поручиться за детали современных версий.
            Есть бесплатный онлайн-аналог Circuit Maker с урезанными возможностями, но главный, на мой взгляд, недостаток — ваши проекты лежат где-то в чужом облаке. Для хобби пойдёт, для более серьёзных применений я бы, наверно, поостерёгся.
            EasyEDA — тоже онлайн САПР, довольно удобный (на мой взгляд, удобнее, чем Circuit Maker) и активно развивающийся, есть коммьюнити, саппортом проблемы решаются.
            KiCad — бесплатная САПР, open source, пользуется популярностью больше на западе. Не очень удобная, скажем так, философия всего процесса немного другая, до 5 версии при переходе с других САПРов вообще ломала мозг. Есть много библиотек, но если хотите иметь всё в едином стиле и с подобными пропорциями, надо делать свои. Есть мелкие раздражающие нюансы (возможно, это из-за слома привычек, и если бы это была первая моя САПР, отношение было бы другое).
            DipTrace и Eagle — больше, на мой взгляд, олдовые инструменты (в основном встречал пользователей этих САПР, которых можно было охарактеризовать как «опытный дядька»). Есть бесплатные версии с ограничением на количество цепей.
            Слегка пробовал когда-то OrCAD — после альтиума было абсолютно неинтутивно.
            Повторюсь, это — чисто мои наблюдения, основанные на собственном опыте. Если что-то написал не так — прошу поправить. Надеюсь, никого ничем не обидел)
            0
            Поздравляю с новой книгой на русском языке по такой технически сложной теме! Уже оформляю заказ.

            Касательно ПЛИС – Миландр готовит к выпуску отечественный чип ПЛИС М1. Он небольшой и, наверное, не самый дешёвый, но надо их поспрошать. Все объявления и ссылки у них на форуме. Или краткие выдержки у меня в твиттере.
              0
              У них для синтеза Yosys и собственный Place & Route? Ну если это достаточно user-friendly, и если у них есть платы, и если их это интересует, можно договорится об интеграции их с летними школами в Зеленограде. Как минимум попросить из зайти и сделать презентацию школьникам. В прошлый раз заходили люди из российского отделения Intel, отделения программируемой логики.
              0
              У них для синтеза Yosys и собственный Place & Route? Ну если это достаточно user-friendly, и если у них есть платы, и если их это интересует, можно договорится об интеграции их с летними школами в Зеленограде. Как минимум попросить из зайти и сделать презентацию школьникам. В прошлый раз заходили люди из российского отделения Intel, отделения программируемой логики.
                0
                с российским бизнесменом Сергеем Зориным, который отвез в Москву десяток плат ZEOWAA


                Он и здесь уже отметился? Шустрый тип. И зачем Вы отдали ему их, и видимо за бесплатно :) Лучше бы подарили их учащимся, он ведь не «бедный студент» — у него свой «свечной заводик» есть. Он даже мог легко сэкономить, не заказывая их на Aliexpress, а привезя с собой из Китая, т.к. частенько туда наведывается. А так получается, что добродушный американский инженер подарил 10 плат российскому барыге мелкому фабриканту :D
                  0
                  Так я их Сергею дал не просто так, а чтобы он передал их другим людям в Москве, с которыми мы планируем семинары (МИЭТ, ChipEXPO, Сколково итд). У Сергея своих плат более чем достаточно, зачем ему эти?
                  0
                  Юрий, спасибо за Ваш вклад в образование молодёжи!
                    0
                    Юрий, а промокод есть у этой книжки?
                      0
                      Sintez_2020
                        0
                        Это правильно, что pdf вариант стоит одинаково с бумажной версией?
                        В любом случае, спасибо за книгу: оформил заказ, оплатил и жду поставку цифрового носителя: наверное, готовят к выпуску…
                      0
                      дешевую российскую плату для таких упражнений с FPGA
                      Юрий, какую ПЛИС вы хотите туда ставить?
                        0
                        Я бы хотел Max10, но если получается дорого, то Cyclone IV или Cyclone V могут быть опциями.
                          0

                          Какую конкретно из этих https://www.digikey.com/short/z4bj3z? Обратите внимание на цены не от 1шт. а от сотни, например. Я к чему. Мне любопытно, можно ли уложиться в озвученный бюджет.

                            0
                            Ну наверное ту которая 8000 логических элементов по $17 в количестве 100 штук. Я раньше использовал ту, которая 50000 элементов по $47 в количестве 100 штук, но это дорого. Та что 4000 может не хватить для интересных упражнений, и по цене ($12) она дешевле чем за 8000 всего на $5.
                              0
                              Как вариант — aliexpress.ru/item/33007471265.html?spm=a2g0v.12010612.8148356.6.4bdf4fefoiJV2Q

                              Если хотите кастомную плату до 30$, то имхо, Cyclone 10LP будет лучше MAX10 и Cyclone 4.
                                0
                                Там что то не чисто.
                                сам EP4CE15F23C8N стоит в 2 раза больше.
                                  0
                                  Возможно, он стоит в 2 раза больше для Вас на территории РФ.
                                  Раз у Вас нет доверия к продавцу с Алиэкспрес со 100% положительных отзывов и его продукту с оценкой 4,9 из 5 по результатам отзывов 38 покупателей со всего мира, то Вы можете привести здесь факт(ы) обмана продавца, кроме «там что-то не чисто».
                                  0
                                  Ну это стандартная фишка отладочных плат… Обычно плата стоит дешевле, чем микросхема на ней мелким оптом. Те же платы Terasic все такие: плата стоит $249/$175 Долларов, а чип на Mouser $364 при заказе одной штуки. А для плат на топовых ПЛИСах цена ещё больше отличается. Весь секрет в том, что тот же Terasic закупает оптом и напрямую у производителя, а вы будете закупать мелким оптом через посредников.
                        0

                        Могу разработать такую платку безвозмездно (т.е. даром). С пилотными образцами. Дайте только ТЗ (можно просто хотелки).

                          0
                          VGA выход, динамический 7-сегметный индикатор на желательно 8 цифр (хотя можно и на 6 или 4 если это помогает оптимизировать цену), удобные для нажатия пальцев кнопки (минимум 4), также полезна выделенная кнопка для reset, переключатели (switches) причем не мини (которые нужно нажимать карандашем) а такие чтобы можно было нажать пальцем, FPGA минимум на 6000 альтеровских ячеек Cyclone-IV, такой чтобы его поддерживала последняя версия Quartus (т.е. Cyclone-IV, V, MAX10, хотя Cyclone-IV может выпасть из поддержки в будущих версиях), визуально привлекательная компактная плата, GPIO и чтобы это стоило в пределах $30 за плату (можно при закупках от 100 или даже 500 плат). Внешняя SDRAM память не особонно нужна (память можно имитировать с помощью block memory в FPGA), всякие пищалки тоже (их можно навесить на GPIO).
                            0

                            Ок, посмотрю, что можно сделать при минимальной стоимости.

                          0
                          Еще по поводу этих пресловутых FPGA Development Boards (после прочтения, в том числе, вот этих рекомендаций):

                          Книжка ориентируется на FPGA от INTEL (ALTERA) и стандартную для таких курсов в университетах плату DE10-lite от Terasic на чипе MAX10 10M50 (50K LEs) и с onboard 64MByte (32Mx16 bit) SDRAM. Эта плата (или ее клоны) присутствуют на Aliexpress по цене порядка $100.

                          Но имеются более дешевые и попроще платы, они обычно сделаны на основе чипа одного из 3-х семейств:
                          Cyclone IV E (60-nm, анонсирована в 2009 г.) EP4CExxx,
                          xxx=6/10/15/22/30/40/55/75/115 K LEs
                          MAX 10 (55-nm, анонсирована в 2014 г.) 10Mxx,
                          xx=02/04/08/16/25/40/50 K LEs
                          Cyclone 10 LP (60-nm, анонсирована в 2017 г.) 10CLxxx,
                          xxx=006/010/015/025/040/055/080/120 K LEs

                          Обычно на таких платах ставят чип с числом тысяч LEs (Logic Elements) равным 6/08/10/15/22, причем некоторые дешевые платы (типа ZEOWAA), вообще, без чипа внешней SDRAM.

                          Понятно, что плата Terasic DE10-lite с большим запасом перекрывает все потребности школьника и для этого учебного курса, и на перспективу, но она достаточно дорога. И, допустим, старшеклассник пойдет потом в ВУЗ и захочет продолжить эту всю творческую деятельность с FPGA, тогда плату с каким кол-вом K LEs и с какой минимальной SDRAM тогда надо брать, чтобы было немного с запасом? Имеется ввиду возможность загрузки в FPGA какого-нибудь 32-бит софтового процессора, типа: schoolMIPS, MIPSfpga, Nios II, RISC-V, OpenRISC ну и что там еще есть.

                            0
                            PolarFire на средний RISC-V просит 25 тысяч логических элементов.
                            Syntacore меньше 15 киловорот.
                            Полная версия 33
                            Марсоход MIPS в 15 килоэлементов запихали
                            Значит удовлетворительным будет Cyclone IV с запасом на 20000 элементов.
                              0
                              Зачем вам эта плата на али за 100 баксов, если вы можете её купить у производителя за 55? Для обучающих целей они её продадут по этой цене… Раньше нужен был только скан студака, сейчас вроде вообще ничего не нужно. Что бы взять с запасом возьмите SoC с АРМ это в разы более интересные платы, тот же DE1-SoC (эх были времена когда в РФ можно было взять за 4к) или SoC-Kit второй конечно имеет ценник не фонтан, но там DDR, подключенная к ПЛИС, это позволяет уже реализовывать интересные проекты, вдруг вы GPU захотите сделать. Для дальнейшего развития нужны уже платы с PCIe, а это совсем другие цены. Минимально если брать на будущее я бы взял DE1-SoC, ну или что-то на аналогичном чипе, но это наверное потому, что сам с ними работал на ней без проблем поднимается Linux и влезает все, что адекватно можно придумать в рамках хобби, бонусом вы получаете неплохой микрокомпьютер с открытыми исходниками ПО.

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

                            Самое читаемое