Microsemi -LOGO

Microsemi DG0618 Откриване и коригиране на грешки на SmartFusion2 устройства, използващи DDR памет

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
Microsemi Corporation (Nasdaq: MSCC) предлага цялостно портфолио от полупроводникови и системни решения за космическото пространство и отбраната, комуникациите, центровете за данни и индустриалните пазари. Продуктите включват високопроизводителни и устойчиви на радиация аналогови интегрални схеми със смесен сигнал, FPGA, SoC и ASIC; Продукти за управление на мощността; устройства за време и синхронизация и решения за точно време, определящи световния стандарт за време; устройства за обработка на глас; RF решения; дискретни компоненти; корпоративни решения за съхранение и комуникация, технологии за сигурност и мащабируеми анти-тamper продукти; Ethernet решения; Захранване през Ethernet интегрални схеми и средни разстояния; както и персонализирани възможности за проектиране и услуги. Microsemi е със седалище в Aliso Viejo, Калифорния, и има приблизително 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. DDR синхронната динамична памет с произволен достъп (SDRAM) може да бъде DDR2, DDR3 или LPDDR1, в зависимост от конфигурацията на MDDR и хардуерните ECC възможности.
Подсистемата SmartFusion2 MDDR поддържа плътност на паметта до 4 GB. В тази демонстрация можете да изберете всяко място в паметта от 1 GB в адресното пространство на DDR (0xA0000000 до 0xDFFFFFFF).
Когато SECDED е активиран:

  • Операцията за запис изчислява и добавя 8 бита SECDED код (на всеки 64 бита данни)
  • Операция за четене чете и проверява данните спрямо съхранения SECDED код, за да поддържа 1-битово коригиране на грешки и 2-битово откриване на грешки

Следната илюстрация описва блоковата диаграма на SmartFusion2 EDAC на DDR SDRAM.

Фигура 1 • Блокова диаграма от най-високо ниво

Функцията EDAC на DDR поддържа следното:

  1.  SECDED механизъм
  2. Осигурява прекъсвания на процесора ARM Cortex-M3 и FPGA тъканта при откриване на 1-битова грешка или 2-битова грешка
  3. Съхранява броя на 1-битовите и 2-битовите грешки в регистрите на брояча на грешки
  4. Съхранява адреса на последното 1-битово или 2-битово засегнато от грешка място в паметта
  5. Съхранява 1-битови или 2-битови данни за грешка в регистри SECDED
  6. осигурява сигнали на шината за грешка към FPGA тъканта

За повече информация относно EDAC вижте UG0443: SmartFusion2 и IGLOO2 FPGA Ръководство за потребителя за сигурност и надеждност и UG0446: SmartFusion2 и IGLOO2 FPGA високоскоростни DDR интерфейси Ръководство за потребителя.

Изисквания за проектиране
Следващата таблица изброява изискванията за проектиране.

Таблица 1 • Изисквания за проектиране

  • Описание на проектните изисквания
  • Хардуерни изисквания
  • SmartFusion2 Advanced Development Kit платка Rev B или по-нова
  • Програмист FlashPro5 или по-нова версия
  • USB A към mini-B USB кабел
  • Захранващ адаптер 12 V
  • Дъщерна платка 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 драйвери
  • Рамка за стартиране на демонстрационен клиент на Microsoft .NET Framework 4

Демо дизайн
Демо дизайнът files са достъпни за изтегляне от следния път в Microsemi webсайт: http://soc.microsemi.com/download/rsc/?f=m2s_dg0618_liberov11p8_df
Демо дизайнът files включват:

  • DDR конфигурация File
  • DDR_EDAC
  • Програмиране files
  • GUI изпълним файл
  • Readme file

Следната илюстрация описва структурата от най-високо ниво на дизайна files. За повече подробности вижте readme.txt file.

Фигура 2 • Демо дизайн на структура от най-високо ниво

Microsemi -DG0618-Откриване-и-коригиране-на-грешки-на-SmartFusion2-устройства-използващи-DDR памет-2

