Search
Write a publication
Pull to refresh
-4
Эдуард Зиганшин @e-zigread⁠-⁠only

Разработка электроники

Send message

Настольная библиотека HDL-дизайнера и верификатора

Level of difficultyEasy
Reading time7 min
Views2.9K

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

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

Меня зовут Максим Ратников, я руковожу отделом системной верификации в компании Аквариус. Моя основная задача – убедиться, что все части микросхемы правильно собраны вместе и действительно функционируют так, как должны. Попутно работаю с теми стажерами в нашей компании, которые интересуются разработкой микросхем. Также преподаю в МАИ и рассказываю студентам про маршрут проектирования, элементы и узлы вычислительных машин. 

В процессе работы со студентами и стажерами одним из первых появляется вопрос «А что посоветуете почитать?». Тема большая, интересная и бесконечная, так как сколько людей, столько и мнений. Но со временем у нас с коллегами выработался примерно такой список.

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

Читать далее

Как я искал замену Canva и нашел 11 крутых онлайн-фоторедакторов

Level of difficultyEasy
Reading time10 min
Views19K

Многие расстроились, когда Канва ушла из России. Когда я начинал творческий путь, онлайн-редакторов было не более 2–3 достойных. Сейчас их десятки: работает импортозамещение, развиваются другие зарубежные сервисы. Ими пользуются не только новички.

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

Читайте, пробуйте. Возможно, влюбитесь в один из аналогов Canva и больше о ней не вспомните.

Читать далее

Как обойти замедление Youtube в России

Level of difficultyEasy
Reading time9 min
Views153K

Многие пользователи YouTube в России в 2024 столкнулись замедление загрузки видео на ПК, телефонах и телевизорах | Проблема связана с ограничениями скорости со стороны провайдера, но существуют проверенные методы, которые ускоряют загрузку и просмотр видео на YouTube.

Читать далее

Трансформация или чемодан без ручки (часть 5) Так дальше работать нельзя! Нужна трансформация. И что дальше?

Level of difficultyMedium
Reading time5 min
Views898

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

Продолжу рассказывать что нужно для проведения успешной трансформации

Читать далее

Введение в DPDK: архитектура и принцип работы

Reading time11 min
Views78K
DPDK

За последние несколько лет тема производительности сетевого стека Linux обрела особую актуальность. Это вполне понятно: объёмы передаваемых по сети данных и соответствующие нагрузки растут не по дням, а по часам.

И даже широкое распространение сетевых карт 10GE не решает проблемы: в самом ядре Linux имеется множество «узких мест», которые препятствуют быстрой обработке пакетов.
Читать дальше →

Современная МРТ ЦНС и диагностические спекуляции. Где лучше обследоваться? Взгляд специалиста

Level of difficultyEasy
Reading time12 min
Views4.6K
image

Обычно я пишу на Хабр статьи о своём хобби – роутерах Микротик и интеграции с ними различного оборудования. Но сегодня меня что-то «пробило» и я решил написать несколько слов о своей основной специальности. Тем более, что читать в сети по ней приходится в основном полную ахинею, не имеющую ничего общего с действительностью нейрорентгенодиагностики. Я уже молчу о видеороликах, изобилующих в Интернет, где авторы показывают, различные «диагностические случаи» и комментируют свои «находки» и явления так как им хочется, не имея никаких или почти никаких реальных знаний. Иногда я думаю, что это делается не только по глупости авторов, но и по причине того, что часть роликов может быть «заказухой» для разогрева интереса публики и повышения обращаемости за диагностикой. Может и мне открыть свой Телеграмм-канал про МРТ? Доходы от рекламы, вероятно, превысят зарплату …
Читать дальше →

Кодирование с кодеком HEVC простым языком — гайд на FFmpeg. Высокое качество, но низкий вес

Level of difficultyEasy
Reading time11 min
Views35K

Казалось бы, довольно простой вопрос: «Чем сжать видео?». На ум сразу приходят Handbrake, Movavi Converter или ещё что-нибудь пострашнее. Однако когда речь заходит о более гиковском подходе с упором на максимальное качество и экономию места, такие программы сложно назвать инструментами. Равно как и для обратной ситуации, когда картинку нужно сильно сжать и сохранить в целостности большую часть полезной информации. Все эти программы только лишь предоставляют набор наиболее общих конфигов для обычной съёмки и 2D.

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

Компилируем и выполняем C на JavaScript

