Mikrosemi -LOGO

DDR Bellek Kullanan SmartFusion0618 Cihazlarında Microsemi DG2 Hata Tespiti ve Düzeltme

Microsemi -DG0618-SmartFusion2-DDR Bellek Kullanan-Cihazlarda-DGXNUMX-Hata Tespiti ve Düzeltmesi-ÜRÜN-RESMİ

Microsemi Kurumsal Genel Merkez
Tek Girişim, Aliso Viejo,
CA 92656 ABD
ABD içinde: +1 800-713-4113
ABD dışında: +1 949-380-6100
Faks: +1 949-215-4996
E-posta: sales.support@microsemi.com
www.microsemi.com
© 2017 Mikrosemi Şirketi. Her hakkı saklıdır. Microsemi ve Microsemi logosu, Microsemi Corporation'ın ticari markalarıdır. Diğer tüm ticari markalar ve hizmet markaları ilgili sahiplerinin mülkiyetindedir

Microsemi, burada yer alan bilgiler veya ürün ve hizmetlerinin belirli bir amaca uygunluğu ile ilgili hiçbir garanti, beyan veya garanti vermez ve Microsemi, herhangi bir ürün veya devrenin uygulanmasından veya kullanımından kaynaklanan herhangi bir sorumluluk kabul etmez. Burada satılan ürünler ve Microsemi tarafından satılan diğer ürünler sınırlı testlere tabi tutulmuştur ve kritik görev ekipmanı veya uygulamaları ile birlikte kullanılmamalıdır. Herhangi bir performans spesifikasyonunun güvenilir olduğuna inanılır, ancak doğrulanmamıştır ve Alıcı, ürünlerin tüm performans ve diğer testlerini tek başına ve herhangi bir son ürünle birlikte veya bunlara monte edilmiş olarak gerçekleştirmeli ve tamamlamalıdır. Alıcı, Microsemi tarafından sağlanan herhangi bir veriye ve performans spesifikasyonuna veya parametreye güvenmeyecektir. Herhangi bir ürünün uygunluğunu bağımsız olarak belirlemek ve bunları test etmek ve doğrulamak Alıcı'nın sorumluluğundadır. Microsemi tarafından işbu sözleşme kapsamında sağlanan bilgiler, "olduğu gibi, nerede" ve tüm kusurlarla birlikte sağlanır ve bu bilgilerle ilişkili tüm risk tamamen Alıcı'ya aittir. Microsemi, açıkça veya zımnen, herhangi bir tarafa, bu tür bilgilerin kendisi veya bu tür bilgiler tarafından açıklanan herhangi bir şeyle ilgili olarak herhangi bir patent hakkı, lisans veya başka herhangi bir fikri mülkiyet hakkı vermez. Bu belgede sağlanan bilgiler Microsemi'nin mülkiyetindedir ve Microsemi bu belgedeki bilgilerde veya herhangi bir ürün ve hizmette herhangi bir zamanda herhangi bir bildirimde bulunmaksızın herhangi bir değişiklik yapma hakkını saklı tutar.

Mikrosemi Hakkında
Microsemi Corporation (Nasdaq: MSCC), havacılık ve savunma, iletişim, veri merkezi ve endüstriyel pazarlar için kapsamlı bir yarı iletken ve sistem çözümleri portföyü sunar. Ürünler arasında yüksek performanslı ve radyasyonla güçlendirilmiş analog karışık sinyal entegre devreler, FPGA'lar, SoC'ler ve ASIC'ler; güç yönetimi ürünleri; dünyanın zaman standardını belirleyen zamanlama ve senkronizasyon cihazları ve hassas zaman çözümleri; ses işleme cihazları; RF çözümleri; ayrı bileşenler; kurumsal depolama ve iletişim çözümleri, güvenlik teknolojileri ve ölçeklenebilir anti-tampürünler; Ethernet çözümleri; Ethernet Üzerinden Güç IC'leri ve orta açıklıklar; yanı sıra özel tasarım yetenekleri ve hizmetleri. Merkezi California, Aliso Viejo'da bulunan Microsemi'nin dünya genelinde yaklaşık 4,800 çalışanı bulunmaktadır. adresinde daha fazla bilgi edinin www.microsemi.com.

