Pull to refresh
12
0.1
Send message

Готовимся к Сколковской Школе Синтеза Цифровых Схем: литература, FPGA платы и сенсоры

Reading time17 min
Views16K

Мы с коллегами из МИЭТ, Ядро Микропроцессоры / Syntacore, МИРЭА, ВШЭ МИЭМ, МГУ, Иннополиса, ЧНТУ, Самарского университета, Siemens EDA и с поддержкой от Cadence Design Systems - проводим, начиная с 30 октября, курс на 13 суббот под названием "Сколковская Школа Синтеза Цифровых Схем". Это сильно расширенная версия трехдневной школы на ChipEXPO, которая прошла на ура в сентябре.

Суть школы - знакомство с маршрутом проектирования RTL2GDSII, который применяют проектировщики чипов в Apple, Intel итд, используя в качестве тренажера лабы на микросхемах реконфигурируемой логики FPGA, как это делают например в MIT в курсе 6.111. Помимо лаб на FPGA в курсе будет туториал по ASIC flow используя софтвер от Cadence, после которого, если мы договоримся, будет экскурсия на фабрику микросхем в Зеленограде.

Число регистраций снова в несколько раз превысило число посадочных мест в Сколково, поэтому большая часть участников вероятно будет проходить школу удаленно, как и зарегистрировавшиеся вне Москвы, в том числе в Белоруссии, Украине, Азербайджане, Казахстане итд - среди зарегистрировашихся есть даже русские живущие в Германии.

Этот текст - в помощь для подготовки
Total votes 19: ↑17 and ↓2+18
Comments43

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

Reading time7 min
Views14K

30 октября прошло первое занятие Сколковской Школы Синтеза Цифровых Схем. Из-за Ковида его пришлось провести в онлайн-формате. Трансляция первого занятия.

Возможно онлайн-формат - это и к лучшему, так как в офлайне в Технопарке Сколково есть только 25 посадочных мест, и мы приготовили только 25 FPGA плат, а количество заявок привысило 300. Теперь мы на спонсорские деньги от компании Ядро Микропроцессоры и Максима Маслова @Armmaster заказали еще 100 плат и собираемся их раздать бесплатно для занятий дома, преподавателям вузов и руководителям кружков в других городах.

Чтобы быть уверенным, что получатели плат смогут их использовать, мы поставили в качестве пререквизита их получения прохождение короткого онлайн-курса от Роснано (см. детали в хабрапосте Готовимся к Сколковской Школе Синтеза Цифровых Схем: литература, FPGA платы и сенсоры). 40 с чем-то участников школы прошли этот курс и им будут высланы платы, как только заказанные платы прибудут из Китая.

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

Как установить Icarus и пройти задачи
Total votes 15: ↑13 and ↓2+15
Comments5

Моя клубничная чудо-коробка

Reading time17 min
Views59K

Я собрал умную коробку для круглогодичного выращивания клубники у себя на балконе. Расскажу как сделал управление освещением, поливом, отоплением, какие датчики использовал, с какими проблемами столкнулся и покажу результат.

Читать далее
Total votes 172: ↑172 and ↓0+172
Comments106

Фитнес-трекер для скейта

Reading time18 min
Views19K

Привет, Хабр!

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

Компоненты, схема, плата, производство в Китае и результаты, обо всём этом –– под катом.

Читать далее
Total votes 72: ↑72 and ↓0+72
Comments75

Светодиод, таймер и прерывания на RISC-V с нуля (на примере GD32VF103 и IAR C++)

Reading time41 min
Views27K


Сегодня речь пойдет о модном — о RISС-V микроконтроллере. Я давно хотел познакомиться с этим ядром и ждал когда появится что-то похожее на STM32 и вот дождался, встречайте — китайский GigaDevice — GD32V.


Инфраструктура для этого микроконтроллера не такая обширная как для STM32, но есть все необходимое для того, чтобы начать с ним работать. Благо отладочные платы можно заказать на аликекспресс, например, вот тут: Longan Nano GD32VF103CBT6 RISC-V MCU


Китайцы продвигают для этого микроконтроллера среду разработку Platform IO, которую можно поставить как расширение под Visual Studio Code. Но мы не будем её использовать, это ведь не по инженерным понятиям, мы же инженеры и хотим разобраться во всем сами. Поэтому давайте попробуем запустить плату на IAR, написав все с нуля.


Кстати, IAR раздает отладочный комплект (отладочная плата + отладчик I-Jet + 30 Дней полная лицензия) IAR RISC-V GD32V Evaluation kit. Вот тут можно оставить заявку Request for Development Tools. Не уверен, что они посылают комплект всем желающим, но мы получили в течение 5 дней. Спасибо им за это!