Reading time13 min
Views6.5K
Мир работает на C. Этот язык лежит в основе сжатия файлов, сетевых взаимодействий и даже браузера, в котором вы читаете эту статью. Если код не написан на C, он всё равно взаимодействует с ABI, написанном на C (речь о C++, Rust, Zig, т.д.) и доступен в виде библиотеки на C. Язык C и C ABI — это прошлое, настоящее и будущее системного программирования.
Читать дальше →

Запускаем Embedded Linux на Hard- и Soft-CPU Xilinx Zynq: проект программируемой логики

Level of difficultyHard
Reading time20 min
Views9.1K

Привет, Хабр! Меня зовут Павел Панкратов, я ведущий инженер-программист в дивизионе искусственного интеллекта YADRO. Этим текстом я запускаю цикл статей — экскурс в особенности работы с SoC, комбинирующей в себе реализованные в «железе» аппаратные блоки (Hard IP’s) и программируемую логику (Soft IP’s). Основная задача, которая объединит все три статьи, — параллельный запуск встраиваемой операционной системы на двух различных по архитектуре процессорах, представленных в виде Hard и Soft IP-блоков.

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

Читать далее

Создаем свою простую (C++) библиотеку с документацией, CMake и блекджеком

Level of difficultyMedium
Reading time33 min
Views23K

В мире программирования создание собственных библиотек — это не просто возможность пополнения своего портфолио или способ структурировать код, а настоящий акт творческого самовыражения (и иногда велосипедостроения). Каждый разработчик иногда использовал в нескольких своих проектах однообразный код, который приходилось каждый раз перемещать. Да и хотя бы как упаковать свои идеи и знания в удобный и доступный формат, которым можно будет поделиться с сообществом.

Если вы ловили себя на мысли: ‭«А почему мне бы не создать свою полноценную библиотеку?‭», то я рекомендую прочитать вам мою статью.

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

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

Читать далее

Воспитание Obsidian — вашего персонального информационного менеджера

Reading time5 min
Views138K


Методик повышения личной эффективности хоть пруд пруди. Как по мне, основная проблема с ними в том, что нужно работать самому. Совершенно нормальное стремление — избежать приложения усилий. Пускай хорошая методика и есть тот рычаг, коим обещают сдвинуть Землю, но физика знает, что всю-всю работу делать всё равно нам самим. Основной вопрос, терзавший меня в вопросе выбора персонального информационного менеджера заключался в том, что он будет делать вместо меня. Задача была не самая лёгкая. За короткий срок разобраться в новой области — организовать конспекты, классифицировать справочники и литературу по теме. Море открытых вкладок браузера (всё очень нужное, оно не должно скрыться из глаз), pdf-файлы, заботливо присланные новыми коллегами… С этим всем в голове я познакомился с программой Obsidian, которая пообещала стать A second brain, for you, forever.

Читать дальше →

Qucs-S: руководство по видам моделирования, часть 2

Reading time6 min
Views3.6K

Qucs-S является программой с открытым исходным кодом для моделирования электронных схем. Qucs-S кроссплатформенный (поддерживаются Linux и Windows) и написан на С++ с использованием набора библиотек Qt. О данной программе рассказывают мои предыдущие статьи. Для работы Qucs-S рекомендуется использовать также открытый движок моделирования Ngspice. Актуальным релизом Qucs-S на текущий момент является версия 24.3.2. Статья продолжает подробное рассмотрение видов моделирования в Qucs-S, начатое в первой части.

Читать далее

big Big FLOAT! Произвольная точность: сравниваем opensource-программы для научных и математических вычислений

Level of difficultyMedium
Reading time42 min
Views7.9K


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

Аппаратной точности чисел с плавающей запятой (поддерживаемых современными CPU) в 32, 64 и 80 бит может не хватить. И даже чисел четверной точности может не хватить при многочисленных итерациях, в каждой из которой может происходить потеря точности. Если операции неэлементарны, то мы не сможем применить алгоритмы коррекции ошибок по типу алгоритма Кэхэна.

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

Как Linux создаёт и подсчитывает сокеты

Level of difficultyHard
Reading time12 min
Views17K

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

Читать далее

Близкий родственник эльфа – программер

Level of difficultyHard
Reading time11 min
Views3.1K