Revizyon Geçmişi

Revizyon geçmişi, belgede uygulanan değişiklikleri açıklar. Değişiklikler, en güncel yayından başlayarak revizyona göre listelenir.

  • Revizyon 4.0
    Libero v11.8 yazılım sürümü için belge güncellendi.
  • Revizyon 3.0
    Libero v11.7 yazılım sürümü için belge güncellendi.
  • Revizyon 2.0
    Libero v11.6 yazılım sürümü için belge güncellendi.
  • Revizyon 1.0
    Libero SoC v11.5 yazılım sürümü için ilk sürüm.

DDR Bellek Kullanan SmartFusion2 Cihazlarında Hata Tespiti ve Düzeltme

giriiş
Tek bir olay bozulmasına (SEU) duyarlı ortamda, rasgele erişim belleği (RAM), ağır iyonların neden olduğu geçici hatalara eğilimlidir.
Bu belge, mikrodenetleyici alt sistemi (MSS) DDR (MDDR) aracılığıyla bağlanan belleklere sahip uygulamalarda kullanılan SoC FPGA'nın EDAC özelliklerini açıklamaktadır.
SmartFusion2 cihazlarında uygulanan EDAC denetleyicileri, tek hata düzeltmeyi ve çift hata algılamayı (SECDED) destekler. SmartFusion2 MSS cihazlarındaki tüm bellekler—gelişmiş statik rasgele erişim belleği (eSRAM), DDR, düşük güçlü DDR (LPDDR)—SECDED tarafından korunur. DDR eşzamanlı dinamik rasgele erişim belleği (SDRAM), MDDR yapılandırmasına ve donanım ECC özelliklerine bağlı olarak DDR2, DDR3 veya LPDDR1 olabilir.
SmartFusion2 MDDR alt sistemi, 4 GB'a kadar bellek yoğunluklarını destekler. Bu demoda, DDR adres alanında (1xA0 ila 0000000xDFFFFFFF) 0 GB'lik herhangi bir bellek konumunu seçebilirsiniz.
SECDED etkinleştirildiğinde:

  • Bir yazma işlemi SECDED kodunun 8 bitini hesaplar ve ekler (her 64 bit veriye)
  • Bir okuma işlemi, 1 bitlik hata düzeltmesini ve 2 bitlik hata tespitini desteklemek için verileri depolanan SECDED koduna göre okur ve kontrol eder.

Aşağıdaki çizim, SmartFusion2 EDAC'ın DDR SDRAM üzerindeki blok şemasını açıklamaktadır.

Şekil 1 • Üst Düzey Blok Diyagramı

DDR'nin EDAC özelliği aşağıdakileri destekler:

  1.  SECDED mekanizması
  2. 3 bitlik bir hata veya 1 bitlik bir hatanın algılanması üzerine ARM Cortex-M2 işlemciye ve FPGA yapısına kesinti sağlar
  3. Hata sayacı kayıtlarında 1 bitlik ve 2 bitlik hataların sayısını saklar
  4. Son 1 bitlik veya 2 bitlik hatadan etkilenen bellek konumunun adresini saklar
  5. 1 bitlik veya 2 bitlik hata verilerini SECDED kayıtlarında saklar
  6. FPGA yapısına hata veri yolu sinyalleri sağlar

EDAC hakkında daha fazla bilgi için bkz. UG0443: SmartFusion2 ve IGLOO2 FPGA Güvenlik ve Güvenilirlik Kullanıcı Kılavuzu ve UG0446: SmartFusion2 ve IGLOO2 FPGA Yüksek Hızlı DDR Arayüzleri Kullanıcı Kılavuzu.

Tasarım Gereksinimleri
Aşağıdaki tablo tasarım gereksinimlerini listeler.

