Метка «Verilog»

image

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

Вообще, мне кажется, что в области разработки электронных устройств существует как бы несколько мало пересекающихся миров. Например, существует разработка устройств на базе микроконтроллеров и параллельно существует разработка устройств на базе ПЛИС. Принципы работы этим микросхем принципиально отличаются и точно так же отличаются принципы и методы разработки, используемые языки программирования и отладки. Конечно, выбор элементной базы сильно зависит от поставленной задачи. Однако и так понятно, что эти миры, мир микроконтроллеров и мир ПЛИСов почти не пересекаются. Может быть на стыке технологий что-то есть?Читать полностью »

Здравствуйте!
В этой статье я хочу рассказать о своём опыте изучения разработки на ПЛИС и познакомить со своим проектом — генератором видео по формуле.

Генерация видео математической функцией на ПЛИС

Цель поста

Я программист С++, профессионально занимаюсь разработкой и сопровождением системного софта. Около двух лет тому назад у меня возникло желание разнообразить свой опыт за счёт изучения схемотехники, точнее программирования ПЛИС с использованием языка Verilog. Далее я расскажу, что из этого вышло.

Цель работы

Направить вычислительную мощь ПЛИС на нужды генеративного искусства: порождать в реальном времени потоковое видео по сложной формуле в высоком разрешении, с высоким фрейм-рейтом. В качестве фронтэнда выбран IBNIZ, — язык описания формул для генерации демо, разработанный камрадом viznut в качестве виртуальной платформы для демосцены. Ранее я реализовывал на ПЛИС, на платформе "Марсоход", другую его находку.
Читать полностью »

Исторически так сложилось что ПЛИС я начал изучать только на новой работе.
Это были серии ПЛИС фирмы Altera.

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

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

Приведу пример листинга из статьи Делаем таймер или первый проект на ПЛИС
Читать полностью »

image
www.kickstarter.com/projects/725991125/open-source-graphics-processor-gpu
На Kickstarter несколько дней назад стартовал любопытный проект. Его цель — создать открытый [тут всякий бред маркетологов] и современный графический процессор. Под современностью автор подразумевает совместимость с OpenGL и D3D. Упоминается реализация всего этого на языке Verilog, т.е. подразумевается, что готовая плата будет выполнена на основе FPGA. С одной стороны, это позволит быстро взлететь и в перспективе перейти на заказные чипы, с другой — до этого перехода соотношение цена/качество может быть не на высоте. Хотя душу владельца такой карты будет греть открытость исходников. Читать полностью »

Добрый день!

Я хочу рассказать о проекте игровой консоли Nintendo Entertainment System (NES) в реализации на FPGA. На постсоветском пространстве она известна как Dendy.

NES на ПЛИС
Желающих посмотреть видео и поностальгировать прошу под кат.
Читать полностью »

Исследование процессора и его функциональная симуляция

Наверное каждый программист ASM / C / C++ когда-то задумывался о написании своей собственной операционной системы.

И наверное каждый разработчик Verilog / VHDL для ПЛИС когда нибудь задумывался о создании своего процессора.

Собственно реализовать более-менее традиционный процессор на сегодняшний день кажется не очень и большая проблема. Принципы работы процессоров описаны во многих книгах и статьях. Кроме того, существует много процессоров с открытой архитектурой вроде openRISC или openSPARC и многие другие. Их вполне можно рассмотреть перед тем как изобретать свой велосипед.

Я решил поизучать ARM совместимый процессор AMBER. Его исходники есть на http://opencores.org.Читать полностью »

Делаем IBM PC на FPGAДумаю многие, кто работал с FPGA думали — а не сделать ли свой компьютер полностью на ней, с x86 процессором, периферией и прочим? 8-и битные компьютеры часто реализовывали в FPGA, но вот целый PC…

Для успешной работы помимо x86 процессора нужен еще BIOS со всеми реализованными прерываниями (включая доступ к «диску» на SD карте), BIOS VGA-совместимой видеокарты, вся периферия, контроллер памяти, таймер и многое другое. Задача намного сложнее чем кажется на первый взгляд, но тем не менее, в проекте ZetCPU она решена.

Из ограничений — работает только 16-и битный режим на 12.5Mhz, без математического сопроцессора.Читать полностью »

Машинка, управляемая из браузера

На хабре уже было несколько статей о машинках, управляемых через WiFi и с web камерой на борту.

Вот одна статья: "Радиоуправляемая Wi-Fi машинка с камерой" А вот еще одна статья по теме: "Гонка тарантасов, управляемых через Интернет"

Я хочу предложить новый(?) способ создания подобных машинок.Читать полностью »

Приветствую Хабр. Не так давно здесь уже появлялись статьи на эту тему Verilog. Цифровой фильтр на RAM и Построение цифрового фильтра с конечной импульсной характеристикой. Хочу и я внести свой скромный вклад и представить вашему вниманию реализацию цифрового БИХ-фильтра на Verilog.
Читать полностью »

Электроника для начинающих / Проектирование синхронных схем. Быстрый старт с Verilog HDL
На просторах рунета можно найти достаточно много статей с введением в Verilog HDL. Все они описывают синтаксис и семантику языка, но, к сожалению, не раскрывают основных парадигм, используемых при проектировании цифровых схем. Представьте себе, что вам объясняют синтаксис языка Java, но не рассказывают ничего про объектно-ориентированное проектирование. Если вы знакомы с ООП, то такого введения будет достаточно, но если вы знаете только Си, то писать скорей всего будете “по-старому”, создавая огромные классы со сложными методами.
Примерно так происходит с программистами, изучающими цифровую схемотехнику и языки описания аппаратуры.Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js