логотип intelAN 987: Часткове статичне оновлення
Навчальний посібник із переналаштування

Підручник із часткової реконфігурації статичного оновлення для плати розробки FPGA Intel® ™ Agilex серії F

Ця примітка до програми демонструє часткову реконфігурацію статичного оновлення (SUPR) на платі розробки Intel ® F-Series FPGA. Часткова реконфігурація (PR) дозволяє динамічно реконфігурувати частину Intel FPGA, тоді як решта FPGA продовжує працювати. PR реалізує кілька персонажів у певному регіоні у вашому дизайні, не впливаючи на роботу в областях за межами цього регіону. Ця методологія забезпечує наступні перевагиtages в системах, в яких кілька функцій розподіляють час ті самі ресурси FPGA:

  • Дозволяє реконфігурацію під час виконання
  • Збільшує масштабованість дизайну
  • Зменшує час простою системи
  • Підтримує динамічні функції часового мультиплексування в дизайні
  • Знижує вартість і енергоспоживання за рахунок ефективного використання простору на платі

Що таке статичне оновлення, часткова реконфігурація?

У традиційному PR будь-яка зміна статичного регіону вимагає перекомпіляції кожної персони. Однак за допомогою SUPR ви можете визначити спеціалізований регіон, який дозволяє змінювати, не вимагаючи повторної компіляції персон. Ця техніка корисна для частини проекту, яку ви, можливо, захочете змінити для зменшення ризику, але яка ніколи не потребує реконфігурації середовища виконання.

1.1. Вимоги до підручника
Цей підручник вимагає наступного:

  • Базове знайомство з процесом впровадження та проектом Intel Quartus® Prime Pro Edition FPGA files.
  •  Встановлення Intel Quartus Prime Pro Edition версії 22.3 із підтримкою пристроїв Intel Agilex.
  • Для реалізації FPGA, JTAG з’єднання з платою розробки FPGA Intel Agilex серії F на робочому столі.
  • Завантажити еталонний дизайн Fileс. Пов'язана інформація
  • Посібник користувача з часткової переналаштування
  • Підручники з часткової реконфігурації
  • Онлайн-тренінг із часткової реконфігурації

Корпорація Intel. Всі права захищені. Intel, логотип Intel та інші знаки Intel є товарними знаками корпорації Intel або її дочірніх компаній. Intel гарантує роботу своїх FPGA та напівпровідникових продуктів відповідно до поточних специфікацій відповідно до стандартної гарантії Intel, але залишає за собою право вносити зміни в будь-які продукти та послуги в будь-який час без попередження. Корпорація Intel не бере на себе жодної відповідальності чи зобов’язань, що виникають у зв’язку із застосуванням або використанням будь-якої інформації, продукту чи послуги, описаних у цьому документі, за винятком випадків, чітко наданих корпорацією Intel у письмовій формі. Клієнтам Intel рекомендується отримати останню версію специфікацій пристрою, перш ніж покладатися на будь-яку опубліковану інформацію та перед тим, як розміщувати замовлення на продукти чи послуги. *Інші назви та бренди можуть бути власністю інших осіб.
ISO 9001: 2015 Зареєстровано
1.2. Еталонний дизайн завершеноview
Цей еталонний дизайн складається з одного 32-розрядного лічильника. На рівні плати конструкція підключає годинник до джерела 50 МГц, а потім підключає вихід до чотирьох світлодіодів на платі. Вибір виходу бітів лічильника в певній послідовності змушує світлодіоди блимати з певною частотою. Модуль top_counter — це область SUPR.
Малюнок 1. Плоский еталонний дизайн

логотип intel1.3. Область статичного оновлення завершенаview
На наступному малюнку показано блок-схему PR-дизайну, який включає область SUPR. Блок A — це верхня статична область. Блок B – регіон SUPR. Блок C - це PR-розділ.
Малюнок 2. PR-дизайн з регіоном SUPR