Tablo 1 • Tasarım Gereksinimleri

  • Tasarım Gereksinimleri Açıklama
  • Donanım Gereksinimleri
  • SmartFusion2 Gelişmiş Geliştirme Kiti kartı Rev B veya üzeri
  • FlashPro5 programcısı veya üstü
  • USB A'dan mini B'ye USB kablosu
  • Güç adaptörü 12 V
  • DDR3 Ek kartı
  • İşletim Sistemi Herhangi bir 64 bit veya 32 bit Windows XP SP2
  • Herhangi bir 64 bit veya 32 bit Windows 7
  • Yazılım Gereksinimleri
  • Libero® Çip Üzerinde Sistem (SoC) v11.8
  • SoftConsole v4.0
  • FlashPro programlama yazılımı v11.8
  • Ana Bilgisayar Sürücüleri USB - UART sürücüleri
  • Demo Microsoft .NET Framework 4 istemcisini çalıştırmak için çerçeve

Tanıtım Tasarımı
Demo tasarımı files, Microsemi'de aşağıdaki yoldan indirilebilir. webalan: http://soc.microsemi.com/download/rsc/?f=m2s_dg0618_liberov11p8_df
Demo tasarımı fileBunlar şunları içerir:

  • DDR Yapılandırması File
  • DDR_EDAC
  • Programlama files
  • yürütülebilir GUI
  • Beni oku file

Aşağıdaki çizim, tasarımın üst düzey yapısını açıklamaktadır. fileS. Daha fazla ayrıntı için, readme.txt dosyasına bakın. file.

Şekil 2 • Demo Tasarım Üst Düzey Yapısı

Microsemi -DG0618-SmartFusion2-DDR Bellek Kullanan-Cihazlarda-DG2-Hata Tespiti ve Düzeltmesi-XNUMX

Demo Tasarım Uygulaması
MDDR alt sisteminin özel bir EDAC denetleyicisi vardır. EDAC, veriler bellekten okunduğunda 1 bitlik bir hata veya 2 bitlik bir hata algılar. EDAC, 1 bitlik bir hata tespit ederse, EDAC denetleyicisi hata bitini düzeltir. Tüm 1 bitlik ve 2 bitlik hatalar için EDAC etkinleştirilirse, sistem kayıtlarındaki karşılık gelen hata sayaçları artırılır ve karşılık gelen kesintiler ve FPGA dokusuna hata veri yolu sinyalleri üretilir.
Bu gerçek zamanlı olarak gerçekleşir. Bu SECDED özelliğini göstermek için, manuel olarak bir hata tanıtılır ve algılama ve düzeltme gözlemlenir.
Bu demo tasarımı, aşağıdaki adımların uygulanmasını içerir:

  1. EDAC'ı etkinleştir
  2. Verileri DDR'ye yaz
  3. DDR'den veri oku
  4. EDAC'ı devre dışı bırak
  5. Bozuk 1 veya 2 bit
  6. Verileri DDR'ye yaz
  7. EDAC'ı etkinleştir
  8. verileri oku
  9. 1 bitlik bir hata durumunda EDAC denetleyicisi hatayı düzeltir, ilgili durum kayıtlarını günceller ve Adım 2'de yapılan okuma işleminde Adım 8'de yazılan verileri verir.
  10. 2 bitlik bir hata durumunda, karşılık gelen bir kesme oluşturulur ve uygulamanın verileri düzeltmesi veya kesme işleyicisinde uygun eylemi gerçekleştirmesi gerekir. Bu demoda bu iki yöntem gösterilmektedir.

Bu demoda iki test uygulanmaktadır: döngü testi ve manuel test ve bunlar hem 1 bitlik hem de 2 bitlik hatalara uygulanabilir.

