среда, 9 сентября 2020 г.

Плата Sipeed Longan Nano - RISC-V GD32VF103CBT6, инструкция по разработке. Часть 2.

Плата Sipeed Longan Nano - RISC-V GD32VF103CBT6, инструкция по разработке. Часть 2.

После того, как мы ознакомились с платой Sipeed Longan Nano, можно приступить к разработке и отладке программ. Для начала идем на AliExpress и выбираем подходящего продавца. Кого-то конкретно не порекомендую, продавцы все время появляются и исчезают, так что можно смело выбирать магазин с наибольшим числом проданных товаров и хорошими отзывами. Там же можно купить и отдельные микросхемы gd32vf103cbt6. В скором времени попробуем применить их в одном из новых устройств, разрабатываемых нами! Далее нам надо настроить программатор и среду разработки. Подробности и ссылки под катом:

вторник, 18 августа 2020 г.

Плата Sipeed Longan Nano - RISC-V GD32VF103CBT6, инструкция по разработке. Часть 1.

Плата Sipeed Longan Nano - RISC-V GD32VF103CBT6, инструкция по разработке. Часть 1.

Несколько лет назад мы впервые столкнулись с микроконтроллером GigaDevic GD32, совместимым с STMicro STM32F103, но с более высокой тактовой частотой 108 МГц и внутренней флэш-памятью с нулевым временем ожидания. Микроконтроллер стал альтернативой STMicro, поскольку помимо программного обеспечения он также был совместим контактами.
Компания вернулась с новым микроконтроллером, но не на базе Arm. GigaDevice GD32V основан на архитектуре с открытым исходным кодом RISC-V. Новый контроллер GD32VF103CBT6 один из первых универсальных микроконтроллеров RISC-V, который превосходит свой аналог Arm Cortex-M3 по производительности и энергопотреблению.

вторник, 28 июля 2020 г.

Развертывание LiteX SoC с процессором VexRiscv на отладочной плате VE-10CL025.

Развертывание LiteX SoC с процессором VexRiscv на отладочной плате VE-10CL025.

Продолжая цикл статей, посвященных RISC-V, в новой статье расскажем как создать собственную SOC с ядром процессора RISC-V, используя систему LiteX. LiteX это генератор Core/SoC основанный на Migen/MiSoC , который предоставляет инфраструктуру для легкого создания ядер SoC (с процессором или без него). Общие компоненты SoC предоставляются непосредственно: Шины и потоки (Wishbone, AXI, Avalon-ST), интерконнект, общие ядра (RAM, ROM, Timer, UART и т. д...), Процессорные оболочки/интеграция и т. д... а возможности создания SoC могут быть значительно расширены с помощью экосистемы ядер LiteX (DRAM, PCIe, Ethernet, SATA и т. д...), которые могут быть легко интегрированы/смоделированы/построены с помощью LiteX. Он также предоставляет бэкенды сборки для цепочек инструментов с открытым исходным кодом.
В общем случае Migen используется для создания дизайнов ПЛИС на языке Python, а LiteX как генератор SOC для создания/разработки/отладки систем на кристалле ПЛИС на языке Python.

четверг, 9 июля 2020 г.

Cоздание GNU C++ проекта для RISC-V в среде Eclipse.

Cоздание GNU C++ проекта для RISC-V в среде Eclipse.

В последнее время повышенным интересом пользуются статьи, затрагивающие аспекты работы с процессорами, имеющими архитектуру RISC-V. В предидущих статьях: Создание процессора со свободной архитектурой RISC-V. Часть 1. и Создание процессора со свободной архитектурой RISC-V. Часть 2. мы рассказывали о примере аппаратной реализации процессора с архитектурой RISC-V с использованием программируеых вентильных матриц.
В данной статье, мы установим GNU С++ компилятор, создадим и настроим первый проект для архитектуры RISC-V.

четверг, 18 июня 2020 г.

Устанавливаем GNU ARM Eclipse Windows Build Tools.

Устанавливаем GNU ARM Eclipse Windows Build Tools.

