Claude Info
Разное

Руководство по проектированию и ревью FPGA

cobbpeng/fpga-hardware-design-and-review-guide

Гид по проектированию FPGA на базе реального опыта: SystemVerilog, Vivado, замыкание таймингов, обработка CDC и выбор устройств серии Xilinx 7. Подходит для AI-ассистентов и FPGA-разработчиков.

Установка

terminal
bash
npx skills add https://github.com/cobbpeng/fpga-hardware-design-and-review-guide --skill fpga-hardware-design-guide

README

GitHub license

fpga-hardware-design-and-review-guide

License: MIT

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

Обзор

Это руководство отличается от традиционных туториалов по FPGA. Оно построено на практическом опыте и предоставляет:

  • Проверенные паттерны проектирования, протестированные в реальных проектах
  • Практические решения распространённых проблем
  • Техники отладки, усвоенные на собственных ошибках
  • Конкретные рекомендации по выбору устройств

Ключевые особенности

Основано на реальном опыте — весь контент взят из реальных проектов, а не из теории
Независимое и оригинальное — самодостаточная система, не зависящая от других скиллов
Практическая направленность — конкретные примеры кода и решения
Постоянно обновляется — пополняется с каждым новым проектом

Основное содержание

🎯 SKILL.md — Основное руководство

  • Принципы проектирования конвейерной архитектуры
  • Искусство управления разрядностью
  • Практические техники замыкания таймингов
  • Стратегии оптимизации ресурсов
  • Методы отладки и верификации

📚 Справочная документация

design-patterns.md

Шаблоны практических паттернов проектирования:

  • Многоступенчатый конвейерный паттерн
  • Знаковые арифметические операции
  • Синхронизатор пересечения тактовых доменов (CDC)
  • Простое синхронное FIFO
  • Интерфейс AXI-Stream

troubleshooting.md

Справочник по диагностике проблем:

  • Диагностика и устранение нарушений таймингов
  • Разбор случаев логических ошибок
  • Методы оптимизации ресурсов
  • Техники отладки с помощью ILA

device-selection.md

Руководство по выбору устройств:

  • Сравнение Artix-7 / Kintex-7 / Virtex-7
  • Методы оценки ресурсов
  • Реальные кейсы выбора устройств
  • Советы по оптимизации стоимости

Когда использовать

Используйте этот скилл, когда необходимо:

  1. Проектировать модули FPGA с временны́ми ограничениями
  2. Реализовывать обработку видео или проектировать тракты данных
  3. Оптимизировать использование ресурсов и добиваться замыкания таймингов
  4. Ревьюировать RTL-код на качество аппаратной реализации
  5. Отлаживать проблемы синтеза или имплементации

Установка

bash
npx skills add https://github.com/cobbpeng/fpga-hardware-design-and-review-guide --skill fpga-hardware-design-guide

Примеры использования

Пример 1: Конвейерное проектирование

«Мне нужно спроектировать высокоскоростной FIR-фильтр с 5 ступенями конвейера. Как организовать код?»

Скилл предоставит:

  • Полный шаблон конвейерного кода
  • Пояснение функции каждой ступени
  • Рекомендации по оптимизации таймингов

Пример 2: Проблемы с таймингами

«В отчёте синтеза критический путь составляет 15 нс, цель — 10 нс. Как оптимизировать?»

Скилл предоставит:

  • Анализ возможных причин
  • 3 варианта оптимизации (вставка конвейерных регистров, ретайминг, ручное размещение)
  • Конкретные команды Tcl для ограничений

Пример 3: Выбор устройства

«Строю 4-канальный SDR с частотой дискретизации 50 MSPS на канал — какой FPGA выбрать?»

Скилл предоставит:

  • Расчёт ресурсов (логика, DSP, BRAM)
  • Конкретную рекомендацию (например, XC7K160T)
  • Обоснование выбора и оценку запаса по ресурсам

Разбор проектных кейсов

Опыт, отражённый в руководстве, получен в ходе следующих реальных проектов:

  • Конвертер RGB в YUV — 5-ступенчатый конвейер, управление разрядностью
  • VGA-контроллер — генерация видеотаймингов, управление фреймбуфером
  • FIR-фильтр — оптимизация DSP, хранение коэффициентов
  • AXI-интерфейс — шинный протокол, обработка квитирования

Сравнение с другими скиллами

ХарактеристикаЭтот скиллУниверсальные FPGA-скиллы
Источник контентаРеальный опыт проектовОфициальная документация
Примеры кодаПроверенные реализацииТеоретические примеры
Решение проблемРеальные подводные камниОбщие советы
Руководство по выборуАнализ конкретных случаевТаблицы сравнения параметров

Участие в проекте

Issues и Pull Requests приветствуются!

Если у вас есть:

  • Проблемы и решения из реальных проектов
  • Уникальные техники проектирования
  • Опыт выбора устройств

Пожалуйста, внесите свой вклад в это руководство.

Автор

peng — инженер по аппаратному проектированию FPGA

Специализация:

  • FPGA серии Xilinx 7
  • Обработка видео и изображений
  • Цифровая обработка сигналов
  • Проектирование высокоскоростных интерфейсов

Лицензия

MIT License — подробности в файле LICENSE

Отказ от ответственности

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


Постоянно обновляется...

Похожие скиллы