Döngü testi
SmartFusion2 cihazları GUI'den bir döngü testi komutu aldığında döngü testi yürütülür. Başlangıçta, tüm hata sayaçları ve EDAC ile ilgili kayıtlar RESET durumuna getirilir.
Her yineleme için aşağıdaki adımlar yürütülür.

  1. EDAC denetleyicisini etkinleştirin
  2. Verileri belirli DDR bellek konumuna yazın
  3. EDAC denetleyicisini devre dışı bırakın
  4. 1 bit veya 2 bit hata kaynaklı verileri aynı DDR bellek konumuna yazın
  5. EDAC denetleyicisini etkinleştirin
  6. Verileri aynı DDR bellek konumundan okuyun
  7. GUI'ye 1 bitlik veya 2 bitlik hata algılama ve 1 bitlik hata durumunda 1 bitlik hata düzeltme verilerini gönderin

Manuel Test
Bu yöntem, başlatma ile DDR bellek adresi (1xA2 ila 0xDFFFFFFF) için 0000000 bitlik hata algılama ve düzeltmenin ve 0 bitlik hata algılamanın manuel olarak test edilmesini sağlar. 1-bit/2-bitlik bir hata, seçilen bir DDR bellek adresine manuel olarak verilir. Verilen veriler, EDAC etkinleştirilmiş olarak seçilen DDR bellek konumuna yazılır. Bozuk 1 bitlik veya 2 bitlik hata verileri daha sonra EDAC devre dışı bırakılarak aynı bellek konumuna yazılır. Algılanan 1 bitlik veya 2 bitlik hatayla ilgili bilgiler, veriler EDAC etkinken aynı bellek konumundan okunduğunda günlüğe kaydedilir. Yüksek performanslı DMA denetleyicisi
(HPDMA), DDR belleğinden veri okumak için kullanılır. Çift bit hata algılama kesme işleyicisi, 2 bitlik bir hata algılandığında uygun eylemi gerçekleştirmek için uygulanır.
Aşağıdaki şekilde EDAC demo işlemleri açıklanmaktadır.

Şekil 3 • Tasarım Akışı

Microsemi -DG0618-SmartFusion2-DDR Bellek Kullanan-Cihazlarda-DG3-Hata Tespiti ve Düzeltmesi-XNUMX

Not: 2 bitlik bir hata için, Cortex-M3 işlemcisi verileri okuduğunda, alınan kesme işlemcinin yanıt vermesi için geç kaldığından, kod yürütme işlemi sabit hata işleyicisine gider. Kesintiye yanıt verdiğinde, verileri zaten iletmiş ve yanlışlıkla bir komut başlatmış olabilir. Sonuç olarak, HRESP yanlış verileri işlemeyi durdurur. 2 bitlik hata algılaması, verileri okuyan işlemciye 2 bitlik bir hata olduğunu ve sistemin kurtarmak için uygun eylemi gerçekleştirmesi gerektiğini bildiren DDR adres konumundan verileri okumak için HPDMA'yı kullanır (ECC kesme İşleyici).

Demo Tasarımını Kurma
Bu bölümde SmartFusion2 Advanced Development Kit kartı kurulumu, GUI seçenekleri ve demo tasarımının nasıl yürütüleceği açıklanmaktadır.
Aşağıdaki adımlarda demonun nasıl kurulacağı açıklanmaktadır:

  1. USB mini-B kablosunun bir ucunu SmartFusion33 Gelişmiş Geliştirme Kiti kartında sağlanan J2 konektörüne bağlayın. USB kablosunun diğer ucunu ana bilgisayara bağlayın. Işık yayan diyot (LED) DS27, UART bağlantısının kurulduğunu gösterecek şekilde yanmalıdır. Aşağıdaki şekilde gösterildiği gibi USB - UART köprü sürücülerinin otomatik olarak algılandığından (Aygıt Yöneticisinde doğrulanabilir) emin olun.
    Şekil 4 • USB - UART Köprü Sürücüleri
    Microsemi -DG0618-SmartFusion2-DDR Bellek Kullanan-Cihazlarda-DG4-Hata Tespiti ve Düzeltmesi-XNUMX
    USB - UART köprü sürücüleri kurulu değilse, sürücüleri şu adresten indirin ve kurun: www.microsemi.com/soc/documents/CDM_2.08.24_WHQL_Certified.zip.
  2. SmartFusion2 Gelişmiş Geliştirme Kiti kartındaki atlama tellerini Tablo 4, sayfa 11'de gösterildiği gibi bağlayın. Atlama teli bağlantıları yapılırken SW7 güç kaynağı anahtarı KAPALI olmalıdır.

