Mikrosemi-LGOO

Microchip UG0881 PolarFire SoC FPGA Önyükleme ve Yapılandırma

Microchip-UG0881-PolarFire-SoC-FPGA-Önyükleme-Ve-Yapılandırma-ürünü

Garanti

Microsemi, burada yer alan bilgiler veya ürün ve hizmetlerinin belirli bir amaca uygunluğu ile ilgili hiçbir garanti, beyan veya taahhütte bulunmaz ve Microsemi, herhangi bir ürün veya devrenin uygulanmasından veya kullanımından kaynaklanan herhangi bir sorumluluk üstlenmez. Burada satılan ürünler ve Microsemi tarafından satılan diğer ürünler sınırlı testlere tabi tutulmuştur ve görev açısından kritik ekipman veya uygulamalarla birlikte kullanılmamalıdır. Herhangi bir performans spesifikasyonunun güvenilir olduğuna inanılmaktadır, ancak doğrulanmamıştır ve Alıcı, ürünlerin tüm performans ve diğer testlerini tek başına ve herhangi bir nihai ürünle birlikte veya bunlara takılı olarak gerçekleştirmeli ve tamamlamalıdır. Alıcı, Microsemi tarafından sağlanan herhangi bir veri ve performans spesifikasyonuna veya parametresine 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. İşbu Sözleşme kapsamında Microsemi tarafından sağlanan bilgiler "olduğu gibi, nerede" ve tüm kusurları ile sağlanmaktadır ve bu tür bilgilerle ilgili tüm risk tamamen Alıcı'ya aittir. Microsemi, bu tür bilgilerin kendisi veya bu tür bilgiler tarafından açıklanan herhangi bir şeyle ilgili olarak, herhangi bir tarafa açık veya zımni olarak herhangi bir patent hakkı, lisans veya başka herhangi bir fikri mülkiyet hakkı vermez. Bu belgede verilen bilgiler Microsemi'nin mülkiyetindedir ve Microsemi, bu belgedeki bilgilerde veya herhangi bir ürün ve hizmette herhangi bir zamanda bildirimde bulunmaksızın herhangi bir değişiklik yapma hakkını saklı tutar.

Mikrosemi Hakkında

Microchip Technology Inc.'in (Nasdaq: MCHP) tamamına sahip olduğu bir yan kuruluş olan Microsemi, 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 sertleştirilmiş analog karışık sinyalli entegre devreler, FPGA'lar, SoC'ler ve ASIC'ler; güç yönetimi ürünleri; zaman konusunda dünya standardını belirleyen zamanlama ve senkronizasyon cihazları ve hassas zaman çözümleri; ses işleme cihazları; RF çözümleri; ayrık 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. Daha fazla bilgi edinin www.microsemi.com.

Önyükleme ve Yapılandırma

PolarFire SoC FPGA'lar, açılışta ve sıfırlamada güvenilir güç sağlamak için gelişmiş güç açma devresi kullanır. Açılışta ve sıfırlamada PolarFire SoC FPGA başlatma sırası, Açılışta sıfırlama (POR), Cihaz başlatma, Tasarım başlatma, Mikrodenetleyici Alt Sistemi (MSS) önyükleme öncesi ve MSS kullanıcı önyüklemesini takip eder. Bu belge, MSS önyükleme öncesi ve MSS Kullanıcı Önyüklemesini açıklar. POR, Cihaz Önyükleme ve Tasarım başlatma hakkında bilgi için bkz. UG0890: PolarFire SoC FPGA Güç Verme ve Sıfırlamalar Kullanıcı Kılavuzu.
MSS özellikleri hakkında daha fazla bilgi için bkz. UG0880: PolarFire SoC MSS Kullanım Kılavuzu.