В далеком 2015 году, в нашей статье Первый проект для VE-EP4CE10E. Часть 1. мы рассказывали о установке связки IDE Eclipse и свободного компилятора GNU ARM GCC. В принципе, за это время, появился фирменный пакет для разработки от компании ST Microelectronics под названием System Workbench For STM32. В одной из статей мы обязательно расскажем о нем. Но у нас проекты не только для контроллеров STM32. Поэтому начиная новый проект, мы решили обновить используемые нами инструменты до актуальной версии. Как оказалось, за 5 лет многие пункты нашей статьи устарели, поэтому представляем Вашему вниманию обновленную инструкцию:

понедельник, 11 мая 2020 г.

Нововведения и особенности установки Intel® Quartus® Prime Design Software v19.1

Нововведения и особенности установки Intel® Quartus® Prime Design Software v19.1

Во время написания нашей статьи Реализация упрощенного протокола TCP с использованием NIOS II неожиданно вышла новая версия Intel® Quartus® Prime Design Software v19.1. Не долго думая мы решили переити на новую версию пакета разработки от компании Intel. В принципе никто ни каких подводных камней не ожидал. Все прошлые версии  Intel® Quartus® обновлялись без каких-либо проблем. Но в этот раз все пошло не по плану )))) Как оказалось, теперь для установки требуется Windows Subsystem for Linux. Если вам интересен процесс установки новой версии пакета Intel® Quartus®, добро пожаловать под кат!

Реализация упрощенного протокола TCP с использованием NIOS II.

Реализация упрощенного протокола TCP с использованием NIOS II.
В данном проекте мы создадим систему на основе софт процессора Nios II, ядро Ethernet-интерфейса с поддержкой скоростей 10/100/1000, контроллер SGDMA, контроллер SDRAM и другие аппаратные компоненты для передачи и приема TCP пакетов. В дизайн добавлены два модуля фазовой автоподстройки частоты для генерации тактовых сигналов с различными частотами, чтобы тактировать трехскоростную систему Ethernet (которая реализует функцию MAC) для работы на скорости 10/100/1000 Мбит/с. После сборки аппаратной системы и загрузки схемы в ПЛИС, мы запустим прикладную программу, написанную на языке Си. На основе входных сигналов от платы наша программа устанавливает и закрывает TCP-соединение, передает и принимает кадры данных от порта Ethernet платы. Кадры Ethernet передаются на основе протокола Stop and Wait, а таймер процессора NIOS используется для повторной передачи кадров после таймаута.

четверг, 9 января 2020 г.

Симуляция проекта с помощью Icarus-Verilog

Симуляция проекта с помощью Icarus-Verilog

После некоторых раздумий я решил написать статью о симуляции Verilog проектов с помощью пакета программ icarus-verilog. Мне кажется, что это лучший способ «быстро попробовать» возможности симуляции. Конечно, среда симуляции ModelSim компании Mentor Graphics (или ModelSim-Altera Edition) - это мощное средство, но освоить ее несколько труднее.

Verilog System Tasks.

Verilog System Tasks.

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

Что такое FPGA?

Что такое FPGA?

Для проверки основных систем нашей платы VE-10CL025 таких как FPGA, HDMI, SDRAM было решено создать проект, на основе процессорного ядра NIOS II. В нашем проектк процессор NIOS с помощью упрощенной библиотеки simple_graphics формирует изображение в экранном буфере, расположенном в SDRAM памяти. Далее данные из SDRAM считываются при помощи DMA, после чего передаются на блок генерации HDMI сигналов. Все компоненты системы, кроме блока генерации HDMI — стандартные (встроены в Quartus).Теперь подробнее о том, как это реализовать. Для начала нужно создать пустой проект в Quartus, сконфигурировать его под конкретную ПЛИС и создать систему SOPC. Более подробно это описано в нашей статье Процессор Nios II для VE-EP4CE10E.

воскресенье, 8 декабря 2019 г.

Формирование HDMI изображения с использованием NIOS II.

Формирование HDMI изображения с использованием NIOS II.