Intel Agilex F-Series FPGA Плата розробки – регіон

  • Верхня статична область — містить логіку проектування, яка не змінюється. Зміна цього регіону вимагає перекомпіляції всіх пов’язаних персонажів. Статична область включає частину дизайну, яка не змінюється для жодної персони. Цей регіон може включати ресурси периферійних і основних пристроїв. Необхідно зареєструвати всі зв’язки між розділами SUPR і PR у статичній області. Ця вимога допомагає забезпечити закриття часу для будь-яких персон щодо статичної області.
  • B Регіон SUPR — містить логіку лише для ядра, яка, можливо, може змінюватися для зменшення ризику, але ніколи не потребує реконфігурації середовища виконання. До регіону СУПР діють такі ж вимоги та обмеження, як до розділу ПР. Розділ SUPR може містити лише основні ресурси. Таким чином, розділ SUPR має бути дочірнім розділом кореневого розділу верхнього рівня, який містить периферію дизайну та годинники. Зміна області SUPR створює об’єкт SRAM File (.sof), який сумісний з усіма існуючими скомпільованими вихідними файлами File (.rbf) files для PR-розділу C.
  • Розділ C PR — містить довільну логіку, яку ви можете перепрограмувати під час виконання з будь-якою логікою проекту, яка відповідає та досягає закриття часу під час компіляції.

1.4. Завантажити еталонний дизайн Files
Посібник із часткової переналаштування доступний у такому місці: https://github.com/intel/fpga-partial-reconfig
Щоб завантажити підручник:

  1. Натисніть Клонувати або завантажити.
  2. Натисніть Завантажити ZIP. Розпакуйте файл fpga-partial-reconfig-master.zip file.
  3. Перейдіть до підпапки tutorials/agilex_pcie_devkit_blinking_led_supr, щоб отримати доступ до еталонного дизайну.
    Плоска папка складається з наступного files:
    Таблиця 1. Еталонний дизайн Files
File Ім'я опис
зверху. св Найвищий рівень file містить плоску реалізацію дизайну. Цей модуль створює підрозділ blinking_led і модуль top_counter.
t op_counter . св 32-розрядний лічильник верхнього рівня, який безпосередньо керує LED [1]. Зареєстрований вихід лічильника керує світлодіодом [0], а також живить світлодіод [2] і світлодіод [3] через модуль blinking_led.
blinking_led. sdc Визначає часові обмеження для проекту.
blinking_led. св У цьому посібнику ви перетворюєте цей модуль на батьківський PR-розділ. Модуль отримує зареєстрований вихід модуля top_counter, який керує LED [2] і LED [3].
blinking_led.qpf Проект Intel Quartus Prime file містить список усіх змін у проекті.
blinking_led . qs f Налаштування Intel Quartus Prime file містить призначення та налаштування для проекту.

Примітка: Папка supr містить повний набір fileякі ви створюєте за допомогою цієї програми примітка. Посилання на ці files у будь-який момент проходження.
1.5. Покрокове керівництво еталонним дизайном
Наступні кроки описують реалізацію SUPR із плоским дизайном:

  • Крок 1: Початок роботи
  • Крок 2: Створіть дизайнерські розділи
  • Крок 3: розподіліть області розміщення та маршрутизації
  • Крок 4: Визначте персони
  • Крок 5: Створіть версії
  • Крок 6: Скомпілюйте базову версію
  • Крок 7: Налаштуйте ревізії впровадження PR
  • Крок 8: Змініть логіку SUPR
  • Крок 9: Програмуйте дошку

Рисунок 3. Потік компіляції SUPR

Intel Agilex F-Series FPGA Плата розробки - Flow

1.5.1. Крок 1: Початок роботи
Копіювати еталонний дизайн files у ваше робоче середовище та скомпілюйте плоский дизайн blinking_led:

  1. Перш ніж почати, завантажте еталонний дизайн Files на сторінці 5.
  2. Створіть каталог agilex_pcie_devkit_blinking_led_supr у своєму робочому середовищі.
  3. Скопіюйте завантажену підпапку tutorials/agilex_pcie_devkit_blinking_led/flat до каталогу agilex_pcie_devkit_blinking_led_supr.
  4. У програмному забезпеченні Intel Quartus Prime Pro Edition натисніть File ➤ Відкрийте Project і відкрийте /flat/blinking_led.qpf.
  5. Щоб скомпілювати базовий дизайн, натисніть «Обробка» ➤ «Почати компіляцію». Звіти Timing Analyzer відкриваються автоматично після завершення компіляції. Наразі можна закрити аналізатор часу.

