Микросеми -ЛОГО

Откривање и корекција на грешка Microsemi DG0618 на уреди SmartFusion2 кои користат DDR меморија

Microsemi -DG0618-Error-Detection-and-Corection-on-SmartFusion2-Devices-using-DDR Memory-PRODUCT-IMAGE

Седиштето на корпоративното „Микросеми“.
One Enterprise, Алисо Виехо,
Калифорнија 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; производи за управување со енергија; уреди за тајминг и синхронизација и прецизни временски решенија, поставувајќи ги светските стандарди за времето; уреди за обработка на глас; RF решенија; дискретни компоненти; претпријатија за складирање и комуникациски решенија, безбедносни технологии и скалабилни анти-тamper производи; Етернет решенија; ИЦ и средни распони со напојување преку етернет; како и можности и услуги прилагодено за дизајн. Микросеми е со седиште во Алисо Виехо, Калифорнија и има приближно 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
  • Домаќински драјвери за компјутер УСБ во UART драјвери
  • Рамка за извршување демонстрација на 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
  • Читај ме file

Следната илустрација ја опишува структурата на дизајнот на највисоко ниво fileс. За повеќе детали, видете го readme.txt file.

Слика 2 • Структура на највисоко ниво на демо дизајн

Microsemi -DG0618-Error-Detection-and-Corection-on-SmartFusion2-Devices-using-DDR Memory-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-битни грешки.

Тест за јамка
Тестот за јамка се извршува кога уредите 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-Error-Detection-and-Corection-on-SmartFusion2-Devices-using-DDR Memory-3

Забелешка: За 2-битна грешка, кога процесорот Cortex-M3 ги чита податоците, извршувањето на кодот оди кај управувачот со тврда грешка, бидејќи добиениот прекин доцни за процесорот да одговори. До моментот кога ќе одговори на прекинот, можеби веќе ги поминал податоците и случајно извршил команда. Како резултат на тоа, HRESP престанува да ги обработува неточните податоци. Откривањето на 2-битни грешки користи HPDMA за читање на податоците од локацијата на адресата на DDR, што му дава инструкции на процесорот дека читањето податоци има 2-битна грешка и системот треба да преземе соодветни мерки за да се врати (ECC прекинувач за ракување).

Поставување на демо дизајн
Овој дел го опишува поставувањето на таблата SmartFusion2 Advanced Development Kit, опциите за GUI и како да се изврши демо-дизајнот.
Следниве чекори опишуваат како да го поставите демо:

  1. Поврзете го едниот крај на USB mini-B кабелот со конекторот J33 обезбеден во плочката SmartFusion2 Advanced Development Kit. Поврзете го другиот крај на USB-кабелот со компјутерот домаќин. Диодата што емитува светлина (LED) DS27 мора да светне, што покажува дека врската UART е воспоставена. Осигурете се дека двигателите на мостот USB на UART се автоматски откриени (може да се проверат во Управувачот со уреди), како што е прикажано на следната слика.
    Слика 4 • Возачи од USB во UART Bridge
    Microsemi -DG0618-Error-Detection-and-Corection-on-SmartFusion2-Devices-using-DDR Memory-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

Microsemi -DG0618-Error-Detection-and-Corection-on-SmartFusion2-Devices-using-DDR Memory-5

 Графички кориснички интерфејс
Овој дел го опишува DDR – EDAC демо GUI.

Слика 6 • DDR – EDAC Demo GUI

Microsemi -DG0618-Error-Detection-and-Corection-on-SmartFusion2-Devices-using-DDR Memory-6

