Pull to refresh
30
0
Сергей Сахно @Punk_Joker

Software engineer

Send message

Темное искусство функциональной верификации цифровых микросхем

Reading time 3 min
Views 5.3K

Сегодня, в субботу 26 февраля, на Сколковской Школе Синтеза Цифровых Схем Михаил Коробков проводит занятие по технологиям функциональной верификации: constrain solvers, cover bins и concurrent assertions. Примеры, которые мы подготовили для школы, вращаются вокруг протокола AXI для систем на кристалле, вопросы про который спрашивают например на интервью в хардверное отделение компании Meta и другие.

На предыдущих занятиях школы мы изучали в основном аспект проектирования на языке описания аппаратуры Verilog. Но как участники уже успели заметить, Verilog — это не только язык для описания и синтеза схем, но и язык программирования для написания тестов. В некоторых компаниях на каждого инженера, который пишет код на верилоге на уровне регистровых передач, приходится два или три инженера, которые пишут код для верификации.

Суть деятельности Verification Engineer заключается в создание фреймворков, которые тестируют хардверные дизайны на прочность, посылая к ним псевдослучайные транзакции и учитывая покрытие интересных сценариев (functional coverage). Базовые элементы этих технологий должен знать и хороший RTL Design Engineer.

Приглашаем присоединяться к трансляции занятия на канале школы в YouTube, в субботу 26 февраля с 12.00 до 15.00:

Процесс верификации блока микросхемы:
Total votes 22: ↑16 and ↓6 +10
Comments 6

Precision Livestock Farming силами Lenovo ThinkSystem и NVIDIA EGX или при чём тут свиньи

Reading time 4 min
Views 1.2K

Всем привет! На связи команда разработки Lenovo. Сегодня хотим рассказать о нашем совместном проекте с NVIDIA Metropolis и SERKET. Кому интересно ИИ, машинное обучение, видеоаналитика и агротех, добро пожаловать под кат.

Читать далее
Rating 0
Comments 1

Книга «Профессиональный бенчмарк: искусство измерения производительности»

Reading time 10 min
Views 3.1K
image Привет, Хаброжители! Это исчерпывающее руководство поможет вам правильно разрабатывать бенчмарки, измерять ключевые метрики производительности приложений .NET и анализировать результаты. В книге представлены десятки кейсов, проясняющих сложные аспекты бенчмаркинга. Ее изучение позволит вам избежать распространенных ошибок, проконтролировать точность измерений и повысить производительность своих программ.

Прочитав эту книгу, вы:

• ознакомитесь с лучшими практиками разработки бенчмарков и тестов производительности;
• научитесь избегать распространенных ошибок при проведении бенчмаркинга;
• узнаете об аппаратных и программных факторах, влияющих на производительность приложений;
• научитесь анализировать показатели производительности.
Читать дальше →
Total votes 10: ↑10 and ↓0 +10
Comments 3

Уязвимости в системе лицензирования J-Link, или Почему так важно исследовать безопасность устройств

Reading time 10 min
Views 12K

Бреши в устройствах не всегда можно закрыть, в отличие от уязвимостей в софте. Однако это не повод для фрустрации! Исследовать безопасность IoT, телефонов, планшетов, блоков управления и т. д. все равно нужно. По крайней мере, можно предупредить пользователей об уязвимостях, а также устранить недостатки в новых версиях продуктов.

Мы с командой покопались в одном из самых популярных отладчиков для микроконтроллеров — J-Link. В результате нашли уязвимости в его системе лицензирования, которые позволяют за несколько секунд превратить бюджетную версию устройства в дорогую. 

Читать далее
Total votes 13: ↑13 and ↓0 +13
Comments 31

Спасите ваши файлы: изучаем атаки на NAS

Reading time 9 min
Views 7.6K

Сетевые накопители (NAS) — практически идеальные устройства: компактные, экономичные, тихие. Легко настроить, легко использовать. Мечта домашних пользователей и администраторов небольших сетей. 

К сожалению, простота настройки имеет и обратную сторону: не слишком погружённые в тему кибербезопасности владельцы NAS используют «слабые» настройки, превращая свои устройства в лёгкую мишень для взлома. 

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

Читать далее
Total votes 13: ↑10 and ↓3 +7
Comments 10

Что случится при разрушении космического лифта

Reading time 5 min
Views 22K


В первом эпизоде сериала «Основание» на Apple TV террористы уничтожают космический лифт галактической империи. Прекрасная возможность поговорить о космических лифтах и прикинуть, что может произойти, если такой лифт вдруг взорвётся (спойлер: ничего хорошего).