Ну что же, кто заинтересовался, добро пожаловать под кат

Читать дальше →
Total votes 49: ↑49 and ↓0+49
Comments31

Кто такие шизоиды, где они обитают, и почему вам может быть полезно о них узнать

Reading time35 min
Views154K

Основные стереотипы о шизоидах в одной картинке

Synopsis: шизоид — не диагноз, это тип характера. Существуют шизоиды, имеющие психические заболевания (как существуют истероиды, эпилептоиды, сварщики, мужчины и женщины, дети и бухгалтеры, имеющие диагнозы из области психиатрии), но далеко не каждый шизоид (мужчина, бухгалтер, сварщик и т.д.) — болен.

Сам этот характер довольно тяжело описать одновременно коротко и корректно. Некоторые называют их «гиками», «интровертами», «чудаками», «ботаниками», «хикканами», «эксцентричными», «нердами», «компьютерными гениями»[1, стр. 231], и все эти характеристики в той или иной мере имеют отношение к, собственно, шизоидам, но ни одна из них не является определяющей.

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

Большая часть литературы, посвящённой шизоидам, имеет клиническую направленность и описывает достаточно тяжёлые случаи шизоидизации, а в рамках этого текста я хотел бы рассказать о здоровых шизоидах, коих среди нас присутствует достаточно для того, чтобы их особенности имели значение в контексте трудовых отношений, управления и маркетинга.
Читать дальше →
Total votes 126: ↑119 and ↓7+156
Comments351

Нативный — не значит быстрый. Обгоняем map, filter и reduce на больших массивах

Reading time9 min
Views11K


Несколько дней назад я выкладывал пост LINQ на JavaScript для самых маленьких. Но моя библиотека сильно уступала по производительности нативным методам и Lodash. В общем-то, сейчас мы будем менять ситуацию.

Читать дальше →
Total votes 9: ↑7 and ↓2+9
Comments34

DIY-проект: аудиокассета на базе Arduino для хранения и загрузки программ и игр в ZX Spectrum

Reading time3 min
Views18K

20-30 лет назад кассеты были самым популярным средством хранения аудиозаписей. Их применяли и для хранения данных, в частности, программ для 8-битных компьютеров. Именно кассеты использовались для загрузки и сохранения программ для ZX Spectrum. Тем не менее, кассет становится все меньше, несмотря на то, что поклонников ZX Spectrum и других подобных ПК довольно много. Конечно, можно использовать эмулятор ZX Spectrum под Windows или Linux. Но это все же менее лампово, чем реальный компьютер. Есть еще один выход — найти замену кассете.

Пользователь с ником JamHamster решил пойти по этому пути. Его решение — устройство, которое внешне походит на привычную аудиокассету, работает с кассетным магнитофоном, но вместо магнитной ленты в нем используется SD-карта. По замыслу энтузиаста, такая «кассета» должна вставляться в магнитофон для передачи сигналов в ZX Spectrum или подключаться через аудиовыход. Кстати, решения для загрузки программ с кассет есть — например, TZXDuino для работы с ZX Spectrum, ZX81 и Amstrad CPC, но оно показалось разработчику слишком громоздким.
Total votes 43: ↑43 and ↓0+43
Comments30

Ортолинейная сплит клавиатура — это что такое? Обзор Iris Keyboard

Reading time13 min
Views106K
За сто с лишним лет клавиатуры сильно изменились внешне: стали лёгкими, тонкими, есть даже проекционные со сканером. Но рынок ничего не меняет в их раскладке («QWERTY» появилась в 1890 году), клавиатуры не стали удобней для пальцев, не адаптированы для положения кистей и предплечий. Всё человечество стало проводить жизнь за компьютером, но эргономика главного инструмента ввода осталась в позапрошлом веке.

Я решил узнать, можно ли купить удобную клавиатуру в 2020 году. Краткий ответ: пришлось паять самому.


Total votes 100: ↑96 and ↓4+114
Comments293

Аппаратный ключ шифрования за 3$ — возможно ли это?

Reading time10 min
Views69K

Итоговый результат — ключ размером с флешку

Повсеместное шифрование и, как следствие, обилие ключей заставляет задуматься об их надежном хранении. Хранение ключей на внешних устройствах, откуда они не могут быть скопированы, уже давно считается хорошей практикой. Я расскажу о том, как за 3$ и 2 часа сделать такой девайс.
Читать дальше →
Total votes 151: ↑151 and ↓0+151
Comments151