Многие знакомы с ELF-файлами и их структурой. Поговорим о программерах. Программер – это файл в формате ELF (расширение может быть BIN, MBN или ELF), который предназначен для  работы с памятью смартфонов на Android с процессорами от Qualcomm в режиме аварийной загрузки (EDL mode – emergency download, 9008). Также его некоторые называют «пожарный шланг» (от английского firehose) или просто «шланг». Файл представляет из себя контейнер с набором команд для базовой работы с памятью, которые подписаны цепочкой сертификатов. Иногда возникает необходимость подобрать для своего устройства подходящий программер. Вот и попробуем разобраться в этом.

Читать далее

CodeChecker: анализируем большой проект на С++ быстро, эффективно и бесплатно

Reading time8 min
Views11K

Привет, Хабр! Меня зовут Давид, еще недавно я был стажером YADRO, а сейчас работаю в отделе разработки ПО поддержки сетевой аппаратной части. У нас в команде есть большой проект на более 100 000 строк, написан на C++ (и частично на С). Код переписывался много раз, а за самим проектом на правах легаси особо никто не следил: работает — не трогай. Когда я пришел в команду, у меня была задача: привести код в порядок и отловить ошибки, которые пропускает компилятор — например, возможное разыменование нулевого указателя, неинициализированные переменные или простые опечатки. 

Одним из очевидных решений было использование статического анализатора. Выбрали довольно известное коммерческое решение, но долгие прогоны не привели ни к чему дельному. Решили поэкспериментировать с другими вариантами статических анализаторов, сделав ставку на open source. Поиски привели к инфраструктуре CodeCheсker, которая предоставляет удобный интерфейс запуска и настройки статических анализаторов через аргументы командной строки. С помощью инструмента удалось достичь результатов, которые значительно превысили значения, полученные на коммерческом решении.  

Под катом расскажу, что же такое CodeCheсker, как с ним работать и почему его точно стоит попробовать на большом проекте.

Читать далее

Наглядное объяснение чисел с плавающей запятой

Reading time4 min
Views230K
image

В начале 90-х создание трёхмерного игрового движка означало, что вы заставите машину выполнять почти не свойственные ей задачи. Персональные компьютеры того времени предназначались для запуска текстовых процессоров и электронных таблиц, а не для 3D-вычислений с частотой 70 кадров в секунду. Серьёзным препятствием стало то, что, несмотря на свою мощь, ЦП не имел аппаратного устройства для вычислений с плавающей запятой. У программистов было только АЛУ, перемалывающее целые числа.

При написании книги Game Engine Black Book: Wolfenstein 3D я хотел наглядно показать, насколько велики были проблемы при работе без плавающей запятой. Мои попытки разобраться в числах с плавающей запятой при помощи каноничных статей мозг воспринимал в штыки. Я начал искать другой способ. Что-нибудь, далёкое от $(-1)^S * 1.M * 2^{(E-127)}$ и их загадочных экспонент с мантиссами. Может быть, в виде рисунка, потому что их мой мозг воспринимает проще.

В результате я написал эту статью и решил добавить её в книгу. Не буду утверждать, что это моё изобретение, но пока мне не приходилось видеть такого объяснения чисел с плавающей запятой. Надеюсь, статья поможет тем, у кого, как и у меня, аллергия на математические обозначения.
Читать дальше →

Использование шифрования для защиты битового потока Xilinx 7-й серии

Level of difficultyEasy
Reading time7 min
Views2.6K

Когда возникла необходимость защитить устройство от нежелательного использования, оказалось, что на эту тему мало информации. В конце концов, процесс перехода по множеству ссылок, которые выдал поисковик, вывел на XAPP1239UG470 и XAPP1084. Перед прочтением этой статьи лучше с ними ознакомится, так будет понятнее о чём идёт речь. Ниже будут пошагово описаны процессы создания зашифрованного bitstream и конфигурации ПЛИС на отладочной плате ARTY A7 и XC7K325T KINTEX-7 на кастомной плате для программирования этим зашифрованным bitstream.

Читать далее

Поверхностный обзор источников по Obsidian

Level of difficultyEasy
Reading time12 min
Views22K

Прочитал и посмотрел почти все статьи и видео по Obsidian, которые вышли недавно (в среднем не более 1-2 ух месяцев назад). Дал каждому источнику субъективную оценку и написал короткий комментарий.

Окунуться в субъективный взгляд автора

Information

Rating
Does not participate
Location
Мытищи, Москва и Московская обл., Россия
Date of birth
Registered
Activity

Specialization

System Software Engineer, Hardware Engineer
Senior
From 225,000 ₽
C++
Qt
Verilog HDL
VHDL
C
Git
Linux