Людям нравится выводить всякие штуки за пределы атмосферы Земли. Благодаря этому у нас есть погодные спутники, спутники GPS, и телескоп им. Джеймса Уэбба. Однако пока что у нас есть единственная возможность запульнуть что-либо в космос: привязать это к устройству, обеспечивающему контролируемые химические взрывы (обычно мы называем его «ракета»).

Не поймите меня неправильно, ракеты – это круто. Однако это также дорого и неэффективно. Давайте разберёмся, чего стоит подъём килограммового объекта на низкую околоземную орбиту. Это порядка 400 км над поверхностью планеты – примерно там же находится Международная космическая станция. Для этого нужно, во-первых, поднять объект на высоту в 400 км. Однако если просто поднять его туда, он там долго не продержится. Он просто упадёт обратно на Землю. Поэтому, во-вторых, ему придётся довольно быстро передвигаться, чтобы остаться на орбите.
Читать дальше →
Total votes 45: ↑33 and ↓12 +21
Comments 120

Присматриваемся к одноплатникам на RISC-V, обзор модуля Sipeed Lichee RV на процессоре Allwinner D1

Reading time 20 min
Views 24K
Sipeed Lichee RV

Одноплатные компьютеры на RISC-V процессоре сравнительно новое веяние. Поднебесная активно работает над снижением зависимости от западных информационных систем и технологий, именно поэтому новая открытая архитектура RISC-V одна из ключевых ставок Китая. Для продвижения в массы китайский чипмейкер Allwinner на базе ядра Alibaba/T-Head Xuantie C906 RISC-V разработал процессор Allwinner D1 и упрощенную модификацию Allwinner D1s. На сегодня разработано несколько одноплатников на RISC-V процессоре, и в первенство по массовости вырвалась компания Sipeed с модульным компьютером Система-на-Модуле Lichee RV с 512 Мб ОЗУ всего за $16.90, работающим на Linux. Разработчик может спроектировать несущую плату для данного модуля, добавив необходимые периферийные устройства и разъемы. В результате получится решение максимально подготовленное для себя. Данный модуль предназначен для создания интеллектуальных информационных систем, терминалов, роботов, и т.д. В первой части рассмотрим архитектуру процессора, возможности модуля, дистрибутивы, программное обеспечение. Во второй части детально рассмотрим порты и интерфейсы для программирования, напишем программы на Python и C#.
Читать дальше →
Total votes 32: ↑28 and ↓4 +24
Comments 37

Почему нельзя перевернуть строку с флагом-эмодзи?

Reading time 11 min
Views 7.4K
Каким, по-вашему, будет результат выполнения следующего кода на Python?


Подобные вопросы заставляют меня сразу же открыть Python REPL и проверить код, потому что я думаю, что знаю правильный ответ, но не очень в нём уверен.

Вот как я рассуждал, когда впервые увидел этот вопрос:

  • Строкаflag содержит один символ.
  • [::-1] переворачивает строку flag.
  • Строка, обратная строке с одним символом, будет такой же, как и исходная.
  • Следовательно, reversed_flag должна быть равна "".
Читать дальше →
Total votes 31: ↑23 and ↓8 +15
Comments 18

Мой новый домашний сервер, часть 4: использование unraid

Reading time 12 min
Views 45K
Для тех, кому лень читать предыдущие части — я переходил с HP Microserver Gen8/Windows Server на самосборный сервер с Unraid в качестве базовой ОС. Unraid — это коммерческая ОС для NAS/домашнего сервера на базе ядра Linux. Основные возможности — гибкое управление массивом дисков, удобная установка докер-контейнеров из своего каталога и возможность запуска виртуальных машин. Почему выбрал именно unraid — написано во второй части.

Я не буду здесь расписывать установку и настройку unraid. Это делается элементарно — просто закидываются файлы на флэшку, флэшка вставляется в сервер — можно пользоваться. Всё понятно расписано у них на сайте, плюс много полезной информации есть на youtube-канале Spaceinvader One. Какие-то ранние вещи там уже устарели, потому, если видите несколько видео на одну тему, выбирайте более свежее. Ещё понятные доки на эту тему у ibracorp, есть и youtube-канал, если буквы не любите.



А я лучше просто опишу, как выглядят теперь перечисленные во второй части сервисы.

Читать дальше →
Total votes 18: ↑16 and ↓2 +14
Comments 65

Классика фантастики и фэнтези, которая лишь недавно добралась до русскоязычного читателя

Reading time 6 min
Views 57K

В фэнтези и фантастике есть целый пласт произведений, которые уже давно считаются классическими и хорошо известны читателям. Большая часть таких книг давно переведена на русский язык, ведь в 90-х годах в наших палестинах очень активно издавались книги популярных фантастов. Однако некоторые романы, по праву имеющие на Западе статус классических, на русском языке впервые увидели совсем недавно. Иногда из-за того, что пик их популярности пришелся на время до распада Советского Союза, когда с переводами западной фантастики все было гораздо сложнее, иногда из-за неформатности или предполагаемой сложности для читателя, иногда по финансовым причинам. Рассказываем о нескольких таких произведениях, с которыми русскоязычные читатели смогли познакомиться только в последнее время.