Строим домашний CI/CD при помощи GitHub Actions и Python

Reading time12 min
Views62K

Как то вечером, придя домой с работы, я решил немного позаниматься домашним проектом. Я сделал несколько правок и сразу захотел поэкспериментировать с ними. Но до экспериментов мне пришлось заходить на VPS, пулить изменения, пересобирать контейнер и запускать его. Тут я и решил, что пора разобраться с непрерывной доставкой.

Читать дальше →
Total votes 33: ↑32 and ↓1+31
Comments15

Утки, Таиланд и T-SQL… или что может подстерегать программистов при работе с SQL Server?

Reading time33 min
Views49K

Все начиналось довольно обыденно… Зачитывался Рихтером и усиленно штудировал Шилдта. Думал, что буду заниматься разработкой под .NET, но судьба на первом месяце работы распорядилась иначе. Один из сотрудников неожиданно покинул проект и во вновь образовавшуюся дыру докинули свежего людского материала. Именно тогда и началось мое знакомство с SQL Server.

С тех пор прошло чуть меньше 6 лет и вспомнить можно многое…

Про бывшего клиента Джозефа из Англии, который переосмыслил жизнь, за время отпуска в Таиланде, и в моем скайпе стал подписываться Жозефиной. Про веселых соседей по офису, с которыми приходилось сидеть в одной комнате: один страдал от аллергии на свежий воздух, а другой маялся от неразделенной любви к С++ дополняя это аллергией на солнечный свет. Один раз по команде свыше пришлось на время стать Александром отцом двух детей, чтобы изображать из себя обросшего скилами сениора по JS.
Подробнее
Total votes 76: ↑73 and ↓3+70
Comments48

Собери котов в Android 7 Nougat (не только)

Reading time3 min
Views49K
Ярые фанаты Android знают, что в системе прячутся пасхалки. Не стала исключением и седьмая версия под названием Nougat. В ней можно активировать игру по сбору котов. Вам нужно изредка класть в пустую миску угощение и ловить пришедшего кота.

Сам процесс активации пасхалки подробно описан в блоге, здесь же я расскажу, что находится под капотом.
Читать дальше →
Total votes 19: ↑18 and ↓1+17
Comments4

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

Reading time3 min
Views138K
Господа! Только что на сайте Imagination Technologies вышло исправленное издание бесплатного учебника на русском языке «Цифровая схемотехника и архитектура компьютера» Дэвида Харриса и Сары Харрис (кстати, они не супруги и вообще не родственники – просто так совпало). Предыдущее издание этого учебника вышло год назад, пост о нем собрал 145,000 просмотров на Хабре, количество скачиваний с британского сайта вызвало у его британских админов подозрение, что их атакуют русские хакеры, а впоследствие команду переводчиков лично благодарили за учебник преподаватели МФТИ, МВТУ им. Баумана, харьковского ХНУРЭ и других университетов.

silicon_russia_ad_selected_160730_174932

Книжка содержит «введение во все», доступное способному школьнику или младшему студенту, который после ее прочтения может спроектировать, написать на SystemVerilog или VHDL и реализовать на ПЛИС несложный, но при этом совершенно настоящий конвейерный процессор. Книга написана живым языком и для введения концепций, например конечных автоматов, использует примеры типа:


Читать дальше →
Total votes 75: ↑73 and ↓2+71
Comments90

Dagger 2. Часть вторая. Custom scopes, Component dependencies, Subcomponents

Reading time8 min
Views121K

Всем привет!
Продолжаем наш цикл статей о Dagger 2. Если вы еще не ознакомились с первой частью, немедленно сделайте это :)
Большое спасибо за отзывы и комментарии по первой части.
В данной статье мы поговорим о custom scopes, о связывании компонентов через component dependencies и subcomponents. А также затронем такой немаловажный вопрос, как архитектура мобильного приложения, и как Dagger 2 помогает нам выстраивать более правильную, модульнонезависимую архитектуру.
Всем заинтересовавшихся прошу под кат!

Читать дальше →
Total votes 10: ↑10 and ↓0+10
Comments26

ConstraintLayout 101 и новый редактор компоновок в Android Studio

Reading time4 min
Views57K

Данная статья является переводом поста из блога Android-разработчицы из ЮАР Ребекки Фрэнкс riggaroo.co.za, подготовленным Android-отделом компании Лайв Тайпинг. Оригинальная статья доступна здесь.


Недавно мне посчастливилось принять участие в конференции Google I/O, где я познакомилась с ConstraintLayout. Я была так потрясена его возможностями, что не могла дождаться, когда приеду домой и попробую всё сама.

