Рубрика «ПЛИС»

Введение

На Хабре и на других площадках полно различных статей, связанных с разработкой на ПЛИС, но не сложно заметить, что большинство статей, как правило, несут реализацию сугубо технических идей. Реализация умножителей, сумматоров, мультиплексоров, различных интерфейсов, ЦОС, и многое другое…  А как насчет игр?

Разумеется, я говорю не про эмуляцию приставок, а про реализацию непосредственно на одном из языков описания аппаратуры, например Verilog/SystemVerilog.

Читать полностью »

Третий ежегодный слет hardware-инженеров пройдет в Москве уже через месяц, 29 ноября. Мы расширили целевую аудиторию: в программе найдется интересное не только для мастеров FPGA, но и для RTL-шаманов, гуру верификации и адептов физического дизайна. А еще будут DIY-стенды с «железками» от комьюнити! Больше подробностей — далее в посте.

Читать полностью »

Меня зовут Сергей Мирошниченко. Я руковожу группой системного программирования в YADRO. Мой рассказ будет о том, как мы решили запустить AMD GPU на ПЛИС с RISC-V и Linux.

Началось все с задачи проверить, насколько хорошо работает PCIe-подсистема нашей СнК. Для этого мы взяли гарантированно рабочие NVMe и видеоускоритель с полным комплектом ПО для них (драйвера в ванильном ядре Linux, двоичные файлы прошивок).

Читать полностью »

Код фильтра и теста

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

typedef struct FirFrac15 {
  int16_t x, x_1, y, y_1;
} FirFrac15;

#define N 3 //задание полосы пропускания (целое число)
void FirFrac15Calc(FirFrac15 *Filter) {
  register int32_t Acc;
  register int16_t xAcc = Filter->x + Filter->x_1;
  Acc = (((int32_t)Filter->y_1 << (N + 1)) - ((int32_t)Filter->y_1 << 1) + (int32_t)xAcc) >> (N + 1);
  Filter->y = (int16_t)Acc;
  Filter->x_1 = Filter->x; // входной отсчёт и запаздывающий на один
  Filter->y_1 = Filter->y; // выходной отсчёт и запаздывающий на один
}

Скетч для тестирования:

Читать полностью »
К чему можно подключить MIPI DSI экран? - 1

Как-то мне захотелось поэкспериментировать с MIPI DSI экранами. Встал вопрос: к чему их подключить? Позже я выбрал решение и спроектировал плату, о чём начал писать статью. Но есть и множество других вариантов. Решил вынести эти данные в отдельную часть.

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

Какие решения доступны? Как рассчитать скорость передачи данных?Читать полностью »

PAL видеоадаптер на FPGA с буфером кадра - 1

Наверное, каждый второй разработчик на ПЛИС в начале своего пути пытался визуализировать работу своих схем. Кто-то подключал TFT-дисплей, кто-то — VGA монитор. А у меня под рукой оказался только телевизор с композитным входом. Ну что ж, работаем с тем, что есть!


Дисклеймер

Читать полностью »

В этой статье описан способ генерации синусоидального сигнала на ПЛИС через использование ROM памяти и реальный пример практического применения этого генератора для коротковолнового радиопередатчика RTTY (Radioteletype. - прим. Ред.). Будет описан способ передачи значения частоты из микроконтроллера в ПЛИС через SPI (англ. Serial Peripheral Interface, SPI bus — последовательный периферийный интерфейс, шина SPI - прим. Ред.). Используются отладочная плата LilyGO T-FPGA, в составе которой ПЛИС GW1NSR-LV4CQN48PC6/I5 и микроконтроллер ESP32-S3, ЦАП на основе DAC904, ide GOWIN FPGA Designer, Visual Studio Code с расширением PlatformIO и matlab 2020.

Дисклеймер
Читать полностью »

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

Читать полностью »

Говорит и показывает программа HDSDR

Говорит и показывает программа HDSDR

Когда-то давно, аж 2013-й год, на Хабре была статья "Простой SDR приёмник на ПЛИС" автора @iliasam. Я попытаюсь повторить этот проект на другой элементной базе: FPGA плата Марсоход3GW2, микросхема Gowin GW1NR-LV9QN88PC6/I5.

Читать полностью »


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