Читать далее
Total votes 124: ↑117 and ↓7 +110
Comments 22

“FPGA наизнанку” — мультфильм про вычисление CRC и parallel CRC

Reading time 2 min
Views 4.7K

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

Для первого видео в качестве экспериментальной схемы выбран вычислитель CRC (cycle redundancy check) на основе сдвигового регистра с обратной связью.

Каким экспериментам подвергается схема в процессе демонстрации проще показать чем «пером описать» - поэтому давайте посмотрим видео:

Смотреть и читать далее
Total votes 12: ↑12 and ↓0 +12
Comments 0

Эволюция хранилища данных в Авито

Reading time 15 min
Views 14K

Сейчас Data Warehouse в Авито — это инсталляция на 32 серверах. Мы используем девятую версию Vertica и ClickHouse. В команде, которая отвечает за хранилище, работает 21 человек. Поток событий, который мы загружаем, достигает 20 миллионов событий в минуту. Я расскажу, как менялось наше хранилище аналитических данных с 2013 года.

Читать далее
Total votes 15: ↑15 and ↓0 +15
Comments 9

Жизнь и смерть Крымской АЭС

Reading time 31 min
Views 47K

Среди легендарных советских строек есть те, что никогда не будут закончены. Ховринская больница, Свердловская башня, Трансполярная магистраль, Отель «Северная корона». Эти объекты так и не начали работать. Многие снесены, некоторые ожидают сноса. Но речь сегодня не о них. Мы поговорим о самом дорогом советском недострое – Крымской АЭС. Этот амбициозный проект стал жертвой ряда неудачных обстоятельств, которые чуть не похоронили всю советскую атомную промышленность. В этой статье вы узнаете, как этот проект создавался, как жил и как умер.

Читайте об истории Крымской АЭС
Total votes 116: ↑107 and ↓9 +98
Comments 190

Перспективы использования квантовых компьютеров для расстановки элементов схем и трассировки соединений

Reading time 11 min
Views 6.8K

Рассуждение в этой статье - по-прежнему офф-топ моей основной деятельности. Тем не менее, физика для меня гораздо ближе экономики, политики и истории, так что должно получиться лучше.

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

Перспективы уменьшения временных затрат на такого плана задачи при помощи квантовых компьютеров и будут рассмотрены в рамках данной статьи. Относительно кратко и просто.

И ещё вопрос: имеет ли квантовый компьютер что-то общее с аналоговым компьютером?

Читать далее
Total votes 12: ↑8 and ↓4 +4
Comments 21

Герман Поточник — забытый отец проектирования космических станций

Reading time 8 min
Views 8.8K


На Международной космической станции космонавты находятся уже больше 20 лет, но всему хорошему приходит конец. В следующем десятилетии НАСА планирует заменить МКС новой станцией, принадлежащей и управляемой одной из трех частных компаний (включая Blue Origin Джеффа Безоса), которые в настоящее время претендуют на создание всего — от научных лабораторий до космических отелей.

Но МКС (не говоря уже о том, что последует за ней) никогда бы не существовала, если бы не ракетный инженер XIX века, который придумал концепцию современной космической станции ещё до того, как первая ракета достигла космического пространства. 94 года назад австро-венгерский инженер Герман Поточник «Ноордунг» представил свою мечту — вращающуюся структуру, наполненную лабораториями и жилыми помещениями, вращающимися вокруг двигателя, работающего на солнечной энергии.

В процессе работы Ноордунг заложил основу для всего последующего — от МКС до китайского «Тяньгуна», цилиндров О’Нила от Джеффа Безоса и лунного шлюза НАСА, который может заложить основу для того, чтобы покинуть Землю.

Приятного чтения!
Total votes 29: ↑24 and ↓5 +19
Comments 10

Анатомия асинхронных фреймворков в С++ и других языках

Reading time 20 min
Views 41K
Привет! В этой статье я расскажу об устройстве асинхронных движков с корутинами и без них. Для начала сосредоточимся не на конкретном движке, а на том, почему во всех популярных языках программирования появились корутины и чем они так хороши. Это может быть интересно не только C++-разработчикам, но и всем, кто занимается разработкой сетевых приложений или интересуется архитектурой современных фреймворков.

Пройдёмся по разным архитектурам построения серверов — от самой простой синхронной к более интересным, посмотрим на типичную архитектуру корутинового движка, а после окунёмся в дебри C++ и взглянем на самое страшное на примере нашего фреймворка userver.

Пишем синхронный сервер