1.5.2. Крок 2: Створіть дизайнерські розділи
Створіть розділи дизайну для кожної області, яку потрібно частково змінити. Ви можете створити будь-яку кількість незалежних розділів або PR-регіонів у своєму проекті. Виконайте такі дії, щоб створити розділи дизайну для екземпляра u_blinking_led як розділу PR та екземпляра u_top_counter як регіону SUPR:

  1. Клацніть правою кнопкою миші екземпляр u_blinking_led у навігаторі проектів і виберіть «Дизайн розділу».
    ➤ Реконфігурація. Біля кожного екземпляра, встановленого як розділ, з’являється піктограма дизайну розділу.
    Малюнок 4. Створення дизайн-розділівРозробна плата Intel Agilex F-серії FPGA – розділи
  2. Повторіть крок 1, щоб створити розділ для екземпляра u_top_counter.
  3. Натисніть «Призначення» ➤ «Дизайн вікна розділів». У вікні відображаються всі розділи дизайну в проекті.
    Малюнок 5. Вікно проектування розділів
    Intel Agilex F-Series FPGA Плата розробки – вікно
  4. Двічі клацніть blinking_led Partition Name клітинку, щоб перейменувати її на pr_partition. Так само перейменуйте розділ top_counter на supr_partition.
    Крім того, додавання таких рядків до blinking_led.qsf створює ці розділи:
    set_instance_assignment -name PARTITION pr_partition \ -to u_blinking_led -entity top
    set_instance_assignment -name PARTIAL_RECONFIGURATION_PARTITION ON \ -to u_blinking_led -entity top
    set_instance_assignment -name PARTITION supr_partition \ -to u_top_counter -entity top
    set_instance_assignment -name PARTIAL_RECONFIGURATION_PARTITION ON \ -to u_top_counter -entity top

1.5.3. Крок 3: розподіліть області розміщення та маршрутизації
Для кожної базової версії, яку ви створюєте, компілятор використовує виділення області PR-розділу, щоб розмістити відповідне ядро ​​персонажа в зарезервованій області. Виконайте такі кроки, щоб знайти та призначити область PR на плані пристрою для вашої базової версії:

  1. На вкладці «Ієрархія навігатора проекту» клацніть правою кнопкою миші екземпляр u_blinking_led, а потім виберіть «Область блокування логіки» ➤ «Створити нову область блокування логіки». Область з’явиться у вікні Logic Lock Regions.
  2. Укажіть ширину області 5 і висоту 5.
  3. Вкажіть координати області розміщення для u_blinking_led у стовпці Origin. Початкова точка відповідає нижньому лівому куту області. Укажіть походження як X166_Y199. Компілятор обчислює (X170 Y203) як верхню праву координату.
  4. Увімкніть параметри Reserved і Core-Only для регіону.
  5. Двічі клацніть опцію Routing Region. З’явиться діалогове вікно Logic Lock Routing Region Settings.
  6. Для типу маршрутизації виберіть Фіксований із розширенням. Ця опція автоматично призначає довжину розширення, що дорівнює одиниці.
  7. Повторіть попередні кроки, щоб виділити такі ресурси для розділу u_top_counter:
    • Висота—5
    • Ширина—5
    • Походження—X173_Y199
    • Регіон маршрутизації — виправлено за допомогою розширення з довжиною розширення, що дорівнює одиниці.
    • Зарезервовано — увімк
    • Лише ядро ​​— увімк
    Малюнок 6. Вікно регіонів блокування логіки
    Плата розробки FPGA intel Agilex серії F – вікно регіонів
    Примітка: Область маршрутизації має бути більшою за область розміщення, щоб забезпечити додаткову гнучкість для маршрутизації компілятораtage, коли компілятор направляє різні особи.
  8. Ваша область розміщення має включати логіку blinking_led. Щоб вибрати область розміщення, знайшовши вузол у Chip Planner, клацніть правою кнопкою миші назву області u_blinking_led у вікні Logic Lock Regions, а потім натисніть «Locate Node» ➤ Locate in Chip Planner.
  9.  У розділі Partition Reports двічі клацніть Report Design Partitions. Планувальник мікросхем підсвічує регіон і позначає його кольором.

