Pull to refresh
1
0
Евгений @segrus

User

Send message

Простая реализация небольших CAM на ПЛИС

Reading time3 min
Views5.6K

Введение


Как-то раз мне потребовалось по работе реализовать небольшой блок CAM (ассоциативной памяти). Почитав, как это делается у Xilinx на BRAM (блоках статической памяти) или на SRL16 (16 — битных сдвиговых регистрах), я несколько опечалился, так как их реализации занимали довольно много места. Решил попробовать сделать его самостоятельно. Первым вариантом стала реализация в лоб. Забегая вперед, она практически сходу мне и подошла, благо, целевая частота для дизайна была всего 125 МГц.

Читать дальше →
Total votes 14: ↑13 and ↓1+12
Comments21

Политкорректность проникает в Россию через книги про проектирование чипов на SystemVerilog для не-начинающих

Reading time11 min
Views19K
Наконец-то в России вышел учебник по SystemVerilog уровнем выше чем для начинающих. Учебник описывает технологии и приемы, которые спрашивают на интервью в NVidia, Intel, AMD, Apple и другие электронные компании: использование concurrent assertions и functional coverage, что сейчас требуют не только от инженеров по верификации, но и от дизайнеров микросхем; алгоритм работы симулятора с дельта-циклами; вменяемое объяснение static timing analysis; схемы коммуникации аппаратных блоков через аппаратные очереди; реализацию этих коммуникаций с помощью конечных автоматов с трактами данных и т.д.

В главе про последнее российского читателя может озадачить упоминание «политкорректной системы». Что бы это значило? Это вероятно намек на казус, который произошел в округе Лос-Анжелес в 2003 году. Чиновники Лос-Анджелеса попросили производителей, поставщиков и подрядчиков прекратить использование терминов «master/slave» («хозяин» и «раб») в отношении компьютерного оборудования, так как одному из работников округа эти термины напомнили про рабовладельческое прошлое.

Сейчас авторы технической литературы избегают терминов master/slave. В современной Америке работают и афро-американские инженеры (например София Мвокани из Камеруна — на фото слева), и использование старых терминов выглядит архаично, как выглядели бы например термины «пан/холоп» в украинской технической литературе вместо принятых «провідний/ведений» (рус. «ведущий/ведомый»).

Это не первый раз, когда в российском электронном образовании появляется тема борьбы афро-американцев за гражданские права. Например Татьяна Волкова, известный специалист по образованию в электронике, носит маечку с эмблемой «Черных Пантер», калифорнийского движения, которое в свое время сочло мирный протест недостаточным, и занялось вооруженным протестом.



Полное изображение эмблемы под кожанкой Татьяны Александровны — под катом, но в основном я буду рассказывать про дельта-циклы и конечные автоматы:
Читать дальше →
Total votes 43: ↑32 and ↓11+21
Comments47

Конфигурируемые логические ячейки в PIC микроконтроллерах

Reading time13 min
Views25K

Первоначальный замысел статьи состоял в описании Периферии Независимой от Ядра микроконтроллеров Microchip, но тема оказалась весьма обширной, поэтому в качестве первого шага расскажем о CLC – конфигурируемых логических ячейках (Configurable Logic Cell).


В статье (Использование конфигурируемых логических ячеек для управления светодиодной лентой WS2812 [1]) было рассмотрено как логические ячейки CLC PIC-контроллеров могут существенно упростить решение задачи формирования сигналов управления драйверами WS2812 и аппаратно реализовать функции, на программное решение которых может не хватать быстродействия простого микроконтроллера.
Цель представленной статьи заключается в более близком знакомстве с конфигурируемыми логическими ячейками в PIC микроконтроллерах Microchip, в демонстрации примеров реализаций и, по возможности, натолкнуть читателя на мысли по использованию CLC своих проектах.


Если очень кратко, то CLC это одна из частей ПНЯ.

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

TinyFL — драйвер фонарика на микроконтроллере

Reading time18 min
Views68K

Привет, Habr!


Хочу рассказать историю о том, как мне в руки попал китайский налобный фонарик на светодиоде Cree XM-L и что дальше с ним стало.


Читать дальше →
Total votes 90: ↑86 and ↓4+82
Comments110

Введение в Си. Послание из прошлого столетия

Reading time15 min
Views210K

Предисловие


Я несколько раз в своих комментариях ссылался на книгу Эндрю Таненбаума «Operating Systems Design and Implementation» на ее первое издание и на то, как в ней представлен язык Си. И эти комментарии всегда вызывали интерес. Я решил, что пришло время опубликовать перевод этого введения в язык Си. Оно по-прежнему актуально. Хотя наверняка найдутся и те, кто не слышал о языке программировании PL/1, а может даже и об операционной системе Minix.

