MIHAS
MIHAS
  • Видео 20
  • Просмотров 81 486
Вот почему кодинг на FPGA отличается от кодинга на CPU - Уроки FPGA /#15
В этом видео рассказывается про то, чем отличается программирование на fpga от программирование на процессоре. Какими элементами располагает fpga, каким операциям соответствуют какие элементы. LUT, FF, CARRY4, DSP, RAM, MMCM
Таймкоды:
00:00 кодинг на FPGA vs кодинг на CPU
00:59 Создаем самый простой проект
01:38 Что такое синтез
02:10 Что такое LUT
03:00 Разбираем имплементацию
05:20 Делаем защелку
06:56 Создаем триггер
08:05 Как раскладывается счетчик?
09:27 Используем умножители
11:30 Проходим сдвиговый регистр
12:37 Используем RAM
13:45 Повышаем тактовую частоту
Просмотров: 351

Видео

FPGA vs CPU Что быстрее вычислит хэш - Уроки FPGA /#14
Просмотров 4,5 тыс.Месяц назад
В этом видео поднимем код для вычисления хэша sha256 на fpga, напишем код для вычисления на си и посмотрим, что будет быстрее на цинке zynq antminer. Все исходники я добавил на гит, кто хочет может воспроизвести все, что есть на видео. Таймкоды: 00:00 Введение 00:36 Разбор кода с гитхаба 01:47 Пишем тестбенч 02:55 Симуляция 04:20 Создаем slv регистры 05:39 rtl схема 07:15 Запускаем линукс 08:00...
Самый дешевый программатор XILINX - Уроки FPGA /#13
Просмотров 4,4 тыс.3 месяца назад
В этом уроке рассказывается про более дешевый программатор для кристаллов xilinx Поддержать уроки FPGA: Сбер 4276 3800 1867 6945 USDT ERC20 - 0x041755BE76222576bE19c29d774e2d9099961029 ETH - 0x041755BE76222576bE19c29d774e2d9099961029
Поднимаем I2C - Уроки FPGA /#12
Просмотров 8 тыс.4 месяца назад
В этом видео я показываю как работает i2c протокол и как пишется rtl драйвер с нуля. Сей эксперименты проходят на плате antminer s9 c zynq на борту. Таймкоды: 00:00 Как работает i2c 01:10 Пишем передающую часть драйвера 05:57 Пишем тестбенч 08:27 Пишем принимающую часть 11:00 Создаем обертку 14:47 Проверяем в железе Поддержать уроки FPGA: Сбер 4276 3800 1867 6945 USDT ERC20 - 0x041755BE76222576...
LINUX ZYNQ REMOTE DESKTOP
Просмотров 1,1 тыс.5 месяцев назад
В прошлом видео мы взаимодействовали с linux на zynq через терминал и в некоторых случаях это не всегда удобно. В этом видео я покажу как поставить среду рабочего стола и подключиться к ней по vnc.
Пишем драйвер LINUX на ZYNQ ANTMINER/Часть 2 - Уроки FPGA /#11
Просмотров 1,8 тыс.6 месяцев назад
В этом уроке показывается как настроить блок дизайн с устройством в pl части, сгенерировать device tree, пересобирать убут, настроить ssh в линуксе и затем как прокинуть данные в устройство. Таймкоды: 00:10 Собираем блок дизайн 03:38 Проверяем блок дизайн 05:08 Качаем гит, репозиторий и создаем device tree 08:12 Пересобираем u-boot 10:20 Настраиваем ssh на antminer 11:32 Пишем значение через sy...
Поднимаем LINUX на ZYNQ ANTMINER/Часть 1 - Уроки FPGA /#10
Просмотров 4,6 тыс.7 месяцев назад
В этом видео рассказывается как загрузить скрипт конфигурации в процессорную систему, создать fsbl, после чего настроить виртуальную машину, поставить на нее убунту. В убунту уже собрать u-boot и ядро линукса. Также показывается как разделить сд карту на две файловые системы, и скопировать туда rootfs. После чего уже показывается загрузка линукса на antminer Таймкоды: 00:00 Что нужно для линукс...
Обходимся без программатора на ZYNQ - Уроки FPGA /#9
Просмотров 2,6 тыс.8 месяцев назад
В этом видео рассказывается как загрузить прошивку (bitstream) без программатора на плате antminer s9. Также я показываю как настроить процессорную систему, сделать ртл описание для бегущего светодиода и создать fsbl прошивку.
Основной способ передачи информации - Уроки FPGA /#8
Просмотров 2,5 тыс.9 месяцев назад
В этом уроке показывается как настроить процессорную систему zynq для передачи данных по ethernet и uart. Также создадим приложения для вывода данных по uart, а также для создания tcp сервера на основе lwip библиотеки. Урок №1 - ruclips.net/video/_BlgPa7JwUw/видео.html Урок №5 - ruclips.net/video/eDEIS3RBvag/видео.html
Работаем в симуляции VIVADO - Уроки FPGA /#7
Просмотров 1,6 тыс.9 месяцев назад
В этом уроке рассказывается как работать с симуляцией в vivado. В качестве примера рассматривается блок uart. Пишем тестбенч, имитирующий внешнюю среду, затем смотрим конечный автомат на передачу. Ссылку на исходники прикладываю в комментариях.
Самое полезное ядро в Vivado - Уроки FPGA /#6
Просмотров 2,3 тыс.10 месяцев назад
В этом уроке, я расскажу как настроить IP-ядро логического анализатора (ILA) в плис zynq 7000 на плате antminer s9. Также напишем скрипт на python для передачи данных по uart. Ссылку на скрипт прикладываю в комментариях. Таймкоды: 00:00 - Интро 00:55 - Добавляем ila 02:55 - Устанавливаем python 04:17 - Исследуем ila
Простейший интерфейс на ПЛИС - Уроки FPGA /#5
Просмотров 10 тыс.11 месяцев назад
В этом видео рассказывается, как работает протокол uart и как его настроить на ПЛИС. В данном уроке используется плате управления Antminer S9 с Zynq 7010. Данное видео подойдет для начинающих ПЛИС программистов и не только. Cсылка на uart_phy - github.com/mkravch/fpga_lessons
Каждый программист должен уметь работать с этим - Уроки FPGA /#4
Просмотров 2,1 тыс.Год назад
В этом видео рассказывается, как создать ip блок vio и как настроить его для управления светодиодами. В качестве управляющего блока светодиодами используется модуль, написанный на языке Verilog. В данном уроке используется плате управления Antminer S9 с Zynq 7010. Данное видео подойдет для начинающих ПЛИС программистов.
Обходимся без генератора на ZYNQ - Уроки FPGA /#3
Просмотров 2,7 тыс.Год назад
Обходимся без генератора на ZYNQ - Уроки FPGA /#3
Создаем первый проект на ПЛИС - Уроки FPGA /#2
Просмотров 7 тыс.Год назад
Создаем первый проект на ПЛИС - Уроки FPGA /#2
Самая дешевая отладочная плата c ZYNQ - Уроки FPGA /#1
Просмотров 15 тыс.Год назад
Самая дешевая отладочная плата c ZYNQ - Уроки FPGA /#1
Lumberjack telegram script python
Просмотров 8123 года назад
Lumberjack telegram script python
Математическое ожидание. Объяснение
Просмотров 6077 лет назад
Математическое ожидание. Объяснение