Малюнок 7. Розташування вузла планувальника мікросхем для blinking_led
Intel Agilex F-Series FPGA Плата розробки - blinking_ledКрім того, додавання таких рядків до blinking_led.qsf створює ці області:
set_instance_assignment -name PARTITION pr_partition -to \ u_blinking_led -entity top
set_instance_assignment -name PARTIAL_RECONFIGURATION_PARTITION ON \ -to u_blinking_led -entity top
set_instance_assignment -name PARTITION supr_partition -to u_top_counter \ -entity top
set_instance_assignment -name PARTIAL_RECONFIGURATION_PARTITION ON -to \ u_top_counter -entity top
set_instance_assignment -name PLACE_REGION “X166 Y199 X170 Y203” -to \ u_blinking_led
set_instance_assignment -name RESERVE_PLACE_REGION ON -to u_blinking_led
set_instance_assignment -name CORE_ONLY_PLACE_REGION ON -to u_blinking_led
set_instance_assignment -name REGION_NAME pr_partition -to u_blinking_led
set_instance_assignment -name ROUTE_REGION “X165 Y198 X171 Y204” -to \ u_blinking_led
set_instance_assignment -name RESERVE_ROUTE_REGION OFF -to u_blinking_led
set_instance_assignment -name PLACE_REGION “X173 Y199 X177 Y203” -to \ u_top_counter
set_instance_assignment -name RESERVE_PLACE_REGION ON -to u_top_counter
set_instance_assignment -name CORE_ONLY_PLACE_REGION ON -to u_top_counter
set_instance_assignment -name REGION_NAME supr_partition -to u_top_counter
set_instance_assignment -name ROUTE_REGION “X172 Y198 X178 Y204” -to \ u_top_counter
set_instance_assignment -name RESERVE_ROUTE_REGION OFF -to u_top_counter
1.5.4. Крок 4: Визначте персони

Цей еталонний дизайн визначає три окремі персони для єдиного розділу PR та одну персону SUPR для регіону SUPR. Виконайте ці кроки, щоб визначити та включити цих персонажів у свій проект. Якщо ви використовуєте текстовий редактор Intel Quartus Prime, вимкніть Add file
до поточного проекту під час збереження files.

  1. Створіть новий blinking_led_slow.sv, blinking_led_empty.sv і top_counter_fast.sv SystemVerilog files у вашому робочому каталозі. Переконайтеся, що blinking_led.sv уже присутній у робочому каталозі.
  2.  Введіть наступний вміст для SystemVerilog files:
    Таблиця 2. Еталонний дизайн Personas SystemVerilog
    File Ім'я опис Код
    blinking_led_slow. св Світлодіоди блимають повільніше шкала часу 1 пс / 1 пс 'default_nettype немає
    модуль blinking_led_slow // годинник
    годинник вхідного дроту, скидання вхідного дроту, вхідний дріт [лічильник 31:01,
    // Сигнали керування для вихідного проводу світлодіодів led_two_on,
    вихідний провід led_three_on localparam COUNTER_TAP = 27;
    reg led_two_on_r; ніжка led_три_на_р; призначити led_two_on = led_two_on_r; призначити led_three_on = led_three_on_r; always_ff @(posedge clock) begin led_two_on_r <= counter[COUNTER_TAP]; led_three_on_r <= counter[COUNTER_TAP]; кінцевий кінцевий модуль
    миготливий_світлодіод_порожній. св Світлодіоди залишаються увімкненими timescale 1 ps / 1 ps 'default_nettype none module blinking_led_empty( // годинник вхідний дріт годинник, вхідний дріт скидання, вхідний дріт [31:01 лічильник, // Керуючі сигнали для LEC- вихідний дріт led_two_on, вихідний дріт led_three_on
    продовження...
    File Ім'я опис Код
    // Світлодіод активний низький assign led_two_on = l'IDO; призначити led_three_on = 11b0; кінцевий модуль
    top_counter_fast.sv Другий СУПР 'шкала часу 1 пс / 1 пс
    персона Thdefault_nettype немає модуля top_counter_fast
    // Керуючі сигнали для світлодіодів вихідний дріт led_one_on, вихідний дріт [31:0] кількість, // годинник вхідний дріт годинник
    ) ; localparam COUNTER TAP = 23; reg [31:0] count_d; присвоїти count = count_d; призначити led_one_on = ount_d[COUNTER_TAP]; always_ff @(posedge clock) begin count_d <= count_d + 2; кінець
    .:модуль
  3.  Натисніть File ➤ Зберегти як і зберегти файл .sv files у поточному каталозі проекту.