Внедряване на демо дизайн
Подсистемата MDDR има специален EDAC контролер. EDAC открива 1-битова грешка или 2-битова грешка, когато данните се четат от паметта. Ако EDAC открие 1-битова грешка, EDAC контролерът коригира бита за грешка. Ако EDAC е активиран за всички 1-битови и 2-битови грешки, съответните броячи на грешки в системните регистри се увеличават и се генерират съответните прекъсвания и сигнали на шината за грешка към FPGA тъканта.
Това се случва в реално време. За да се демонстрира тази функция на SECDED, грешка се въвежда ръчно и се наблюдава откриване и коригиране.
Този демонстрационен дизайн включва изпълнение на следните стъпки:

  1. Активирайте EDAC
  2. Записвайте данни в DDR
  3. Прочетете данни от DDR
  4. Деактивирайте EDAC
  5. Повредете 1 или 2 бита
  6. Записвайте данни в DDR
  7. Активирайте EDAC
  8. Прочетете данните
  9. В случай на 1-битова грешка, EDAC контролерът коригира грешката, актуализира съответните регистри за състояние и дава данните, записани в Стъпка 2, при операцията за четене, извършена на Стъпка 8.
  10. В случай на 2-битова грешка се генерира съответното прекъсване и приложението трябва да коригира данните или да предприеме подходящото действие в манипулатора на прекъсванията. Тези два метода са демонстрирани в тази демонстрация.

В тази демонстрация са внедрени два теста: цикличен тест и ръчен тест и те са приложими както за 1-битови, така и за 2-битови грешки.

Loop Test
Тестът за цикъл се изпълнява, когато устройствата SmartFusion2 получат команда за тест за цикъл от GUI. Първоначално всички броячи на грешки и свързаните с EDAC регистри се поставят в състояние RESET.
Следните стъпки се изпълняват за всяка итерация.

  1. Активирайте EDAC контролера
  2. Запишете данните в конкретното местоположение на DDR паметта
  3. Деактивирайте EDAC контролера
  4. Запишете 1-битовите или 2-битовите данни, предизвикани от грешка, в същото местоположение на DDR паметта
  5. Активирайте EDAC контролера
  6. Прочетете данните от същото местоположение на DDR паметта
  7. Изпращане на данни за откриване на 1-битова или 2-битова грешка и коригиране на 1-битова грешка в случай на 1-битова грешка към GUI

Ръчен тест
Този метод позволява ръчно тестване на 1-битово откриване и коригиране на грешки и 2-битово откриване на грешки за адрес на DDR памет (0xA0000000 до 0xDFFFFFFF) с инициализация. 1-битова/2-битова грешка се въвежда ръчно към избран адрес на DDR памет. Дадените данни се записват в избраното местоположение на DDR паметта с активиран EDAC. След това повредените 1-битови или 2-битови данни за грешка се записват на същото място в паметта с деактивиран EDAC. Информацията за откритата 1-битова или 2-битова грешка се регистрира, когато данните се четат от същото място в паметта с активиран EDAC. Високопроизводителният DMA контролер
(HPDMA) се използва за четене на данни от DDR паметта. Манипулаторът на прекъсване за откриване на двубитова грешка е внедрен, за да предприеме подходящото действие, когато бъде открита 2-битова грешка.
Следната илюстрация описва демонстрационните операции на EDAC.

Фигура 3 • Поток на проектиране

Microsemi -DG0618-Откриване-и-коригиране-на-грешки-на-SmartFusion2-устройства-използващи-DDR памет-3

Забележка: За 2-битова грешка, когато процесорът Cortex-M3 чете данните, изпълнението на кода влиза в манипулатора на твърди грешки, тъй като полученото прекъсване закъснява за отговора на процесора. Докато отговори на прекъсването, той може вече да е предал данните и случайно да е стартирал команда. В резултат на това HRESP спира да обработва неправилните данни. 2-битовото откриване на грешка използва HPDMA за четене на данните от местоположението на адреса на DDR, което инструктира процесора, че прочетените данни имат 2-битова грешка и системата трябва да предприеме подходящи действия за възстановяване (ECC interrupt Handler).