Для проверки основных систем нашей платы VE-10CL025 таких как FPGA, HDMI, SDRAM было решено создать проект, на основе процессорного ядра NIOS II. В нашем проектк процессор NIOS с помощью упрощенной библиотеки simple_graphics формирует изображение в экранном буфере, расположенном в SDRAM памяти. Далее данные из SDRAM считываются при помощи DMA, после чего передаются на блок генерации HDMI сигналов. Все компоненты системы, кроме блока генерации HDMI — стандартные (встроены в Quartus).Теперь подробнее о том, как это реализовать. Для начала нужно создать пустой проект в Quartus, сконфигурировать его под конкретную ПЛИС и создать систему SOPC. Более подробно это описано в нашей статье Процессор Nios II для VE-EP4CE10E.

понедельник, 21 октября 2019 г.

Создание процессора со свободная архитектурой RISC-V. Часть 2.

Создание процессора со свободная архитектурой RISC-V. Часть 2.

В предидущей статье Создание процессора со свободная архитектурой RISC-V. Часть 1. мы рассказали об истории появления, и основных архитектурных решениях микропроцессорной архитектуры со свободным набором комманд RISC-V. Во второй части мы покажем, как можно реализовать FPGA версию микропроцессора RISC-V на языке SystemVerilog. Так-же мы получим в свое распоряжение программы для компиляции ассемблерного кода процессора, и возможность отладки с выводом информации на VGA дисплей и USART консоль. Полученная реализация имеет следующие особенности:

воскресенье, 25 августа 2019 г.

Создание процессора со свободная архитектурой RISC-V. Часть 1.

Создание процессора со свободная архитектурой RISC-V. Часть 1.

RISC-V — это свободная архитектура набора команд. Проект зародился в Калифорнийском университете в Беркли в 2010 году. Важную роль в его успехе сыграла открытость кода и свобода использования, что резко отличалось от многих других архитектур. Возьмите ARM: чтобы создать совместимый процессор, вы должны заплатить авансовый сбор от $1 млн до $10 млн, а также выплачивать роялти 0,5−2% с продаж. Свободная и открытая модель делает RISC-V привлекательным вариантом для многих, в том числе для стартапов, которые не могут оплатить лицензию на ARM или другой процессор, для академических исследователей и (очевидно) для сообщества open source.
Стремительный рост популярности RISC-V не остался незамеченным. ARM запустила сайт, который пытался (довольно безуспешно) подчеркнуть предполагаемые преимущества ARM над RISC-V (сайт уже закрыт). Проект RISC-V поддерживают многие крупные компании, включая Google, Nvidia и Western Digital.

суббота, 24 августа 2019 г.

Эмуляция EDID информации HDMI интерфейса на FPGA.

Эмуляция EDID информации HDMI интерфейса на FPGA.

Видно, что по HDMI, помимо видео потока (TMDS channel 0/1/2/clk), передаются еще и данные по интерфейсам DDC и CEC, последний нас пока интересовать не будет. DDC есть не что иное как интерфейс I2C, только без мультимастера, мастер только один — источник видео сигнала. Основной информацией передаваемой по DDC, для случая не защищенного HDCP HDMI канала, является EDID — «это стандарт формата данных VESA, который содержит базовую информацию о мониторе и его возможностях, включая информацию о производителе, максимальном размере изображения...». Да и еще одна маленькая, но важная особенность: без получения «нормального» EDID, источник сигнала не активизирует передачу видео сигналов по TMDS. По итогу имеем следующее: приемником HDMI является FPGA которая и знать не знает что такое I2C, EDID, DDC, а без нормального EDID, честных сигналов TMDS от видеокарты не видать «как своих ушей».

воскресенье, 21 апреля 2019 г.

Разработка системы стереоскопического зрения.

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

понедельник, 29 октября 2018 г.

Несколько слов об отладке 1Gb Ethernet-проектов на ПЛИС.

Несколько слов об отладке 1Gb Ethernet-проектов на ПЛИС.