1.5.5. Крок 5: Створіть версії
Потік PR-проектування використовує функцію перегляду проекту в програмному забезпеченні Intel Quartus Prime. Ваш початковий проект є базовою версією, де ви визначаєте межі статичної області та реконфігуровані області на FPGA. З базової версії ви створюєте додаткові версії. Ці редакції містять різні реалізації для регіонів PR. Однак усі версії реалізації PR використовують однакові результати розміщення верхнього рівня та маршрутизації з базової версії. Щоб скласти PR-дизайн, ви створюєте версію впровадження PR для кожної персони. Крім того, ви повинні призначити тип версії «Часткова реконфігурація – базова» або «Часткова реконфігурація – реалізація особи» для кожної з версій. У наведеній нижче таблиці наведено назву версії та тип версії для кожної з версій. Редакція impl_blinking_led_supr_new.qsf є реалізацією особи SUPR.
Таблиця 3. Назви та типи версій

Назва версії Тип перегляду
blinking_led Часткова реконфігурація – База
blinking_led_default Часткова реконфігурація – Реалізація Persona
blinking_led_slow Часткова реконфігурація – Реалізація Persona
миготливий_світлодіод_порожній Часткова реконфігурація – Реалізація Persona
impl_blinking_led_supr_new Часткова реконфігурація – Реалізація Persona

1.5.5.1. Встановлення базової версії
Виконайте такі кроки, щоб встановити blinking_led як базову версію:

  1. Натисніть «Проект» ➤ «Редакції».
  2. Для типу версії виберіть Часткова реконфігурація – База.

Intel Agilex F-Series FPGA Плата розробки – РевізіїЦей крок додає наступне до blinking_led.qsf:
##blinking_led.qsf set_global_assignment -name REVISION_TYPE PR_BASE
1.5.5.2. Створення версій впровадження
Виконайте такі дії, щоб створити версії реалізації:

  1. У діалоговому вікні Редакції двічі клацніть < >.
  2. У полі «Назва версії» вкажіть blinking_led_default і виберіть blinking_led для «На основі версії».
  3. Для типу перегляду виберіть Часткова реконфігурація – Реалізація особи.
  4. Вимкніть опцію Установити як поточну версію.
  5. Повторіть кроки 2–5, щоб установити тип версії для інших версій реалізації:
Назва версії Тип перегляду На основі Revision
blinking_led_slow Часткова реконфігурація – Реалізація Persona blinking_led
миготливий_світлодіод_порожній Часткова реконфігурація – Реалізація Persona blinking_led
impl_blinking_led_supr_new Часткова реконфігурація – Реалізація Persona blinking_led

Рисунок 8. Створення версій впровадження

Intel Agilex F-Series FPGA Development Board – Редакції реалізаціїКожен .qsf file тепер містить таке призначення:
set_global_assignment -name REVISION_TYPE PR_IMPL
set_instance_assignment -name ENTITY_REBINDING place_holder -to u_top_counter
set_instance_assignment -name ENTITY_REBINDING place_holder -to u_blinking_led
1.5.6. Крок 6: Скомпілюйте базову версію
Виконайте такі кроки, щоб скомпілювати базову редакцію та експортувати статичні та SUPR-регіони для подальшого використання в ревізіях впровадження для нових PR-персон:

  1. Встановіть blinking_led як поточну версію, якщо ще не встановлено.
  2. У вікні «Дизайн розділів» клацніть (…) поруч із найдальшим правим стовпцем і ввімкніть «Останній експорт». File колонка. Ви також можете вимкнути або змінити порядок стовпців.
  3. Щоб автоматично експортувати остаточний знімок розділів дизайну впровадження PR після кожної компіляції, укажіть наступне для Post Final Export File параметри для кореневого та SUPR розділів. .qdb files експортувати до каталогу проекту за замовчуванням.
    • root_partition—blinking_led_static.qdb
    • supr_partition—миготливий_LED_supr_partition_final.qdb
    Рисунок 9. Автоматичний експорт у вікні Design PartitionsIntel Agilex F-Series FPGA Плата розробки – вікно розділівКрім того, наступні призначення .qsf експортують розділи автоматично після кожної компіляції:
    set_instance_assignment -name EXPORT_PARTITION_SNAPSHOT_FINAL \ blinking_led_static.qdb -to | - вершина сутності
    set_instance_assignment -name EXPORT_PARTITION_SNAPSHOT_FINAL \ blinking_led_supr_partition_final.qdb -to u_top_counter \ -entity top
  4. Щоб скомпілювати базову версію blinking_led, клацніть Обробка ➤ Почати
    Компіляція. Крім того, ви можете використати наступну команду для компіляції цієї версії:
    quartus_sh –flow compile blinking_led -c blinking_led Після успішної компіляції наступне files відображаються в каталозі проекту:
    • blinking_led.sof
    • blinking_led.pr_partition.rbf
    • blinking_led.supr_partition.rbf
    • blinking_led_static.qdb
    • blinking_led_supr_partition_final.qdb