Şekil 5 • SmartFusion2 Gelişmiş Geliştirme Kiti Kart Kurulumu

Microsemi -DG0618-SmartFusion2-DDR Bellek Kullanan-Cihazlarda-DG5-Hata Tespiti ve Düzeltmesi-XNUMX

 Grafiksel Kullanıcı Arayüzü
Bu bölümde DDR – EDAC Demo GUI açıklanmaktadır.

Şekil 6 • DDR – EDAC Demo GUI

Microsemi -DG0618-SmartFusion2-DDR Bellek Kullanan-Cihazlarda-DG6-Hata Tespiti ve Düzeltmesi-XNUMX

GUI aşağıdaki özellikleri destekler:

  1. COM bağlantı noktası ve Baud Hızı seçimi
  2. 1 bit hata düzeltme sekmesi veya 2 bit hata algılama seçimi
  3. Belirtilen DDR adresine veya adresinden veri yazmak veya okumak için adres alanı
  4. Belirtilen DDR adresine veya adresinden veri yazmak veya okumak için veri alanı
  5. Uygulamadan alınan durum bilgilerini yazdırmak için Seri Konsol bölümü
  6. EDAC'ı Etkinleştir/EDAC'yi Devre Dışı Bırak: EDAC'ı etkinleştirir veya devre dışı bırakır
  7. Yaz: Belirtilen adrese veri yazılmasını sağlar.
  8.  Oku: Belirtilen adresten veri okumaya izin verir
  9. Döngü testi AÇIK/KAPALI: EDAC mekanizmasının bir döngü yönteminde test edilmesini sağlar
  10.  Başlat: Önceden tanımlanmış bellek konumunu başlatmaya izin verir (bu demoda A0000000-A000CFFF)

Demo Tasarımını Çalıştırma
Aşağıdaki adımlar, tasarımın nasıl çalıştırılacağını açıklar: Aşağıdaki adımlar, tasarımın nasıl çalıştırılacağını açıklar:

  1. SW7 besleme anahtarını AÇIK konuma getirin.
  2. SmarFusion2 cihazını programlama ile programlayın file tasarımda sağlanan files.(\ProgramlamaFile\EDAC_DDR3.stp) aşağıdaki şekilde gösterildiği gibi FlashPro tasarım yazılımını kullanarak.
    Şekil 7 • FlashPro Programlama Penceresi
    Microsemi -DG0618-SmartFusion2-DDR Bellek Kullanan-Cihazlarda-DG7-Hata Tespiti ve Düzeltmesi-XNUMX
  3. Başarılı programlamadan sonra kartı sıfırlamak için SW6 anahtarına basın.
  4. EDAC_DDR Demo GUI yürütülebilir dosyasını başlatın file tasarımda mevcut files (\GUI Yürütülebilir Dosya\ EDAC_DDR.exe). GUI penceresi, Şekil 8, sayfa 9'da gösterildiği gibi görüntülenir.
  5. Bağlan'a tıklayın, COM portunu seçer ve bağlantıyı kurar. Bağlan seçeneği, Bağlantıyı Kes olarak değişir.
  6. 1-bit Hata Düzeltme sekmesini veya 2-bit Hata Tespiti'ni seçin.
  7. Manuel ve Loop testleri yapılabilir.
  8. Manuel ve Döngü testlerini gerçekleştirmek üzere DDR belleğini başlatmak için Başlat'a tıklayın, Şekil 8, sayfa 9'da gösterildiği gibi Seri Konsolda bir başlatma tamamlama mesajı görüntülenir.

Şekil 8 • Başlatma Tamamlandı Penceresi

Microsemi -DG0618-SmartFusion2-DDR Bellek Kullanan-Cihazlarda-DG8-Hata Tespiti ve Düzeltmesi-XNUMX