Комментарии

  • @viktorvector113
    @viktorvector113 2 часа назад

    Полезная информация, особенно для начинающих. Спасибо

  • @openFrimeTv
    @openFrimeTv 3 часа назад

    у вас даже музыкальное сопровождение крутое))

    • @mihas6705
      @mihas6705 2 минуты назад

      Хаха , спасибо ) я подумал что чисто голос как то дискомфорт вызывает, надо фоновую музыку вставить, набрал в поиске ютуба hacker music и нашел не напряжный бит )

  • @szapsis
    @szapsis 4 часа назад

    Спасибо большое за твой труд!!

  • @tuujhfjjiyiiitr5763
    @tuujhfjjiyiiitr5763 5 часов назад

    Спасибо! теперь я знаю, чего я не знаю))

  • @xaomi2
    @xaomi2 День назад

    вот, как в интитуте нам нужно было препадавать...

  • @-dimedved-24
    @-dimedved-24 5 дней назад

    Не вижу в файлах распиновки на пико. Это у меня с глазами что-то?

  • @1234mifa
    @1234mifa 9 дней назад

    урок про память нужен) хорошая тема. на этой отладке имеется вроде как NAND память, было бы интересно увидеть как ее использовать и прошивать

  • @28lucky16
    @28lucky16 12 дней назад

    Правильно ли я понимаю что это транзисторная логика

    • @mihas6705
      @mihas6705 11 дней назад

      Так и есть

  • @28lucky16
    @28lucky16 12 дней назад

    А чем плис отличается от asic?

    • @EvgeniShatohhin
      @EvgeniShatohhin 6 минут назад

      Тем что программируется под любую задачу в рамках своих возможностей

  • @nobosozoku
    @nobosozoku 15 дней назад

    можно ни туда как-то добавить поддержку ethernet poe?

    • @mihas6705
      @mihas6705 15 дней назад

      Есть снимать с внешнего сплиттера 5 В и заводить на плату, то да ruclips.net/user/shortsdyZJbOyjXLE

    • @nobosozoku
      @nobosozoku 15 дней назад

      @@mihas6705 подожду тогда пока у них "следующее поколение" асиков сдохнет (с похожими процессорами на плате управления) и "beagle bone black"-ов россыпью возьму для экспериментов с кластерами) А так большое спасибо за твои видео

  • @nobosozoku
    @nobosozoku 15 дней назад

    то есть сделав это можно будет не припаивать осциллятор, да и в целом взять любую аналогичную плату на которых не всегда есть для него место?

    • @mihas6705
      @mihas6705 15 дней назад

      Да, можно не припаивать осциллятор там где есть цинк

  • @sledleo
    @sledleo 19 дней назад

    Проско крутой контент! Тем более для нас - нищебродов!! Жги ещё 🎉🎉🎉😊

  • @sledleo
    @sledleo 19 дней назад

    Товарищи, ты лучший друг нас - диванных прошивальщиков! За видосы МегаРеспект!!

  • @DykyKryl
    @DykyKryl Месяц назад

    Просто охуенно. Я как стоял так и сел. Храни Бог аогоритмы ютуба что выкатили мне этот канал ❤❤❤❤❤

  • @paradoxone8932
    @paradoxone8932 Месяц назад

    XC7S25 на самодельной плате прошилса. Спасибо за видео.

  • @pbadun
    @pbadun Месяц назад

    Добра! а подскажите плз, есть ли какая свободная утилита, для просмотра синтезированных схем? Как в Квартусе на пример... Только бесплатную и в идеале для Linux систем ?)

  • @YuriZak
    @YuriZak Месяц назад

    А землю кто подключать будет?

  • @Ololoshize
    @Ololoshize Месяц назад

    Как же это сложно. ) Автору лайк, хоть я почти ничего не понял.

  • @ДаниилСёмин-и1я
    @ДаниилСёмин-и1я Месяц назад

    Прошу прощения! мб у кого ни будь есть reference design files на ug937 и ug940 фирмы xilinx?

  • @nepbread900
    @nepbread900 Месяц назад

    Интересна тема. Подскажите пожалуйста, как ламеру и не студенту физ. мата: пойти путём этого ролика или купить Sipeed Tang Nano 20K FPGA? По цене с программатором и обвязкой +- сопоставимо выходит. Насколько существенна разница в производительности, в ПО, в кол-ве гайдов или ещё в чём-то? Спасибо UPD: Какие ещё минусы, помимо спорного удобства, у использования RPi Pico в качестве программатора? Как может это помешать для условной разработки логики по управлению шаговыми двигателями?

  • @atribolt
    @atribolt Месяц назад

    Не совсем верный рассчет. В коде си для вычисления на железке между замерами времени (clock()) есть несколько printf (особенно тот, что в цикле for), которые значительно добавляют времени. Лучше для бенча их (printf) выключать, а при отладке включать

    • @mihas6705
      @mihas6705 Месяц назад

      Принты добавляют времени и чтобы этим временем пренебречь, я как раз сделал расчет хэша сам от себя 1 млн раз (можно задавать) в железе. На фоне этого принтами можно пренебречь, и там как раз время приближается к теоретическому т.е. 1.6 сек теория против 1.600661 по факту

  • @bishboshmagic
    @bishboshmagic Месяц назад

    Урок по FIFO очень нужен. Я занимаюсь электроникой, попутно изучаю ПЛИС, всегда интересуюсь, когда попадается что-то связанное с ПЛИС по работе. Так вот, этими FIFO мне коллеги уже все уши прожужжали. Они постоянно встречаются в разных проектак, бывают проблемы с ними. Короче, урок очень нужен, да =) такое ощущение, что в этой теме просто необходимо хорошо разбираться если так или иначе интересуешься ПЛИС.

  • @mihas6705
    @mihas6705 Месяц назад

    Ссылка на репозиторий - github.com/mkravch/fpga_lessons

  • @pixelklaine357
    @pixelklaine357 Месяц назад

    А где делал визуализацию?

  • @pixelklaine357
    @pixelklaine357 Месяц назад

    А сколько вам лет если не секрет ?)

    • @Ololoshize
      @Ololoshize Месяц назад

      Мне кажется, лет 200, потому что за обычную человечью жизнь таких знаний не набраться. )

    • @MarkMath
      @MarkMath Месяц назад

      @@Ololoshize Ну. Если не поступать на соответствующее направление в вуз и не прочитать несколько солидных книжек на 1200 листов, то да. Но люди же умеют принимать опыт предыдущего поколения и.т.п.. Вероятно 26 лет - 27 лет. ) Ну. Может я ошибся. 6 лет назад человек угорел на Матожиданию? Вероятно в это время у него была ТВ в вузе. Наверное это был 3 курс?

  • @DmitryOshkanov
    @DmitryOshkanov Месяц назад

    Очень круто! А вы индивидуальные уроки по разработке на fpga не проводите?

    • @mihas6705
      @mihas6705 Месяц назад

      Смотря какие цели у вас, пишите в телегу @mvkrav

  • @secondswag7897
    @secondswag7897 Месяц назад

    dayum, думал будет mid-ass видео, а получилось nearly top-tier! awsome!

  • @aecorp629
    @aecorp629 Месяц назад

    Искал медь, а нашел золото! Ваши уроки - просто кладезь полезной информации. Великолепная подача, без лишней воды и пафоса. Спасибо Вам! С нетерпением ждём следующех видео!

  • @onesnxeroz
    @onesnxeroz Месяц назад

    Возможно немного не в рамках канала, но было бы очень интересно посмотреть на реализацию NCO и/или RRC фильтра для последовательности импульсов/символов

    • @mihas6705
      @mihas6705 Месяц назад

      Будет в уроках по цос

    • @onesnxeroz
      @onesnxeroz Месяц назад

      @@mihas6705 ждем уроки по ЦОС

  • @sc0or
    @sc0or Месяц назад

    Один хеш - не показатель. ФПЖА сильна не столько запаралеливанием, сколько конвееризацией. Ша256 может вычисляться за один такт (с задержкой на 64 такта), если весь алгоритм развернут в железе. Проц может посчитать хеш за один такт?

    • @mihas6705
      @mihas6705 Месяц назад

      Если за один такт, сколько тогда логических уровней было бы ?

    • @sc0or
      @sc0or Месяц назад

      @@mihas6705 Каких логических уровней? Каждый из 64 тактов все 256 бит проходят через логическую операцию. Расположите эти операции в железе линейно и передавайте рузультат из текущей в следующую по какому-то фронту. Через 64 такта у Вас будет хеш, но в конвеере при этом будут еще 63 слова разной степени готовности. Если Вам нужно решить блок, Вы будете проверять на 18 нулей каждый такт. Это же основа программируемой логики: мы реализуем алгоритм в железе, и если у нас достаточно ячек развернуть все ветки алгоритма (я имею в виду, что в алгоритме могут встречаться блоки, в которые по условию можно попасть как раньше, так и позже, так вот такие блоки нужно реальзовывать для каждой условной ветви независимо для максимальной конвееризации расчетов), то результат появляется каждый такт.

  • @yermuratakhmetov7049
    @yermuratakhmetov7049 Месяц назад

    Классное видео ! Автор расскажи о себе ! Где подчерпнул знания по плис ? Ждем новых видео

  • @ZCris04
    @ZCris04 Месяц назад

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

  • @avechess
    @avechess Месяц назад

    Большое спасибо!!!

  • @ИванИванов-н9т9ъ
    @ИванИванов-н9т9ъ Месяц назад

    Классное видео! Но там не 96 сек, если я правильно понял, а 86. 11:58

    • @mihas6705
      @mihas6705 Месяц назад

      все правильно да, оговорка

  • @konstantin7899
    @konstantin7899 Месяц назад

    Скрипт? Где вас таких узкоспециализированных берут? Скрипты не компилируются, а интерпретируются. Этож база! Потому javascript, basic, perl, python... скрипты, а C, VHDL, Verilog ... программы.

    • @avechess
      @avechess Месяц назад

      "Умник", гуляй лесом. VHDL, Verilog - это не программа, а описание схемы.

    • @konstantin7899
      @konstantin7899 Месяц назад

      ​@@avechess Я о том как называть исходный код. У одних языков он называется скрипт у других программа. Не принято называть программу скриптом, ну только если ты совсем неграмотный. Можно использовать слова - Программный код, исходник, программа, код... но никак не скрипт в данном случае.

    • @ZeyHex
      @ZeyHex Месяц назад

      Автор: делает интересный прикладной видос Рандомный Васян в интернете: рЯяяяяяяя!!!!!11 Не скрипт а программа!!!111!

    • @vitalyl1327
      @vitalyl1327 Месяц назад

      Это не определение "скрипта". Скриптовый язык очень даже может компилироваться. Разница в применении.

    • @mihas6705
      @mihas6705 Месяц назад

      Слишком душно

  • @szapsis
    @szapsis Месяц назад

    Спасибо большое за твой труд!

  • @0xFFAD
    @0xFFAD Месяц назад

    лукас запилен, было бы интересно что-нибудь из обработки видео (преобразование масштаба, цвета и д.т)

    • @mihas6705
      @mihas6705 Месяц назад

      Да, можно сделать

  • @openFrimeTv
    @openFrimeTv Месяц назад

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

    • @mihas6705
      @mihas6705 Месяц назад

      Будут теоретические уроки, там все разложу по полочкам как это работает

    • @Сергейт-у5я
      @Сергейт-у5я 27 дней назад

      ​@@mihas6705все очень очень интересно!

  • @b8hri11
    @b8hri11 Месяц назад

    Как всегда красавчик! :)

  • @niknam.
    @niknam. Месяц назад

    😂😂😂 вечное "геройство" линуксоидов которые "пАдЫмают" свой линукс и "держат" сколько есть мочи! Потом он падает и они СНОВА его "подымают". Хвастаются друг перед другом на своих чатах анонимных линуксоидов как, чем и сколько он "подымал" и какую хрень в этот раз 😂😂😂

  • @ДаниилСёмин-и1я
    @ДаниилСёмин-и1я Месяц назад

    а зачем тактовый генератор брать из процессора? разве нельзя его самому реализовать на плис?

    • @mihas6705
      @mihas6705 Месяц назад

      Каким образом ?

    • @ДаниилСёмин-и1я
      @ДаниилСёмин-и1я Месяц назад

      @@mihas6705 а каким образом он в процессоре взялся который имплементируется на ячейках плис? 3 последовательных закольцованных инвертора возможна ( хотя и не подходит сюда). Мне просто в принципе непонятно, если на плате нет генератора то как он появиться в процессоре, разве этот процессор не использует внешний генератор который подключается через частотный преобразователь?

    • @mihas6705
      @mihas6705 Месяц назад

      ​@@ДаниилСёмин-и1я в цинке процессор не на логике, а на кристалле , там же и куча других вспомагательных вещей таких как клоковый генератор. www.amd.com/content/dam/xilinx/support/documents/user_guides/ug821-zynq-7000-swdev.pdf - 10 страница

    • @ДаниилСёмин-и1я
      @ДаниилСёмин-и1я Месяц назад

      @@mihas6705 Тогда все становится на свои места. Прошу прощения за мою невнимательность и безграмотность. Только начал путь постижения программируемой логики.

    • @mihas6705
      @mihas6705 Месяц назад

      @@ДаниилСёмин-и1я Да ничего, пишите, задавайте вопросы

  • @РоманСоловйов-д7ь
    @РоманСоловйов-д7ь Месяц назад

    не понятно такой момент, можем ли мы в память NAND FLASH загрузить свое ПО и выполнять его просто как в STM32?

    • @mihas6705
      @mihas6705 Месяц назад

      Можно, но надо уметь

  • @АртемМинеев-к7и
    @АртемМинеев-к7и Месяц назад

    Ответьте, пожалуйста. По протоколу I2C должен быть контрольный бит ACK (получается, новое состояние в FSM). Этот бит отправляет slave, как гарантия того, что данные пришли. В данной реализации его нет. Для этой платы он нам не нужен? В каком случае он нам нужен? Спасибо большое

    • @mihas6705
      @mihas6705 Месяц назад

      В даташите на DS1302 нету информации про контрольный бит, надо смотреть для конкретного устройства.

  • @VVV-AVIATION
    @VVV-AVIATION Месяц назад

    Здравствуйте, как с вами связаться?

    • @mihas6705
      @mihas6705 Месяц назад

      Здравствуйте, напишите на почту kravchenkomihvas@gmail.com

  • @sergeynikolaevich1817
    @sergeynikolaevich1817 2 месяца назад

    Каким образом, в этом примере вы проинициализировали процессорную систему?

    • @mihas6705
      @mihas6705 2 месяца назад

      Прошивка из флешки инициализирует

    • @sergeynikolaevich1817
      @sergeynikolaevich1817 Месяц назад

      @@mihas6705 Странно... у нас же в дизайне голое процессорное ядро, процессор так не должен запускаться. Ну ладно, может быть я что-то не понял. Видео познавательное 👍

    • @mihas6705
      @mihas6705 Месяц назад

      А в проекте оно не запускается, дефолтная прошивка при подаче питания старутует и инициализует ps, с проектом это не как не связано. По хорошему надо тоже инициализировать

    • @sergeynikolaevich1817
      @sergeynikolaevich1817 Месяц назад

      @@mihas6705 Ясно, значит это фишка этого antminera, на пустом чипе, без программы, такой фокус не удался бы.

    • @mihas6705
      @mihas6705 Месяц назад

      да можно просто бут бин собрать из 9 урока, и залить на сд карточку, там fsbl инициализирует

  • @nifidor
    @nifidor 2 месяца назад

    А можно было ради такого дела купить маму-юсб и напаять ее на проводки, дабы не портить кабель. о.о

  • @qujeck4999
    @qujeck4999 2 месяца назад

    Реально классные гайды! По уверенной и лёгкой подаче понятно, что Автор шарит за материал... Единственное, Автор, пожалуйста, сделай пару видео для понимания, что и для чего в vivado. И как перейти с Arduino/STM32 на FPGA, уверен, с вашей подачей будет максимально понятно. Я с Arduino перешёл на STM32, сейчас перехожу на FPGA, не без мануала и с трудом понимаю Ваши действия. Как человек со специальным техническим радио инженерным образованием понимаю, для знающего человека это кажется пустяком, однако для несведующих - это тёмный лес.

    • @mihas6705
      @mihas6705 2 месяца назад

      Спасибо ! Будет урок по этапам сборки в вивадо

  • @АртемМинеев-к7и
    @АртемМинеев-к7и 2 месяца назад

    А можете, пожалуйста, рассказать, для чего это вообще нужно? И у меня микролейз, стоит ли повторять похожее?

    • @mihas6705
      @mihas6705 2 месяца назад

      На этой плате нету внешнего генератора, и частота берется из процессорной системы. Если у вас просто отладка с fpga, то на ней должен быть тактовый генератор

  • @arzamas1988
    @arzamas1988 2 месяца назад

    Чот упустил момент где конфиг пслис в бутбин добавляется?

    • @mihas6705
      @mihas6705 2 месяца назад

      В след уроке

  • @ЭТЕГА
    @ЭТЕГА 2 месяца назад

    Теперь не останавливайся, за Linux отдельный лайк