1.5.7. Крок 7: Налаштуйте перегляди впровадження PR
Перш ніж генерувати бітовий потік PR для програмування пристрою, ви повинні підготувати редакції реалізації PR. Це налаштування включає додавання статичного регіону .qdb file як джерело file для кожного перегляду впровадження. Крім того, необхідно вказати
відповідний суб'єкт регіону ПР. Виконайте такі кроки, щоб налаштувати версії впровадження PR:

  1.  Щоб встановити поточну версію, клацніть «Проект» ➤ «Редакції», виберіть blinking_led_default як ім’я версії, а потім натисніть «Установити поточну». Крім того, ви можете вибрати поточну версію на головній панелі інструментів Intel Quartus Prime.
  2. Щоб перевірити правильне джерело для цієї версії впровадження, натисніть «Проект» ➤ «Додати/видалити». Files у проекті. Переконайтеся, що blinking_led.sv file з'являється в file список.Розробна плата intel Agilex F-серії FPGA – вікно розділів 1
  3. Щоб перевірити правильність джерела file щоб переглянути версії реалізації, натисніть «Проект» ➤ «Додати/видалити». files у Project і додайте наступне джерело files для перегляду впровадження. Якщо є, видаліть blinking_led.sv зі списку проектів files.
    IІм'я версії імплементації Джерело File
    миготливий_світлодіод_порожній blinking_led_empty.sv
    blinking_led_slow blinking_led_slow.sv
  4. Установіть blinking_led_default як поточну версію.
  5. Щоб указати .qdb file як джерело root_partition клацніть «Призначення» ➤ «Дизайн розділів вікна». Двічі клацніть розділ бази даних File і вкажіть blinking_led_static.qdb file.
  6. Так само вкажіть blinking_led_supr_partition_final.qdb як базу даних розділів File для supr_partition.

    малюнок 10.Intel Agilex F-Series FPGA Development Board - уточнКрім того, використовуйте такі призначення .qsf, щоб указати .qdb:
    set_instance_assignment -name QDB_FILE_ПОДІЛ \ blinking_led_static.qdb -to |
    set_instance_assignment -name QDB_FILE_PARTITION \ blinking_led_supr_partition_final.qdb -to u_top_counter

  7. У вікні «Дизайн розділів» клацніть (…) поруч із найдальшим правим стовпцем і ввімкніть стовпець «Повторне прив’язування сутності».
  8.  У комірці «Повторне прив’язування сутності» вкажіть нове ім’я сутності для розділу PR, який ви змінюєте в поточній версії впровадження. Для версії реалізації blinking_led_default назва сутності blinking_led. У цьому випадку ви перезаписуєте екземпляр u_blinking_led із компіляції базової версії новою сутністю blinking_led. Інші версії впровадження див. у наведеній нижче таблиці.

    Ревізія Значення повторного зв’язування сутності
    blinking_led_slow blinking_led_slow
    миготливий_світлодіод_порожній миготливий_світлодіод_порожній

    Рисунок 11. Перезв’язування сутностіРозробна плата Intel Agilex F-серії FPGA – перезв’язуванняКрім того, ви можете використовувати такі рядки в .qsf кожної версії, щоб установити призначення:
    ##blinking_led_default.qsf
    set_instance_assignment -name ENTITY_REBINDING blinking_led \ -to u_blinking_led
    ##blinking_led_slow.qsf
    set_instance_assignment -name ENTITY_REBINDING blinking_led_slow \ -to u_blinking_led
    ##blinking_led_empty.qsf
    set_instance_assignment -name ENTITY_REBINDING blinking_led_empty \ -to u_blinking_led

  9. Видаліть текст place_holder з клітинки Entity Re-binding для supr_partition.
  10. Щоб скомпілювати дизайн, натисніть «Обробка» ➤ «Почати компіляцію». Крім того, скористайтеся такою командою для компіляції цього проекту: quartus_sh –flow compile blinking_led –c blinking_led_default
  11. Повторіть кроки з 4 по 11, щоб підготувати та скомпілювати версії реалізації blinking_led_slow і blinking_led_empty.