Настройване на демонстрационния дизайн
Този раздел описва настройката на платката SmartFusion2 Advanced Development Kit, опциите на GUI и как да изпълните демонстрационния дизайн.
Следните стъпки описват как да настроите демонстрацията:

  1. Свържете единия край на USB mini-B кабела към конектора J33, предоставен в платката SmartFusion2 Advanced Development Kit. Свържете другия край на USB кабела към хост компютъра. Светодиодът (LED) DS27 трябва да свети, което показва, че UART връзката е установена. Уверете се, че драйверите на моста USB към UART се откриват автоматично (може да се провери в диспечера на устройствата), както е показано на следващата фигура.
    Фигура 4 • Драйвери за мост от USB към UART
    Microsemi -DG0618-Откриване-и-коригиране-на-грешки-на-SmartFusion2-устройства-използващи-DDR памет-4
    Ако драйверите за USB към UART мост не са инсталирани, изтеглете и инсталирайте драйверите от: www.microsemi.com/soc/documents/CDM_2.08.24_WHQL_Certified.zip.
  2. Свържете джъмперите на платката на SmartFusion2 Advanced Development Kit, както е показано в Таблица 4, страница 11. Превключвателят на захранването SW7 трябва да бъде изключен, докато свързвате джъмпера.

Фигура 5 • SmartFusion2 Advanced Development Kit Настройка на платката

Microsemi -DG0618-Откриване-и-коригиране-на-грешки-на-SmartFusion2-устройства-използващи-DDR памет-5

 Графичен потребителски интерфейс
Този раздел описва DDR – EDAC Demo GUI.

Фигура 6 • DDR – EDAC Demo GUI

Microsemi -DG0618-Откриване-и-коригиране-на-грешки-на-SmartFusion2-устройства-използващи-DDR памет-6

GUI поддържа следните функции:

  1. Избор на COM порт и Baud Rate
  2. Избор на 1-битов раздел за коригиране на грешки или 2-битово откриване на грешки
  3. Адресно поле за запис или четене на данни към или от определен DDR адрес
  4. Поле за данни за запис или четене на данни към или от определен DDR адрес
  5. Секция Serial Console за отпечатване на информацията за състоянието, получена от приложението
  6. Активиране на EDAC/Деактивиране на EDAC: Активира или деактивира EDAC
  7. Запис: Позволява запис на данни на посочения адрес
  8.  Четене: Позволява четене на данни от посочения адрес
  9. Loop test ON/OFF: Позволява тестване на EDAC механизма в цикъл
  10.  Инициализиране: Позволява да се инициализира предварително дефинираната памет (в тази демонстрация A0000000-A000CFFF)

Изпълнение на демонстрационния дизайн
Следните стъпки описват как да стартирате дизайна: Следните стъпки описват как да стартирате дизайна:

  1. Включете превключвателя за захранване, SW7.
  2. Програмирайте устройството SmarFusion2 с програмирането file предвидени в проекта files.(\ПрограмиранеFile\EDAC_DDR3.stp) с помощта на софтуер за проектиране FlashPro, както е показано на следващата фигура.
    Фигура 7 • Прозорец за програмиране на FlashPro
    Microsemi -DG0618-Откриване-и-коригиране-на-грешки-на-SmartFusion2-устройства-използващи-DDR памет-7
  3. Натиснете превключвателя SW6, за да нулирате платката след успешно програмиране.
  4. Стартирайте изпълнимия EDAC_DDR Demo GUI file налични в дизайна files (\GUI Executable\ EDAC_DDR.exe). Показва се прозорецът на GUI, както е показано на Фигура 8, страница 9.
  5. Щракнете върху Свързване, той избира COM порта и установява връзката. Опцията за свързване се променя на Прекъсване.
  6. Изберете раздела 1-bit Error Correction или 2-bit Error Detection.
  7. Могат да се извършват ръчни и циклични тестове.
  8. Щракнете върху Инициализиране, за да инициализирате DDR паметта, за да извършите ръчни и циклични тестове, на серийната конзола се показва съобщение за завършване на инициализацията, както е показано на Фигура 8, страница 9.