Önyükleme Sırası
Başlatma dizisi, PolarFire SoC FPGA açıldığında veya sıfırlandığında başlar. İşlemci bir uygulama programını yürütmeye hazır olduğunda sona erer. Bu önyükleme dizisi birkaç saniye boyunca çalışır.tages programların yürütülmesine başlamadan önce.
Önyükleme işlemi sırasında, donanımın açılışta sıfırlanması, çevresel başlatma, bellek başlatma ve kullanıcı tanımlı uygulamanın geçici olmayan bellekten geçici belleğe yürütülmesi için yüklenmesini içeren bir dizi işlem gerçekleştirilir.

Aşağıdaki şekil, Önyükleme dizisinin farklı aşamalarını göstermektedir.

Şekil 1  Önyükleme SırasıMicrochip-UG0881-PolarFire-SoC-FPGA-Önyükleme-Ve-Yapılandırma-şekil 1

MSS Önyükleme Öncesi

Tasarım Başlatma başarıyla tamamlandıktan sonra, MSS Pre-boot yürütmeye başlar. MSS, tüm normal başlatma prosedürlerinin tamamlanmasından sonra bir sıfırlamadan serbest bırakılır. Sistem denetleyicisi, cihazların programlanmasını, başlatılmasını ve yapılandırılmasını yönetir. Programlanan aygıt, sistem denetleyicisi askıya alma modu için yapılandırılmışsa, MSS Ön Yüklemesi gerçekleşmez.
Başlatmanın MSS önyükleme öncesi aşaması, sistem denetleyici sabit yazılımı tarafından koordine edilir, ancak önyükleme öncesi sekansın belirli bölümlerini gerçekleştirmek için MSS Çekirdek Kompleksindeki E51'i kullanabilir.
MSS önyükleme öncesi s sırasında aşağıdaki olaylar meydana gelirtage:

  • MSS yerleşik Geçici Olmayan Belleğin (eNVM) çalıştırılması
  • MSS Core Complex L2 önbelleğiyle ilişkili artıklık onarımının başlatılması
  • Kullanıcı önyükleme kodunun kimlik doğrulaması (Kullanıcı Güvenli önyükleme seçeneği etkinleştirilmişse)
  • Operasyonel MSS'yi Kullanıcı Önyükleme koduna aktarın

MSS Core Complex, dört moddan birinde başlatılabilir. Aşağıdaki tablo, sNVM'de yapılandırılabilen ve programlanabilen MSS önyükleme öncesi seçeneklerini listeler. Önyükleme modu, U_MSS_BOOTMODE[1:0] kullanıcı parametresi tarafından tanımlanır. Ek önyükleme yapılandırma verileri moda bağlıdır ve kullanıcı parametresi U_MSS_BOOTCFG tarafından tanımlanır (bkz. Tablo 3, sayfa 4 ve Tablo 5, sayfa 6).

Tablo 1 • MSS Çekirdek Karmaşık Önyükleme Modları

U_MSS_BOOTMODE[1:0] Mod Tanım
0 boşta önyükleme MSS yapılandırılmamışsa, MSS Çekirdek Kompleksi önyükleme ROM'undan önyüklenir
1 Güvenli olmayan önyükleme MSS Çekirdek Kompleksi, doğrudan U_MSS_BOOTADDR tarafından tanımlanan adresten önyüklenir
2 Kullanıcı güvenli önyükleme sNVM'den MSS Core Complex önyüklemeleri
3 Fabrika güvenli önyükleme MSS Core Complex, fabrika güvenli önyükleme protokolünü kullanarak önyükleme yapar

Önyükleme seçeneği, Libero tasarım akışının bir parçası olarak seçilir. Modun değiştirilmesi, yalnızca yeni bir FPGA programlamasının oluşturulmasıyla gerçekleştirilebilir. file.

Şekil 2 • MSS Ön Yükleme Akışı Microchip-UG0881-PolarFire-SoC-FPGA-Önyükleme-Ve-Yapılandırma-şekil 2

Boşta Önyükleme

