Обнаружение и исправление ошибок MICROCHIP в памяти RTG4 LSRAM
История изменений
История изменений описывает изменения, которые были реализованы в документе. Изменения перечислены по редакции, начиная с самой последней публикации.
Редакция 4.0
Ниже приводится сводка изменений, внесенных в эту редакцию.
- Обновлен документ для Libero SoC v2021.2.
- Добавлено Приложение 1: Программирование устройства с помощью FlashPro Express, стр. 14.
- Добавлено Приложение 2: Запуск сценария TCL, стр. 16.
- Удалены ссылки на номера версий Libero.
Редакция 3.0
Обновлен документ для версии программного обеспечения Libero v11.9 SP1.
Редакция 2.0
Обновлен документ для версии программного обеспечения Libero v11.8 SP2.
Редакция 1.0
Первая публикация этого документа.
Обнаружение и исправление ошибок в памяти RTG4 LSRAM
Этот эталонный проект описывает возможности обнаружения и исправления ошибок (EDAC) модулей RTG4™ FPGA LSRAM. В среде, подверженной сбоям в одном событии (SEU), оперативная память подвержена временным ошибкам, вызванным тяжелыми ионами. Эти ошибки можно обнаружить и исправить с помощью кодов исправления ошибок (ECC). Блоки ОЗУ RTG4 FPGA имеют встроенные контроллеры EDAC для генерации кодов исправления ошибок для исправления 1-битной ошибки или обнаружения 2-битной ошибки.
Если обнаружена 1-битная ошибка, контроллер EDAC исправляет бит ошибки и устанавливает флаг исправления ошибок (SB_CORRECT) в активный высокий уровень. Если обнаружена 2-битная ошибка, контроллер EDAC устанавливает флаг обнаружения ошибки (DB_DETECT) в активный высокий уровень.
Дополнительные сведения о функциях RTG4 LSRAM EDAC см. в документе UG0574: RTG4 FPGA Fabric.
Руководство пользователя.
В этом эталонном проекте 1-битная ошибка или 2-битная ошибка вводятся через графический интерфейс SmartDebug. EDAC наблюдается с использованием графического пользовательского интерфейса (GUI), использующего интерфейс UART для доступа к LSRAM для чтения/записи данных, Libero® System-on-Chip (SoC) SmartDebug (JTAG) используется для ввода ошибок в память LSRAM.
Требования к проектированию
В таблице 1 перечислены требования к эталонному проекту для запуска демонстрационной версии RTG4 LSRAM EDAC.
Таблица 1 • Требования к конструкции
Программное обеспечение
- Либеро SoC
- ФлешПро Экспресс
- Умная отладка
- Драйверы хост-компьютера Драйверы USB-UART
Примечание: Снимки экрана Libero SmartDesign и конфигурации, показанные в этом руководстве, предназначены только для иллюстрации.
Откройте дизайн Libero, чтобы увидеть последние обновления.
Предпосылки
Прежде чем начать:
Загрузите и установите Libero SoC (как указано в webсайт для этого дизайна) на хост-компьютере из следующего места: https://www.microsemi.com/product-directory/design-resources/1750-libero-soc
Демонстрационный дизайн
Скачать демо-дизайн fileс от Microsemi webсайт по адресу: http://soc.microsemi.com/download/rsc/?f=rtg4_dg0703_df
Демонстрационный дизайн fileвключают в себя:
- Либеро SoC проект
- Установщик GUI
- Программирование files
- Readme.txt file
- TCL_скрипты
Приложение с графическим интерфейсом на хост-компьютере выдает команды устройству RTG4 через интерфейс USB-UART. Этот интерфейс UART разработан с CoreUART, который представляет собой логический IP-адрес из каталога IP-систем Libero SoC. IP-адрес CoreUART в структуре RTG4 получает команды и передает их логике декодера команд. Логика декодера команд декодирует команду чтения или записи, которая выполняется с использованием логики интерфейса памяти.
Блок интерфейса памяти используется для чтения/записи и мониторинга флагов ошибок LSRAM. Встроенный EDAC исправляет 1-битную ошибку при чтении из LSRAM и предоставляет исправленные данные пользовательскому интерфейсу, но не записывает исправленные данные обратно в LSRAM. Встроенный LSRAM EDAC не реализует функцию очистки. В демонстрационном проекте реализована логика очистки, которая отслеживает 1-битный флаг исправления и обновляет LSRAM с исправленными данными, если возникает однобитовая ошибка.
SmartDebug GUI используется для ввода 1-битной или 2-битной ошибки в данные LSRAM.
На рис. 1 показана блок-схема верхнего уровня демонстрационного проекта RTG4 LSRAM EDAC.
Рисунок 1 • Блок-схема верхнего уровня
Ниже приведены конфигурации демонстрационного дизайна:
- LSRAM настроен на режим ×18, а EDAC включается путем подключения сигнала ECC_EN LSRAM к высокому уровню.
Примечание: LSRAM EDAC поддерживается только для режимов ×18 и ×36. - IP-адрес CoreUART настроен для связи с приложением хост-компьютера со скоростью 115200 бод.
- RTG4FCCCECALIB_C0 настроен на синхронизацию CoreUART и другой логики фабрики на частоте 80 МГц.
Функции
Ниже приведены особенности демо-дизайна:
- Чтение и запись в LSRAM
- Внедрение 1-битной и 2-битной ошибки с помощью SmartDebug
- Отображение 1-битных и 2-битных значений количества ошибок
- Положение для очистки значений счетчика ошибок
- Включить или отключить логику очистки памяти
Описание
Данная демонстрационная конструкция предполагает выполнение следующих задач:
- Инициализация и доступ к LSRAM
Логика интерфейса памяти, реализованная в логике структуры, получает команду инициализации от графического интерфейса и инициализирует первые 256 ячеек памяти LSRAM добавочными данными. Он также выполняет операции чтения и записи в 256 ячеек памяти LSRAM, получая адрес и данные из графического интерфейса. Для операции чтения проект извлекает данные из LSRAM и предоставляет их графическому интерфейсу для отображения. Ожидается, что проект не вызовет ошибок до использования SmartDebug.
Примечание: Неинициализированные ячейки памяти могут иметь случайные значения, и SmartDebug может отображать однобитные или двухбитовые ошибки в этих ячейках.
- Внедрение 1-битных или 2-битных ошибок
Графический интерфейс SmartDebug используется для ввода 1-битных или 2-битных ошибок в указанную ячейку памяти LSRAM. Следующие операции выполняются с использованием SmartDebug для ввода 1-битных и 2-битных ошибок в LSRAM:- Откройте графический интерфейс SmartDebug, щелкните Debug FPGA Array.
- Перейдите на вкладку «Блоки памяти», выберите экземпляр памяти и щелкните правой кнопкой мыши «Добавить».
- Чтобы прочитать блок памяти, нажмите «Прочитать блок».
- Внедрить однобитную или двухбитную ошибку в любое место LSRAM определенной глубины.
- Чтобы записать в измененное расположение, нажмите «Записать блок».
Во время операции чтения и записи LSRAM через SmartDebug (JTAG) контроллер EDAC игнорируется и не вычисляет биты ECC для операции записи на шаге e.
- Подсчет ошибок
8-битные счетчики используются для подсчета ошибок и встроены в логику структуры для подсчета 1-битных или 2-битных ошибок. Логика декодера команд предоставляет графическому интерфейсу значения счетчика при получении команд из графического интерфейса.
Структура синхронизации
В этом демонстрационном проекте есть один домен часов. Внутренний генератор 50 МГц управляет RTG4FCCC, который дополнительно управляет RTG4FCCCECALIB_C0. RTG4FCCCECALIB_C0 генерирует тактовую частоту 80 МГц, которая обеспечивает источник тактовой частоты для модулей COREUART, cmd_decoder, TPSRAM_ECC и RAM_RW.
На следующем рисунке показана структура синхронизации демонстрационного проекта.
Рисунок 2 • Структура синхронизации
Сбросить структуру
В этом демонстрационном проекте сигнал сброса для модулей COREUART, cmd_decoder и RAM_RW предоставляется через порт LOCK RTG4FCCCECALIB_C0. На следующем рисунке показана структура сброса демонстрационного проекта.
Рисунок 3 • Структура сброса
Настройка демонстрационного дизайна
В следующих разделах описывается, как настроить RTG4 Development Kit и графический интерфейс для запуска демонстрационного проекта.
Настройки перемычек
- Подсоедините перемычки комплекта разработки RTG4, как показано в таблице 2.
Таблица 2 • Настройки перемычекДжемпер Пин (от) Пин (К) Комментарии J11, J17, J19, J21, J23, J26, J27, J28 1 2 По умолчанию J16 2 3 По умолчанию J32 1 2 По умолчанию J33 1 3 По умолчанию 2 4 Примечание: Выключите выключатель питания, SW6, при подсоединении перемычек.
- Подключите кабель USB (кабель mini USB к USB типа A) к разъему J47 комплекта разработки RTG4, а другой конец кабеля — к порту USB на хост-компьютере.
- Убедитесь, что драйверы моста USB-UART определяются автоматически. Это можно проверить в диспетчере устройств хост-компьютера.
На рис. 4 показаны свойства последовательного порта USB 2.0 и подключенного COM31 и последовательного преобразователя USB C.
Рис. 4 • Драйверы моста USB-UART
Примечание: Если драйверы моста USB-UART не установлены, загрузите и установите драйверы с www.microsemi.com//documents/CDM_2.08.24_WHQL_Certified.zip
На рис. 5 показана конфигурация платы для запуска демо-версии EDAC в RTG4 Development Kit.
Программирование демонстрационного дизайна
- Запустите программное обеспечение Libero SOC.
- Чтобы запрограммировать RTG4 Development Kit с помощью задания file предоставляется как часть дизайна files с помощью программного обеспечения FlashPro Express см. Приложение 1: Программирование устройства с помощью FlashPro Express, стр. 14.
Примечание: После того, как программирование завершено с работой file с помощью программного обеспечения FlashPro Express, перейдите к демонстрационному графическому интерфейсу EDAC, стр. 9. В противном случае перейдите к следующему шагу. - В процессе проектирования Libero щелкните действие «Выполнить программу».
- После завершения программирования перед действием «Выполнить программу» появится зеленая галочка, указывающая на успешное программирование демонстрационного проекта.
Демонстрационный графический интерфейс EDAC
Демонстрация EDAC снабжена удобным графическим интерфейсом пользователя, как показано на рис. 7, который работает на хост-компьютере, взаимодействующем с RTG4 Development Kit. UART используется в качестве базового протокола связи между хост-компьютером и RTG4 Development Kit.
Графический интерфейс содержит следующие разделы:
- Выбор COM-порта для установления UART-подключения к RTG4 FPGA со скоростью 115200 бод.
- Запись в память LSRAM: для записи 8-битных данных по указанному адресу памяти LSRAM.
- Очистка памяти: чтобы включить или отключить логику очистки.
- Чтение памяти LSRAM: для чтения 8-битных данных из указанного адреса памяти LSRAM.
- Счетчик ошибок: отображает количество ошибок и дает возможность сбросить значение счетчика до нуля.
- 1-битный счетчик ошибок: Отображает 1-битный счетчик ошибок и предоставляет возможность обнулить значение счетчика.
- 2-битный счетчик ошибок: отображает 2-битный счетчик ошибок и предоставляет возможность сбросить значение счетчика до нуля.
- Данные журнала: Предоставляет информацию о состоянии для каждой операции, выполненной с использованием графического интерфейса.
Запуск демонстрации
Следующие шаги описывают, как запустить демонстрацию:
- Идти к \v1.2.2\v1.2.2\Exe и дважды щелкните файл EDAC_GUI.exe, как показано на рисунке 8.
- Выберите порт COM31 из списка и нажмите Подключить.
Введение и исправление однобитовых ошибок
- В представленном дизайне Libero дважды щелкните SmartDebug Design в потоке проектирования.
- В графическом интерфейсе SmartDebug щелкните Debug FPGA Array.
- В окне Debug FPGA Array перейдите на вкладку Memory Blocks. Он покажет блок LSRAM в проекте с логическим и физическим view. Логические блоки обозначаются значком L, а физические блоки — значком P.
- Выберите экземпляр физического блока и щелкните правой кнопкой мыши «Добавить».
- Чтобы прочитать блок памяти, нажмите «Прочитать блок».
- Ввод 1-битной ошибки в 8-битные данные в любом месте LSRAM до глубины 256, как показано на следующем рисунке, где 1-битовая ошибка вводится в 0-м месте LSRAM.
- Нажмите Write Block, чтобы записать измененные данные в нужное место.
- Перейдите к графическому интерфейсу EDAC и введите адрес в поле «Адрес» в разделе «Чтение памяти LSRAM» и нажмите «Чтение», как показано на следующем рисунке.
- Обратите внимание на поля 1 Bit Error Count и Read Data в графическом интерфейсе. Значение счетчика ошибок увеличивается на 1.
Поле Read Data отображает правильные данные, так как EDAC исправляет бит ошибки.
Примечание: Если очистка памяти не включена, счетчик ошибок увеличивается при каждом чтении с одного и того же адреса LSRAM, поскольку это вызывает 1-битную ошибку.
Введение и обнаружение двойных битовых ошибок
- Выполните шаги с 1 по 5, как указано в разделе Введение и исправление одиночных ошибок, стр. 10.
- Внесите 2-битную ошибку в 8-битные данные в любом месте LSRAM до глубины 256, как показано на следующем рисунке, где 2-битная ошибка вводится в место «A» LSRAM.
- Нажмите Write Block, чтобы записать измененные данные в нужное место.
- Перейдите к графическому интерфейсу EDAC и введите адрес в поле «Адрес» в разделе «Чтение памяти LSRAM» и нажмите «Чтение», как показано на следующем рисунке.
- Обратите внимание на 2-битные поля Error Count и Read Data в графическом интерфейсе. Значение счетчика ошибок увеличивается на 1.
В поле «Прочитанные данные» отображаются поврежденные данные.
Все действия, выполняемые в RTG4, регистрируются в разделе последовательной консоли графического интерфейса.
Заключение
Эта демонстрация демонстрирует возможности EDAC памяти RTG4 LSRAM. 1-битная ошибка или 2-битная ошибка вводятся через графический интерфейс SmartDebug. Исправление 1-битных ошибок и обнаружение 2-битных ошибок наблюдают с помощью графического интерфейса пользователя EDAC.
Программирование устройства с помощью FlashPro Express
В этом разделе описывается, как запрограммировать устройство RTG4 с помощью задания программирования. file с помощью Flash Pro Express.
Чтобы запрограммировать устройство, выполните следующие действия:
- Убедитесь, что настройки перемычек на плате такие же, как и в таблице 3 документа UG0617:
Руководство пользователя комплекта разработки RTG4. - Дополнительно можно установить перемычку J32 для подключения контактов 2–3 при использовании внешнего программатора FlashPro4, FlashPro5 или FlashPro6 вместо установки перемычки по умолчанию для использования встроенного FlashPro5.
Примечание: Выключатель питания, SW6, должен быть выключен при установке перемычек. - Подключите кабель питания к разъему J9 на плате.
- Включите питание выключателем питания SW6.
- При использовании встроенного FlashPro5 подключите USB-кабель к разъему J47 и хост-компьютеру.
В качестве альтернативы, при использовании внешнего программатора, подключите ленточный кабель к разъему J.TAG разъем J22 и подключите программатор к хост-компьютеру. - На хост-компьютере запустите программу FlashPro Express.
- Щелкните «Создать» или выберите «Новый проект задания» из «Задание FlashPro Express» в меню «Проект», чтобы создать новый проект задания, как показано на следующем рисунке.
- Введите следующее в диалоговом окне «Новый проект задания из FlashPro Express Job»:
- Работа по программированию file: нажмите «Обзор» и перейдите к месту, где находится файл .job. file находится и выберите file. Расположение по умолчанию: \rtg4_dg0703_df\Programming_Job
- Местоположение проекта задания FlashPro Express: нажмите «Обзор» и перейдите к нужному местоположению проекта FlashPro Express.
- Нажмите «ОК». Необходимое программирование file выбран и готов к программированию в устройстве.
- Появится окно FlashPro Express, подтвердите, что номер программатора появился в поле Programmer. Если это не так, подтвердите соединения с платой и нажмите Refresh/Rescan Programmers.
- Нажмите ЗАПУСТИТЬ. Когда устройство успешно запрограммировано, отображается статус RUN PASSED, как показано на следующем рисунке.
- Закройте FlashPro Express или нажмите «Выход» на вкладке «Проект».
Запуск скрипта TCL
Скрипты TCL предусмотрены в дизайне files в каталоге TCL_Scripts. При необходимости дизайн
поток может быть воспроизведен от реализации проекта до создания задания file.
Чтобы запустить TCL, выполните следующие действия:
- Запустите программное обеспечение Либеро
- Выберите «Проект» > «Выполнить сценарий…».
- Нажмите «Обзор» и выберите script.tcl из загруженного каталога TCL_Scripts.
- Нажмите «Выполнить».
После успешного выполнения сценария TCL проект Libero создается в каталоге TCL_Scripts.
Дополнительные сведения о сценариях TCL см. в файле rtg4_dg0703_df/TCL_Scripts/readme.txt.
Обратитесь к Справочному руководству по командам TCL Libero® SoC для получения дополнительной информации о командах TCL. Обратитесь в службу технической поддержки по любым вопросам, возникающим при запуске сценария TCL.
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.
Штаб-квартира Микросеми
One Enterprise, Алисо Вьехо,
CA 92656 США
В пределах США: +1 800-713-4113
За пределами США: +1 949-380-6100
Продажи: +1 949-380-6136
Факс: +1 949-215-4996
Электронная почта: продажи.support@microsemi.com
www.microsemi.com
©2021 Microsemi, дочерняя компания Microchip Technology Inc. Все права защищены. Microsemi и логотип Microsemi являются зарегистрированными товарными знаками корпорации Microsemi. Все другие товарные знаки и знаки обслуживания являются собственностью их соответствующих владельцев.
Собственный продукт Microsemi DG0703, редакция 4.0
Документы/Ресурсы
![]() |
Обнаружение и исправление ошибок MICROCHIP в памяти RTG4 LSRAM [pdf] Руководство пользователя Демонстрация DG0703, обнаружение и исправление ошибок в памяти RTG4 LSRAM, обнаружение и исправление в памяти RTG4 LSRAM, памяти RTG4 LSRAM, памяти LSRAM |