SmartFusion2
DDR Denetleyici ve Seri Yüksek Hızlı Denetleyici
Başlatma Metodolojisi
Kullanıcı Kılavuzu
giriiş
SmartFusion2 cihazı kullanarak bir tasarım oluştururken, iki DDR denetleyicisinden (FDDR veya MDDR) veya Seri Yüksek hızlı denetleyici (SERDESIF) bloklarından herhangi birini kullanıyorsanız, bu blokların yapılandırma kayıtlarını çalışma zamanında başlatmanız gerekir. kullanılabilirler. Eski içinampDosya, DDR denetleyicisi için DDR modunu (DDR3/DDR2/LPDDR), PHY genişliğini, seri çekim modunu ve ECC'yi ayarlamanız gerekir.
Benzer şekilde, PCIe uç noktası olarak kullanılan SERDESIF bloğu için PCIE BAR'ı AXI (veya AHB) penceresine ayarlamanız gerekir.
Bu belge, açılışta DDR denetleyicisini ve SERDESIF bloklarını otomatik olarak başlatan bir Libero tasarımı oluşturmak için gerekli adımları açıklamaktadır. Ayrıca gömülü tasarım akışında kullanılan Libero SOC'den ürün yazılımı kodunun nasıl oluşturulacağını da açıklar.
Öncelikle operasyon teorisinin ayrıntılı bir açıklaması verilmektedir.
Bir sonraki bölümde, tasarımınızda DDR veya SERDESIF blokları kullanıyorsanız, diğer özelliklerin yanı sıra sizin için 'başlatma' çözümünü oluşturan güçlü bir tasarım aracı olan Libero SoC System Builder'ı kullanarak böyle bir tasarımın nasıl oluşturulacağı açıklanmaktadır.
Sonraki bölümde SmartFusion2 Sistem Üreticisi kullanılmadan eksiksiz bir 'başlatma' çözümünün nasıl bir araya getirileceği açıklanmaktadır. Bu, Sistem Oluşturucuyu kullanmak istemiyorsanız ne yapmanız gerektiğini açıklamaya yardımcı olur ve ayrıca Sistem Oluşturucu aracının sizin için gerçekte ne ürettiğini de açıklar. Bu bölümde şunlara değinilmektedir:
- DDR denetleyicisi ve SERDESIF yapılandırma kayıtları için yapılandırma verilerinin oluşturulması
- Konfigürasyon verilerinin farklı ASIC konfigürasyon yazmaçlarına aktarılması için gerekli FPGA mantığının oluşturulması
Son olarak oluşturulanları açıklıyoruz fileşunlarla ilgilidir:
- Firmware 'başlatma' çözümünün oluşturulması.
- DDR 'başlatma' çözümü için tasarımın simülasyonu.
DDR denetleyicisi ve SERDESIF yapılandırma kayıtları hakkında ayrıntılar için bkz. Microsemi SmartFusion2 Yüksek Hızlı Seri ve DDR Arayüzleri Kullanım Kılavuzu.
İşleyiş Teorisi
Çevresel başlatma çözümü aşağıdaki ana bileşenleri kullanır:
- Cortex-M3 üzerinde çalışan ve başlatma sürecini yöneten CMSIS SystemInit() işlevi.
- Çevre birimlerinin yapılandırma kayıtlarını başlatan CoreConfigP yazılım IP çekirdeği.
- MSS, DDR denetleyicileri ve SERDESIF bloklarının sıfırlama sırasını yöneten CoreResetP soft IP çekirdeği.
Çevre birimi başlatma işlemi şu şekilde çalışır:
- Sıfırlamanın ardından Cortex-M3, CMSIS SystemInit() işlevini çalıştırır. Bu işlev, uygulamanın main() işlevi yürütülmeden önce otomatik olarak yürütülür.
CoreResetP çıkış sinyali MSS_HPMS_READY, başlatma işleminin başında onaylanır ve bu, MSS'nin ve tüm çevre birimlerinin (MDDR hariç) iletişim için hazır olduğunu gösterir. - SystemInit() işlevi, yapılandırma verilerini MSS FIC_2 APB3 veri yolu aracılığıyla DDR denetleyicilerine ve SERDESIF yapılandırma kayıtlarına yazar. Bu arayüz, FPGA yapısında başlatılan yumuşak CoreConfigP çekirdeğine bağlanır.
- Tüm kayıtlar yapılandırıldıktan sonra SystemInit() işlevi, kayıt yapılandırma aşamasının tamamlandığını belirtmek için CoreConfigP kontrol kayıtlarına yazar; CoreConfigP çıkış sinyalleri CONFIG1_DONE ve CONIG2_DONE daha sonra onaylanır.
Tasarımda kullanılan çevre birimlerine bağlı olarak kayıt konfigürasyonunun iki aşaması (CONFIG1 ve CONFIG2) vardır. - MDDR/FDDR'den biri veya her ikisi kullanılıyorsa ve tasarımda SERDESIF bloklarından hiçbiri kullanılmıyorsa yalnızca bir kayıt yapılandırma aşaması vardır. Hem CoreConfigP çıkış sinyalleri CONFIG1_DONE hem de CONIG2_DONE herhangi bir bekleme/gecikme olmadan birbiri ardına onaylanır.
Tasarımda PCIe olmayan modda bir veya daha fazla SERDESIF bloğu kullanılırsa, kayıt yapılandırmasının yalnızca bir aşaması vardır. CONFIG1_DONE ve CONIG2_DONE, herhangi bir bekleme/gecikme olmadan birbiri ardına onaylanır.
Tasarımda PCIe modunda bir veya daha fazla SERDESIF bloğu kullanılıyorsa, kayıt yapılandırmasının iki aşaması vardır. CONFIG1_DONE, kayıt yapılandırmasının ilk aşaması tamamlandıktan sonra onaylanır. SERDESIF sistemi ve şerit kayıtları bu aşamada yapılandırılır. SERDESIF, PCIE olmayan bir modda yapılandırılmışsa, CONFIG2_DONE sinyali de hemen onaylanır. - Kayıt yapılandırmasının ikinci aşaması bunu takip eder (eğer SERDESIF PCIE modunda yapılandırılmışsa). İkinci aşamada meydana gelen farklı olaylar şunlardır:
– CoreResetP, kullanılan SERDESIF bloklarının her birine karşılık gelen PHY_RESET_N ve CORE_RESET_N sinyallerinin onayını kaldırır. Ayrıca tüm SERDESIF blokları sıfırlandıktan sonra SDIF_RELEASED çıkış sinyalini de bildirir. Bu SDIF_RELEASED sinyali, CoreConfigP'ye SERDESIF çekirdeğinin sıfırlanmadığını ve kayıt yapılandırmasının ikinci aşamasına hazır olduğunu belirtmek için kullanılır.
– SDIF_RELEASED sinyali onaylandıktan sonra, SystemInit() işlevi uygun SERDESIF şeridinde PMA_READY onayı için yoklamayı başlatır. PMA_READY onaylandıktan sonra, ikinci SERDESIF kayıtları (PCIE kayıtları) kümesi SystemInit() işlevi tarafından yapılandırılır/yazılır. - Tüm PCIE kayıtları yapılandırıldıktan sonra SystemInit() işlevi, kayıt yapılandırmasının ikinci aşamasının tamamlandığını belirtmek için CoreConfigP kontrol kayıtlarına yazar; CoreConfigP çıkış sinyali CONIG2_DONE daha sonra onaylanır.
- Yukarıdaki sinyal iddialarının/iddialarının kaldırılmasının yanı sıra CoreResetP ayrıca aşağıdaki işlevleri gerçekleştirerek çeşitli blokların başlatılmasını da yönetir:
– FDDR çekirdek sıfırlamasının onaylanması
– SERDESIF bloklarının PHY ve CORE sıfırlamalarını devre dışı bırakma
– FDDR PLL (FPLL) kilit sinyalinin izlenmesi. FDDR AXI/AHBLite veri arayüzünün ve FPGA yapısının doğru şekilde iletişim kurabildiğini garanti etmek için FPLL'nin kilitlenmiş olması gerekir.
– SERDESIF bloğu PLL (SPLL) kilit sinyallerinin izlenmesi. SERDESIF'in AXI/AHBLite arayüzünü (PCIe modu) veya XAUI arayüzünü bloke etmesinin FPGA yapısı ile düzgün şekilde iletişim kurabilmesini garanti etmek için SPLL'nin kilitlenmiş olması gerekir.
– Harici DDR belleklerinin yerleşmesi ve DDR denetleyicileri tarafından erişilmeye hazır olması bekleniyor. - Tüm çevre birimleri başlatma işlemlerini tamamladığında CoreResetP INIT_DONE sinyalini onaylar; CoreConfigP dahili kaydı INIT_DONE daha sonra onaylanır.
MDDR/FDDR'den biri veya her ikisi birden kullanılırsa ve DDR başlatma zamanına ulaşılırsa, CoreResetP çıkış sinyali DDR_READY onaylanır. Bu sinyalin onaylanması DDR_READY, DDR'nin (MDDR/FDDR) iletişime hazır olduğunun bir göstergesi olarak izlenebilir.
Bir veya daha fazla SERDESIF bloğu kullanılırsa ve kayıt yapılandırmasının ikinci aşaması başarıyla tamamlanırsa CoreResetP çıkış sinyali SDIF_READY onaylanır. Bu SDIF_READY sinyalinin onaylanması, tüm SERDESIF bloklarının iletişime hazır olduğunun bir göstergesi olarak izlenebilir. - INIT_DONE'un onaylanmasını bekleyen SystemInit() işlevi tamamlanır ve uygulamanın main() işlevi yürütülür. O zaman, kullanılan tüm DDR denetleyicileri ve SERDESIF blokları başlatılmıştır ve ürün yazılımı uygulaması ile FPGA yapı mantığı bunlarla güvenilir bir şekilde iletişim kurabilir.
Bu belgede açıklanan metodoloji, uygulamanın main() işlevinden önce yürütülen sistem başlatma kodunun bir parçası olarak başlatma işlemini yürüten Cortex-M3'e dayanmaktadır.
FDDR/MDDR, SEREDES(PCIe olmayan mod) ve SERDES'in (PCIe modu) Başlatma adımları için Şekil 1-1, Şekil 1-2 ve Şekil 1-3'teki Akış Şemalarına bakın.
Şekil 1-4 Çevresel Başlatma zamanlama diyagramını göstermektedir.
![]() |
![]() |
Şekil 1-3 • SERDESIF (PCIe) Başlatma Akış Şeması
Bu belgede açıklanan başlatma prosedürü, Cortex-M3 üzerinde herhangi bir kod çalıştırmayı planlamıyor olsanız bile, başlatma işlemi sırasında Cortex-M3'ü çalıştırmanızı gerektirir. Hiçbir şey yapmayan temel bir ürün yazılımı uygulaması oluşturmalısınız (örneğin basit bir döngü)ample) ve bu yürütülebilir dosyayı yerleşik Geçici Olmayan Belleğe (eNVM) yükleyin, böylece Cortex-M3 önyüklendiğinde DDR denetleyicileri ve SERDESIF blokları başlatılır.
DDR ve SERDESIF Bloklarını Kullanarak Tasarım Oluşturmak için Sistem Oluşturucuyu Kullanma
SmartFusion2 System Builder, sistem düzeyindeki gereksinimlerinizi yakalamanıza ve bu gereksinimleri uygulayan bir tasarım üretmenize yardımcı olan güçlü bir tasarım aracıdır. Sistem Oluşturucunun çok önemli bir işlevi, Çevresel Başlatma alt sisteminin otomatik olarak oluşturulmasıdır. “DDR ve SERDESIF Bloklarını Kullanarak Bir Tasarım Oluşturmak için SmartDesign'ı Kullanma” sayfa 17, Sistem Üreticisi olmadan böyle bir çözümün nasıl oluşturulacağını ayrıntılı olarak açıklamaktadır.
Sistem Üreticisi kullanıyorsanız, açılışta DDR denetleyicilerinizi ve SERDESIF bloklarınızı başlatan bir tasarım oluşturmak için aşağıdaki görevleri gerçekleştirmelisiniz:
- Cihaz Özellikleri sayfasında (Şekil 2-1), tasarımınızda hangi DDR denetleyicilerinin kullanıldığını ve kaç adet SERDESIF bloğunun kullanıldığını belirtin.
- Bellek sayfasında, harici DDR bellekleriniz için DDR türünü (DDR2/DDR3/LPDDR) ve yapılandırma verilerini belirtin. Ayrıntılar için Bellek Sayfası bölümüne bakın.
- Çevre Birimleri sayfasında, AHBLite/AXI olarak yapılandırılmış yapı ana kopyalarını Yapı DDR Alt Sistemine ve/veya MSS DDR FIC Alt Sistemine (isteğe bağlı) ekleyin.
- Saat Ayarları sayfasında DDR alt sistemleri için saat frekanslarını belirtin.
- Tasarım spesifikasyonunuzu tamamlayın ve Son'a tıklayın. Bu, 'başlatma' çözümü için gerekli mantığı da içeren, Sistem Oluşturucusu tarafından oluşturulan tasarımı oluşturur.
- SERDESIF blokları kullanıyorsanız tasarımınızda SERDESIF bloklarını başlatmanız ve bunların başlatma bağlantı noktalarını Sistem Oluşturucu tarafından oluşturulan çekirdeğin bağlantı noktalarına bağlamanız gerekir.
Sistem Oluşturucu Cihaz Özellikleri Sayfası
Cihaz Özellikleri sayfasında tasarımınızda hangi DDR denetleyicilerinin (MDDR ve/veya FDDR) kullanıldığını ve kaç adet SERDESIF bloğunun kullanıldığını belirtin (Şekil 2-1).
Şekil 2-1 • Sistem Üreticisi Cihaz Özellikleri Sayfası
Sistem Oluşturucu Bellek Sayfası
MSS DDR (MDDR) veya Fabric DDR (FDDR) kullanmak için açılır listeden Bellek Tipini seçin (Şekil 2-2).
Şekil 2-2 • MSS Harici Bellek
Mecbursun:
- DDR türünü seçin (DDR2, DDR3 veya LPDDR).
- DDR belleğin yerleşme süresini tanımlayın. Doğru bellek ayar süresini ayarlamak için harici DDR Bellek Teknik Özelliklerinize başvurun. Bellek yerleşme süresi doğru ayarlanmazsa DDR belleği doğru şekilde başlatılamayabilir.
- DDR kaydı yapılandırma verilerini içe aktarın veya DDR Bellek Parametrelerinizi ayarlayın. Ayrıntılar için bkz. Microsemi SmartFusion2 Yüksek Hızlı Seri ve DDR Arayüzleri Kullanım Kılavuzu.
Bu veriler DDR kaydı BFM'yi ve ürün yazılımı yapılandırmasını oluşturmak için kullanılır file“Ürün Yazılımı Uygulamasının Oluşturulması ve Derlenmesi” sayfa 26 ve “BFM FileTasarımın Simülasyonu İçin Kullanılır” sayfa 27. DDR denetleyici yapılandırma kayıtları hakkında ayrıntılar için bkz. Microsemi SmartFusion2 Yüksek Hızlı Seri ve DDR Arayüzleri Kullanım Kılavuzu.
eski birampkonfigürasyon dosyası file sözdizimi Şekil 2-3'te gösterilmektedir. Bunda kullanılan kayıt adları file bölümünde açıklananlarla aynıdır. Microsemi SmartFusion2 Yüksek Hızlı Seri ve DDR Arayüzleri Kullanım Kılavuzu
Şekil 2-3 • Yapılandırma File Söz Dizimi Örneğiample
Sistem Oluşturucu Çevre Birimleri Sayfası
Çevre Birimleri sayfasında, her DDR denetleyicisi için ayrı bir alt sistem oluşturulur (FDDR için Yapı DDR Alt Sistemi ve MDDR için MSS DDR FIC Alt Sistemi). DDR denetleyicilerine yapı ana erişimini etkinleştirmek için bu alt sistemlerin her birine bir Fabric AMBA Master (AXI/AHBLite olarak yapılandırılmış) çekirdeği ekleyebilirsiniz. Oluşturulduktan sonra Sistem Oluşturucu, veri yolu çekirdeklerini (eklenen AMBA Master'ın türüne bağlı olarak) otomatik olarak başlatır ve veri yolu çekirdeğinin ana BIF'sini ve karşılık gelen alt sistemlerin (FDDR/MDDR) saat ve sıfırlama pinlerini uygun pin grupları altında kullanıma sunar. tepe. Tek yapmanız gereken, BIF'leri tasarımda oluşturacağınız uygun Fabric Master çekirdeklerine bağlamaktır. MDDR durumunda MSS DDR FIC Alt Sistemine Fabric AMBA Master çekirdeği eklemek isteğe bağlıdır; Cortex-M3 bu alt sistemdeki varsayılan yöneticidir. Şekil 2-4 Sistem Üreticisi Çevre Birimleri Sayfasını göstermektedir.
Şekil 2-4 • Sistem Üreticisi Çevre Birimleri Sayfası
Sistem Oluşturucu Saat Ayarları Sayfası
Saat Ayarları sayfasında, her DDR denetleyicisi için, her DDR (MDDR ve/veya FDDR) alt sistemiyle ilgili saat frekanslarını belirtmeniz gerekir.
MDDR için şunu belirtmeniz gerekir:
- MDDR_CLK – Bu saat, DDR Denetleyicinin çalışma frekansını belirler ve harici DDR belleğinizin çalışmasını istediğiniz saat frekansıyla eşleşmelidir. Bu saat M3_CLK'nin katı olarak tanımlanır (Cortex-M3 ve MSS Ana Saati, Şekil 2-5). MDDR_CLK 333 MHz'den az olmalıdır.
- DDR_FIC_CLK – MDDR'ye FPGA yapısından da erişmeyi seçtiyseniz, DDR_FIC_CLK'yi belirtmeniz gerekir. Bu saat frekansı, MDDR_CLK'nin oranı olarak tanımlanır ve MDDR'ye erişen FPGA yapı alt sisteminin çalıştığı frekansla eşleşmelidir.
Şekil 2-5 • Cortex-M3 ve MSS Ana Saati; MDDR Saatleri
FDDR için şunu belirtmeniz gerekir:
- FDDR_CLK – DDR Denetleyicinin çalışma frekansını belirler ve harici DDR belleğinizin çalışmasını istediğiniz saat frekansıyla eşleşmelidir. Bu saatin M3_CLK'nin katı olarak tanımlandığına dikkat edin (MSS ve Cortex-M3 saati, Şekil 2-5). FDDR_CLK, 20 MHz ve 333 MHz aralığında olmalıdır.
- FDDR_SUBSYSTEM_CLK – Bu saat frekansı, FDDR_CLK'nin bir oranı olarak tanımlanır ve FDDR'ye erişen FPGA yapı alt sisteminin çalıştığı frekansla eşleşmelidir.
Şekil 2-6 • Yapı DDR Saatleri
SERDESIF Yapılandırması
SERDESIF blokları Sistem Üreticisi tarafından oluşturulan tasarımda örneklenmez. Bununla birlikte, tüm SERDESIF blokları için, Sistem Oluşturucu çekirdeğinin arayüzünde başlatma sinyalleri mevcuttur ve Şekil 2-7'de gösterildiği gibi, hiyerarşinin bir sonraki seviyesindeki SERDESIF çekirdeklerine bağlanabilir.Şekil 2-7 • SERDESIF Çevre Birimi Başlatma Bağlantısı
DDR yapılandırma kayıtlarına benzer şekilde, her SERDES bloğunda çalışma zamanında yüklenmesi gereken yapılandırma kayıtları da bulunur. PCIe veya EPCS parametrelerinizi girmek için bu kayıt değerlerini içe aktarabilir veya Yüksek Hızlı Seri Arayüz Yapılandırıcıyı (Şekil 2-8) kullanabilirsiniz; kayıt değerleri sizin için otomatik olarak hesaplanır. Ayrıntılar için bkz. SERDES Konfigüratör Kullanım Kılavuzu.Şekil 2-8 • Yüksek Hızlı Seri Arayüz Yapılandırıcısı
Kullanıcı mantığınızı Sistem Oluşturucu bloğu ve SERDES bloğuyla entegre ettikten sonra üst düzey SmartDesign'ınızı oluşturabilirsiniz. Bu, tüm HDL ve BFM'yi üretir fileTasarımınızı uygulamak ve simüle etmek için gerekli olan şeyler. Daha sonra Tasarım Akışının geri kalanına devam edebilirsiniz.
DDR ve SERDESIF Bloklarını Kullanarak Tasarım Oluşturmak İçin SmartDesign'ı Kullanma
Bu bölümde, SmartFusion2 Sistem Üreticisi kullanılmadan eksiksiz bir 'başlatma' çözümünün nasıl bir araya getirileceği açıklanmaktadır. Amaç, Sistem Oluşturucuyu kullanmak istemiyorsanız ne yapmanız gerektiğini anlamanıza yardımcı olmaktır. Bu bölüm aynı zamanda Sistem Oluşturucu aracının sizin için gerçekte ne ürettiğini de açıklamaktadır. Bu bölümde aşağıdakilerin nasıl yapılacağı açıklanmaktadır:
- DDR denetleyicisi ve SERDESIF yapılandırma kayıtları için yapılandırma verilerini girin.
- Yapılandırma verilerini DDR denetleyicilerine ve SERDESIF yapılandırma kayıtlarına aktarmak için gereken Yapı Çekirdeklerini oluşturun ve bağlayın.
DDR Denetleyici Yapılandırması
MSS DDR (MDDR) ve Fabric DDR (FDDR) denetleyicileri, harici DDR bellek yapılandırma gereksinimlerine (DDR modu, PHY genişliği, seri çekim modu, ECC vb.) uyacak şekilde dinamik olarak (çalışma zamanında) yapılandırılmalıdır. MDDR/FDDR yapılandırıcısına girilen veriler, CMSIS SystemInit() işlevi tarafından DDR denetleyici yapılandırma kayıtlarına yazılır. Yapılandırıcıda farklı türde yapılandırma verilerinin girilmesi için üç farklı sekme bulunur:
- Genel veriler (DDR modu, Veri Genişliği, Saat Frekansı, ECC, Yapı Arayüzü, Sürücü Gücü)
- Bellek Başlatma verileri (Arıza Uzunluğu, Seri Çekim Sırası, Zamanlama Modu, Gecikme vb.)
- Bellek Zamanlama verileri
Harici DDR belleğinizin özelliklerine bakın ve DDR Denetleyicisini harici DDR belleğinizin gereksinimlerine uyacak şekilde yapılandırın.
DDR yapılandırmasıyla ilgili ayrıntılar için bkz. SmartFusion2 MSS DDR Yapılandırması Kullanıcı Kılavuzu.
SERDESIF Yapılandırması
SERDES'i yapılandırmak üzere Yapılandırıcıyı açmak için SmartDesign tuvalindeki SERDES bloğuna çift tıklayın (Şekil 3-1). Bu kayıt değerlerini içe aktarabilir veya PCIe veya EPCS parametrelerinizi girmek için SERDES yapılandırıcısını kullanabilirsiniz; kayıt değerleri sizin için otomatik olarak hesaplanır. Ayrıntılar için bkz. SERDES Konfigüratör Kullanım Kılavuzu.Şekil 3-1 • Yüksek Hızlı Seri Arayüz Yapılandırıcısı
FPGA Tasarım Başlatma Alt Sisteminin Oluşturulması
DDR ve SERDESIF bloklarını başlatmak için FPGA yapısında başlatma alt sistemini oluşturmalısınız. FPGA yapı başlatma alt sistemi, verileri Cortex-M3'ten DDR ve SERDESIF yapılandırma kayıtlarına taşır, bu blokların çalışır durumda olması için gereken sıfırlama dizilerini yönetir ve bu bloklar tasarımınızın geri kalanıyla iletişim kurmaya hazır olduğunda sinyal verir. Başlatma alt sistemini oluşturmak için şunları yapmalısınız:
- MSS içinde FIC_2'yi yapılandırın
- CoreConfigP ve CoreResetP çekirdeklerini örnekleyin ve yapılandırın
- Çip üzerinde 25/50MHz RC osilatörünü somutlaştırın
- Sistem Sıfırlama (SYSRESET) makrosunu örnekleyin
- Bu bileşenleri her bir çevre biriminin yapılandırma arayüzlerine, saatlerine, sıfırlamalarına ve PLL kilit bağlantı noktalarına bağlayın
MSS FIC_2 APB Yapılandırması
MSS FIC_2'yi yapılandırmak için:
- MSS yapılandırıcısından FIC_2 yapılandırıcı iletişim kutusunu açın (Şekil 3-2).
- Cortex-M3'ü kullanarak çevre birimlerini başlat'ı seçin.
- Sisteminize bağlı olarak aşağıdaki onay kutularından birini veya her ikisini de işaretleyin:
– MSS DDR
– Yapı DDR ve/veya SERDES Blokları - Tamam'a tıklayın ve MSS'yi oluşturmaya devam edin (MSS'yi tasarım gereksinimlerinize göre tamamen yapılandırana kadar bu eylemi erteleyebilirsiniz). FIC_2 bağlantı noktaları (FIC_2_APB_MASTER, FIC_2_APB_M_PCLK ve FIC_2_APB_M_RESET_N) artık MSS arayüzünde kullanıma sunulmuştur ve CoreConfigP ve CoreResetP çekirdeklerine bağlanabilir.
Şekil 3-2 • MSS FIC_2 Yapılandırıcı
CoreConfigP
CoreConfigP'yi yapılandırmak için:
- CoreConfigP'yi SmartDesign'ınızda (genellikle MSS'nin başlatıldığı yerde) örnekleyin.
Bu çekirdek Libero Kataloğunda (Çevre Birimleri altında) bulunabilir. - Yapılandırıcıyı açmak için çekirdeğe çift tıklayın.
- Hangi çevre birimlerinin başlatılması gerektiğini belirlemek için çekirdeği yapılandırın (Şekil 3-3)
Şekil 3-3 • CoreConfigP İletişim Kutusu
CoreResetP
CoreResetP'yi yapılandırmak için:
- CoreResetP'yi SmartDesign'ınızda (genellikle MSS'nin başlatıldığı yerde) somutlaştırın.
Bu çekirdek Libero Katalogunda Çevre Birimleri altında bulunabilir. - Yapılandırıcıyı açmak için SmartDesign Canvas'ın içindeki çekirdeğe çift tıklayın (Şekil 3-4).
- Çekirdeği şu şekilde yapılandırın:
– Harici sıfırlama davranışını belirtin (EXT_RESET_OUT onaylandı). Dört seçenekten birini seçin:
o EXT_RESET_OUT hiçbir zaman onaylanmaz
o Güç açma sıfırlaması (POWER_ON_RESET_N) etkinleştirilmişse EXT_RESET_OUT etkinleşir
o FAB_RESET_N etkinse EXT_RESET_OUT etkinleşir
o Güç açmanın sıfırlanması (POWER_ON_RESET_N) veya FAB_RESET_N etkinleştirilmişse EXT_RESET_OUT etkinleşir
– Cihaz Hacmini Belirleyintage. Seçilen değer hacimle eşleşmelidirtagLibero Proje Ayarları iletişim kutusunda seçtiğiniz e.
– Tasarımınızda hangi çevre birimlerini kullandığınızı belirtmek için uygun onay kutularını işaretleyin.
– Harici DDR bellek ayar süresini belirtin. Bu, uygulamanızda kullanılan tüm DDR bellekler (MDDR ve FDDR) için maksimum değerdir. Bu parametreyi yapılandırmak için harici DDR bellek satıcısının veri sayfasına bakın. 200us, 2MHz'de çalışan DDR3 ve DDR200 bellekler için iyi bir varsayılan değerdir. Bu, silikon üzerinde çalışan bir simülasyonu ve çalışan bir sistemi garanti altına almak için çok önemli bir parametredir. Yerleşme süresi için yanlış bir değer simülasyon hatalarına neden olabilir. Bu parametreyi yapılandırmak için DDR bellek satıcısının veri sayfasına bakın.
– Tasarımınızdaki her SERDES bloğu için aşağıdakileri belirtmek üzere uygun kutuları işaretleyin:
o PCIe kullanılıyor
o PCIe Hot Reset desteği gereklidir
o PCIe L2/P2 desteği gereklidir
Not: 090 kalıbı (M2S090) kullanıyorsanız ve tasarımınız SERDESIF kullanıyorsa aşağıdaki onay kutularından herhangi birini işaretlemeniz gerekmez: 'PCIe için kullanılır', 'PCIe HotReset desteğini dahil et' ve 'PCIe L2/P2 desteğini dahil et'. 090 olmayan herhangi bir cihaz kullanıyorsanız ve bir veya daha fazla SERDESIF bloğu kullanıyorsanız, uygun SERDESIF bölümünün altındaki dört onay kutusunun tümünü işaretlemeniz gerekir.
Not: Bu yapılandırıcıda kullanabileceğiniz seçeneklere ilişkin ayrıntılar için CoreResetP El Kitabı'na bakın.
Şekil 3-4 • CoreResetPConfigurator
25/50MHz Osilatör Örneklemesi
CoreConfigP ve CoreResetP, çip üzerindeki 25/50MHz RC osilatörü tarafından saat hızına tabi tutulur. 25/50MHz'lik bir Osilatörü başlatmanız ve onu bu çekirdeklere bağlamanız gerekir.
- Chip Osilatör çekirdeğini SmartDesign'ınızda (tipik olarak MSS'nin başlatıldığı yerde) somutlaştırın. Bu çekirdek Libero Katalogunda Saat ve Yönetim altında bulunabilir.
- Bu çekirdeği, Şekil 3-5'te gösterildiği gibi RC osilatörünün FPGA yapısını çalıştıracağı şekilde yapılandırın.
Şekil 3-5 • Çip Osilatörleri Yapılandırıcısı
Sistem Sıfırlama (SYSRESET) Örnekleme
SYSRESET makrosu, tasarımınıza cihaz düzeyinde sıfırlama işlevi sağlar. POWER_ON_RESET_N çıkış sinyali, çipe güç verildiğinde veya harici DEVRST_N pini onaylandığında/geri kaldırıldığında onaylanır/geri alınır (Şekil 3-6).
SYSRESET makrosunu SmartDesign'ınızda (genellikle MSS'nin başlatıldığı yerde) somutlaştırın. Bu makro, Libero Katalogunda Makro Kütüphanesi altında bulunabilir. Bu makronun herhangi bir konfigürasyonu gerekli değildir.
Şekil 3-6 • SYSRESET Makrosu
Genel Bağlantı
Tasarımınızdaki MSS, FDDR, SERDESIF, OSC, SYSRESET, CoreConfigP ve CoreResetP çekirdeklerini başlatıp yapılandırdıktan sonra, bunları Çevresel Başlatma alt sistemini oluşturmak için bağlamanız gerekir. Bu belgedeki bağlantı açıklamasını basitleştirmek için, CoreConfigP ve CoreResetP ile ilgili bağlantılarla ilişkili APB3 uyumlu yapılandırma veri yolu bağlantısına bölünmüştür.
Yapılandırma Veri Yolu Bağlantısı
Şekil 3-7, CoreConfigP'nin MSS FIC_2 sinyallerine ve çevre birimlerinin APB3 uyumlu yapılandırma arayüzlerine nasıl bağlanacağını göstermektedir.
Tablo 3-1 • Yapılandırma Veri Yolu Bağlantı Noktası/BIF Bağlantıları
İTİBAREN Bağlantı Noktası/Veriyolu Arayüzü (BIF)/ Bileşen |
İLE Bağlantı Noktası/Veri Yolu Arayüzü (BIF)/Bileşen |
||
APB S ÖN AYARI N/ CoreConfigP | APB S ÖN AYARI N/ SDIF<0/1/2/3> | APB S ÖN AYARI N/ FDDR |
MDDR APB S PRESE TN/MSS |
APB S PCLK/CoreConfigP | APB S PCLK/SDIF | APB S PCLK/FDDR | MDDR APB S POLK/MSS |
MDDR APBmslave/CoreConfig | MDDR APB KÖLE (BIF)/MSS | ||
SDIF<0/1/2/ 3> APBmslave/Yapılandırma | APB KÖLE (BIF)/ SDIF<0/1/2/3> | ||
FDDR APBmslave | APB KÖLE (BIF)/ FDDR | ||
FIC 2 APBmmaster/CoreConfigP | FIC 2 APB MASTER/MSS |
Şekil 3-7 • FIC_2 APB3 Alt Sistem Bağlantısı
Bağlantıyı Saatler ve Sıfırlar
Şekil 3-8, CoreResetP'nin harici sıfırlama kaynaklarına ve çevre birimlerinin çekirdek sıfırlama sinyallerine nasıl bağlanacağını göstermektedir. Ayrıca CoreResetP'nin çevre birimlerinin saat senkronizasyon durum sinyallerine (PLL kilit sinyalleri) nasıl bağlanacağını da gösterir. Ayrıca CoreConfigP ve CoreResetP'nin nasıl bağlandığını gösterir.
Şekil 3-8 • Core SF2Reset Alt Sistem Bağlantısı
Firmware Uygulamasının Oluşturulması ve Derlenmesi
Firmware'i LiberoSoC'den dışa aktardığınızda (Tasarım Akışı Penceresi > Firmware'i Dışa Aktar > Firmware'i Dışa Aktar), Libero aşağıdakileri oluşturur: fileiçinde /firmware/drivers_config/sys_config klasörü:
- sys_config.c – Çevresel kayıtların değerlerini tutan veri yapılarını içerir.
- sys_config.h – Tasarımda hangi çevre birimlerinin kullanıldığını ve başlatılması gerektiğini belirten #define ifadelerini içerir.
- sys_config_mddr_define.h – Kayıt Yapılandırması iletişim kutusuna girilen MDDR denetleyici yapılandırma verilerini içerir.
- sys_config_fddr_define.h – Kayıt Yapılandırması iletişim kutusuna girilen FDDR denetleyici yapılandırma verilerini içerir.
- sys_config_mss_clocks.h - Bu file MSS CCC yapılandırıcısında tanımlanan MSS saat frekanslarını içerir. Bu frekanslar, CMSIS kodu tarafından, Çevresel Saat (PCLK) frekansına erişimi olması gereken birçok MSS sürücüsüne doğru saat bilgisini sağlamak için kullanılır (örneğin, MSS UART baud hızı bölücüleri, baud hızının ve PCLK frekansının bir fonksiyonudur). ).
- sys_config_SERDESIF_ .C – SERDESIF_'i içerir SERDESIF_ sırasında sağlanan yapılandırma verilerini kaydedin Tasarım oluşturmada blok konfigürasyonu.
- sys_config_SERDESIF_ .H – Kayıt yapılandırma çiftlerinin sayısını ve PMA_READY için yoklanması gereken şerit numarasını belirten #define ifadelerini içerir (yalnızca PCIe modunda).
Bunlar fileCMSIS kodunun düzgün bir şekilde derlenmesi ve MSS için çevresel yapılandırma verileri ve saat yapılandırma bilgileri dahil olmak üzere mevcut tasarımınıza ilişkin bilgileri içermesi için e-postalar gereklidir.
Bunları düzenlemeyin filemanuel olarak; ilgili çevre birimlerini içeren SmartDesign bileşenleri her oluşturulduğunda ilgili bileşen/çevre birimi dizinlerinde oluşturulurlar. Çevre birimlerinden herhangi birinin yapılandırma verilerinde herhangi bir değişiklik yapılırsa, güncellenen bellenimin güncellenmesi için bellenim projelerini yeniden vermeniz gerekir. files (yukarıdaki listeye bakın) dışa aktarılır /firmware/drivers_config/sys_config klasörü.
Firmware'i dışarı aktardığınızda Libero SoC, firmware projelerini oluşturur: tasarım konfigürasyonunuzun yer aldığı bir kütüphane. filee-postalar ve sürücüler derlenir.
Proje oluştur seçeneğini işaretlerseniz Ürün yazılımını dışa aktardığınızda onay kutusu, main.c ve kullanıcı C/H'sini düzenleyebileceğiniz uygulama projesini tutmak için bir SoftConsole/IAR/Keil yazılımı projesi oluşturulur. fileS. CMSIS kodunu doğru şekilde derlemek için SoftConSole/IAR/Keil projesini açın ve ürün yazılımı uygulamanızın donanım tasarımınıza uygun şekilde yapılandırılmasını sağlayın.
En iyi arkadaş FileTasarımı Simüle Etmek İçin Kullanılır
Tasarımınızla ilişkili çevre birimlerini içeren SmartDesign bileşenlerini oluşturduğunuzda simülasyon fileİlgili çevre birimlerine karşılık gelenler, /simülasyon dizini:
- test.bfm – Üst düzey BFM file Bu ilk olarak SmartFusion2 MSS Cortex-M3 işlemcisini çalıştıran herhangi bir simülasyon sırasında gerçekleştirilir. Periferik_init.bfm ve user.bfm'yi bu sırayla çalıştırır.
- MDDR_init.bfm – Tasarımınız MDDR kullanıyorsa Libero bunu oluşturur file; girdiğiniz MSS DDR yapılandırma kayıt verilerinin (Kayıtları Düzenle iletişim kutusunu kullanarak veya MSS_MDDR GUI'de) MSS DDR Denetleyici kayıtlarına yazılmasını simüle eden BFM yazma komutlarını içerir.
- FDDR_init.bfm – Tasarımınız FDDR kullanıyorsa Libero bunu oluşturur file; girdiğiniz Fabric DDR yapılandırma kayıt verilerinin (Kayıtları Düzenle iletişim kutusunu kullanarak veya FDDR GUI'de) Fabric DDR Denetleyici kayıtlarına yazılmasını simüle eden BFM yazma komutlarını içerir.
- SERDESIF_ _init.bfm – Tasarımınız bir veya daha fazla SERDESIF bloğu kullanıyorsa Libero bunu oluşturur file SERDESIF_'in her biri için kullanılan bloklar; girdiğiniz SERDESIF yapılandırma kayıt verilerinin yazılmasını simüle eden BFM yazma komutlarını içerir (Kayıtları Düzenle iletişim kutusunu kullanarak veya SERDESIF_ GUI) SERDESIF_'e aktarın Kayıtlar. SERDESIF bloğu PCIe olarak yapılandırılmışsa bu file ayrıca 2 kayıt yapılandırma aşamasının mükemmel sırayla yürütülmesini kontrol eden bazı #define ifadeleri de vardır.
- kullanıcı.bfm – Kullanıcı komutlarını içerir. Bu komutlar, ambient_init.bfm tamamlandıktan sonra yürütülür. Bunu düzenle file BFM komutlarınızı girmek için
- SERDESIF_ _user.bfm – Kullanıcı komutlarını içerir. Bunu düzenle file BFM komutlarınızı girmek için SERDESIF_'i yapılandırdıysanız bunu kullanın BFM PCIe simülasyon modunda ve AXI/AHBLite master olarak bloklayın. SERDESIF_'i yapılandırdıysanız RTL simülasyon modunda bloke ederseniz buna ihtiyacınız olmayacak file.
Her seferinde simülasyonu çağırdığınızda aşağıdaki iki simülasyon fileyeniden yaratıldı Güncellenmiş içeriğe sahip /simülasyon dizini:
- altsistem.bfm – Tasarımınızda kullanılan her bir çevre birimi için, her bir çevre birimine karşılık gelen çevre birimi_init.bfm'nin yürütülecek belirli bölümünü belirten #define ifadelerini içerir.
- operiferal_init.bfm – Main() prosedürüne girmeden önce Cortex-M3'te çalıştırılan CMSIS:: SystemInit() işlevini taklit eden BFM prosedürünü içerir. Tasarımda kullanılan herhangi bir çevre biriminin yapılandırma verilerini doğru çevre birimi yapılandırma kayıtlarına kopyalar ve ardından bu çevre birimleri kullanabileceğinizi iddia etmeden önce tüm çevre birimlerinin hazır olmasını bekler. MDDR_init.bfm ve FDDR_init.bfm'yi çalıştırır.
Bu oluşturulanları kullanarak fileTasarımınızdaki DDR denetleyicileri, SmartFusion2 cihazında ne olacağını simüle ederek otomatik olarak yapılandırılır. user.bfm dosyasını düzenleyebilirsiniz file Tasarımınızı simüle etmek için gereken komutları eklemek için (Cortex-M3 ana komuttur). Bu komutlar, çevre birimleri başlatıldıktan sonra yürütülür. test.bfm, subsystem.bfm, ambient_init.bfm, MDDR_init.bfm, FDDR_init.bfm'yi düzenlemeyin fileve SERDESIF_ _init.bfm files.
Ürün Desteği
Microsemi SoC Ürünleri Grubu, ürünlerini Müşteri Hizmetleri, Müşteri Teknik Destek Merkezi, websitesi, elektronik posta ve dünya çapındaki satış ofisleri.
Bu ek, Microsemi SoC Products Group ile iletişime geçme ve bu destek hizmetlerini kullanma hakkında bilgiler içerir.
Müşteri Hizmetleri
Ürün fiyatlandırması, ürün yükseltmeleri, güncelleme bilgileri, sipariş durumu ve yetkilendirme gibi teknik olmayan ürün desteği için Müşteri Hizmetleri ile iletişime geçin.
Kuzey Amerika'dan arayın 800.262.1060
Dünyanın geri kalanından arayın 650.318.4460
Faks, dünyanın her yerinden, 408.643.6913
Müşteri Teknik Destek Merkezi
Microsemi SoC Ürünleri Grubu, Müşteri Teknik Destek Merkezi'nde, Microsemi SoC Ürünleri ile ilgili donanım, yazılım ve tasarım sorularınızı yanıtlamaya yardımcı olabilecek son derece yetenekli mühendislerle çalışmaktadır. Müşteri Teknik Destek Merkezi, uygulama notları, yaygın tasarım döngüsü sorularının yanıtları, bilinen sorunların belgeleri ve çeşitli SSS oluşturmak için çok zaman harcıyor. Bu nedenle, bizimle iletişime geçmeden önce lütfen çevrimiçi kaynaklarımızı ziyaret edin. Büyük ihtimalle sorularınızı zaten cevaplamışızdır.
Teknik Destek
Müşteri Desteğini ziyaret edin webalan (www.microsemi.com/soc/support/search/default.aspx) daha fazla bilgi ve destek için. Aranabilir üzerinde birçok cevap mevcut web kaynak diyagramlar, çizimler ve diğer kaynaklara bağlantılar içerir. webalan.
Webalan
SoC ana sayfasında çeşitli teknik ve teknik olmayan bilgilere göz atabilirsiniz. www.microsemi.com/soc.
Müşteri Teknik Destek Merkezi ile İletişime Geçme
Teknik Destek Merkezi'nde yüksek vasıflı mühendisler çalışmaktadır. Teknik Destek Merkezi ile e-posta yoluyla veya Microsemi SoC Ürünleri Grubu aracılığıyla iletişime geçilebilir. webalan.
E-posta
Teknik sorularınızı e-posta adresimize iletebilir ve e-posta, faks veya telefon yoluyla yanıt alabilirsiniz. Ayrıca, tasarım sorunlarınız varsa, tasarımınızı e-posta ile gönderebilirsiniz. files yardım almak için.
E-posta hesabını gün boyunca sürekli izliyoruz. Talebinizi bize gönderirken, talebinizin verimli bir şekilde işlenmesi için lütfen tam adınızı, şirket adınızı ve iletişim bilgilerinizi eklediğinizden emin olun.
Teknik destek e-posta adresi: soc_tech@microsemi.com.
Davalarım
Microsemi SoC Ürün Grubu müşterileri, şu adrese giderek teknik vakaları çevrimiçi olarak gönderebilir ve takip edebilir: Davalarım.
ABD dışında
ABD saat dilimleri dışında yardıma ihtiyaç duyan müşteriler, teknik destekle e-posta yoluyla iletişime geçebilir (soc_tech@microsemi.com) veya yerel bir satış ofisi ile iletişime geçin. Satış ofisi listeleri şu adreste bulunabilir: www.microsemi.com/soc/company/contact/default.aspx.
ITAR Teknik Destek
Uluslararası Silah Trafiği Mevzuatı (ITAR) tarafından düzenlenen RH ve RT FPGA'lar hakkında teknik destek için bizimle şu adresten iletişime geçin: soc_tech_itar@microsemi.com. Alternatif olarak, Vakalarım içinde, ITAR açılır listesinden Evet'i seçin. ITAR tarafından düzenlenen Microsemi FPGA'ların tam listesi için ITAR'ı ziyaret edin web sayfa.
Microsemi Corporation (NASDAQ: MSCC) aşağıdakiler için kapsamlı bir yarı iletken çözüm portföyü sunar: havacılık, savunma ve güvenlik; işletme ve iletişim; ve endüstriyel ve alternatif enerji pazarları. Ürünler arasında yüksek performanslı, yüksek güvenilirliğe sahip analog ve RF cihazları, karışık sinyal ve RF entegre devreleri, özelleştirilebilir SoC'ler, FPGA'ler ve eksiksiz alt sistemler bulunur. Microsemi'nin genel merkezi Aliso Viejo, Kaliforniya'dadır. Daha fazla bilgi için: www.microsemi.com.
© 2014 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.
5-02-00384-1/08.14Microsemi Kurumsal Genel Merkez
One Enterprise, Aliso Viejo CA 92656 ABD
ABD içinde: +1 949-380-6100
Satışlar: +1 949-380-6136
Faks: +1 949-215-4996
Belgeler / Kaynaklar
![]() |
Microsemi SmartFusion2 DDR Denetleyici ve Seri Yüksek Hızlı Denetleyici [pdf] Kullanıcı Kılavuzu SmartFusion2 DDR Denetleyici ve Seri Yüksek Hızlı Denetleyici, SmartFusion2 DDR, Denetleyici ve Seri Yüksek Hızlı Denetleyici, Yüksek Hızlı Denetleyici |