MSS yapılandırılmamışsa (örn.ample, boş aygıt), ardından MSS Çekirdek Kompleksi, bir hata ayıklayıcı hedefe bağlanana kadar tüm işlemcileri sonsuz bir döngüde tutan bir önyükleme ROM programı yürütür. Önyükleme vektörü kayıtları, cihaz sıfırlanana veya yeni bir önyükleme modu yapılandırması programlanana kadar değerlerini korur. Yapılandırılmış cihazlar için bu mod,
Libero konfigüratöründe U_MSS_BOOTMODE=0 önyükleme seçeneği.

Not: Bu modda U_MSS_BOOTCFG kullanılmaz.

Aşağıdaki şekilde boşta önyükleme akışı gösterilmektedir.
Şekil 3 • Boşta Önyükleme AkışıMicrochip-UG0881-PolarFire-SoC-FPGA-Önyükleme-Ve-Yapılandırma-şekil 3

Güvenli Olmayan Önyükleme

Bu modda, MSS Çekirdek Kompleksi, kimlik doğrulama olmadan belirtilen bir eNVM adresinden yürütür. En hızlı önyükleme seçeneğini sağlar, ancak kod görüntüsünün kimlik doğrulaması yoktur. Adres, Libero Yapılandırıcıda U_MSS_BOOTADDR ayarlanarak belirtilebilir. Bu mod, FIC aracılığıyla herhangi bir FPGA Fabric bellek kaynağından önyükleme yapmak için de kullanılabilir. Bu mod kullanılarak uygulanır
U_MSS_BOOTMODE=1 önyükleme seçeneği.
MSS Çekirdek Kompleksi, U_MSS_BOOTCFG tarafından tanımlanan önyükleme vektörleriyle (aşağıdaki tabloda listelendiği gibi) sıfırlamadan serbest bırakılır.

Tablo 2 • Güvenli Olmayan Önyükleme Modunda U_MSS_BOOTCFG Kullanımı 1

Ofset (bayt)  

Boyut (bayt)

 

İsim

 

Tanım

0 4 BOOTVEC0 E51 için önyükleme vektörü
4 4 BOOTVEC1 U540 için önyükleme vektörü
8 4 BOOTVEC2 U541 için önyükleme vektörü
16 4 BOOTVEC3 U542 için önyükleme vektörü
20 4 BOOTVEC4 U543 için önyükleme vektörü

Aşağıdaki şekilde güvenli olmayan önyükleme akışı gösterilmektedir.
Şekil 4 • Güvenli Olmayan Önyükleme AkışıMicrochip-UG0881-PolarFire-SoC-FPGA-Önyükleme-Ve-Yapılandırma-şekil 4

Kullanıcı Güvenli Önyükleme
Bu mod, kullanıcının kendi özel güvenli önyüklemesini uygulamasına izin verir ve kullanıcı güvenli önyükleme kodu sNVM'ye yerleştirilir. sNVM, yerleşik Fiziksel Olarak Klonlanamayan İşlev (PUF) tarafından korunabilen, 56 KB'lik kalıcı bir bellektir. ROM olarak işaretlenen sNVM sayfaları değişmez olduğundan, bu önyükleme yöntemi güvenli kabul edilir. Güç verildiğinde, sistem denetleyicisi kullanıcı güvenli önyükleme kodunu sNVM'den E51 Monitör çekirdeğinin Veri Sıkıca Tümleşik Belleğine (DTIM) kopyalar. E51, kullanıcı güvenli önyükleme kodunu yürütmeye başlar.
Kullanıcı güvenli önyükleme kodunun boyutu DTIM'nin boyutundan büyükse, kullanıcının önyükleme kodunu ikiye bölmesi gerekir.tages. sNVM aşağıdakileri içerebilirtagBir sonraki önyüklemenin kimlik doğrulamasını gerçekleştirebilen kullanıcı önyükleme sırasının e'sitage kullanıcı doğrulama/şifre çözme algoritmasını kullanarak.
Kimliği doğrulanmış veya şifrelenmiş sayfalar kullanılıyorsa, aynı USK anahtarı (yani,
U_MSS_BOOT_SNVM_USK), kimliği doğrulanmış/şifrelenmiş tüm sayfalar için kullanılmalıdır.
Kimlik doğrulama başarısız olursa, MSS Çekirdek Kompleksi sıfırlamaya yerleştirilebilir ve BOOT_FAIL tampbayrağı çekilebilir. Bu mod, U_MSS_BOOTMODE=2 önyükleme seçeneği kullanılarak uygulanır.

