Несколько раз начинал писать эту статью и бросал. Бросал потому, что тема, как мне кажется, несколько спорная. Изобретенный мною велосипед может кому-то показаться смешным и нелепым и вообще не совсем корректным. Тем не менее…
Вообще, мне кажется, что в области разработки электронных устройств существует как бы несколько мало пересекающихся миров. Например, существует разработка устройств на базе микроконтроллеров и параллельно существует разработка устройств на базе ПЛИС. Принципы работы этим микросхем принципиально отличаются и точно так же отличаются принципы и методы разработки, используемые языки программирования и отладки.
Здравствуйте!
В этой статье я хочу рассказать о своём опыте изучения разработки на ПЛИС и познакомить со своим проектом — генератором видео по формуле.
Я программист С++, профессионально занимаюсь разработкой и сопровождением системного софта. Около двух лет тому назад у меня возникло желание разнообразить свой опыт за счёт изучения схемотехники, точнее программирования ПЛИС с использованием языка Verilog.
Далее я расскажу, что из этого вышло. Направить вычислительную мощь ПЛИС на нужды генеративного искусства: порождать в реальном времени потоковое видео по сложной формуле в высоком разрешении, с высоким фрейм-рейтом. В качестве фронтэнда выбран IBNIZ, — язык описания формул для генерации демо, разработанный камрадом viznut в качестве виртуальной платформы для демосцены. Ранее я реализовывал на ПЛИС, на платформе «Марсоход», другую его находку.
Читать полностью »
Исторически так сложилось что ПЛИС я начал изучать только на новой работе.
Это были серии ПЛИС фирмы Altera.
Старшие коллеги на перебой рекомендовали как AHDL так и VHDL для программирования этих микросхем.
В итоге я остановился на языке VHDL, поскольку он является языком высокого уровня, в отличии от ADHL.
Хоть и листинг у последнего был куда приятнее.
И я приступил к изучению всех хитростей и ограничений языка VHDL.
В итоге сошелся на мысли что конструкции языка просто ужасны, а ограничения избыточны для проектирования аппаратуры.
Приведу пример листинга из статьи Делаем таймер или первый проект на ПЛИС
www.kickstarter.com/projects/725991125/open-source-graphics-processor-gpu
На Kickstarter несколько дней назад стартовал любопытный проект. Его цель — создать открытый [тут всякий бред маркетологов] и современный графический процессор. Под современностью автор подразумевает совместимость с OpenGL и D3D. Упоминается реализация всего этого на языке Verilog, т.е. подразумевается, что готовая плата будет выполнена на основе FPGA. С одной стороны, это позволит быстро взлететь и в перспективе перейти на заказные чипы, с другой — до этого перехода соотношение цена/качество может быть не на высоте. Хотя душу владельца такой карты будет греть открытость исходников. Читать полностью »
Добрый день!
Я хочу рассказать о проекте игровой консоли Nintendo Entertainment System (NES) в реализации на FPGA. На постсоветском пространстве она известна как Dendy.
Желающих посмотреть видео и поностальгировать прошу под кат.
Наверное каждый программист ASM / C / C++ когда-то задумывался о написании своей собственной операционной системы.
И наверное каждый разработчик Verilog / VHDL для ПЛИС когда нибудь задумывался о создании своего процессора.
Собственно реализовать более-менее традиционный процессор на сегодняшний день кажется не очень и большая проблема. Принципы работы процессоров описаны во многих книгах и статьях.
Я решил поизучать ARM совместимый процессор AMBER. Его исходники есть на http://opencores.org.Читать полностью »
Думаю многие, кто работал с FPGA думали — а не сделать ли свой компьютер полностью на ней, с x86 процессором, периферией и прочим? 8-и битные компьютеры часто реализовывали в FPGA, но вот целый PC…
Для успешной работы помимо x86 процессора нужен еще BIOS со всеми реализованными прерываниями (включая доступ к «диску» на SD карте), BIOS VGA-совместимой видеокарты, вся периферия, контроллер памяти, таймер и многое другое.
Задача намного сложнее чем кажется на первый взгляд, но тем не менее, в проекте ZetCPU она решена.Из ограничений — работает только 16-и битный режим на 12.5Mhz, без математического сопроцессора.Читать полностью »
На хабре уже было несколько статей о машинках, управляемых через WiFi и с web камерой на борту.
Вот одна статья: «Радиоуправляемая Wi-Fi машинка с камерой» А вот еще одна статья по теме: «Гонка тарантасов, управляемых через Интернет»
Я хочу предложить новый(?) способ создания подобных машинок.Читать полностью »
Приветствую Хабр. Не так давно здесь уже появлялись статьи на эту тему Verilog. Цифровой фильтр на RAM и Построение цифрового фильтра с конечной импульсной характеристикой. Хочу и я внести свой скромный вклад и представить вашему вниманию реализацию цифрового БИХ-фильтра на Verilog.
Читать полностью »
На просторах рунета можно найти достаточно много статей с введением в Verilog HDL. Все они описывают синтаксис и семантику языка, но, к сожалению, не раскрывают основных парадигм, используемых при проектировании цифровых схем. Представьте себе, что вам объясняют синтаксис языка Java, но не рассказывают ничего про объектно-ориентированное проектирование. Если вы знакомы с ООП, то такого введения будет достаточно, но если вы знаете только Си, то писать скорей всего будете “по-старому”, создавая огромные классы со сложными методами.
Примерно так происходит с программистами, изучающими цифровую схемотехнику и языки описания аппаратуры.Читать полностью »
1219 ₽ в наличии
Расположение в магазине:
На 1-м уровне
Зал: 07
Секция: 08
Шкаф: 88
Полка: 03
Оформить заказв интернет-магазине
Издательство: Горячая линия — Телеком
Год издания: 2023
ISBN: 978-5-9912-0844-4
Книга является введением в практическое проектирование на языке Verilog встраиваемых систем на программируемых логических интегральных схемах (ПЛИС – FPGA). Дано понятие встраиваемой системы, рассмотрены область использования и функции встраиваемых систем. Представлены подмножество языка описания аппаратуры Verilog для синтеза проектов и введение в систему проектирования Quartus. Рассмотрены вопросы проектирования на FPGA комбинационных схем, а также различных стандартных функциональных узлов комбинационного и последовательностного типа, используемых во встраиваемых системах. Описаны методы проектирования сумматоров и умножителей. Рассмотрены вопросы проектирования на FPGA конечных автоматов, структурные модели, стили описания на языке Verilog, способы кодирования внутренних состояний, методы синтеза. Для каждого функционального узла приведены рекомендации по наиболее эффективному использованию рассматриваемых методов проектирования. Для специалистов в области разработки встраиваемых систем, научных работников, аспирантов, преподавателей, будет полезна студентам соответствующих специальностей.
Артикул: 3251231 |
ISBN: 978-5-9912-0844-4 |
Тип переплета: мягкий |
Тираж: 500 |
Название: Язык Verilog в проектировании встраиваемых систем на FPGA |
Автор: В. В. Соловьев |
Место издания: Москва |
Издатель: Горячая линия — Телеком |
Дата издания: 2023 |
Количество страниц: 440 |
Высота, см.: 24 |
Ширина, см: 16,5 |
Толщина, см: 2 |
Вес в граммах: 570 |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Если вы заинтересованы в изучении Verilog, существует множество руководств. В сети. Учебник Asic-world пожалуй, самое полное интерактивное руководство по Verilog, которое я знаю. У Nandland также есть исключительное руководство для начинающих. Веб-сайт FPGA 4 Fun на самом деле не начинается с голые основы, хотя в нем обсуждается, как создать несколько основных периферийных устройств. Однако ни в одном из этих руководств не объединены все инструменты. нужно сделать дизайн в одном месте.
Студент цифрового дизайна должен быть немедленно представлен не только языку HDL, но и средствам, необходимым для отладки его кода. Сюда входит не только Verilog (или SystemVerilog), но и симулятор (мы будем использовать Verilator, дополненный иногда с ncurses), дизайн волновой формы (волновой дром или даже tikztiming), отображение сигнала (gtkwave) и (мой любимый) Formal Проверка с использованием СимбиЙосис.
Таким образом, это руководство Verilog для начинающих пытается восполнить некоторые недостающие осколки в этой пустоте. Моя цель состоит в том, чтобы научить новичка знать C и немного C++, вплоть до последовательного порта пример с использованием приемника, передатчика и FIFO.
Я также надеюсь, что это руководство будет достаточно общим для аппаратного обеспечения. Аппаратное обеспечение определенные темы будут помещены в виде дополнительных глав между главами урока.
Уроки включают:
На этом базовое руководство для начинающих завершено.