GUI ги поддржува следните карактеристики:

  1. Избор на COM порта и Baud Rate
  2. Избор на јазиче за корекција на грешка од 1-бит или откривање на 2-битна грешка
  3. Поле за адреса за пишување или читање податоци до или од одредената DDR адреса
  4. Поле за податоци за пишување или читање податоци до или од одредената DDR адреса
  5. Дел за сериска конзола за печатење на информациите за статусот добиени од апликацијата
  6. Овозможи EDAC/Оневозможи EDAC: Овозможува или оневозможува EDAC
  7. Write: Дозволува запишување податоци на наведената адреса
  8.  Читање: Овозможува читање податоци од наведената адреса
  9. Тест на јамка ВКЛУЧЕНО/ИСКЛУЧЕНО: Овозможува тестирање на механизмот EDAC во метод на јамка
  10.  Initialize: Овозможува иницијализирање на претходно дефинираната мемориска локација (во ова демо A0000000-A000CFFF)

Водење на демо дизајн
Следниве чекори опишуваат како да се изврши дизајнот: Следниве чекори опишуваат како да се изврши дизајнот:

  1. Вклучете го прекинувачот за напојување, SW7.
  2. Програмирајте го уредот SmarFusion2 со програмирањето file предвидени во дизајнот files.(\ПрограмирањеFile\EDAC_DDR3.stp) користејќи софтвер за дизајн FlashPro, како што е прикажано на следната слика.
    Слика 7 • Прозорец за програмирање FlashPro
    Microsemi -DG0618-Error-Detection-and-Corection-on-SmartFusion2-Devices-using-DDR Memory-7
  3. Притиснете го прекинувачот SW6 за да ја ресетирате плочата по успешното програмирање.
  4. Стартувајте го извршната датотека EDAC_DDR демо GUI file достапни во дизајнот files (\GUI Executable\ EDAC_DDR.exe). Се прикажува прозорецот GUI, како што е прикажано на Слика 8, страница 9.
  5. Кликнете Поврзи, ја избира COM портата и ја воспоставува врската. Опцијата за поврзување се менува во Исклучи.
  6. Изберете ја картичката 1-битна корекција на грешка или 2-битна Откривање грешка.
  7. Може да се направат рачни и Loop тестови.
  8. Кликнете на Initialize за да ја иницијализирате DDR меморијата за да ги извршите тестовите Manual и Loop, на Сериската конзола се прикажува порака за завршување на иницијализацијата, како што е прикажано на Слика 8, страница 9.

Слика 8 • Прозорец за иницијализација завршен

Microsemi -DG0618-Error-Detection-and-Corection-on-SmartFusion2-Devices-using-DDR Memory-8

Изведување на тест за јамка
Кликнете ВКЛУЧЕНО тест за јамка. Работи во режим на јамка каде што се врши континуирана корекција и откривање на грешки. Сите дејства извршени во уредот SmartFusion2 се најавени во делот Сериска конзола на 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-битна грешка) во полето Data (воведување грешка).
  5. Кликнете Напиши.
  6. Кликнете Овозможи EDAC.
  7. Кликнете Прочитај.
  8. Гледајте го полето за прикажување и податоци за бројот на грешки во GUI. Вредноста на бројот на грешки се зголемува за 1.

Прозорецот за корекција на јамката од 1-битна грешка е прикажан на следната слика.

Слика 9 • 1-битен прозорец за откривање јамка за грешки

Microsemi -DG0618-Error-Detection-and-Corection-on-SmartFusion2-Devices-using-DDR Memory-9

Рачниот прозорец за откривање грешки од 2 бити е прикажан на следната слика.

Слика 10 • Прозорец за прирачник за откривање грешки од 2 бити

Microsemi -DG0618-Error-Detection-and-Corection-on-SmartFusion2-Devices-using-DDR Memory-10

Заклучок
Оваа демо ги прикажува SmartFusion2 SECDED способностите за потсистемот MDDR.

Додаток: Поставки за скокач

Следната табела ги прикажува сите потребни џемпери за поставување на комплетот за напреден развој SmartFusion2.

Табела 4 • Поставки за скокач за напреден комплет за развој SmartFusion2

Скокач : Пин (Од) : Закачи (до) : Коментари

  • J116, J353, J354, J54 1 2 Ова се стандардните поставки за скокач на Напредно
  • 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 меморија

Референци

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

Вашата адреса за е-пошта нема да биде објавена. Задолжителните полиња се означени *