Tablo 3 •  Kullanıcı Güvenli Önyüklemede U_MSS_BOTCFG Kullanımı

Ofset (bayt) Boyut (bayt) İsim Tanım
0 1 U_MSS_BOOT_SNVM_PAGE SNVM'de başlangıç ​​sayfası
1 3 REZERVE Hizalama için
4 12 U_MSS_BOOT_SNVM_USK Kimliği doğrulanmış/şifrelenmiş sayfalar için

Aşağıdaki şekilde kullanıcı güvenli önyükleme akışı gösterilmektedir.
Şekil 5 • Kullanıcı Güvenli Önyükleme AkışıMicrochip-UG0881-PolarFire-SoC-FPGA-Önyükleme-Ve-Yapılandırma-şekil 5

Fabrika Güvenli Önyükleme
Bu modda, sistem denetleyicisi eNVM'den Güvenli Önyükleme Görüntüsü Sertifikasını (SBIC) okur ve SBIC'yi doğrular. Doğrulama başarılı olduğunda, Sistem Denetleyicisi fabrika güvenli önyükleme kodunu özel, güvenli bellek alanından kopyalar ve E51 Monitör çekirdeğinin DTIM'sine yükler. Varsayılan güvenli önyükleme, eNVM'de depolanan SBIC'yi kullanarak eNVM görüntüsü üzerinde bir imza kontrolü gerçekleştirir. Herhangi bir hata bildirilmezse, MSS Core Complex'e sıfırlama serbest bırakılır. Hatalar bildirilirse, MSS Çekirdek Kompleksi sıfırlanır ve BOOT_FAIL tampbayrak kaldırılır. Ardından, sistem denetleyicisi şu anda etkinleşir:ampkullanıcı eylemi için FPGA yapısına bir sinyal veren bayrak. Bu mod, U_MSS_BOOTMODE=3 önyükleme seçeneği kullanılarak uygulanır.

SBIC, korunan ikili blobun adresini, boyutunu, karmasını ve Eliptik Eğri Dijital İmza Algoritması (ECDSA) imzasını içerir. ECDSA, eliptik eğri kriptografisi kullanan bir Dijital İmza Algoritması çeşidi sunar. Ayrıca her Donanım için sıfırlama vektörünü içerir.
sistemdeki iş parçacığı/çekirdek/işlemci çekirdeği (Hart).

Tablo 4 •  Güvenli Önyükleme Görüntüsü Sertifikası (SBIC)

Telafi etmek Boyut (bayt) Değer Tanım
0 4 GÖRÜNTÜADDR MSS bellek haritasındaki UBL'nin adresi
4 4 GÖRSEL Bayt cinsinden UBL boyutu
8 4 BOOTVEC0 E51 için UBL'de önyükleme vektörü
12 4 BOOTVEC1 U540 için UBL'de önyükleme vektörü
16 4 BOOTVEC2 U541 için UBL'de önyükleme vektörü
20 4 BOOTVEC3 U542 için UBL'de önyükleme vektörü
24 4 BOOTVEC4 U543 için UBL'de önyükleme vektörü
28 1 SEÇENEKLER[7:0] SBIC seçenekleri
28 3 REZERVE  
32 8 VERSİYON SBIC/Resim versiyonu
40 16 DSN İsteğe bağlı DSN bağlama
56 48 H UBL görüntüsü SHA-384 karması
104 104 CODESİG DER kodlu ECDSA imzası
Toplam 208 Baytlar  