Это описание интересно также и с исторической точки зрения и для понимания того, как далеко ушел язык Си с момента своего рождения и IT-отрасль в целом.
Читать дальше →
Total votes 64: ↑52 and ↓12+40
Comments104

История создания Ethernet-CAN конвертера

Reading time6 min
Views15K
Одним ясным солнечным днем по работе понадобился недорогой преобразователь интерфейсов CAN в Ethernet. Естественно поиски начались с готовых решений, но, как нередко это бывает, в итоге было принято решение о разработке собственного образца. Естественно, энтузиазм автора не смог устоять и ограничиться столь «урезанным» функционалом. Что из этого вышло, каким образом и почему — под катом.

image
Читать дальше →
Total votes 47: ↑43 and ↓4+39
Comments36

Дружим часы реального времени PCF8563 с Arduino по I2C

Reading time6 min
Views17K
Привет, Хабр. Довелось мне использовать RTC на микросхеме PCF 8563 по I2C.Так как нормальных функции для более удобной работы с Arduino я не нашел, пришлось работать напрямую через I2C. В Англоязычном интернете нашел толковый туториал с подробным описанием процесса. Данная статья является отчасти переводом отчасти собственным опытом работы с этой RTC.



Установка даты и времени


Первым дела лезем в мануал (он здесь) и ищем там таблицу организации регистров.
Читать дальше →
Total votes 10: ↑9 and ↓1+8
Comments8

Имплементация кэша на Verilog

Reading time5 min
Views7.5K
В данной статье разбор простейшей реализации RAM на языке Verilog.

Перед тем, как перейти к разбору кода, рекомендуется изучить базовый синтаксис языка Verilog.

Здесь вы можете найти обучающие материалы.
Читать дальше →
Total votes 29: ↑26 and ↓3+23
Comments13

Трансляция проектов и библиотек из Altium Designer в PADS Professional

Reading time9 min
Views8.3K

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


Читать дальше →
Total votes 18: ↑17 and ↓1+16
Comments4

Переходим с STM32 на российский микроконтроллер К1986ВЕ92QI. Практическое применение: управляем яркостью светодиода

Reading time5 min
Views20K

Вступление


В двух предыдущих статьях мы генерировали при помощи ШИМ тактовый сигнал нужной нам частоты, получая на светодиоде равный промежутки свечения и его отсутствия. Данная задача имеет место быть на практике (в одной из последующих статей мы с ней точно столкнемся). Но чаще всего ШИМ используют по другому назначению. Одно из самых распространенных — управление яркостью светодиодов или скоростью вращения моторов. Так же при помощи ШИМ можно генерировать звук (о чем будет следующая статья). А в данной статье мне хотелось бы рассказать, как на нашем контроллере можно реализовать управление яркостью светодиода.


Читать дальше →
Total votes 18: ↑15 and ↓3+12
Comments0

Сетевой JTAG программатор для Altera Quartus Prime из Raspberry Pi3

Reading time2 min
Views11K

Выпущено программное обеспечение, которое позволяет сделать из Raspberry Pi3 сетевой JTAG программатор для САПР Altera Quartus Prime. Это решение позволяет удаленно загружать FPGA Altera/Intel и даже вести удаленную отладку с помощью инструмента SignalTap. Далее расскажу,
как использовать это ПО.
Читать дальше →
Total votes 16: ↑16 and ↓0+16
Comments7

Делаем радиостанцию из GTA: San Andreas

Reading time5 min
Views24K
Хотелось ли вам переключаться между радиостанциями так, как вы делали это в Сан-Андреас?



Саундтрек из GTA прославился хорошим выбором музыки и забавными вставками. Компания Rockstar проделала отличную работу, создавая радиостанции для этой игры – кстати, музыку из Vice City и San Andreas можно даже купить в виде наборов CD.

Чтобы сделать её прослушивание более приятным – и кое-чему обучиться, я решил взломать радиоприёмник так, чтобы он принимал игровые радиостанции.

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

Давайте начнём!
Total votes 47: ↑41 and ↓6+35
Comments30

Ещё раз о задержках в исходном коде проекта FPGA или простой вопрос для собеседования на вакансию разработчика FPGA

Reading time7 min
Views13K


Некоторое время назад при обсуждении в компании профессиональных разработчиков FPGA возникла дискуссия о прохождении собеседования. Какие вопросы там задают, и что можно было бы задать. Я предложил два вопроса:

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

