Виявлення та виправлення помилок Microsemi DG0618 на пристроях SmartFusion2, які використовують пам’ять DDR
Штаб-квартира компанії Microsemi
One Enterprise, Алісо В'єхо,
CA 92656 США
У межах США: +1 800-713-4113
За межами США: +1 949-380-6100
Факс: +1 949-215-4996
Електронна пошта: sales.support@microsemi.com
www.microsemi.com
© 2017 Microsemi Corporation. Всі права захищені. Microsemi та логотип Microsemi є товарними знаками Microsemi Corporation. Усі інші торгові марки та знаки обслуговування є власністю відповідних власників
Microsemi не дає жодних гарантій, заяв або гарантій щодо інформації, що міститься в цьому документі, або придатності її продуктів і послуг для будь-якої конкретної мети, а також не бере на себе жодної відповідальності, що випливає із застосування або використання будь-якого продукту чи схеми. Продукти, що продаються за цією Угодою, та будь-які інші продукти, що продаються Microsemi, пройшли обмежене тестування і не повинні використовуватися разом із критично важливим обладнанням або програмами. Будь-які технічні характеристики вважаються надійними, але не перевірені, і Покупець повинен провести та завершити всі випробування продуктивності та інші випробування продуктів окремо та разом із будь-якими кінцевими продуктами чи встановленими в них. Покупець не повинен покладатися на будь-які дані та характеристики або параметри, надані Microsemi. Покупець зобов’язаний самостійно визначати придатність будь-яких продуктів, а також тестувати та перевіряти це. Інформація, надана Microsemi за цією Угодою, надається «як є, де є» та з усіма недоліками, і весь ризик, пов’язаний з такою інформацією, повністю несе Покупець. Microsemi не надає, явно чи неявно, жодній стороні будь-які патентні права, ліцензії чи будь-які інші права інтелектуальної власності, що стосується самої такої інформації чи будь-чого, що описується такою інформацією. Інформація, представлена в цьому документі, є власністю Microsemi, і Microsemi залишає за собою право вносити будь-які зміни в інформацію в цьому документі або в будь-які продукти та послуги в будь-який час без попередження.
Про Microsemi
Microsemi Corporation (Nasdaq: MSCC) пропонує широкий асортимент напівпровідникових і системних рішень для аерокосмічної та оборонної промисловості, комунікацій, центрів обробки даних і промислових ринків. Продукти включають високоефективні та радіаційно захищені аналогові інтегральні схеми зі змішаними сигналами, FPGA, SoC та ASIC; продукти керування живленням; пристрої хронометражу та синхронізації та рішення точного часу, що встановлює світовий стандарт часу; пристрої обробки голосу; радіочастотні рішення; дискретні компоненти; корпоративні рішення для зберігання та зв’язку, технології безпеки та масштабована анти-тamper продукти; рішення Ethernet; Інтегральні схеми та проміжні панелі Power-over-Ethernet; а також можливості та послуги індивідуального дизайну. Штаб-квартира Microsemi розташована в Алісо-В’єхо, штат Каліфорнія, і налічує близько 4,800 співробітників по всьому світу. Дізнайтесь більше на www.microsemi.com.
Історія версій
Історія переглядів описує зміни, внесені в документ. Зміни перераховані за версіями, починаючи з останньої публікації.
- Редакція 4.0
Оновлено документ для випуску програмного забезпечення Libero v11.8. - Редакція 3.0
Оновлено документ для випуску програмного забезпечення Libero v11.7. - Редакція 2.0
Оновлено документ для випуску програмного забезпечення Libero v11.6. - Редакція 1.0
Початковий випуск програмного забезпечення Libero SoC v11.5.
Виявлення та виправлення помилок на пристроях SmartFusion2, які використовують пам’ять DDR
вступ
У сприйнятливому середовищі, чутливому до однієї події (SEU), оперативна пам’ять (RAM) схильна до тимчасових помилок, спричинених важкими іонами.
Цей документ описує можливості EDAC SoC FPGA, які використовуються в програмах із пам’яттю, підключеною через підсистему мікроконтролера (MSS) DDR (MDDR).
Контролери EDAC, реалізовані в пристроях SmartFusion2, підтримують одиночне виправлення помилок і подвійне виявлення помилок (SECDED). Усі пам’яті — розширена статична оперативна пам’ять (eSRAM), DDR, малопотужна DDR (LPDDR) — у пристроях SmartFusion2 MSS захищені SECDED. Синхронна динамічна пам’ять з довільним доступом (SDRAM) DDR може бути DDR2, DDR3 або LPDDR1, залежно від конфігурації MDDR і апаратних можливостей ECC.
Підсистема SmartFusion2 MDDR підтримує щільність пам'яті до 4 ГБ. У цій демонстрації ви можете вибрати будь-яку область пам’яті розміром 1 ГБ в адресному просторі DDR (від 0xA0000000 до 0xDFFFFFFF).
Коли SECDED увімкнено:
- Операція запису обчислює та додає 8 біт коду SECDED (до кожних 64 біт даних)
- Операція читання зчитує та перевіряє дані на збережений код SECDED для підтримки 1-бітного виправлення помилок і 2-бітового виявлення помилок
На наступній ілюстрації описано блок-схему SmartFusion2 EDAC на DDR SDRAM.
Рисунок 1 • Блок-схема верхнього рівня
Функція EDAC DDR підтримує наступне:
- Механізм SECDED
- Забезпечує переривання процесора ARM Cortex-M3 і інтерфейсу FPGA при виявленні 1-бітної помилки або 2-бітної помилки
- Зберігає кількість 1-бітових та 2-бітових помилок у регістрах лічильника помилок
- Зберігає адресу останнього 1- або 2-бітового місця пам’яті, яке вплинуло на помилку
- Зберігає 1- або 2-бітові дані про помилки в регістрах SECDED
- передає сигнали шини помилок на структуру FPGA
Для отримання додаткової інформації про EDAC див. UG0443: SmartFusion2 та IGLOO2 FPGA Security and Reliability User Guide та UG0446: SmartFusion2 та IGLOO2 FPGA High-Speed DDR Interfaces Guide User Guide.
Вимоги до дизайну
У наступній таблиці наведено вимоги до конструкції.
Таблиця 1 • Вимоги до проектування
- Опис проектних вимог
- Вимоги до обладнання
- Плата SmartFusion2 Advanced Development Kit Rev B або новіша
- Програматор FlashPro5 або новішої версії
- Кабель USB A – mini-B
- Адаптер живлення 12 В
- Дочірня плата DDR3
- Операційна система Будь-яка 64-розрядна або 32-розрядна Windows XP SP2
- Будь-яка 64-розрядна або 32-розрядна Windows 7
- Вимоги до програмного забезпечення
- Libero® System-on-Chip (SoC) v11.8
- SoftConsole v4.0
- Програмне забезпечення для програмування FlashPro v11.8
- Драйвери хост-комп'ютера Драйвери USB до UART
- Framework для запуску демонстраційного клієнта Microsoft .NET Framework 4
Демонстраційний дизайн
Демонстраційний дизайн files доступні для завантаження з наступного шляху в Microsemi webсайт: http://soc.microsemi.com/download/rsc/?f=m2s_dg0618_liberov11p8_df
Демонстраційний дизайн fileвключають:
- Конфігурація DDR File
- DDR_EDAC
- Програмування files
- Виконуваний файл GUI
- Readme file
Наступна ілюстрація описує структуру верхнього рівня дизайну fileс. Щоб отримати додаткові відомості, перегляньте файл readme.txt file.
Рисунок 2 • Структура верхнього рівня демонстраційного дизайну
Впровадження демонстраційного дизайну
Підсистема MDDR має спеціальний контролер EDAC. EDAC виявляє 1-бітну помилку або 2-бітну помилку, коли дані зчитуються з пам’яті. Якщо EDAC виявляє 1-бітову помилку, контролер EDAC виправляє біт помилки. Якщо EDAC увімкнуто для всіх 1-бітових і 2-бітових помилок, відповідні лічильники помилок у системних регістрах збільшуються, і генеруються відповідні переривання та сигнали шини помилок до структури FPGA.
Це відбувається в реальному часі. Щоб продемонструвати цю функцію SECDED, помилка вводиться вручну та спостерігається її виявлення та виправлення.
Цей демонстраційний дизайн передбачає реалізацію наступних кроків:
- Увімкнути EDAC
- Запис даних у DDR
- Читання даних з DDR
- Вимкнути EDAC
- Пошкодити 1 або 2 біти
- Запис даних у DDR
- Увімкнути EDAC
- Прочитайте дані
- У разі 1-бітної помилки контролер EDAC виправляє помилку, оновлює відповідні регістри стану та передає дані, записані на кроці 2, під час операції читання, виконаної на кроці 8.
- У разі 2-бітної помилки генерується відповідне переривання, і програма повинна виправити дані або виконати відповідну дію в обробнику переривань. Ці два методи демонструються в цій демонстрації.
У цій демонстрації реалізовано два тести: циклічний і ручний, і вони застосовні як до 1-бітних, так і до 2-бітових помилок.
Тест циклу
Перевірка циклу виконується, коли пристрої SmartFusion2 отримують команду перевірки циклу з графічного інтерфейсу користувача. Спочатку всі лічильники помилок і пов’язані з EDAC регістри переходять у стан RESET.
Наступні кроки виконуються для кожної ітерації.
- Увімкніть контролер EDAC
- Запишіть дані в певне місце пам’яті DDR
- Вимкніть контролер EDAC
- Запишіть 1- або 2-бітові дані, викликані помилкою, в ту саму область пам’яті DDR
- Увімкніть контролер EDAC
- Прочитайте дані з того самого місця пам’яті DDR
- Надсилання 1-бітних або 2-бітних даних виявлення помилок і 1-бітних даних виправлення помилок у разі 1-бітної помилки до графічного інтерфейсу користувача
Ручний тест
Цей метод дозволяє вручну тестувати 1-бітове виявлення та виправлення помилок і 2-бітове виявлення помилок для адреси пам’яті DDR (від 0xA0000000 до 0xDFFFFFFF) з ініціалізацією. 1-бітна/2-бітна помилка вводиться вручну до вибраної адреси пам’яті DDR. Дані дані записуються у вибране місце пам’яті DDR із увімкненим EDAC. Потім пошкоджені 1- або 2-бітові дані про помилку записуються в ту саму область пам’яті з вимкненим EDAC. Інформація про виявлену 1- або 2-бітну помилку реєструється, коли дані зчитуються з того самого місця пам’яті з увімкненим EDAC. Високопродуктивний контролер DMA
(HPDMA) використовується для читання даних із пам’яті DDR. Реалізовано обробник переривання виявлення двобітної помилки, щоб виконати відповідну дію, коли виявлено 2-бітову помилку.
На наступній ілюстрації описано демонстраційні операції EDAC.
Рисунок 3 • Потік проектування
Примітка: Для 2-бітної помилки, коли процесор Cortex-M3 зчитує дані, виконання коду переходить до жорсткого обробника помилок, оскільки отримане переривання запізнюється, щоб процесор відповів. До того часу, коли він відповідає на переривання, він, можливо, вже передав дані та випадково запустив команду. У результаті HRESP припиняє обробку неправильних даних. Виявлення 2-бітної помилки використовує HPDMA для зчитування даних із розташування адреси DDR, що повідомляє процесору, що прочитані дані мають 2-бітову помилку, і система повинна вжити відповідних дій для відновлення (обробник переривань ECC).
Налаштування демонстраційного дизайну
У цьому розділі описано налаштування плати SmartFusion2 Advanced Development Kit, параметри графічного інтерфейсу користувача та те, як виконати демонстраційний дизайн.
Нижче описано, як налаштувати демонстрацію.
- Під’єднайте один кінець кабелю USB mini-B до роз’єму J33, який є на платі SmartFusion2 Advanced Development Kit. Підключіть інший кінець USB-кабелю до головного ПК. Світлодіод (LED) DS27 повинен загорітися, вказуючи на те, що з’єднання UART встановлено. Переконайтеся, що драйвери мосту USB-UART автоматично визначені (це можна перевірити в диспетчері пристроїв), як показано на малюнку нижче.
Рисунок 4 • Драйвери мосту USB до UART
Якщо драйвери мосту USB-UART не інстальовано, завантажте та інсталюйте драйвери з: www.microsemi.com/soc/documents/CDM_2.08.24_WHQL_Certified.zip. - Під’єднайте перемички на платі SmartFusion2 Advanced Development Kit, як показано в Таблиці 4, сторінка 11. Під час з’єднання перемичок перемикач джерела живлення SW7 має бути вимкнено.
Рисунок 5 • Налаштування плати SmartFusion2 Advanced Development Kit
Графічний інтерфейс користувача
У цьому розділі описано демонстраційний графічний інтерфейс DDR – EDAC.
Рисунок 6 • DDR – EDAC Demo GUI
Графічний інтерфейс користувача підтримує такі функції:
- Вибір COM-порту та швидкості передачі даних
- Вибір вкладки 1-бітної корекції помилок або 2-бітної виявлення помилок
- Поле адреси для запису або читання даних на або з указаної адреси DDR
- Поле даних для запису або читання даних на або з указаної адреси DDR
- Розділ Serial Console для друку інформації про стан, отриманої від програми
- Enable EDAC/Disable EDAC: увімкнення або вимкнення EDAC
- Запис: дозволяє записувати дані за вказаною адресою
- Читати: дозволяє читати дані з указаної адреси
- Loop test ON/OFF: Дозволяє тестувати механізм EDAC у циклічному методі
- Ініціалізація: дозволяє ініціалізувати попередньо визначене розташування пам’яті (у цій демонстрації A0000000-A000CFFF)
Запуск демонстраційного дизайну
У наступних кроках описано, як запустити дизайн: У наступних кроках описано, як запустити дизайн:
- Увімкніть перемикач живлення SW7.
- Запрограмуйте пристрій SmarFusion2 за допомогою програмування file передбачені в конструкції fileс.(\ПрограмуванняFile\EDAC_DDR3.stp) за допомогою програмного забезпечення для розробки FlashPro, як показано на малюнку нижче.
Рисунок 7 • Вікно програмування FlashPro
- Натисніть перемикач SW6, щоб скинути плату після успішного програмування.
- Запустіть виконуваний файл EDAC_DDR Demo GUI file наявні в конструкції files (\GUI Executable\ EDAC_DDR.exe). Відобразиться вікно GUI, як показано на малюнку 8, сторінка 9.
- Натисніть «Підключити», вибере COM-порт і встановить з’єднання. Параметр Connect змінюється на Disconnect.
- Виберіть вкладку 1-bit Error Correction або 2-bit Error Detection.
- Можна виконувати ручні та циклічні тести.
- Клацніть Initialize (Ініціалізувати), щоб ініціалізувати пам’ять DDR для виконання тестів вручну та циклу, повідомлення про завершення ініціалізації відображається на послідовній консолі, як показано на малюнку 8, сторінка 9.
Рисунок 8 • Вікно завершення ініціалізації
Виконання Loop Test
Натисніть Loop Test ON. Він працює в режимі циклу, де здійснюється безперервне виправлення та виявлення помилок. Усі дії, які виконуються на пристрої SmartFusion2, реєструються в розділі Serial Console графічного інтерфейсу користувача.
Таблиця 2 • Адреси пам’яті DDR3, які використовуються під час перевірки циклу
- Пам'ять DDR3
- 1-бітове виправлення помилок 0xA0008000
- Виявлення 2-бітної помилки 0xA000C000
Виконання ручного тесту
У цьому методі помилки вводяться вручну за допомогою графічного інтерфейсу користувача. Виконайте наступні кроки, щоб виконати 1-бітне виправлення помилок або 2-бітове виявлення помилок.
Таблиця 3 • Адреси пам’яті DDR3, які використовуються в ручному тестуванні
Поля введення адреси та даних (використовуйте 32-розрядні шістнадцяткові значення).
- Пам'ять DDR3
- 1-бітове виправлення помилок 0xA0000000-0xA0004000
- 2-бітове виявлення помилок 0xA0004000-0xA0008000
- Натисніть Увімкнути EDAC.
- Натисніть Написати.
- Натисніть Вимкнути EDAC.
- Змініть один біт (у разі виправлення 1-бітної помилки) або два біти (у разі виявлення 2-бітної помилки) у полі даних (внесення помилки).
- Натисніть Написати.
- Натисніть Увімкнути EDAC.
- Натисніть Прочитати.
- Зверніть увагу на поле відображення кількості помилок і даних у графічному інтерфейсі. Значення кількості помилок збільшується на 1.
Вікно 1-бітного циклу виправлення помилок показано на наступному малюнку.
Рисунок 9 • 1-бітне вікно виявлення циклу помилок
Вікно 2-розрядного ручного виявлення помилок показано на наступному малюнку.
Малюнок 10 • 2-бітове вікно виявлення помилок вручну
Висновок
Ця демонстрація демонструє можливості SmartFusion2 SECDED для підсистеми MDDR.
Додаток: налаштування перемичок
У наведеній нижче таблиці показано всі необхідні перемички, які потрібно встановити на SmartFusion2 Advanced Development Kit.
Таблиця 4 • Налаштування перемички SmartFusion2 Advanced Development Kit
Перемичка : Pin (Від) : Pin (До) : Коментарі
- J116, J353, J354, J54 1 2 Це налаштування перемичок за умовчанням для Advanced
- Плата J123 2 3 Development Kit. Переконайтеся, що ці перемички встановлено відповідним чином.
- J124, J121, J32 1 2 JTAG програмування через FTDI
DG0618 Demo Guide Версія 4.0
Документи / Ресурси
![]() |
Виявлення та виправлення помилок Microsemi DG0618 на пристроях SmartFusion2, які використовують пам’ять DDR [pdfПосібник користувача DG0618 Виявлення та виправлення помилок на пристроях SmartFusion2, які використовують пам’ять DDR, DG0618, Виявлення та виправлення помилок на пристроях SmartFusion2, які використовують пам’ять DDR, пристрої SmartFusion2, які використовують пам’ять DDR, пам’ять DDR |