DSN
DSN alanı sıfır değilse, cihazın kendi seri numarasıyla karşılaştırılır. Karşılaştırma başarısız olursa, boot_fail tamper bayrağı ayarlanır ve kimlik doğrulama iptal edilir.

VERSİYON
SBIC iptali U_MSS_REVOCATION_ENABLE tarafından etkinleştirilirse, VERSION değeri iptal eşiğinden büyük veya ona eşit olmadığı sürece SBIC reddedilir.

SBIC İPTAL SEÇENEĞİ
SBIC iptali U_MSS_REVOCATION_ENABLE tarafından etkinleştirildiyse ve SEÇENEKLER[0] '1' ise, VERSION'dan küçük tüm SBIC sürümleri, SBIC'nin tam olarak doğrulanması üzerine iptal edilir. İptal eşiği, SEÇENEKLER[0] = '1' ve daha yüksek bir VERSION alanı ile gelecekteki bir SBIC tarafından tekrar artana kadar yeni değerde kalır. İptal eşiği yalnızca bu mekanizma kullanılarak artırılabilir ve yalnızca bir bit akışı tarafından sıfırlanabilir.
İptal eşiği dinamik olarak güncellendiğinde, eşik, parolalar için kullanılan yedekli depolama şeması kullanılarak depolanır, öyle ki aygıt önyüklemesi sırasındaki bir elektrik kesintisi sonraki aygıt önyüklemesinin başarısız olmasına neden olmaz. İptal eşiği güncellemesi başarısız olursa, eşik değerinin ya yeni değer ya da önceki değer olması garanti edilir.

Tablo 5 • Fabrika Önyükleme Yükleyici Modunda U_MSS_BOOTCFG Kullanımı

Ofset (bayt)  

Boyut (bayt)

 

İsim

 

Tanım

0 4 U_MSS_SBIC_ADDR MSS adres alanındaki SBIC adresi
4 4 U_MSS_REVOCATION_ENABLE Sıfır değilse SBIC iptalini etkinleştir

Aşağıdaki şekilde fabrika güvenli önyükleme akışı gösterilmektedir.
Şekil 6 • Fabrika Güvenli Önyükleme AkışıMicrochip-UG0881-PolarFire-SoC-FPGA-Önyükleme-Ve-Yapılandırma-şekil 6 Microchip-UG0881-PolarFire-SoC-FPGA-Önyükleme-Ve-Yapılandırma-şekil 7

MSS Kullanıcı Önyüklemesi 

MSS kullanıcı önyüklemesi, kontrol System Controller'dan MSS Core Complex'e verildiğinde gerçekleşir. MSS önyüklemesinin başarılı olması üzerine, sistem denetleyicisi sıfırlamayı MSS Core Complex'e serbest bırakır. MSS, aşağıdaki yollardan biriyle başlatılabilir:

  • Çıplak Metal Uygulaması
  • Linux Uygulaması
  • AMP Başvuru

Çıplak Metal Uygulaması

PolarFire SoC için çıplak donanım uygulamaları, SoftConsole aracı kullanılarak geliştirilebilir. Bu araç çıktı sağlar fileprogramlama bit akışına dahil etmek için libero akışında kullanılabilen .hex biçimindedir. file. Aynı araç, J kullanarak Bare Metal uygulamalarında hata ayıklamak için kullanılabilir.TAG
arayüz.
Aşağıdaki şekil, E51 Monitör çekirdeği dahil olmak üzere beş harta (Çekirdek) sahip SoftConsole Bare Metal uygulamasını göstermektedir.

Şekil 7 • SoftConsole Projesi Microchip-UG0881-PolarFire-SoC-FPGA-Önyükleme-Ve-Yapılandırma-şekil 8

Linux Uygulaması

