Microsemi AC490 RTG4 FPGA: Створення підсистеми процесора Mi-V
Історія версій
Історія переглядів описує зміни, внесені в документ. Зміни перераховані за версіями, починаючи з останньої публікації.
Редакція 3.0
Нижче наведено підсумок змін, внесених у цій редакції.
- Оновлено документ для Libero SoC v2021.2.
- Оновлено малюнок 1, сторінка 3 до малюнка 3, сторінка 5.
- Замінено малюнок 4, сторінка 5, малюнок 5, сторінка 7 і малюнок 18, сторінка 17.
- Оновлено таблицю 2, сторінка 6 і таблицю 3, сторінка 7.
- Додано Додаток 1: Програмування пристрою за допомогою FlashPro Express, сторінка 14.
- Додано Додаток 3: Запуск сценарію TCL, сторінка 20.
- Видалено посилання на номери версій Libero.
Редакція 2.0
Нижче наведено підсумок змін, внесених у цю версію.
- Додано інформацію про вибір COM-порту в розділі Налаштування апаратного забезпечення, сторінка 9.
- Оновлено спосіб вибору відповідного COM-порту в розділі «Запуск демонстрації», сторінка 11.
Редакція 1.0
Перша публікація документа.
Створення підсистеми процесора Mi-V
Microchip пропонує процесор Mi-V IP, 32-розрядний процесор RISC-V і програмний інструментарій для розробки проектів на основі процесорів RISC-V. RISC-V, стандартна відкрита архітектура набору інструкцій (ISA) під керуванням RISC-V Foundation, пропонує численні переваги, зокрема можливість спільноті з відкритим кодом тестувати та вдосконалювати ядра швидше, ніж закриті ISA.
RTG4® FPGA підтримують програмний процесор Mi-V для запуску програм користувача. У цій нотатці про програму описано, як побудувати підсистему процесора Mi-V для виконання програми користувача з призначеної RAM-пам’яті або пам’яті DDR.
Вимоги до дизайну
У наступній таблиці наведено вимоги до апаратного та програмного забезпечення для запуску демонстрації.
Таблиця 1 • Вимоги до проектування
програмне забезпечення
- Libero® System-on-Chip (SoC)
- FlashPro Express
- SoftConsole
Примітка: Зверніться до readme.txt file передбачені в конструкції files для версій програмного забезпечення, що використовується з цим еталонним дизайном.
Примітка: Libero SmartDesign і знімки екрана конфігурації, показані в цьому посібнику, наведені лише для ілюстрації.
Відкрийте дизайн Libero, щоб побачити останні оновлення.
передумови
Перш ніж почати:
- Завантажте та встановіть Libero SoC (як зазначено в webсайт для цього дизайну) на головному ПК з такого розташування: https://www.microsemi.com/product-directory/design-resources/1750-libero-soc
- Для демонстраційного дизайну fileпосилання для завантаження: http://soc.microsemi.com/download/rsc/?f=rtg4_ac490_df
Опис дизайну
Розмір RTG4 μPROM становить 57 КБ. Програми користувача, які не перевищують розмір μPROM, можна зберігати в μPROM і виконувати з внутрішньої пам’яті великого розміру SRAM (LSRAM). Програми користувача, які перевищують розмір μPROM, повинні зберігатися у зовнішній енергонезалежній пам’яті. У цьому випадку потрібен завантажувач, який виконується з μPROM, щоб ініціалізувати внутрішню або зовнішню пам’ять SRAM за допомогою цільової програми з енергонезалежної пам’яті.
Еталонний дизайн демонструє здатність завантажувача копіювати цільову програму (розміром 7 КБ) із флеш-пам’яті SPI у пам’ять DDR і виконувати її з пам’яті DDR. Завантажувач виконується з внутрішньої пам'яті. Секція коду розташована в μPROM, а секція даних розташована у внутрішній великій SRAM (LSRAM).
Примітка: Для отримання додаткової інформації про те, як створити проект Libero завантажувача Mi-V і як створити проект SoftConsole, зверніться до TU0775: PolarFire FPGA: Посібник зі створення підсистеми процесора Mi-V
На малюнку 1 показана блок-схема дизайну верхнього рівня.
Рисунок 1 • Блок-схема верхнього рівня
Як показано на малюнку 1, наступні пункти описують потік даних проекту:
- Процесор Mi-V виконує завантажувач із μPROM і призначених LSRAM. Завантажувач взаємодіє з графічним інтерфейсом через блок CoreUARTapb і очікує на команди.
- Коли з графічного інтерфейсу користувача надходить команда програми флеш-пам’яті SPI, завантажувач програмує флеш-пам’ять SPI за допомогою цільової програми, отриманої з графічного інтерфейсу користувача.
- Коли команда завантаження отримана з GUI, завантажувач копіює код програми з флеш-пам’яті SPI в DDR, а потім виконує його з DDR.
Структура синхронізації
У дизайні є два домени тактової частоти (40 МГц і 20 МГц). Вбудований кварцевий генератор 50 МГц підключений до блоку PF_CCC, який генерує тактову частоту 40 МГц і 20 МГц. Системний годинник 40 МГц керує повною підсистемою процесора Mi-V, за винятком μPROM. Тактова частота 20 МГц керує RTG4 μPROM та інтерфейсом RTG4 μPROM APB. RTG4 μPROM підтримує тактову частоту до 30 МГц. DDR_FIC налаштований для інтерфейсу шини AHB, який працює на частоті 40 МГц. Пам'ять DDR працює на частоті 320 МГц.
На рисунку 2 показана структура тактування.
Рисунок 2 • Структура синхронізації
Скинути структуру
Сигнали POWER_ON_RESET_N і LOCK змінюються І, а вихідний сигнал (INIT_RESET_N) використовується для скидання блоку RTG4FDDRC_INIT. Після скасування скидання FDDR контролер FDDR ініціалізується, а потім видається сигнал INIT_DONE. Сигнал INIT_DONE використовується для скидання процесора Mi-V, периферійних пристроїв та інших блоків у конструкції.
Рисунок 3 • Скинути структуру
Апаратна реалізація
На рисунку 4 показана конструкція Libero еталонного дизайну Mi-V.
Рисунок 4 • Модуль SmartDesign
Примітка: Знімок екрана Libero SmartDesign, показаний у цій примітці до програми, наведено лише для ілюстрації. Відкрийте проект Libero, щоб переглянути останні оновлення та IP-версії.
IP-блоки
На рисунку 2 перераховані блоки IP, які використовуються в еталонному проекті підсистеми процесора Mi-V, і їх функції.
Таблиця 2 • IP-блоки1
Усі посібники користувача та довідники щодо IP доступні в Libero SoC -> Каталог.
RTG4 μPROM зберігає до 10,400 36 374,400-бітних слів (32 0 біт даних). Він підтримує лише операції читання під час нормальної роботи пристрою після того, як пристрій запрограмовано. Ядро процесора MIV_RV32_C0 містить блок вибірки інструкцій, конвеєр виконання та систему пам’яті даних. Система пам'яті процесора MIV_RV32_C0 включає кеш інструкцій і кеш даних. Ядро MIV_RVXNUMX_CXNUMX включає два зовнішні інтерфейси AHB — головний інтерфейс шини пам’яті AHB (MEM) і головний інтерфейс шини вводу/виводу з відображенням пам’яті AHB (MMIO). Контролер кешу використовує інтерфейс AHB MEM для поповнення інструкцій і кешу даних. Інтерфейс AHB MMIO використовується для некешованого доступу до периферійних пристроїв введення/виведення.
Карти пам’яті інтерфейсу AHB MMIO та інтерфейсу MEM мають значення від 0x60000000 до 0X6FFFFFFF і від 0x80000000 до 0x8FFFFFFF відповідно. Адреса вектора скидання процесора налаштовується. Скидання MIV_RV32_C0 є сигналом активного низького рівня, який має бути скасовано синхронно з системним годинником через синхронізатор скидання.
Процесор MIV_RV32_C0 отримує доступ до пам'яті виконання програми за допомогою інтерфейсу AHB MEM. Екземпляр шини CoreAHBLite_C0_0 налаштований на надання 16 підлеглих слотів, кожен розміром 1 МБ. До цієї шини підключено пам'ять RTG μPROM і блоки RTG4FDDRC. μPROM використовується для зберігання програми завантажувача.
Процесор MIV_RV32_C0 направляє транзакції даних між адресами 0x60000000 і 0x6FFFFFFF до інтерфейсу MMIO. Інтерфейс MMIO підключений до шини CoreAHBLite_C1_0 для зв’язку з периферійними пристроями, підключеними до його підлеглих слотів. Екземпляр шини CoreAHBLite_C1_0 налаштований на надання 16 підлеглих слотів, кожен розміром 256 МБ. Периферійні пристрої UART, CoreSPI та CoreGPIO підключаються до шини CoreAHBLite_C1_0 через міст CoreAHBTOAPB3 і шину CoreAPB3.
Карта пам'яті
У таблиці 3 наведено карту пам’яті пам’яті та периферійних пристроїв.
Таблиця 3 • Карта пам'яті
Впровадження програмного забезпечення
Еталонний дизайн fileвключає робочу область SoftConsole, яка містить наступні проекти програмного забезпечення:
- Завантажувач
- Цільове застосування
Завантажувач
Програма завантажувача програмується на μPROM під час програмування пристрою. Завантажувач реалізує такі функції:
- Програмування SPI Flash з цільовою програмою.
- Копіювання цільової програми з SPI Flash до пам’яті DDR3.
- Перемикання виконання програми на цільову програму, доступну в пам'яті DDR3.
Програма завантажувача має бути виконана з μPROM з LSRAM як стеком. Таким чином, адреси ROM і RAM у сценарії компонування встановлюються на початкову адресу μPROM і призначених LSRAM відповідно. Розділ коду виконується з ПЗП, а розділ даних — з ОЗУ, як показано на малюнку 5.
Рисунок 5 • Сценарій компонування завантажувача
Сценарій компоновщика (microsemi-riscv-ram_rom.ld) доступний за адресою
Папка SoftConsole_Project\mivrv32im-bootloader дизайну files.
Цільове застосування
Цільова програма блимає вбудованими світлодіодами 1, 2, 3 і 4 і друкує повідомлення UART. Цільова програма повинна виконуватися з пам'яті DDR3. Таким чином, розділи коду та стека в сценарії компонування встановлюються на початкову адресу пам’яті DDR3, як показано на малюнку 6.
Рисунок 6 • Сценарій компонування цільової програми
Сценарій компоновщика (microsemi-riscv-ram.ld) доступний у папці програми SoftConsole_Project\miv-rv32imddr проекту files.
Налаштування обладнання
Нижче описано, як налаштувати апаратне забезпечення.
- Переконайтеся, що плата вимкнена за допомогою перемикача SW6.
- З’єднайте перемички на комплекті розробки RTG4, як показано в наступній таблиці:
Таблиця 4 • ПеремичкиДжемпер Pin From Закріпити на Коментарі J11, J17, J19, J23, J26, J21, J32 і J27 1 2 За замовчуванням J16 2 3 За замовчуванням J33 1 2 За замовчуванням 3 4 - Підключіть головний ПК до роз’єму J47 за допомогою кабелю USB.
- Переконайтеся, що драйвери мосту USB до UART автоматично визначені. Це можна перевірити в диспетчері пристроїв головного ПК.
- Як показано на малюнку 7, властивості порту COM13 показують, що він підключений до USB Serial Converter C. Отже, COM13 вибрано в цьому прикладіample. Номер COM-порту залежить від системи.
Рисунок 7 • Диспетчер пристроїв
Примітка: Якщо драйвери моста USB-UART не інстальовано, завантажте та інсталюйте драйвери з www.microsemi.com//documents/CDM_2.08.24_WHQL_Certified.zip. - Підключіть джерело живлення до роз’єму J9 і ввімкніть перемикач джерела живлення SW6.
Малюнок 8 • Комплект розробки RTG4
Запуск демонстрації
У цьому розділі описано етапи програмування пристрою RTG4 із еталонним дизайном, програмування SPI Flash із цільовою програмою та завантаження цільової програми з пам’яті DDR за допомогою графічного інтерфейсу завантажувача Mi-V.
Запуск демо-версії передбачає такі кроки:
- Програмування пристрою RTG4, сторінка 11
- Запуск завантажувача Mi-V, сторінка 11
Програмування пристрою RTG4
Пристрій RTG4 можна запрограмувати за допомогою FlashPro Express або Libero SOC.
- Щоб запрограмувати RTG4 Development Kit із завданням file надається як частина дизайну fileз використанням програмного забезпечення FlashPro Express див. Додаток 1: Програмування пристрою за допомогою FlashPro Express, сторінка 14.
- Щоб запрограмувати пристрій за допомогою Libero SoC, зверніться до Додатку 2: Програмування пристрою за допомогою Libero SoC, сторінка 17.
Запуск завантажувача Mi-V
Після успішного завершення програмування виконайте такі дії:
- Запустіть setup.exe file доступний у наступному дизайні fileмісцезнаходження.
<$Download_Directory>\rtg4_ac490_df\GUI_Installer\Mi-V Bootloader_Installer_V1.4 - Дотримуйтеся вказівок майстра інсталяції, щоб установити програму Bootloader GUI.
На малюнку 9 показано графічний інтерфейс завантажувача RTG4 Mi-V.
Рисунок 9 • Графічний інтерфейс завантажувача Mi-V - Виберіть порт COM, підключений до USB Serial Converter C, як показано на малюнку 7.
- Натисніть кнопку підключення. Після успішного підключення червоний індикатор стає зеленим, як показано на малюнку 10.
Рисунок 10 • Підключіть COM-порт - Натисніть кнопку «Імпорт» і виберіть цільову програму file (.bin). Після імпорту шлях до file відображається в GUI, як показано на малюнку 11.
<$Download_Directory>\rtg4_ac490_df\Source_files
Рисунок 11 • Імпорт цільової програми File - Як показано на малюнку 11, натисніть опцію Program SPI Flash, щоб запрограмувати цільову програму на SPI Flash. Після програмування SPI Flash, як показано на малюнку 12, з’явиться спливаюче вікно. Натисніть OK.
Рисунок 12 • Запрограмований SPI Flash - Виберіть параметр «Почати завантаження», щоб скопіювати програму з SPI Flash у пам’ять DDR3 і почати виконання програми з пам’яті DDR3. Після успішного завантаження цільової програми з пам’яті DDR3 програма друкує повідомлення UART і блимає вбудовані світлодіоди користувача 1, 2, 3 і 4, як показано на малюнку 13.
Рисунок 13 • Виконати програму з DDR - Програма працює з пам'яті DDR3, і на цьому демонстрація завершується. Закрийте графічний інтерфейс завантажувача Mi-V.
Програмування пристрою за допомогою FlashPro Express
У цьому розділі описано, як запрограмувати пристрій RTG4 за допомогою завдання програмування file за допомогою FlashPro Express.
Щоб запрограмувати пристрій, виконайте наступні дії:
- Переконайтеся, що налаштування перемичок на платі збігаються з наведеними в таблиці 3 UG0617:
RTG4 Development Kit Посібник користувача. - За бажанням можна встановити перемичку J32 для з’єднання контактів 2-3 під час використання зовнішнього програматора FlashPro4, FlashPro5 або FlashPro6 замість налаштування перемички за замовчуванням для використання вбудованого FlashPro5.
Примітка: Під час з’єднання перемичок перемикач джерела живлення SW6 має бути вимкнено. - Підключіть кабель живлення до роз’єму J9 на платі.
- Увімкніть перемикач джерела живлення SW6.
- Якщо використовується вбудований FlashPro5, підключіть USB-кабель до роз’єму J47 і головного ПК.
Крім того, якщо використовується зовнішній програматор, підключіть стрічковий кабель до JTAG заголовок J22 і підключіть програматор до головного ПК. - На головному ПК запустіть програмне забезпечення FlashPro Express.
- Натисніть «Створити» або виберіть «Новий проект завдання» з FlashPro Express Job у меню «Проект», щоб створити новий проект завдання, як показано на малюнку нижче.
Рисунок 14 • Проект FlashPro Express Job - Введіть наступне в діалоговому вікні New Job Project з FlashPro Express Job:
- Робота з програмування file: клацніть «Огляд» і перейдіть до місця розташування .job file знаходиться та виберіть file. Розташування за умовчанням: \rtg4_ac490_df\Programming_Job
- Розташування проекту завдання FlashPro Express: натисніть «Огляд» і перейдіть до потрібного розташування проекту FlashPro Express.
Рисунок 15 • Новий проект завдання з FlashPro Express Job
- Натисніть OK. Необхідне програмування file вибрано та готове до програмування в пристрої.
- З’явиться вікно FlashPro Express, як показано на малюнку нижче. Переконайтеся, що номер програміста відображається в полі Programmer. Якщо цього не сталося, підтвердьте підключення плати та клацніть «Оновити/повторно сканувати програмістів».
Рисунок 16 • Програмування пристрою - Натисніть RUN. Коли пристрій успішно запрограмовано, відображається статус RUN PASSED, як показано на малюнку нижче.
Рисунок 17 • FlashPro Express — ЗАПУСК ПРОЙДЕН - Закрийте FlashPro Express або натисніть «Вийти» на вкладці «Проект».
Програмування пристрою за допомогою Libero SoC
Еталонний дизайн fileвключає проект підсистеми процесора Mi-V, створений за допомогою Libero SoC. Пристрій RTG4 можна програмувати за допомогою Libero SoC. Проект Libero SoC повністю побудований і виконується на основі синтезу, місця та маршруту, перевірки синхронізації, генерації даних масиву FPGA, оновлення вмісту пам’яті μPROM, генерації бітового потоку, програмування FPGA.
Послідовність проектування Libero показана на наступному малюнку.
Рисунок 18 • Потік проектування Libero
Щоб запрограмувати пристрій RTG4, проект підсистеми процесора Mi-V необхідно відкрити в Libero SoC і повторно виконати наступні кроки:
- Оновіть вміст пам’яті uPROM: на цьому кроці μPROM програмується за допомогою програми завантажувача.
- Генерація бітового потоку: на цьому етапі робота file генерується для пристрою RTG4.
- Програмування FPGA: на цьому кроці пристрій RTG4 програмується за допомогою завдання file.
Виконайте такі дії:
- У Libero Design Flow виберіть Оновити вміст пам’яті uPROM.
- Створіть клієнта за допомогою опції «Додати».
- Виберіть клієнта, а потім виберіть опцію «Редагувати».
- Виберіть Вміст із file а потім виберіть опцію «Огляд», як показано на малюнку 19.
Рисунок 19 • Редагувати клієнт зберігання даних - Перейдіть до наступного дизайну files і виберіть miv-rv32im-bootloader.hex file як показано на малюнку 20. <$Download_Directory>\rtg4_ac490_df
- Встановіть File Введіть як Intel-Hex (*.hex).
- Виберіть Використовувати відносний шлях із каталогу проекту.
- Натисніть OK.
Рисунок 20 • Імпорт пам'яті File
- Натисніть OK.
Вміст μPROM оновлено. - Двічі клацніть Generate Bitstream, як показано на малюнку 21.
Рисунок 21 • Створення бітового потоку - Двічі клацніть Run PROGRAM Action, щоб запрограмувати пристрій, як показано на малюнку 21.
Прилад RTG4 запрограмований. Див. Запуск демонстрації, стор. 11.
Запуск сценарію TCL
Скрипти TCL передбачені в дизайні files у каталозі TCL_Scripts. За потреби потік проектування можна відтворити від впровадження проекту до створення завдання file.
Щоб запустити TCL, виконайте наведені нижче дії.
- Запустіть програмне забезпечення Libero.
- Виберіть «Проект» > «Виконати сценарій…».
- Натисніть «Огляд» і виберіть script.tcl із завантаженого каталогу TCL_Scripts.
- Натисніть Виконати.
Після успішного виконання сценарію TCL проект Libero створюється в каталозі TCL_Scripts.
Для отримання додаткової інформації про сценарії TCL зверніться до rtg4_ac490_df/TCL_Scripts/readme.txt.
Додаткову інформацію про команди TCL див. у Довідковому посібнику з команд Libero® SoC TCL. контакт
Технічна підтримка для будь-яких запитів, які виникають під час виконання сценарію TCL.
Microsemi не дає жодних гарантій, заяв або гарантій щодо інформації, що міститься в цьому документі, або придатності її продуктів і послуг для будь-якої конкретної мети, а також не бере на себе жодної відповідальності, що випливає із застосування або використання будь-якого продукту чи схеми. Продукти, що продаються за цією Угодою, та будь-які інші продукти, що продаються Microsemi, пройшли обмежене тестування і не повинні використовуватися разом із критично важливим обладнанням або програмами. Будь-які технічні характеристики вважаються надійними, але не перевірені, і Покупець повинен провести та завершити всі випробування продуктивності та інші випробування продуктів окремо та разом із будь-якими кінцевими продуктами чи встановленими в них. Покупець не повинен покладатися на будь-які дані та характеристики або параметри, надані Microsemi. Покупець зобов’язаний самостійно визначати придатність будь-яких продуктів, а також тестувати та перевіряти це. Інформація, надана Microsemi за цією Угодою, надається «як є, де є» та з усіма недоліками, і весь ризик, пов’язаний з такою інформацією, повністю несе Покупець. Microsemi не надає, явно чи неявно, жодній стороні будь-які патентні права, ліцензії чи будь-які інші права інтелектуальної власності, що стосується самої такої інформації чи будь-чого, що описується такою інформацією. Інформація, представлена в цьому документі, є власністю Microsemi, і Microsemi залишає за собою право вносити будь-які зміни в інформацію в цьому документі або в будь-які продукти та послуги в будь-який час без попередження.
Про Microsemi
Microsemi, дочірня компанія Microchip Technology Inc. (Nasdaq: MCHP), пропонує повний портфель напівпровідникових і системних рішень для аерокосмічної та оборонної галузі, комунікацій, центрів обробки даних і промислових ринків. Продукти включають високопродуктивні та радіаційно загартовані аналогові інтегральні схеми зі змішаними сигналами, FPGA, SoC та ASIC; продукти керування живленням; прилади хронометражу та синхронізації та рішення точного часу, що встановлюють світові стандарти часу; пристрої обробки голосу; РЧ рішення; дискретні компоненти; корпоративні сховища та комунікаційні рішення, технології безпеки та масштабовані анти-тampер продукти; рішення Ethernet; Інтегральні мікросхеми Power-over-Ethernet та середні діапазони; а також можливості та послуги індивідуального дизайну. Дізнайтеся більше на www.microsemi.com.
Штаб Microsemi
One Enterprise, Алісо В'єхо,
CA 92656 США
У межах США: +1 800-713-4113
За межами США: +1 949-380-6100
Продажі: +1 949-380-6136
Факс: +1 949-215-4996
Електронна пошта: sales.support@microsemi.com
www.microsemi.com
© Microsemi, 2021% дочірня компанія Microchip Technology Inc., XNUMX. Усі права захищено. Microsemi та логотип Microsemi є зареєстрованими товарними знаками Microsemi Corporation. Усі інші торгові марки та знаки обслуговування є власністю відповідних власників
Документи / Ресурси
![]() |
Microsemi AC490 RTG4 FPGA: Створення підсистеми процесора Mi-V [pdfПосібник користувача AC490 RTG4 FPGA Створення підсистеми процесора Mi-V, AC490 RTG4, FPGA Створення підсистеми процесора Mi-V, Підсистема процесора Mi-V |