Сегодня использование устройств на ПЛИС с сетью Ethernet – обычное явление. Особенно если речь идёт о высокоскоростной передачи данных (АЦП/ЦАП с сетевым выходом, обработка видео, «сырца» с радиолокаторов и гидроакустических комплексов, сбора данных с большой сети (решётки датчиков и т.д. и т.п.). Когда я вижу, как люди, покрывшись испариной, пытаются упихать поток отсчётов с квадратурного демодулятора SDR в USB 3.0, мне их становится откровенно жалко. Напомним, наша новая отладочная плата VE-10CL025 имеет встроенный сетевой интерфейс 1 Гбит. В этой статье мы расскажем о передаче ethernet пакетов из FPGA во внешний мир.

воскресенье, 30 сентября 2018 г.

Реализация HDMI в ПЛИС.

Реализация HDMI в ПЛИС.

Вот и пришло время выпустить новую отладочную плату, основанную на новом семействе Cyclone 10 компании Intel. Мир не стоит на месте, и наша новая плата обзавелась SDRAM памятью, 1Gbit ethernrt интерфейсом ну и конечно современным HDMI портом. Взамен морально устаревшего VGA пришли чисто цифровые видеоинтерфейсы, сначала DVI-D , затем HDMI и DisplayPort. В этой статье мы расскажем о создании HDMI интерфейса для систем, содержащих в своем составе FPGA. Мое знакомство с HDMI началось вот с этой статьи - HDMI. Там же есть ссылки на всю базовую информацию.

среда, 26 сентября 2018 г.

Как я делал электронные часы на базе FPGA.

Как я делал электронные часы на базе FPGA.

Захотелось вот поупражняться в программировании на SystemVerilog. Какую-то шибко интересную задачу выдумывать не стал — решил просто сделать часы на FPGA. Понятно, что электронные часы являются не слишком интересным устройством. Тем более, что их намного проще сделать на базе микроконтроллера. Однако реализация часов на SystemVerilog позволяет столкнуться с множеством тонкостей данного языка. Понимание этих тонкостей является необходимым для создания более сложных проектов.

суббота, 18 августа 2018 г.

Фильтрация изображения на FPGA.

Фильтрация изображения на FPGA.

Представим себе, что, глядя на какую-нибудь сцену одним глазом, мы подносим к нему стеклянную пластину. Если эта пластина не была идеально прозрачной, то наблюдаемое изображение изменится. В зависимости от стекла, из которого сделана пластина, изменение может быть самым разнообразным. К примеру, если это стекло было цветным, то изображение приобретет соответствующий оттенок, а от мутного стекла - станет размытым.
Фильтрация изображений аналогична такому разглядыванию мира через стеклянную пластину, хотя и позволяет добиться гораздо большего разнообразия эффектов, чем эксперименты с разными пластинами. Под фильтрацией изображений понимают операцию, имеющую своим результатом изображение того же размера, полученное из исходного по некоторым правилам. Обычно интенсивность (цвет) каждого пикселя результирующего изображения обусловлена интенсивностями (цветами) пикселей, расположенных в некоторой его окрестности в исходном изображении.

суббота, 14 июля 2018 г.

Разработка рекламного видео плеера.

Разработка рекламного видео плеера.

Специализированные AD медиаплееры Visual electronics. Разработаны исключительно для рекламных целей, поэтому обладают критически необходимыми для этого функциями, а также множеством инноваций, уникальных и полезных для владельца и рекламодателя. Поставляются, как в виде встраиваемых решений, так и в корпусном исполнении. Все плееры поддерживают автоматический запуск воспроизведения по подаче питания и зацикливание плей-листа. У нас вы можете приобрести медиаплееры, в соответствии с вашими задачами: базовые HD плеера, с поддержкой качества изображение до 720Р и воспроизведением с Flash карт, FullHD 1080Р плееры для больших экранов, а также сетевые плееры с загрузкой контента через Интернет с централизованного сервера путем соединения WiFi или 3G. Все плееры ведут статистику показов рекламы. Так как AD плееры проектировались исключительно для рекламных целей - вы получаете максимальный функционал за минимальную стоимость.

Плата Sipeed Longan Nano - RISC-V GD32VF103CBT6, инструкция по разработке. Часть 2.

Плата Sipeed Longan Nano - RISC-V GD32VF103CBT6, инструкция по разработке. Часть 2. После того, как мы ознакомились с платой  Sipeed Longan...