Döngü Testi Gerçekleştirme
Döngü Testi AÇIK'a tıklayın. Sürekli düzeltme ve hataların tespitinin yapıldığı döngü modunda çalışır. SmartFusion2 cihazında gerçekleştirilen tüm eylemler, GUI'nin Serial Console bölümünde günlüğe kaydedilir.

Tablo 2 • Döngü Testinde kullanılan DDR3 Bellek Adresleri

  • Bellek DDR3
  • 1 bitlik hata düzeltme 0xA0008000
  • 2 bit hata algılama 0xA000C000

Manuel Test Gerçekleştirme
Bu yöntemde, hatalar GUI kullanılarak manuel olarak tanıtılır. 1 bitlik hata düzeltme veya 2 bitlik hata algılamayı gerçekleştirmek için aşağıdaki adımları kullanın.

Tablo 3 • Manuel Testte kullanılan DDR3 Bellek Adresleri

Adres ve Veri alanlarını girin (32 bitlik Onaltılık değerler kullanın).

  • Bellek DDR3
  • 1 bitlik hata düzeltme 0xA0000000-0xA0004000
  • 2 bit hata algılama 0xA0004000-0xA0008000
  1. EDAC'ı Etkinleştir'i tıklayın.
  2. Yaz'ı tıklayın.
  3. EDAC'ı Devre Dışı Bırak'a tıklayın.
  4. Veri alanında (hata veren) bir biti (1 bitlik hata düzeltmesi durumunda) veya iki biti (2 bitlik hata tespiti durumunda) değiştirin.
  5. Yaz'ı tıklayın.
  6. EDAC'ı Etkinleştir'i tıklayın.
  7. Oku'ya tıklayın.
  8. GUI'deki Hata Sayısı Ekranını ve Veri alanını gözlemleyin. Hata sayısı değeri 1 artar.

1 bitlik hata döngüsü düzeltme penceresi aşağıdaki şekilde gösterilmektedir.

Şekil 9 • 1-bit Hata Döngüsü Algılama Penceresi

Microsemi -DG0618-SmartFusion2-DDR Bellek Kullanan-Cihazlarda-DG9-Hata Tespiti ve Düzeltmesi-XNUMX

2 bitlik hata algılama kılavuzu penceresi aşağıdaki şekilde gösterilmektedir.

Şekil 10 • 2-bit Hata Tespiti Manuel Penceresi

Microsemi -DG0618-SmartFusion2-DDR Bellek Kullanan-Cihazlarda-DG10-Hata Tespiti ve Düzeltmesi-XNUMX

Çözüm
Bu demo, MDDR alt sistemi için SmartFusion2 SECDED yeteneklerini gösterir.

Ek: Jumper Ayarları

Aşağıdaki tablo, SmartFusion2 Gelişmiş Geliştirme Kitinde ayarlanması gereken tüm atlama tellerini gösterir.

Tablo 4 • SmartFusion2 Gelişmiş Geliştirme Kiti Atlama Teli Ayarları

Jumper : Pin (Kimden) : Pin (Kime) : Yorumlar

  • J116, J353, J354, J54 1 2 Bunlar, Gelişmiş'in varsayılan jumper ayarlarıdır.
  • J123 2 3 Geliştirme Kiti kartı. Bu atlama tellerinin uygun şekilde ayarlandığından emin olun.
  • J124, J121, J32 1 2JTAG FTDI ile programlama

DG0618 Demo Kılavuzu Revizyon 4.0

Belgeler / Kaynaklar

DDR Bellek Kullanan SmartFusion0618 Cihazlarında Microsemi DG2 Hata Tespiti ve Düzeltme [pdf] Kullanıcı Kılavuzu
DG0618 DDR Bellek Kullanan SmartFusion2 Cihazlarında Hata Tespiti ve Düzeltme, DG0618, DDR Bellek Kullanan SmartFusion2 Cihazlarında Hata Tespiti ve Düzeltme, DDR Bellek, DDR Bellek Kullanan SmartFusion2 Cihazları

Referanslar

Yorum bırakın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar işaretlenmiştir *