DG0388 Ошибка SmartFusion2 SoC FPGA
Обнаружение и коррекция сывороточной памяти
Руководство пользователя
©2021 Microsemi, дочерняя компания Microchip Technology Inc. Все права защищены. Microsemi и логотип Microsemi являются зарегистрированными товарными знаками корпорации Microsemi. Все другие товарные знаки и знаки обслуживания являются собственностью их соответствующих владельцев.
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.
История изменений
История изменений описывает изменения, которые были реализованы в документе. Изменения перечислены по ревизиям, начиная с текущей публикации.
1.1 Редакция 11.0
Ниже приводится сводка изменений, внесенных в эту редакцию.
- Обновлен документ для Libero SoC v12.6.
- Удалены ссылки на номера версий Libero.
1.2 Редакция 10.0
Обновлен документ для выпуска программного обеспечения Libero SoC v11.8 SP1.
1.3 Редакция 9.0
Обновлен документ для версии программного обеспечения Libero SoC v11.8.
1.4 Редакция 8.0
Обновлен документ для версии программного обеспечения Libero SoC v11.7 (SAR 77402).
1.5 Редакция 7.0
Обновлен документ для версии программного обеспечения Libero SoC v11.6 (SAR 72777).
1.6 Редакция 6.0
Обновлен документ для версии программного обеспечения Libero SoC v11.5 (SAR 64979).
1.7 Редакция 5.0
Обновлен документ для версии программного обеспечения Libero SoC v11.4 (SAR 60476).
1.8 Редакция 4.0
Обновлен документ для версии программного обеспечения Libero SoC v11.3 (SAR 56852).
1.9 Редакция 3.0
Обновлен документ для версии программного обеспечения Libero SoC v11.2 (SAR 52960).
1.10 Редакция 2.0
Обновлен документ для версии программного обеспечения Libero SoC v11.0 (SAR 47858).
1.11 Редакция 1.0
Первая публикация этого документа.
SmartFusion2 SoC FPGA — обнаружение ошибок и исправление памяти Seram
Введение
В этом документе описываются возможности обнаружения и исправления ошибок (EDAC) устройств SmartFusion® 2 во встроенной статической памяти с произвольным доступом (Seram). Контроллеры EDAC, реализованные в устройствах SmartFusion2, поддерживают коррекцию одиночных ошибок и обнаружение двойных ошибок (SECDED). Вся память в подсистеме микроконтроллера (MSS) SmartFusion2 защищена SECDED. Память Seram может быть eSRAM_0 или eSRAM_1. Диапазон адресов eSRAM_0 — от 0x20000000 до 0x20007FFF, а диапазон адресов eSRAM_1 — от 0x20008000 до 0x2000FFFF.
Когда SECDED включен:
- Операция записи вычисляет и добавляет 8 бит кода SECDED к каждым 32 битам данных.
- Операция чтения считывает и сравнивает данные с сохраненным кодом SECDED для поддержки исправления 1-битных ошибок и обнаружения 2-битных ошибок.
В этой демонстрации EDAC можно определить по мигающему светодиоду (LED) на плате и по графическому пользовательскому интерфейсу (GUI).EDAC eSRAM поддерживает следующие функции:
- механизм SECDED
- Обеспечивает прерывания для процессора ARM Cortex-M3 и матрицы FPGA при обнаружении 1-битной ошибки или 2-битной ошибки.
- Сохраняет количество 1-битных и 2-битных ошибок в регистрах счетчика ошибок.
- Сохраняет адрес последней 1-битной или 2-битной ошибки в ячейке памяти.
- Сохраняет 1-битные или 2-битные данные об ошибках в регистрах SECDED.
- Подает сигналы шины ошибок на фабрику FPGA.
См. главу EDAC в Руководстве пользователя по безопасности и надежности UG0443: SmartFusion2 и IGLOO2 FPGA и главу Seram в UG0331: Руководство пользователя подсистемы микроконтроллера SmartFusion2.
2.2 Требования к демонстрации
В следующей таблице перечислены требования к аппаратному и программному обеспечению для запуска демонстрационного проекта.
Таблица 1 • Требования к конструкции
Требование | Версия |
Операционная система | 64-битная Windows 7 и 10 |
Аппаратное обеспечение | |
Комплект для оценки безопасности SmartFusion2: • Программатор FlashPro4 • USB-кабель USB A — Mini — B • Адаптер 12 В |
Версия D или более поздняя версия |
Программное обеспечение | |
ФлешПро Экспресс | См. файл readme.txt file предусмотрено в конструкции files для версий программного обеспечения, используемых с этим эталонным проектом. |
Либеро | |
Программное обеспечение System-on-Chip (SoC) | |
СофтКонсоль | |
Драйверы хост-компьютера | Драйверы USB-UART |
Для запуска демо GUI | Клиент Microsoft.NET Framework 4 |
Примечание: Снимки экрана Libero Smart Design и конфигурации, показанные в этом руководстве, предназначены только для иллюстрации.
Откройте дизайн Libero, чтобы увидеть последние обновления.
2.3 Предпосылки
Прежде чем начать:
Загрузите и установите Libero SoC (как указано в webсайт для этого проекта) на хост-компьютере из следующего места.
https://www.microsemi.com/product-directory/design-resources/1750-libero-soc
2.3.1 Design Files
Демонстрационный дизайн files доступны для загрузки по следующему пути в Microsemi webсайт: http://soc.microsemi.com/download/rsc/?f=m2s_dg0388_df
Дизайн fileвключают в себя:
- Исполняемый графический интерфейс
- Либеро Проект
- Работа по программированию
- Прочти меня file
На следующем рисунке показана структура верхнего уровня проекта. fileс. Дополнительные сведения см. в файле readme.txt. file.2.4 Описание демо-дизайна
Каждый Seram в MSS защищен специальным контроллером EDAC. EDAC обнаруживает 1-битную или 2-битную ошибку при считывании данных из памяти. Если EDAC обнаруживает 1-битную ошибку, контроллер EDAC исправляет тот же бит ошибки. Если EDAC включен для всех 1-битных и 2-битных ошибок, соответствующие счетчики ошибок в системных регистрах увеличиваются и генерируются соответствующие прерывания и сигналы шины ошибок для матрицы FPGA.
В среде, подверженной сбоям при одиночном событии (SEU), оперативная память (ОЗУ) подвержена временным ошибкам, вызванным тяжелыми ионами. Это происходит в режиме реального времени. Чтобы продемонстрировать это, ошибка вводится вручную и наблюдается обнаружение и исправление.
Данный демонстрационный проект предполагает выполнение следующих задач:
- Включить EDAC
- Запись данных в Seram
- Чтение данных из Seram
- Отключить EDAC
- Поврежден один или два бита
- Запись данных в Seram
- Включить EDAC
- Прочтите данные
- В случае 1-битной ошибки контроллер EDAC исправляет ошибку, обновляет соответствующие регистры состояния и выдает данные, записанные на шаге 2, при операции чтения, выполненной на шаге 8.
- В случае 2-битной ошибки генерируется соответствующее прерывание, и приложение должно исправить данные или выполнить соответствующее действие в обработчике прерывания. Эти два метода демонстрируются в этой демонстрации.
В этой демонстрации реализованы два теста: циклический тест и ручной тест, и они применимы как к 1-битным, так и к 2-битным ошибкам.
2.4.1 Проверка контура
Проверка петли выполняется, когда SmartFusion2 получает команду проверки петли из графического интерфейса. Первоначально все счетчики ошибок и регистры, относящиеся к EDAC, переводятся в состояние RESET.
Для каждой итерации выполняются следующие шаги:
- Включите контроллер EDAC.
- Запишите данные в определенную ячейку памяти Seram.
- Отключите контроллер EDAC.
- Запишите 1-битные или 2-битные данные, вызванные ошибкой, в ту же ячейку памяти Seram.
- Включите контроллер EDAC.
- Считайте данные из той же ячейки памяти Seram.
- Отправьте 1-битные или 2-битные данные обнаружения ошибок и 1-битные данные для исправления ошибок в случае 1-битной ошибки в GUI.
2.4.2 Ручной тест
Этот метод позволяет вручную тестировать включение или отключение EDAC, а также операции записи или чтения. Используя этот метод, 1-битные или 2-битные ошибки могут быть внесены в любое место внутри шва. Включите EDAC и запишите данные по указанному адресу, используя поля графического интерфейса. Отключите EDAC и запишите 1-битные или 2-битные поврежденные данные в тот же адрес. Включите EDAC и считывайте данные с того же адреса, после чего светодиод на плате переключается, уведомляя об обнаружении и исправлении ошибок. Соответствующий счетчик ошибок отображается в графическом интерфейсе. Последовательная консоль с графическим интерфейсом регистрирует все действия, выполняемые в SmartFusion2.
На следующем рисунке показаны демонстрационные операции Seram EDAC.2.5 Запуск демонстрации
В этом разделе описывается установка платы SmartFusion2 Security Evaluation Kit, параметры графического интерфейса и выполнение демонстрационного проекта.
2.5.1 Демонстрационная установка
Следующие шаги описывают, как настроить демо:
- Подключите программатор FlashPro4 к разъему J5 платы SmartFusion2 Security Evaluation Kit.
- Подключите один конец кабеля USB mini-B к разъему J18 на плате SmartFusion2 Security Evaluation Kit. Подключите другой конец USB-кабеля к хост-компьютеру. Убедитесь, что драйверы моста USB-UART определяются автоматически (можно проверить в Диспетчере устройств), как показано на рис. 4, стр. 7.
Примечание: Скопируйте номер COM-порта для настройки последовательного порта. Убедитесь, что расположение COM-порта указано как на USB Serial Converter D, как показано на следующем рисунке. - Если драйверы моста USB-UART не установлены, загрузите и установите драйверы с www.microsemi.com/soc/documents/CDM_2.08.24_WHQL_Certified.zip
- Подключите перемычки на плате SmartFusion2 Security Evaluation Kit, как показано на следующем рисунке. Выключатель питания SW7 должен быть выключен при установке перемычек.
Таблица 2 • Настройки перемычек комплекта оценки безопасности SmartFusion2Джемпер Пин (от) Пин (К) Комментарии J22, J23, J24, J8, J3 1 (по умолчанию) 2 Это настройки перемычки по умолчанию на плате SmartFusion2 Security Evaluation Kit. Убедитесь, что эти перемычки установлены соответствующим образом. - Подключите источник питания к разъему J18.
На следующем рисунке показана установка платы для запуска демонстрации на SmartFusion2 SecuEvaluation Kit.2.5.2 Графический интерфейс пользователя
В следующем разделе описывается Seram — демонстрационный графический интерфейс EDAC.
Графический интерфейс поддерживает следующие функции:
- Выбор COM-порта и скорости передачи.
- Выбор вкладки исправления 1-битной ошибки или вкладки обнаружения 2-битной ошибки.
- Выбор eSRAM0 или eSRAM1.
- Поле адреса для записи или чтения данных в или из указанного адреса Seram.
- Поле данных для записи или чтения данных в или из указанного адреса Seram.
- Раздел Serial Console для печати информации о состоянии, полученной от приложения.
- EDAC ON/OFF: Включает или отключает EDAC.
- Запись: позволяет записывать данные по указанному адресу.
- Чтение: позволяет читать данные с указанного адреса.
- LOOP test ON/OFF: Позволяет тестировать механизм EDAC методом петли.
2.5.3 Запуск проекта
Следующие шаги описывают, как запустить дизайн:
- Включите выключатель питания, SW7.
- Запрограммируйте плату комплекта оценки безопасности SmartFusion2 с заданием file предоставляется как часть дизайна files (\Programming job\eSRAM_0\eSRAM0.job или \Programming job\eSRAM_1\eSRAM1.job) с помощью программного обеспечения FlashPro Express, см. Приложение: Программирование устройства с помощью FlashPro Express, стр. 12.
- Нажмите переключатель SW6 для сброса платы после успешного программирования.
- Запустите исполняемый файл EDAC_eSRAM Demo GUI. file доступен в дизайне files (\GUI Executable\EDAC_eSRAM.exe). Отображается окно графического интерфейса, как показано на рис. 6, стр. 9.
- Выберите соответствующий COM-порт (на который указывают драйверы USB-UART Bridge) из раскрывающегося списка COM-порт.
- Выберите скорость передачи 57600 и нажмите «Подключиться». После установления соединения Connect изменится на Disconnect.
- Выберите Seram 0 или Seram 1 в зависимости от программирования. file выбранный на шаге 2.
- Выберите вкладку 1-bit Error Correction или 2-bit Error Detection, как показано на рис. 7, стр. 10 и рис. 8, стр. 11.
- Можно выполнять два типа тестов: ручной и циклический.
2.5.3.1 Выполнение теста контура
Щелкните Проверка контура ВКЛ. Он работает в циклическом режиме, в котором выполняется непрерывная коррекция и обнаружение ошибок. Цикл выполняется 200 итераций. Все действия, выполняемые в SmartFusion2, регистрируются в разделе последовательной консоли графического интерфейса. 2-битный циклический тест обнаружения ошибок печатает смещение адреса Seram, затронутое ошибкой, в Serial Console. Щелкните Loop Test OFF после завершения 200 итераций.
Таблица 3 • Адреса памяти Seram, используемые в циклическом тесте
Память 1 | 1-битная коррекция ошибок | Обнаружение 2-битных ошибок |
eSRAM0 | 0x20000000 | 0x20002000 |
eSRAM1 | 0x20008000 | 0x2000A000 |
2.5.3.2 Выполнение ручного теста
В этом методе ошибки вводятся вручную с помощью графического интерфейса. Используйте следующие шаги, чтобы выполнить исправление 1-битной ошибки или обнаружение 2-битной ошибки:
- Поля ввода адреса и данных (используйте 32-битные шестнадцатеричные значения).
- Щелкните EDAC ВКЛ.
- Нажмите «Написать».
- Щелкните EDAC ВЫКЛ.
- Просто измените 1 бит (в случае исправления 1-битной ошибки) или 2 бита (в случае обнаружения 2-битной ошибки) в поле данных (вводя ошибку).
- Нажмите «Написать».
- Щелкните EDAC ВКЛ.
- Щелкните Читать.
- Обратите внимание на отображение счетчика ошибок и поле данных в графическом интерфейсе. Значение счетчика ошибок увеличивается на 1.
Все действия, выполняемые в SmartFusion2, регистрируются в разделе последовательной консоли графического интерфейса.
Примечание: Чтобы переключиться с вкладки «1-битное исправление ошибок» на вкладку «2-битное обнаружение ошибок» или наоборот в демонстрационном графическом интерфейсе EDAC_eSRAM, выполните сброс аппаратной платы.
2.6 Заключение
Эта демонстрация демонстрирует возможности SmartFusion2 SECDED для Seram.
Приложение: Программирование устройства с помощью FlashPro Express
В этом разделе описывается, как запрограммировать устройство SmartFusion2 с помощью задания программирования. file с помощью Flash Pro Express.
Чтобы запрограммировать устройство, выполните следующие действия:
- Убедитесь, что настройки перемычек на плате такие же, как указано в Таблице 2, стр. 7.
Примечание: Выключатель питания должен быть выключен при установке перемычек. - Подключите кабель питания к разъему J6 на плате.
- Включите питание выключателем питания SW7.
- На хост-компьютере запустите программу FlashPro Express.
- Щелкните «Создать» или выберите «Новый проект задания» из «Задание FlashPro Express» в меню «Проект», чтобы создать новый проект задания, как показано на следующем рисунке.
- Введите следующее в диалоговом окне «Новый проект задания из FlashPro Express Job»:
• Работа по программированию file: нажмите «Обзор» и перейдите к месту, где находится файл .job. file находится и выберите file. Расположение по умолчанию: \m2s_dg0388_df\Задание по программированию
• Имя проекта задания FlashPro Express: нажмите «Обзор» и перейдите в папку, в которой вы хотите сохранить проект. - Нажмите «ОК». Необходимое программирование file выбран и готов к программированию в устройстве.
- Появится окно FlashPro Express, как показано на следующем рисунке. Убедитесь, что номер программатора появился в поле Programmer. Если это не так, подтвердите соединения с платой и нажмите Refresh/Rescan Programmers.
- Нажмите ЗАПУСТИТЬ. Когда устройство успешно запрограммировано, отображается статус RUN PASSED, как показано на следующем рисунке.
- Закройте FlashPro Express или на вкладке «Проект» щелкните «Выход».
Штаб-квартира Микросеми
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 DG0388, редакция 11.0
Документы/Ресурсы
![]() |
Microsemi DG0388 SmartFusion2 SoC FPGA Обнаружение ошибок и исправление памяти eSRAM [pdf] Руководство пользователя DG0388, SmartFusion2 SoC FPGA Обнаружение и исправление ошибок в памяти eSRAM, DG0388 SmartFusion2 SoC FPGA Обнаружение и исправление ошибок в памяти eSRAM |