Что же такое ConstraintLayout?
Total votes 11: ↑10 and ↓1+9
Comments14

Динамический blur на Android

Reading time4 min
Views34K
Информации о том как быстро размыть картинку на Android существует предостаточно.
Но можно ли сделать это настолько эффективно, чтобы без лагов перерисовывать размытый bitmap при любом изменении контента, как это реализовано в iOS?
Читать дальше →
Total votes 23: ↑22 and ↓1+21
Comments20

Скелетная анимация в играх. Обзор техник и ресурсов

Reading time9 min
Views97K
Anima — это душа, отличающая живое от мертвого. Аристотелевская душа — это принцип движения, проявляющегося в четырёх видах: перемещение, превращение, убывание и возрастание. Спустя почти две с половиной тысячи лет мы используем те же категории в компьютерной графике. Скелетная анимация определяет перемещение, морфинг служит для превращений, а убывание и возрастание это обычное масштабирование. Анимированная графика оживляет образ, вдыхает в картинку душу, и это, на мой взгляд, даже важнее, чем достоверная игра света и тени.

image


Создание качественных скелетных 3D анимаций сегодня, пожалуй, самая труднодоступная для инди разработчиков задача. Вероятно поэтому так мало инди игр в 3D, и так много проектов в стилях пиксель арта или примитивизма, а также бродилок без персонажей в кадре. Но теперь это соотношение может измениться…
Читать дальше →
Total votes 43: ↑42 and ↓1+41
Comments29

Теория и практика парсинга исходников с помощью ANTLR и Roslyn

Reading time23 min
Views41K

В нашем проекте PT Application Inspector реализовано несколько подходов к анализу исходного кода на различных языках программирования:


  • поиск по сигнатурам;
  • исследование свойств математических моделей, полученных в результате статической абстрактной интерпретации кода;
  • динамический анализ развернутого приложения и верификация на нем результатов статического анализа.

Наш цикл статей посвящен структуре и принципам работы модуля сигнатурного поиска (PM, pattern matching). Преимущества такого анализатора — скорость работы, простота описания шаблонов и масштабируемость на другие языки. Среди недостатков можно выделить то, что модуль не в состоянии анализировать сложные уязвимости, требующие построения высокоуровневых моделей выполнения кода.



К разрабатываемому модулю были, в числе прочих, сформулированы следующие требования:


  • поддержка нескольких языков программирования и простое добавление новых;
  • поддержка анализа кода, содержащего синтаксические и семантические ошибки;
  • возможность описания шаблонов на универсальном языке (DSL, domain specific language).

В нашем случае все шаблоны описывают какие-либо уязвимости или недостатки в исходном коде.


Весь процесс анализа кода может быть разбит на следующие этапы:


  1. парсинг в зависимое от языка представление (abstract syntax tree, AST);
  2. преобразование AST в независимый от языка унифицированный формат;
  3. непосредственное сопоставление с шаблонами, описанными на DSL.

Данная статья посвящена первому этапу, а именно: парсингу, сравнению функциональных возможностей и особенностей различных парсеров, применению теории на практике на примере грамматик Java, PHP, PLSQL, TSQL и даже C#. Остальные этапы будут рассмотрены в следующих публикациях.

Читать дальше →
Total votes 37: ↑34 and ↓3+31
Comments19

Байесовская нейронная сеть — потому что а почему бы и нет, черт возьми (часть 1)

Reading time16 min
Views92K
То, о чем я попытаюсь сейчас рассказать, выглядит как настоящая магия.

Если вы что-то знали о нейронных сетях до этого — забудьте это и не вспоминайте, как страшный сон.
Если вы не знали ничего — вам же легче, полпути уже пройдено.
Если вы на «ты» с байесовской статистикой, читали вот эту и вот эту статьи из Deepmind — не обращайте внимания на предыдущие две строчки и разрешите потом записаться к вам на консультацию по одному богословскому вопросу.

Итак, магия:


Слева — обычная и всем знакомая нейронная сеть, у которой каждая связь между парой нейронов задана каким-то числом (весом). Справа — нейронная сеть, веса которой представлены не числами, а демоническими облаками вероятности, колеблющимися всякий раз, когда дьявол играет в кости со вселенной. Именно ее мы в итоге и хотим получить. И если вы, как и я, озадаченно трясете головой и спрашиваете «а нафига все это нужно» — добро пожаловать под кат.

Читать дальше →
Total votes 83: ↑82 and ↓1+81
Comments64

Information

Rating
3,728-th
Registered
Activity