1.5.8. Крок 8: Змініть логіку SUPR
Щоб змінити функціональність логіки в розділі SUPR, потрібно змінити джерело розділу SUPR. Виконайте наступні дії, щоб замінити екземпляр u_top_counter у розділі SUPR на сутність top_counter_fast.

  1. Щоб установити версію реалізації SUPR як поточну, клацніть «Проект» ➤ «Редакції» та встановіть impl_blinking_led_supr_new як поточну версію або виберіть
    на головній панелі інструментів Intel Quartus Prime.
  2. Щоб перевірити правильність джерела file для перегляду реалізації натисніть «Проект» ➤
    Додати/Видалити files у проекті та переконайтеся, що top_counter_fast.sv є джерелом для версії реалізації impl_blinking_led_supr_new. Якщо є, видаліть top_counter.sv зі списку проекту files.Intel Agilex F-Series FPGA Плата розробки – завдання
  3. Щоб указати .qdb file пов’язаний із кореневим розділом, натисніть «Призначення» ➤ «Вікно «Дизайн розділів», а потім двічі клацніть «База даних розділів». File комірку для визначення blinking_led_static.qdb.
    Або скористайтеся наступною командою, щоб призначити це file: set_instance_assignment -name QDB_FILE_ПОДІЛ \ blinking_led_static.qdb -to |
  4. У комірці «Повторне прив’язування сутності» для pr_partition укажіть відповідне ім’я сутності. Для цього ексample, вкажіть сутність blinking_led_empty. У цьому випадку ви перезаписуєте екземпляр u_blinking_led із компіляції базової версії новим об’єктом linking_led_empty. У .qsf тепер існує такий рядок:
    ##impl_blinking_led_supr_new.qsf set_instance_assignment -name ENTITY_REBINDING blinking_led_empty \ -to u_blinking_led
  5. У комірці Entity Re-binding для supr_partition укажіть сутність top_counter_fast. top_counter_fast — це ім’я статичної сутності, яка замінює u_top_counter, коли ви завершуєте SUPR.Intel Agilex F-Series FPGA Development Board - SUPR##impl_blinking_led_supr_new.qsf set_instance_assignment -name ENTITY_REBINDING top_counter_fast \ -to u_top_counter
  6. Щоб скомпілювати дизайн, натисніть «Обробка» ➤ «Почати компіляцію». Крім того, скористайтеся такою командою для компіляції цієї версії проекту: quartus_sh –flow compile blinking_led –c \ impl_blinking_led_supr_new

1.5.9. Крок 9: Програмуйте дошку
Виконайте ці дії, щоб підключити та запрограмувати плату розробки Intel Agilex F-Series FPGA.

  1. Підключіть джерело живлення до плати розробки Intel Agilex F-Series FPGA.
  2. Підключіть USB-кабель до USB-порту комп’ютера та програмного забезпечення USB на платі розробки.
  3. Відкрийте програмне забезпечення Intel Quartus Prime і натисніть «Інструменти» ➤ «Програматор». Зверніться до розділу Програмування плати розробки.
  4. У «Програматорі» клацніть «Налаштування обладнання», а потім виберіть «USB-Blaster».
  5. Натисніть «Автоматичне визначення», а потім виберіть пристрій AGFB014R24B.
  6.  Натисніть OK. Програмне забезпечення Intel Quartus Prime виявляє та оновлює програматор із трьома пристроями FPGA на платі.
  7.  Виберіть пристрій AGFB014R24B, натисніть «Змінити». Fileі завантажте файл blinking_led_default.sof file.
  8. Увімкнути програму/налаштувати для blinking_led_default.sof file.
  9. Натисніть «Пуск» і дочекайтеся, поки індикатор досягне 100%.
  10.  Спостерігайте за блиманням світлодіодів на платі.
  11. Щоб запрограмувати лише область PR, клацніть правою кнопкою миші blinking_led_default.sof file у програмі та клацніть «Додати PR-програмування». File. Виберіть blinking_led_slow.pr_partition.rbf file.
  12. Вимкніть програму/конфігурацію для blinking_led_default.sof file.
  13.  Увімкнути програму/налаштувати для blinking_led_slow.pr_partition.rbf file, а потім натисніть кнопку Пуск. Подивіться, що на платі світлодіоди [0] і [1] продовжують блимати. Коли індикатор прогресу досягає 100%, світлодіоди [2] і світлодіоди [3] блимають повільніше.
  14. Щоб перепрограмувати область PR, клацніть правою кнопкою миші .rbf file у Програматорі, а потім клацніть «Змінити PR-програмування». File.
  15.  Виберіть файл .rbf files для двох інших персонажів спостерігати за поведінкою на дошці. Завантаження blinking_led_default.pr_partition.rbf file змушує світлодіоди блимати з початковою частотою та завантажує blinking_led_empty.pr_partition.rbf file змушує світлодіоди залишатися увімкненими. 17. Щоб змінити логіку SUPR, повторіть крок 7 вище, щоб вибрати impl_blinking_led_supr_new.sof. Після зміни цього file, індикатор [0:1] тепер блимає швидше, ніж раніше. Інший PR .rbf files також сумісні з новим .sof.
    Примітка: Асемблер генерує .rbf file для області СУПР. Однак не варто цим користуватися file щоб перепрограмувати FPGA під час виконання, оскільки розділ SUPR не створює екземпляр мосту заморожування, контролера області PR та іншої логіки в загальній системі. Коли ви вносите зміни в логіку розділу SUPR, ви повинні перепрограмувати повний .sof file зі збірки переглядів реалізації SUPR.