Представьте, что у вашего сервиса очень маленькая нагрузка — 100 rps, и вам дали задачу написать простой сервер, понятный каждому второму школьнику. У вас получится что-то наподобие следующего:

void naive_accept() {
  for (;;) {
    auto new_socket = accept(listener);

    std::thread thrd([socket = std::move(new_socket)] {
      auto data = socket.receive();
      process(data);
      socket.send(data);
    });

    thrd.detach();
  }
}
Читать дальше →
Total votes 69: ↑66 and ↓3 +63
Comments 32

Kincony KC868-A4: ультимативный гайд. Часть 1. Обзор и железо

Reading time 9 min
Views 17K


Как-то длинным зимним вечером я сидел перед монитором и просматривал интернет на предмет чего-нибудь интересного вообще и чего-нибудь интересного микроконтроллерного в частности. К сожалению, интернет ничем особенным не радовал и на глаза попадались либо уже набившие оскомину стандартные отладочные платы, либо вариации на тему «коробочка с ESP8266/ESP32 c 1–4 реле».

ESP32 c 4-я реле это, конечно, хорошо, но хотелось чего-то большего и тут мне на глаза попалась плата Kincony KC868-A4. Неплохо! подумал я и надел очки, чтобы получше её рассмотреть…
Читать дальше →
Total votes 61: ↑61 and ↓0 +61
Comments 55

Погружение в работу SWAP ОС FreeBSD

Reading time 9 min
Views 4.4K

Оригинал: https://klarasystems.com/articles/exploring-swap-on-freebsd/ 

Свободная память = память, потраченная впустую? Как использовать swap наилучшим образом.

Для современных Unix-систем, таких как FreeBSD, термин “swapping” (подкачка памяти) означает операции по выгрузке данных из памяти на диск (устройство подкачки) и обратно, осуществляемые по требованию. 

Процесс вывода происходит в ответ на отсутствие свободной памяти в системе: ядро пытается вычислить страницы памяти, к которым возможно не будет производиться доступ в ближайшем будущем, и копирует их данные на диск, чтобы сохранить до востребования. 

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

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

Описанная технология выглядит весьма рациональной. Объем памяти дисков обычно больше объема RAM, так почему бы не использовать их для кэширования редко используемых страниц памяти? Однако, для многих опытных администраторов процесс подкачки памяти до сих пор воспринимается как некорректное поведение системы. И этому есть объяснение: до недавнего времени диски, используемые для подкачки памяти, имели задержки доступа в миллионы раз выше, чем у RAM.

Читать далее
Total votes 4: ↑4 and ↓0 +4
Comments 3

HALF: целостное автоматическое машинное обучение для ПЛИС

Reading time 17 min
Views 3.9K

Глубокие нейронные сети (DNN) способны решать сложные задачи в областях, связанных со встроенными системами, таких как обработка изображений и естественного языка. Чтобы эффективно реализовать DNN на конкретной платформе ПЛИС для заданного критерия стоимости, например, энергоэффективности, необходимо учитывать огромное количество параметров проектирования, начиная с топологии и заканчивая конечной аппаратной реализацией. Необходимо учитывать и эффективно исследовать взаимозависимости между различными уровнями проектирования, что делает поиск оптимизированных решений вручную едва ли возможным.

Автоматический, целостный подход к проектированию может значительно улучшить качество реализации DNN на ПЛИС. С этой целью мы представляем метод исследования межслойного пространства проектирования.

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

Оценка и устранение атмосферных помех спутниковой интерферометрии

Reading time 8 min
Views 1.8K

Излучение спутникового радара проходит сквозь облака и позволяет получать снимки в темноте, в дождь и снег, когда оптическая съемка невозможна. При этом, накапливающаяся при прохождении излучения через атмосферные неоднородности временная задержка при обработке данных спутниковой радарной съемки трансформируется в ложные смещения поверхности. Такая задержка не влияет на значение когерентности (вычисляемое в так называемом окне, сильно меньшем характерного масштаба атмосферной помехи), что не позволяет обнаружить и исключить такие помехи непосредственно в процессе построения интерферограмм. Получается, что радарные снимки сделать можно в любое время и при любой погоде, вот только многие снимки оказываются искаженными, порой до неузнаваемости всей площади съемки, и стандартными методами оценки когерентности интерферограмм мы об этом даже не узнаем. Обсуждаемая проблема имеет различные решения, некоторые из которых мы и рассмотрим с примерами Jupyter ноутбуков Live Example S1A_Stack_CPGF_T173 on Google Colab и Live Example S1A_Stack_CPGF_T173 Plus on Google Colab.



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

Читать дальше →
Total votes 3: ↑3 and ↓0 +3
Comments 4

Information

Rating
Does not participate
Location
Харьков, Харьковская обл., Украина
Date of birth
Registered
Activity