fpga-systems-meet

FSC - FPGA-Systems Challenge

Главная » Статьи » Tips & Tricks » Среды проектирования
KeisN13
25.10.2025 21:57
498
0
0.0

О чем это всё?

Это небольшой сборник с задачками по работе в Vivado, и больше ориентирован на повышение навыков оптимизации и анализа проектов.

Забудьте про ненавистные VHDL/Verilog/SV!!! В этом челендже они максимально бесполезны. 

Но при этом, нужно хорошо знать архитектурные особенности ПЛИС AMD/Xilinx, команды Vivado и просто тонны прочитанной документации.

Добро пожаловать в самое пекло проектирования на ПЛИС!!!

Не зассал? Тогда попробуй сделать первое задание! Удачи!

 

Подготовка

  1. Склонируйте репозиторий fpga-systems-challenge
  2. Откройте Vivado (GUI или Tcl Shell)
  3. Сделайте source файла setup.tcl : source {путь к fpga-systems-challenge/setup.tcl}
  4. Дождитесь окончания работы скрипта
  5. Можно приступать к заданиям. Необходимые файлы dcp будут в папке fpga-systems-challenge/dcps

 

Задание 001

--> Открыть <--
  1. Откройте design checkpoint fsc_001.dcp
  2. Используя только Tcl команды Vivado необходимо преобразовать цепочку из 8-ми триггеров в один аппаратный сдвиговый регистр.

ЗАПРЕЩЕНО: создавать компоненты самостоятельно через ECO, это задание на post_synth optimisation

Получившиеся варианты команд оставляем в комментариях.

 

 

 

Задание 002

--> Открыть <--
  1. Откройте design checkpoint fsc_002.dcp
  2. Задание такое же как и для 001.  Но команды, которые вы вводили в первом задании не будут работать, без дополнительного исследования схемы и ее объектов. 
  3. Результат должен получиться такой же, 8 регистров, преобразованных в один аппаратный srl.

ЗАПРЕЩЕНО: создавать компоненты самостоятельно через ECO, это задание на post_synth optimisation

 

 

Задание 003

--> Открыть <--
  1. Откройте проект projects/fsc_003
  2. Ваша задача используя только проектные ограничения (xdc) синтезировать проект c размером лутов не больше чем LUT4
  3. Соответствующее проектное ограничение прописать в contr_synth.xdc

ЗАПРЕЩЕНО: 

  1. Изменять исходники на верилог
  2. Изменять настройки синтеза через графический интерфейс
  3. Удалять и создавать элементы через ECO

 

Задание 004

--> Открыть <--
  1. Откройте проект projects/fsc_004.xpr
  2. Ваши задачи:
    1. свести тайминг для схемы, содержащей два тактовых домена (CDC - Clock Domain Crossing) - setup slack на post-synthesis должен быть неотрицательным
    2. Достичь отсутствия каких-либо ошибок в Report CDC - не должно быть Warnings, Critical Warnings, Errors. Разрешается только уровень сообщений Info
    3. Добиться повторяемости проекта! Это означает, что вы должны организовать проект так, что бы вышеперечисленные условия выполнялись при повторном запуске синтеза без дополнительных манипуляций после открытия его результатов. Разрешено только формирование отчетов "Report что-то там"

РАЗРЕШЕНО:

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

ЗАПРЕЩЕНО:

  • Изменять исходный код Verilog
  • Изменять любые настройки синтеза, не относящиеся к подключению файлов
  • Изменять заданные значения периода тактовых сигналов 
  • Применять констрейн set_clock_groups с любыми опциями! <-- Категорически запрещено!!!
  • Применять констрейн set_false_path!  <-- Категорически запрещено!!!
  • Для п.3 - повторяемость результатов синтеза -  после Open Synthesized Design запрещены любые дополнительные манипуляции с нетлистом, объектами и свойствами, кроме создания отчетов

 

498
0
0.0

Всего комментариев : 0
avatar

FPGA-Systems – это живое, постоянно обновляемое и растущее сообщество.
Хочешь быть в курсе всех новостей и актуальных событий в области?
Подпишись на рассылку

ePN