Фигура 8 • Прозорец завършена инициализация

Microsemi -DG0618-Откриване-и-коригиране-на-грешки-на-SmartFusion2-устройства-използващи-DDR памет-8

Извършване на Loop Test
Щракнете върху Loop Test ON. Той работи в режим на цикъл, където се извършва непрекъсната корекция и откриване на грешки. Всички действия, извършени в устройството SmartFusion2, се записват в секцията Serial Console на GUI.

Таблица 2 • Адреси на DDR3 памет, използвани в Loop Test

  • Памет DDR3
  • 1-битова корекция на грешка 0xA0008000
  • 2-битово откриване на грешка 0xA000C000

Извършване на ръчен тест
При този метод грешките се въвеждат ръчно чрез GUI. Използвайте следните стъпки, за да изпълните 1-битово коригиране на грешки или 2-битово откриване на грешки.

Таблица 3 • Адреси на DDR3 памет, използвани при ръчен тест

Полета за въвеждане на адрес и данни (използвайте 32-битови шестнадесетични стойности).

  • Памет DDR3
  • 1-битова корекция на грешка 0xA0000000-0xA0004000
  • 2-битово откриване на грешка 0xA0004000-0xA0008000
  1. Щракнете върху Активиране на EDAC.
  2. Щракнете върху Писане.
  3. Щракнете върху Деактивиране на EDAC.
  4. Променете един бит (в случай на 1-битова корекция на грешка) или два бита (в случай на 2-битова грешка) в полето за данни (въвеждане на грешка).
  5. Щракнете върху Писане.
  6. Щракнете върху Активиране на EDAC.
  7. Щракнете върху Прочетете.
  8. Наблюдавайте полето за показване на броя грешки и данни в GUI. Стойността на броя грешки се увеличава с 1.

Прозорецът за коригиране на 1-битов цикъл на грешка е показан на следващата фигура.

Фигура 9 • 1-битов прозорец за откриване на цикъл на грешка

Microsemi -DG0618-Откриване-и-коригиране-на-грешки-на-SmartFusion2-устройства-използващи-DDR памет-9

2-битовият ръчен прозорец за откриване на грешки е показан на следващата фигура.

Фигура 10 • Ръчен прозорец за 2-битово откриване на грешки

Microsemi -DG0618-Откриване-и-коригиране-на-грешки-на-SmartFusion2-устройства-използващи-DDR памет-10

Заключение
Тази демонстрация показва възможностите на SmartFusion2 SECDED за подсистемата MDDR.

Приложение: Настройки на джъмпера

Следващата таблица показва всички необходими джъмпери за настройка на комплекта за разширена разработка SmartFusion2.

Таблица 4 • Настройки на джъмпера на SmartFusion2 Advanced Development Kit

Jumper : Pin (От) : Pin (До) : Коментари

  • J116, J353, J354, J54 1 2 Това са настройките на джъмпера по подразбиране на Advanced
  • J123 2 3 Платка за комплект за разработка. Уверете се, че тези джъмпери са настроени по съответния начин.
  • J124, J121, J32 1 2 JTAG програмиране чрез FTDI

DG0618 Демо Ръководство Ревизия 4.0

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

Microsemi DG0618 Откриване и коригиране на грешки на SmartFusion2 устройства, използващи DDR памет [pdf] Ръководство за потребителя
DG0618 Откриване и коригиране на грешки на устройства SmartFusion2, използващи DDR памет, DG0618, Откриване и коригиране на грешки на устройства SmartFusion2, използващи DDR памет, устройства SmartFusion2, използващи DDR памет, DDR памет

Референции

Оставете коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са маркирани *