Скромный обзор отладочной платы BlackIce II

Однажды я немного рассказывал про iceStick Evaluation Kit — простой и недорогой отладочный комплект, содержащий в себе небольшую микросхему программируемой логики (FPGA семейства Lattice iCE40) и скромный набор периферии для начала собственных экспериментов. Несмотря на всю продуманность и необычайную легкость работы с комплектом, я все равно для себя искал нечто более совершенное, и при этом не относящееся ни к Altera, ни к Xilinx, так как появились вполне весомые причины перехода на более мощные средства.

Таких причин было несколько: небольшая логическая емкость FPGA iCE40HX1K, отсутствие нужной мне периферии и некоторые другие. Однако самой главной причиной поиска лучшего стала все-таки периферия: представьте, как мне надоело мучаться с проводами на макетке, а также каждый раз подключать отладочный комплект к ноутбуку, боясь того, что одно резкое и неловкое движение — и переходнику USB на плате окончательный и бесповоротный конец !

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

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

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

Подробнее

Простые эксперименты по процедурной генерации

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

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

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

Подробнее

Материалы по iceStick

В этом посте я выкладываю набор документов и некоторые полезные вещи по плате iceStick: найденные в сети материалы от самой Lattice Semiconductor, распиновка платы, набор модулей для Icestudio (сделанный мной по мотивам моих исследований и экспериментов).

Пользуйтесь, а мы постараемся сделать еще что-нибудь на базе этой платы в связке с языком программирования D !

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

Подробнее

Вывод всех символов ASCII из исполняемого файла

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

В этом рецепте я покажу код, который покажет все ASCII последовательности в некотором исполняемом файле. Этот код вы можете использовать для изучения исполняемых файлов на предмет наличия разных интересных вещей и закономерностей, а также как очень ценный инструмент по выделению plain-данных из самого файла.

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

Подробнее

Первое возвращение в «мир проводов»

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

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

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

Подробнее

Наблюдаем спектр сигнала при помощи D/QtE5 и Arduino

В этой статье мы покажем как сделать простой «анализатор спектра» почти в реальном времени своими руками и даже попробуем посмотреть некий сигнал, который запросто можно поймать на один медный провод (или даже самодельную антенну), присоединенный к плате Arduino.

И да, нечто подобное мы уже делали, но в этот раз будет уже иной уровень, и кроме того, можно вместо Arduino использовать даже iCEStick!

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

Подробнее

Воспроизведение звука: D + FPGA = ?

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

Если вас заинтересовало что мы придумали на этот раз, то добро пожаловать в эту статью.

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

Подробнее

Паттерн проектирования «Наблюдатель»

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

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

Подробнее

D на твоем смартфоне

Сегодня, в этой небольшой статье я покажу вам нечто: как можно компилировать программы на D прямо на своем смартфоне под управлением операционной системы Android.

Внимание: все то, будет описано далее, было с успехом проведено на моем мобильном устройстве Xiaomi Redmi 4A (наличие доступа root не является необходимым и даже может быть опасным!), соответственно, повторяя описанное, вы и только вы сами отвечаете за получившийся результат  — все делается на ваш страх и риск!

Однако, в ходе эксперимента ни один телефон не пострадал…

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

Подробнее

Исследуем энтропию файлов

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

Данная утилитка (не буду говорить, как называется) была разработана для просмотра и изучения различного рода файлов прошивок устройств, но не это меня заинтересовало…

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

Подробнее