Рисунок 12. Програмування плати розробки
intel Agilex F-Series FPGA Development Board - плата1.5.9.1. Усунення помилок програмування PR
Забезпечення належного налаштування програматора Intel Quartus Prime і підключеного обладнання допомагає уникнути будь-яких помилок під час програмування PR.
Якщо ви зіткнулися з будь-якими помилками програмування PR, зверніться до розділу «Усунення помилок програмування PR» у посібнику користувача Intel Quartus Prime Pro Edition: часткова реконфігурація, щоб отримати покрокові поради щодо усунення несправностей.
Пов'язана інформація

Усунення помилок програмування PR

1.5.10. Зміна розділу SUPR
Ви можете змінити існуючий розділ SUPR. Після зміни розділу SUPR ви повинні скомпілювати його, згенерувати файл .sof file, і запрограмуйте дошку, не компілюючи інших персонажів. наприкладample, виконайте такі дії, щоб змінити модуль top_counter_fast.sv на швидший підрахунок:

  1. Встановіть impl_blinking_led_supr_new як поточну версію.
  2.  У top_counter_fast.sv file, замініть оператор count_d + 2 на count_d + 4.
  3.  Виконайте наступні команди, щоб повторно синтезувати блок SUPR і створити новий .sof file: quartus_sh –flow compile blinking_led \ -c impl_blinking_led_supr_new
    Отриманий .sof тепер містить нову область SUPR і використовує blinking_led для персонажа за замовчуванням (увімкнення).

1.6. Історія версій документа AN 987: Статичне оновлення Часткова реконфігурація Підручник Історія версій

Версія документа Версія Intel Quartus Prime Зміни
2022.10.24 22. Початковий випуск документа.

Оновлено для Intel® Quartus®Prime Design Suite: 22.3

Відповіді на найпопулярніші запитання:

Надіслати відгук

Q Що таке статичне оновлення, часткова реконфігурація

Часткова реконфігурація статичного оновлення на сторінці 3

П. Що мені потрібно для цього підручника?

Вимоги до посібника на сторінці 3

П. Де я можу отримати еталонний дизайн?

Завантажити еталонний дизайн Files на сторінці 5

П. Як створити дизайн SUPR?

Покрокова інструкція з еталонного дизайну на сторінці 6

П. Що таке PR-персона?

Визначення персонажів на сторінці 10

П. Як змінити логіку SUPR? A Змініть логіку SUPR на сторінці 16

A Змініть логіку SUPR на сторінці 16

П. Як запрограмувати дошку?

A Запрограмуйте дошку на сторінці 18

З. Які відомі проблеми та обмеження PR?

Форум підтримки Intel FPGA: PR

Intel Agilex F-Series FPGA Плата розробки - значок Онлайн-версія
Intel Agilex F-Series FPGA Development Board - Icon 154 Надіслати відгук

ID: 749443
АН-987
Версія: 2022.10.24

Документи / Ресурси

Intel Agilex F-Series FPGA Плата розробки [pdfПосібник користувача
Agilex F-Series, Agilex F-Series FPGA Board Development, FPGA Development Board, Development Board, Board

Список літератури

Залиште коментар

Ваша електронна адреса не буде опублікована. Обов'язкові поля позначені *