После этого вопроса завязалась оживлённая дискуссия, в результате которой я решил более подробно рассмотреть этот вопрос.
Читать дальше →
Total votes 25: ↑17 and ↓8+9
Comments54

SamsPcbGuide, часть 3: Предельный ток печатной дорожки

Reading time5 min
Views33K
Шутки в сторону, тема серьёзная, пожароопасная. Поехали. Это третья статья из цикла, в ней рассмотрены модели оценки предельного тока печатной дорожки, который в некоторых ситуациях является определяющим параметром при выборе толщины проводящих слоёв печатной платы.
Читать дальше →
Total votes 36: ↑36 and ↓0+36
Comments11

Рейтинг платформ поиска электронных компонентов

Reading time3 min
Views31K
Во всём мире несколько десятков миллионов наименований электронных компонентов. Для эффективной работы с таким количеством информации невозможно обойтись без специальных инструментов поиска. Поэтому, для того чтобы упростить связь между покупателем, продавцом и производителем, существуют так называемые «Поисковики электронных компонентов». В данный момент можно насчитать около двадцати подобных платформ как российских, так и иностранных.

В силу рода своей деятельности часто использую данные платформы для поиска и заказа компонентов. Сначала через параметрический поиск на digikey ищем нужный компонент, после через chipfind находим российского поставщика. Узнали себя? Если да, то эта статья для Вас.
Любители в основном пользуются платформами, которые хорошо разрекламированы, просто не зная о существовании возможности выбора. Специалисты же пользуются не одной, а целым набором. В этой статье постараюсь ответить на вопрос: почему не существует универсальной платформы для поиска электронных компонентов?
Читать дальше →
Total votes 31: ↑21 and ↓10+11
Comments65

Раскрашиваем чёрно-белую фотографию с помощью нейросети из 100 строк кода

Reading time22 min
Views76K

Перевод статьи Colorizing B&W Photos with Neural Networks.

Не так давно Амир Авни с помощью нейросетей затроллил на Reddit ветку /r/Colorization, где собираются люди, увлекающиеся раскрашиванием вручную в Photoshop исторических чёрно-белых изображений. Все были изумлены качеством работы нейросети. То, на что уходит до месяца работы вручную, можно сделать за несколько секунд.

Давайте воспроизведем и задокументируем процесс обработки изображений Амира. Для начала посмотрите на некоторые достижения и неудачи (в самом низу — последняя версия).
Total votes 62: ↑61 and ↓1+60
Comments35

Полевое радиолюбительство или теория полевых выездов

Reading time4 min
Views19K
В данной публикации мне бы хотелось немного приоткрыть тему радиолюбительства в целом и радиолюбительства полевого. Здесь пока что не будет детального описания аппаратуры и антенн. К сожалению на Гиктаймсе очень мало информации про радиолюбительство и радиолюбителей. Если эта тема будет кому то интересной, то в новых публикациях расскажу о нашей аппаратуре и антеннах.

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

Начинаем изучать STM32: Что такое регистры? Как с ними работать?

Reading time9 min
Views105K

Продолжаем рассмотрение базовых вопросов


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


Читать дальше →
Total votes 33: ↑30 and ↓3+27
Comments43

История создания синхронизатора часов DCF77

Reading time15 min
Views21K
Однажды я решил порадовать себя и купил часы citizen. Кроме всего прочего, в этих часах заявлена возможность синхронизировать часы по радиоканалу. В момент заказа я не сильно представлял, что это такое, думал, что оно как-то само всё сделает как надо. Но оказалось, что синхронизация по радио в России практически не работает. Я решил исправить ситуацию. Первое, что я нашёл была статья посвященная усилению сигнала. Предлагалось намотать большую катушку с конденсатором, положить на окно, выходящее на запад и ждать. Также в этой статье упоминался протокол dcf77, по которому часы синхронизируют время, и я понял, что он не очень сложный. Хотя на этот момент в электронике я был полный ноль, но мне представлялось, что с цифровой частью я справлюсь, а с остальным я как-то разберусь. И я решил стартовать проект по разработке устройства синхронизации часов по протоколу dcf77.

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

image
Читать дальше →
Total votes 32: ↑32 and ↓0+32
Comments30

Электролонгборд своими руками

Reading time2 min
Views45K
Всем доброго дня. Сегодня я расскажу, как сделать электро-лонгборд своими руками. Итогом всей сборки стала доска с максимальной скоростью 32-35км/ч, запасом хода на 25-30км и весом около 8кг.


Читать дальше →
Total votes 46: ↑42 and ↓4+38
Comments75
1
23 ...

Information

Rating
Does not participate
Location
Краснодар, Краснодарский край, Россия
Date of birth
Registered
Activity