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 поддържа следното:
- SECDED механизъм
- Осигурява прекъсвания на процесора ARM Cortex-M3 и FPGA тъканта при откриване на 1-битова грешка или 2-битова грешка
- Съхранява броя на 1-битовите и 2-битовите грешки в регистрите на брояча на грешки
- Съхранява адреса на последното 1-битово или 2-битово засегнато от грешка място в паметта
- Съхранява 1-битови или 2-битови данни за грешка в регистри SECDED
- осигурява сигнали на шината за грешка към 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 • Демо дизайн на структура от най-високо ниво
Внедряване на демо дизайн
Подсистемата 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-битови грешки.
Loop Test
Тестът за цикъл се изпълнява, когато устройствата SmartFusion2 получат команда за тест за цикъл от GUI. Първоначално всички броячи на грешки и свързаните с EDAC регистри се поставят в състояние RESET.
Следните стъпки се изпълняват за всяка итерация.
- Активирайте EDAC контролера
- Запишете данните в конкретното местоположение на DDR паметта
- Деактивирайте EDAC контролера
- Запишете 1-битовите или 2-битовите данни, предизвикани от грешка, в същото местоположение на DDR паметта
- Активирайте EDAC контролера
- Прочетете данните от същото местоположение на DDR паметта
- Изпращане на данни за откриване на 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 • Поток на проектиране
Забележка: За 2-битова грешка, когато процесорът Cortex-M3 чете данните, изпълнението на кода влиза в манипулатора на твърди грешки, тъй като полученото прекъсване закъснява за отговора на процесора. Докато отговори на прекъсването, той може вече да е предал данните и случайно да е стартирал команда. В резултат на това HRESP спира да обработва неправилните данни. 2-битовото откриване на грешка използва HPDMA за четене на данните от местоположението на адреса на DDR, което инструктира процесора, че прочетените данни имат 2-битова грешка и системата трябва да предприеме подходящи действия за възстановяване (ECC interrupt Handler).
Настройване на демонстрационния дизайн
Този раздел описва настройката на платката SmartFusion2 Advanced Development Kit, опциите на GUI и как да изпълните демонстрационния дизайн.
Следните стъпки описват как да настроите демонстрацията:
- Свържете единия край на 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 Demo GUI.
Фигура 6 • DDR – EDAC Demo GUI
GUI поддържа следните функции:
- Избор на COM порт и Baud Rate
- Избор на 1-битов раздел за коригиране на грешки или 2-битово откриване на грешки
- Адресно поле за запис или четене на данни към или от определен DDR адрес
- Поле за данни за запис или четене на данни към или от определен DDR адрес
- Секция Serial Console за отпечатване на информацията за състоянието, получена от приложението
- Активиране на EDAC/Деактивиране на EDAC: Активира или деактивира EDAC
- Запис: Позволява запис на данни на посочения адрес
- Четене: Позволява четене на данни от посочения адрес
- Loop test ON/OFF: Позволява тестване на EDAC механизма в цикъл
- Инициализиране: Позволява да се инициализира предварително дефинираната памет (в тази демонстрация A0000000-A000CFFF)
Изпълнение на демонстрационния дизайн
Следните стъпки описват как да стартирате дизайна: Следните стъпки описват как да стартирате дизайна:
- Включете превключвателя за захранване, SW7.
- Програмирайте устройството SmarFusion2 с програмирането file предвидени в проекта files.(\ПрограмиранеFile\EDAC_DDR3.stp) с помощта на софтуер за проектиране FlashPro, както е показано на следващата фигура.
Фигура 7 • Прозорец за програмиране на FlashPro
- Натиснете превключвателя SW6, за да нулирате платката след успешно програмиране.
- Стартирайте изпълнимия EDAC_DDR Demo GUI file налични в дизайна files (\GUI Executable\ EDAC_DDR.exe). Показва се прозорецът на GUI, както е показано на Фигура 8, страница 9.
- Щракнете върху Свързване, той избира COM порта и установява връзката. Опцията за свързване се променя на Прекъсване.
- Изберете раздела 1-bit Error Correction или 2-bit Error Detection.
- Могат да се извършват ръчни и циклични тестове.
- Щракнете върху Инициализиране, за да инициализирате DDR паметта, за да извършите ръчни и циклични тестове, на серийната конзола се показва съобщение за завършване на инициализацията, както е показано на Фигура 8, страница 9.
Фигура 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
- Щракнете върху Активиране на EDAC.
- Щракнете върху Писане.
- Щракнете върху Деактивиране на EDAC.
- Променете един бит (в случай на 1-битова корекция на грешка) или два бита (в случай на 2-битова грешка) в полето за данни (въвеждане на грешка).
- Щракнете върху Писане.
- Щракнете върху Активиране на EDAC.
- Щракнете върху Прочетете.
- Наблюдавайте полето за показване на броя грешки и данни в GUI. Стойността на броя грешки се увеличава с 1.
Прозорецът за коригиране на 1-битов цикъл на грешка е показан на следващата фигура.
Фигура 9 • 1-битов прозорец за откриване на цикъл на грешка
2-битовият ръчен прозорец за откриване на грешки е показан на следващата фигура.
Фигура 10 • Ръчен прозорец за 2-битово откриване на грешки
Заключение
Тази демонстрация показва възможностите на 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 памет |