Bu bölümde, tüm U54 çekirdeklerinde çalışan Linux için önyükleme sırası açıklanmaktadır.
Tipik bir önyükleme işlemi üç saniyeden oluşurtages. ilk stagÖnyükleyici (FSBL), çip üzerindeki Önyükleme flaşından (eNVM) yürütülür. FSBL saniyeleri yüklertagBir önyükleme aygıtından harici RAM'e veya Önbelleğe önyükleyici (SSBL). Önyükleme aygıtı, eNVM veya gömülü bellek mikrodenetleyicisi (eMMC) veya harici SPI Flash olabilir. SSBL, Linux işletim sistemini önyükleme aygıtından harici RAM'e yükler. üçüncü s'detage, Linux harici RAM'den yürütülür.

Aşağıdaki şekilde Linux Önyükleme İşlemi akışı gösterilmektedir.
Şekil 8 • Tipik Linux Önyükleme İşlem AkışıMicrochip-UG0881-PolarFire-SoC-FPGA-Önyükleme-Ve-Yapılandırma-şekil 9

FSBL, Cihaz ağacı, Linux ve YOCTO derlemesinin ayrıntıları, Linux'un nasıl oluşturulacağı ve yapılandırılacağı bu belgenin gelecekteki sürümünde sağlanacaktır.

AMP Başvuru
Libero MSS Configurator'ın ayrıntılı açıklaması ve SoftConsole kullanılarak çok işlemcili uygulamalarda hata ayıklamanın nasıl yapılacağı bu belgenin gelecekteki sürümünde sağlanacaktır.

Farklı Önyükleme Kaynakları
Bu belgenin gelecek sürümlerinde güncellenecektir.

Önyükleme Yapılandırması
Bu belgenin gelecek sürümlerinde güncellenecektir.

Kısaltmalar

Bu belgede aşağıdaki kısaltmalar kullanılmıştır.

Tablo 1 •  Kısaltmaların Listesi

Kısaltma Genişletildi

  • AMP Asimetrik Çoklu İşleme
  • DTM Veri Sıkıca Tümleşik Bellek (SRAM olarak da adlandırılır)
  • ECDSA Eliptik Eğri Dijital İmza Algoritması
  • eNVM Gömülü Geçici Olmayan Bellek
  • FSBL İlk Stage Önyükleyici
  • Kalp Donanım iş parçacığı/çekirdek/işlemci çekirdeği
  • Elyazmaları Mikroişlemci Alt Sistemi
  • POR Güç Açık Sıfırla
  • PUF Fiziksel Olarak Klonlanamaz İşlev
  • ROM Sadece hafızayı oku
  • SCB Sistem Denetleyicisi Köprüsü
  • sNVM Güvenli Geçici Olmayan Bellek

Revizyon Geçmişi

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

Revizyon 2.0
Aşağıda, bu revizyonda yapılan değişikliklerin bir özeti bulunmaktadır.

  • Fabrikada Güvenli Önyükleme ile ilgili bilgiler güncellendi.
  • Bare Metal Uygulaması ile ilgili bilgiler güncellendi.

Revizyon 1.0
Bu belgenin ilk yayını.

Mikrosemi Genel Merkezi
Tek Girişim, Aliso Viejo,
CA 92656 ABD
ABD içinde: +1 800-713-4113
ABD dışında: +1 949-380-6100
Satış: +1 949-380-6136
Faks: +1 949-215-4996
E-posta: sales.support@microsemi.com
www.microsemi.com

©2020 Microsemi, Microchip Technology Inc'in tamamına sahip olduğu bir yan kuruluştur. Tüm hakları saklıdır. Microsemi ve Microsemi logosu, Microsemi Corporation'ın tescilli ticari markalarıdır. Diğer tüm ticari markalar ve hizmet markaları ilgili sahiplerinin mülkiyetindedir.

Belgeler / Kaynaklar

Microchip UG0881 PolarFire SoC FPGA Önyükleme ve Yapılandırma [pdf] Kullanıcı Kılavuzu
UG0881 PolarFire SoC FPGA Önyükleme ve Yapılandırma, UG0881, PolarFire SoC FPGA Önyükleme ve Yapılandırma, Önyükleme ve Yapılandırma

Referanslar

Yorum bırakın

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