SmartFusion2
DDR Controller və Serial High Speed Controller
İnisiallaşdırma Metodologiyası
İstifadəçi təlimatı
Giriş
SmartFusion2 cihazından istifadə edərək dizayn yaratarkən, iki DDR nəzarətçisindən (FDDR və ya MDDR) birini və ya Serial Yüksək sürətli nəzarətçi (SERDESIF) bloklarından hər hansı birini istifadə edirsinizsə, bu blokların konfiqurasiya registrlərini işə başlamazdan əvvəl işə salmalısınız. istifadə etmək olar. məsələnample, DDR nəzarətçisi üçün DDR rejimini (DDR3/DDR2/LPDDR), PHY genişliyini, partlayış rejimini və ECC-ni təyin etməlisiniz.
Eynilə, PCIe son nöqtəsi kimi istifadə edilən SERDESIF bloku üçün siz PCIE BAR-ı AXI (və ya AHB) pəncərəsinə təyin etməlisiniz.
Bu sənəd DDR nəzarətçisini və SERDESIF bloklarını işə saldıqda avtomatik işə salan Libero dizaynını yaratmaq üçün lazım olan addımları təsvir edir. O, həmçinin quraşdırılmış dizayn axınında istifadə olunan Libero SOC-dan proqram təminatı kodunun necə yaradılacağını təsvir edir.
Əvvəlcə əməliyyatlar nəzəriyyəsinin ətraflı təsviri verilir.
Növbəti bölmə, dizaynınızda DDR və ya SERDESIF bloklarından istifadə edirsinizsə, digər funksiyalarla yanaşı, sizin üçün “insiallaşdırma” həllini yaradan güclü dizayn aləti olan Libero SoC System Builder-dən istifadə edərək belə bir dizaynın necə yaradılacağını təsvir edir.
Növbəti bölmə SmartFusion2 System Builder-dən istifadə etmədən tam 'insiallaşdırma' həllini necə birləşdirməyi təsvir edir. Bu, System Builder-dən istifadə etmək istəmirsinizsə, nə etməli olduğunuzu izah etməyə kömək edir və həmçinin System Builder alətinin sizin üçün həqiqətən nə yaratdığını təsvir edir. Bu bölmə ünvanlanır:
- DDR nəzarətçi və SERDESIF konfiqurasiya registrləri üçün konfiqurasiya məlumatlarının yaradılması
- Konfiqurasiya məlumatlarını müxtəlif ASIC konfiqurasiya registrlərinə ötürmək üçün tələb olunan FPGA məntiqinin yaradılması
Nəhayət, yaradılanları təsvir edirik files ilə bağlıdır:
- Firmware 'insializasiya' həllinin yaradılması.
- DDR “insializasiya” həlli üçün dizaynın simulyasiyası.
DDR nəzarətçi və SERDESIF konfiqurasiya registrləri haqqında təfərrüatlar üçün baxın Microsemi SmartFusion2 Yüksək Sürətli Seriya və DDR İnterfeysləri İstifadəçi Təlimatı.
Əməliyyat nəzəriyyəsi
Periferik başlatma həlli aşağıdakı əsas komponentlərdən istifadə edir:
- Cortex-M3 üzərində işləyən və işə salma prosesini təşkil edən CMSIS SystemInit() funksiyası.
- Ətraf qurğuların konfiqurasiya registrlərini işə salan CoreConfigP yumşaq IP nüvəsi.
- MSS, DDR nəzarətçiləri və SERDESIF bloklarının sıfırlama ardıcıllığını idarə edən CoreResetP yumşaq IP nüvəsi.
Periferik başlatma prosesi aşağıdakı kimi işləyir:
- Sıfırlandıqdan sonra Cortex-M3 CMSIS SystemInit() funksiyasını işə salır. Bu funksiya proqramın main() funksiyası yerinə yetirilməzdən əvvəl avtomatik olaraq yerinə yetirilir.
CoreResetP çıxış siqnalı MSS_HPMS_READY başlatma prosesinin əvvəlində təsdiqlənir və bu, MSS-nin və bütün periferik qurğuların (MDDR-dən başqa) əlaqə üçün hazır olduğunu göstərir. - SystemInit() funksiyası konfiqurasiya məlumatlarını MSS FIC_2 APB3 avtobusu vasitəsilə DDR kontrollerlərinə və SERDESIF konfiqurasiya registrlərinə yazır. Bu interfeys FPGA toxumasında yaradılmış yumşaq CoreConfigP nüvəsinə bağlıdır.
- Bütün registrlər konfiqurasiya edildikdən sonra SystemInit() funksiyası registrin konfiqurasiya mərhələsinin tamamlanmasını göstərmək üçün CoreConfigP idarəetmə registrlərinə yazır; CoreConfigP çıxış siqnalları CONFIG1_DONE və CONIG2_DONE sonra təsdiqlənir.
Dizaynda istifadə olunan periferiyalardan asılı olaraq registr konfiqurasiyasının iki mərhələsi var (CONFIG1 və CONFIG2). - MDDR/FDDR-dən biri və ya hər ikisi istifadə olunursa və SERDESIF bloklarının heç biri dizaynda istifadə edilmirsə, yalnız bir registr konfiqurasiya mərhələsi var. Həm CoreConfigP çıxış siqnalları CONFIG1_DONE və CONIG2_DONE heç bir gözləmə/gecikmə olmadan bir-birinin ardınca təsdiqlənir.
Dizaynda qeyri-PCIe rejimində bir və ya bir neçə SERDESIF blokundan istifadə edilərsə, registr konfiqurasiyasının yalnız bir mərhələsi var. CONFIG1_DONE və CONIG2_DONE heç bir gözləmə/gecikmə olmadan bir-birinin ardınca təsdiqlənir.
Dizaynda PCIe rejimində bir və ya bir neçə SERDESIF blokundan istifadə edilərsə, registr konfiqurasiyasının iki mərhələsi var. CONFIG1_DONE registr konfiqurasiyasının birinci mərhələsi tamamlandıqdan sonra təsdiq edilir. SERDESIF sistemi və zolaq registrləri bu mərhələdə konfiqurasiya edilir. SERDESIF qeyri-PCIE rejimində konfiqurasiya edilirsə, CONFIG2_DONE siqnalı da dərhal təsdiqlənir. - Bundan sonra registr konfiqurasiyasının ikinci mərhələsi başlayır (əgər SERDESIF PCIE rejimində konfiqurasiya edilibsə). İkinci mərhələdə baş verən müxtəlif hadisələr aşağıdakılardır:
– CoreResetP istifadə edilən SERDESIF bloklarının hər birinə uyğun gələn PHY_RESET_N və CORE_RESET_N siqnallarını təsdiq edir. O, həmçinin bütün SERDESIF blokları sıfırlandıqdan sonra SDIF_RELEASED çıxış siqnalını təsdiq edir. Bu SDIF_RELEASED siqnalı CoreConfigP-ə SERDESIF nüvəsinin sıfırlandığını və registr konfiqurasiyasının ikinci mərhələsinə hazır olduğunu göstərmək üçün istifadə olunur.
– SDIF_RELEASED siqnalı təsdiq edildikdən sonra SystemInit() funksiyası müvafiq SERDESIF zolağında PMA_READY təsdiqi üçün sorğuya başlayır. PMA_READY təsdiq edildikdən sonra SERDESIF registrlərinin ikinci dəsti (PCIE registrləri) SystemInit() funksiyası tərəfindən konfiqurasiya edilir/yazılır. - Bütün PCIE registrləri konfiqurasiya edildikdən sonra SystemInit() funksiyası registr konfiqurasiyasının ikinci mərhələsinin tamamlanmasını göstərmək üçün CoreConfigP idarəetmə registrlərinə yazır; sonra CoreConfigP çıxış siqnalı CONIG2_DONE təsdiqlənir.
- Yuxarıda göstərilən siqnal təsdiqləri/de-təsdiqləri ilə yanaşı, CoreResetP həmçinin aşağıdakı funksiyaları yerinə yetirərək müxtəlif blokların işə salınmasını idarə edir:
– FDDR əsas sıfırlamasının təsdiqlənməsi
– SERDESIF-in təsdiqlənməsi PHY və CORE sıfırlamalarını bloklayır
– FDDR PLL (FPLL) kilid siqnalının monitorinqi. FDDR AXI/AHBLite məlumat interfeysi və FPGA strukturunun düzgün əlaqə saxlamasına zəmanət vermək üçün FPLL kilidlənməlidir.
– SERDESIF blok PLL (SPLL) kilid siqnallarının monitorinqi. SERDESIF-in AXI/AHBLite interfeysini (PCIe rejimi) və ya XAUI interfeysinin FPGA quruluşu ilə düzgün əlaqə saxlamasına zəmanət vermək üçün SPLL kilidlənməlidir.
– Xarici DDR yaddaşlarının yerləşməsini və DDR nəzarətçiləri tərəfindən istifadə olunmağa hazır olmasını gözləyirik. - Bütün periferiya qurğuları işə salınmasını tamamladıqda, CoreResetP INIT_DONE siqnalını təsdiq edir; sonra CoreConfigP daxili reyestri INIT_DONE təsdiqlənir.
MDDR/FDDR-dən biri və ya hər ikisi istifadə edilərsə və DDR-nin işə salınma vaxtı çatarsa, CoreResetP çıxış siqnalı DDR_READY təsdiqlənir. Bu DDR_READY siqnalının təsdiqlənməsi DDR-nin (MDDR/FDDR) əlaqə üçün hazır olmasının göstəricisi kimi izlənilə bilər.
Bir və ya bir neçə SERDESIF blokundan istifadə edilərsə və registr konfiqurasiyasının ikinci mərhələsi uğurla tamamlanarsa, CoreResetP çıxış siqnalı SDIF_READY təsdiqlənir. Bu SDIF_READY siqnalının təsdiqlənməsi bütün SERDESIF bloklarının əlaqəyə hazır olmasının göstəricisi kimi izlənilə bilər. - INIT_DONE-un təsdiqlənməsini gözləyən SystemInit() funksiyası tamamlanır və proqramın main() funksiyası yerinə yetirilir. O zaman bütün istifadə edilmiş DDR nəzarətçiləri və SERDESIF blokları işə salınıb və proqram təminatı tətbiqi və FPGA struktur məntiqi onlarla etibarlı şəkildə əlaqə saxlaya bilir.
Bu sənəddə təsvir olunan metodologiya tətbiqin main() funksiyasından əvvəl icra edilən sistemin başlanğıc kodunun bir hissəsi kimi işə salma prosesini həyata keçirən Cortex-M3-ə əsaslanır.
FDDR/MDDR, SEREDES (qeyri-PCIe rejimi) və SERDES (PCIe rejimi) inisiallaşdırma addımları üçün Şəkil 1-1, Şəkil 1-2 və Şəkil 1-3-dəki Axın Diaqramlarına baxın.
Şəkil 1-4 Periferik Başlama vaxtının diaqramını göstərir.
![]() |
![]() |
Şəkil 1-3 • SERDESIF (PCIe) Initialization Flow Chart
Bu sənəddə təsvir edilən başlatma proseduru sizdən Cortex-M3-də hər hansı kodu işlətməyi planlaşdırmasanız belə, işə salma prosesi zamanı Cortex-M3-ü işə salmağı tələb edir. Heç bir şey etməyən əsas proqram təminatı proqramı yaratmalısınız (sadə bir döngə, məsələnample) və quraşdırılmış Qeyri-Uçucu Yaddaşda (eNVM) icra edilə biləni yükləyin ki, Cortex-M3 işə salındıqda DDR nəzarətçiləri və SERDESIF blokları işə salınsın.
DDR və SERDESIF bloklarından istifadə edərək dizayn yaratmaq üçün sistem qurucusundan istifadə
SmartFusion2 Sistem Qurucusu sistem səviyyəsində tələblərinizi əldə etməyə kömək edən və bu tələbləri həyata keçirən dizayn hazırlayan güclü dizayn alətidir. Sistem Qurucusunun çox vacib funksiyası Periferik Başlama alt sisteminin avtomatik yaradılmasıdır. “DDR və SERDESIF bloklarından istifadə edərək dizayn yaratmaq üçün SmartDesign-dan istifadə” səhifə 17-də Sistem Qurucusu olmadan belə bir həllin necə yaradılacağı ətraflı təsvir edilir.
Əgər siz System Builder-dən istifadə edirsinizsə, işə başladıqda DDR kontrollerlərinizi və SERDESIF bloklarınızı işə salan dizayn yaratmaq üçün aşağıdakı tapşırıqları yerinə yetirməlisiniz:
- Cihaz Xüsusiyyətləri səhifəsində (Şəkil 2-1) dizaynınızda hansı DDR kontrollerlərinin istifadə edildiyini və neçə SERDESIF blokunun istifadə olunduğunu göstərin.
- Yaddaş səhifəsində DDR növünü (DDR2/DDR3/LPDDR) və xarici DDR yaddaşlarınız üçün konfiqurasiya məlumatlarını təyin edin. Təfərrüatlar üçün Yaddaş Səhifəsi bölməsinə baxın.
- Periferiyalar səhifəsində AHBLite/AXI kimi konfiqurasiya edilmiş parça ustalarını Fabric DDR Altsisteminə və/və ya MSS DDR FIC Altsisteminə əlavə edin (istəyə görə).
- Saat Parametrləri səhifəsində DDR alt sistemləri üçün saat tezliklərini təyin edin.
- Dizayn spesifikasiyanızı tamamlayın və Finish düyməsini basın. Bu, “insiallaşdırma” həlli üçün lazım olan məntiq daxil olmaqla, Sistem Qurucusu tərəfindən yaradılmış dizaynı yaradır.
- Əgər siz SERDESIF bloklarından istifadə edirsinizsə, siz dizaynınızda SERDESIF bloklarını işə salmalı və onların başlatma portlarını System Builder tərəfindən yaradılmış nüvənin portlarına birləşdirməlisiniz.
Sistem Qurucusu Cihaz Xüsusiyyətləri Səhifəsi
Cihaz Xüsusiyyətləri səhifəsində dizaynınızda hansı DDR kontrollerlərinin (MDDR və/və ya FDDR) istifadə edildiyini və neçə SERDESIF blokunun istifadə olunduğunu göstərin (Şəkil 2-1).
Şəkil 2-1 • Sistem Qurucusu Cihaz Xüsusiyyətləri Səhifəsi
Sistem Qurucusu Yaddaş Səhifəsi
MSS DDR (MDDR) və ya Fabric DDR (FDDR) istifadə etmək üçün açılan siyahıdan Yaddaş Tipini seçin (Şəkil 2-2).
Şəkil 2-2 • MSS Xarici Yaddaş
Siz etməlisiniz:
- DDR növünü seçin (DDR2, DDR3 və ya LPDDR).
- DDR yaddaşın yerləşdirilməsi vaxtını təyin edin. Yaddaşın düzgün qurulması vaxtını təyin etmək üçün xarici DDR Yaddaş Xüsusiyyətləri ilə məsləhətləşin. Yaddaşın yerləşdirilməsi vaxtı düzgün təyin edilmədikdə, DDR yaddaşı düzgün işə salına bilməz.
- Ya DDR registrinin konfiqurasiya məlumatlarını idxal edin, ya da DDR Yaddaş Parametrlərinizi təyin edin. Ətraflı məlumat üçün müraciət edin Microsemi SmartFusion2 Yüksək Sürətli Seriya və DDR İnterfeysləri İstifadəçi Təlimatı.
Bu məlumatlar DDR registrinin BFM və mikroproqram konfiqurasiyasını yaratmaq üçün istifadə olunur files “Firmware Tətbiqinin Yaradılması və Tərtib edilməsi” səhifə 26 və “BFM” bölmələrində təsvir olunduğu kimi Files Dizaynı Simulyasiya etmək üçün istifadə olunur” səhifə 27. DDR kontroller konfiqurasiya registrləri haqqında ətraflı məlumat üçün baxın. Microsemi SmartFusion2 Yüksək Sürətli Seriya və DDR İnterfeysləri İstifadəçi Təlimatı.
Keçmişampkonfiqurasiyanın le file sintaksis Şəkil 2-3-də göstərilmişdir. Bu işdə istifadə olunan registr adları file -də təsvir olunanlarla eynidir Microsemi SmartFusion2 Yüksək Sürətli Seriya və DDR İnterfeysləri İstifadəçi Təlimatı
Şəkil 2-3 • Konfiqurasiya File Sintaksis Example
Sistem Qurucusu Periferik Səhifə
Periferiyalar səhifəsində hər bir DDR nəzarətçisi üçün ayrıca alt sistem yaradılır (FDDR üçün Parça DDR Alt Sistemi və MDDR üçün MSS DDR FIC Alt Sistemi). DDR nəzarətçilərinə parça master girişini təmin etmək üçün bu alt sistemlərin hər birinə Fabric AMBA Master nüvəsini (AXI/AHBLite kimi konfiqurasiya edilmişdir) əlavə edə bilərsiniz. Nəsildən sonra Sistem Qurucusu avtomatik olaraq avtobus nüvələrini işə salır (əlavə edilmiş AMBA Master-ın növündən asılı olaraq) və avtobus nüvəsinin master BIF-ini və müvafiq alt sistemlərin (FDDR/MDDR) saatını və reset pinlərini müvafiq pin qrupları altında, üst. Sizə lazım olan tək şey BIF-ləri dizaynda tətbiq edəcəyiniz uyğun Fabric Master nüvələrinə qoşmaqdır. MDDR vəziyyətində, MSS DDR FIC Altsisteminə Fabric AMBA Master nüvəsini əlavə etmək isteğe bağlıdır; Cortex-M3 bu alt sistemdə standart master-dir. Şəkil 2-4 Sistem Qurucusu Periferik Cihazlar Səhifəsini göstərir.
Şəkil 2-4 • Sistem Qurucusu Periferiya Səhifəsi
Sistem Qurucusu Saat Parametrləri Səhifəsi
Saat Parametrləri səhifəsində hər bir DDR nəzarətçisi üçün hər bir DDR (MDDR və/və ya FDDR) alt sistemi ilə əlaqəli saat tezliklərini təyin etməlisiniz.
MDDR üçün aşağıdakıları göstərməlisiniz:
- MDDR_CLK – Bu saat DDR Controller-in işləmə tezliyini müəyyən edir və xarici DDR yaddaşınızın işləməsini istədiyiniz saat tezliyinə uyğun olmalıdır. Bu saat M3_CLK (Cortex-M3 və MSS Əsas Saatı, Şəkil 2-5) çoxluğu kimi müəyyən edilir. MDDR_CLK 333 MHz-dən az olmalıdır.
- DDR_FIC_CLK – Əgər siz MDDR-ə FPGA materialından da daxil olmağı seçmisinizsə, DDR_FIC_CLK-nı təyin etməlisiniz. Bu saat tezliyi MDDR_CLK nisbəti kimi müəyyən edilir və MDDR-ə daxil olan FPGA alt sisteminin işlədiyi tezlikə uyğun olmalıdır.
Şəkil 2-5 • Cortex-M3 və MSS Əsas Saatı; MDDR saatları
FDDR üçün aşağıdakıları göstərməlisiniz:
- FDDR_CLK – DDR Controller-in işləmə tezliyini müəyyən edir və xarici DDR yaddaşınızın işləməsini istədiyiniz saat tezliyinə uyğun olmalıdır. Qeyd edək ki, bu saat M3_CLK (MSS və Cortex-M3 saatı, Şəkil 2-5) çoxluğu kimi müəyyən edilir. FDDR_CLK 20 MHz və 333 MHz daxilində olmalıdır.
- FDDR_SUBSYSTEM_CLK – Bu saat tezliyi FDDR_CLK nisbəti kimi müəyyən edilir və FDDR-ə daxil olan FPGA alt sisteminin işlədiyi tezlikə uyğun olmalıdır.
Şəkil 2-6 • Parça DDR saatları
SERDESIF Konfiqurasiyası
SERDESIF blokları Sistem Qurucusu tərəfindən yaradılan dizaynda yaradılmır. Bununla belə, bütün SERDESIF blokları üçün başlatma siqnalları Sistem Qurucusu nüvəsinin interfeysində mövcuddur və Şəkil 2-7-də göstərildiyi kimi növbəti iyerarxiya səviyyəsində SERDESIF nüvələrinə qoşula bilər.Şəkil 2-7 • SERDESIF Periferik Başlama Əlaqəsi
DDR konfiqurasiya registrləri kimi, hər bir SERDES blokunda da icra zamanı yüklənməli olan konfiqurasiya registrləri var. Siz ya bu registr dəyərlərini idxal edə, ya da PCIe və ya EPCS parametrlərinizi daxil etmək üçün Yüksək Sürətli Serial İnterfeys Konfiquratorundan (Şəkil 2-8) istifadə edə bilərsiniz və registr dəyərləri sizin üçün avtomatik hesablanır. Ətraflı məlumat üçün müraciət edin SERDES Konfiqurator İstifadəçi Təlimatı.Şəkil 2-8 • Yüksək Sürətli Serial İnterfeys Konfiquratoru
İstifadəçi məntiqinizi System Builder bloku və SERDES bloku ilə birləşdirdikdən sonra, siz öz yüksək səviyyəli SmartDesign-ı yarada bilərsiniz. Bu, bütün HDL və BFM yaradır filedizaynınızı həyata keçirmək və simulyasiya etmək üçün lazım olan s. Daha sonra Dizayn axınının qalan hissəsinə davam edə bilərsiniz.
DDR və SERDESIF bloklarından istifadə edərək dizayn yaratmaq üçün SmartDesign-dan istifadə
Bu bölmə SmartFusion2 System Builder-dən istifadə etmədən tam 'başlatma' həllini necə birləşdirmək lazım olduğunu təsvir edir. Məqsəd Sistem Qurucusundan istifadə etmək istəmirsinizsə, nə etməli olduğunuzu anlamağa kömək etməkdir. Bu bölmə həm də System Builder alətinin həqiqətən sizin üçün nə yaratdığını təsvir edir. Bu bölmədə necə təsvir edilir:
- DDR nəzarətçi və SERDESIF konfiqurasiya registrləri üçün konfiqurasiya məlumatlarını daxil edin.
- Konfiqurasiya məlumatlarını DDR kontrollerlərinə və SERDESIF konfiqurasiya registrlərinə ötürmək üçün tələb olunan Fabric Cores-u hazırlayın və birləşdirin.
DDR Controller Konfiqurasiyası
MSS DDR (MDDR) və Fabric DDR (FDDR) nəzarətçiləri xarici DDR yaddaş konfiqurasiya tələblərinə (DDR rejimi, PHY eni, partlama rejimi, ECC və s.) uyğun gəlmək üçün dinamik (işləmə zamanı) konfiqurasiya edilməlidir. MDDR/FDDR konfiquratoruna daxil edilmiş məlumatlar CMSIS SystemInit() funksiyası ilə DDR kontroller konfiqurasiya registrlərinə yazılır. Konfiquratorda müxtəlif növ konfiqurasiya məlumatlarını daxil etmək üçün üç fərqli nişan var:
- Ümumi məlumatlar (DDR rejimi, Məlumat eni, Saat Tezliyi, ECC, Parça interfeysi, Sürücü Gücü)
- Yaddaşın işə salınması məlumatları (burst uzunluğu, partlayış sırası, vaxt rejimi, gecikmə və s.)
- Yaddaş Zamanlama məlumatları
Xarici DDR yaddaşınızın spesifikasiyalarına müraciət edin və DDR Nəzarətçini xarici DDR yaddaşınızın tələblərinə uyğunlaşdırmaq üçün konfiqurasiya edin.
DDR konfiqurasiyası haqqında təfərrüatlar üçün baxın SmartFusion2 MSS DDR Konfiqurasiya İstifadəçi Təlimatı.
SERDESIF Konfiqurasiyası
SERDES-i konfiqurasiya etmək üçün Konfiquratoru açmaq üçün SmartDesign kətanında SERDES blokuna iki dəfə klikləyin (Şəkil 3-1). Siz ya bu registr dəyərlərini idxal edə, ya da PCIe və ya EPCS parametrlərinizi daxil etmək üçün SERDES konfiquratorundan istifadə edə bilərsiniz və registr dəyərləri sizin üçün avtomatik hesablanır. Ətraflı məlumat üçün müraciət edin SERDES Konfiqurator İstifadəçi Təlimatı.Şəkil 3-1 • Yüksək Sürətli Serial İnterfeys Konfiquratoru
FPGA Dizayn Initializasiya Alt Sisteminin yaradılması
DDR və SERDESIF bloklarını işə salmaq üçün siz FPGA strukturunda başlatma alt sistemini yaratmalısınız. FPGA strukturunun işə salınması alt sistemi məlumatları Cortex-M3-dən DDR və SERDESIF konfiqurasiya registrlərinə köçürür, bu blokların işləməsi üçün tələb olunan sıfırlama ardıcıllığını idarə edir və bu bloklar dizaynınızın qalan hissəsi ilə əlaqə saxlamağa hazır olduqda siqnal verir. Başlatıcı alt sistemi yaratmaq üçün aşağıdakıları etməlisiniz:
- MSS daxilində FIC_2-ni konfiqurasiya edin
- CoreConfigP və CoreResetP nüvələrini hazırlayın və konfiqurasiya edin
- Çipdəki 25/50MHz RC osilatorunu işə salın
- Sistem Sıfırlama (SYSRESET) makrosunu işə salın
- Bu komponentləri hər bir periferiyanın konfiqurasiya interfeyslərinə, saatlarına, sıfırlamalarına və PLL kilid portlarına qoşun
MSS FIC_2 APB Konfiqurasiyası
MSS FIC_2-ni konfiqurasiya etmək üçün:
- MSS konfiquratorundan FIC_2 konfiqurator dialoq qutusunu açın (Şəkil 3-2).
- Cortex-M3 istifadə edərək periferiyaları işə salın seçin.
- Sisteminizdən asılı olaraq, aşağıdakı onay qutularından birini və ya hər ikisini işarələyin:
– MSS DDR
– Parça DDR və/və ya SERDES Blokları - OK düyməsini basın və MSS-ni yaratmağa davam edin (MSS-ni dizayn tələblərinizə tam uyğunlaşdırana qədər bu hərəkəti təxirə sala bilərsiniz). FIC_2 portları (FIC_2_APB_MASTER, FIC_2_APB_M_PCLK və FIC_2_APB_M_RESET_N) indi MSS interfeysində açıqdır və CoreConfigP və CoreResetP nüvələrinə qoşula bilər.
Şəkil 3-2 • MSS FIC_2 Konfiqurator
CoreConfigP
CoreConfigP-ni konfiqurasiya etmək üçün:
- CoreConfigP-ni SmartDesign-da hazırlayın (adətən MSS-nin yaradıldığı yer).
Bu nüvəni Libero Kataloqunda (Periferiyalar altında) tapmaq olar. - Konfiquratoru açmaq üçün nüvəyə iki dəfə klikləyin.
- Hansı periferik qurğuların işə salınmalı olduğunu müəyyən etmək üçün nüvəni konfiqurasiya edin (Şəkil 3-3)
Şəkil 3-3 • CoreConfigP Dialoq Qutusu
CoreResetP
CoreResetP-ni konfiqurasiya etmək üçün:
- CoreResetP-ni SmartDesign-da hazırlayın (adətən MSS-nin yaradıldığı yer).
Bu nüvəni Libero Kataloqunda, Periferiyalar altında tapmaq olar. - Konfiquratoru açmaq üçün SmartDesign Canvas-ın içərisindəki nüvəyə iki dəfə klikləyin (Şəkil 3-4).
- Əsası konfiqurasiya edin:
– Xarici sıfırlama davranışını təyin edin (EXT_RESET_OUT təsdiqlənir). Dörd seçimdən birini seçin:
o EXT_RESET_OUT heç vaxt təsdiq edilmir
o EXT_RESET_OUT işə salındıqda sıfırlanır (POWER_ON_RESET_N)
o FAB_RESET_N təsdiq edildikdə EXT_RESET_OUT təsdiq edilir
o EXT_RESET_OUT enerjinin sıfırlanması (POWER_ON_RESET_N) və ya FAB_RESET_N təsdiq edildikdə təsdiq edilir
– Cihazın həcmini göstərintage. Seçilmiş dəyər həcmə uyğun olmalıdırtage Libero Layihə Parametrləri dialoq qutusunda seçdiniz.
– Dizaynınızda hansı periferiyalardan istifadə etdiyinizi göstərmək üçün müvafiq onay qutularını yoxlayın.
– Xarici DDR yaddaşın qurulması vaxtını təyin edin. Bu, tətbiqinizdə istifadə olunan bütün DDR yaddaşları üçün maksimum dəyərdir (MDDR və FDDR). Bu parametri konfiqurasiya etmək üçün xarici DDR yaddaş satıcısının məlumat cədvəlinə baxın. 200us 2MHz-də işləyən DDR3 və DDR200 yaddaşları üçün yaxşı standart dəyərdir. Bu, silikon üzərində işləyən simulyasiya və işləmə sistemini təmin etmək üçün çox vacib bir parametrdir. Yerləşdirmə vaxtı üçün səhv dəyər simulyasiya xətaları ilə nəticələnə bilər. Bu parametri konfiqurasiya etmək üçün DDR yaddaş satıcısının məlumat cədvəlinə baxın.
– Dizaynınızdakı hər bir SERDES bloku üçün aşağıdakıları göstərmək üçün müvafiq qutuları işarələyin:
o PCIe istifadə olunur
o PCIe Hot Reset üçün dəstək tələb olunur
o PCIe L2/P2 üçün dəstək tələb olunur
Qeyd: Əgər siz 090 die(M2S090) istifadə edirsinizsə və dizaynınız SERDESIF-dən istifadə edirsə, aşağıdakı qeyd qutularından hər hansı birini yoxlamaq məcburiyyətində deyilsiniz: "PCIe üçün istifadə olunur", "PCIe HotReset dəstəyini daxil edin" və "PCIe L2/P2 dəstəyini daxil edin". Əgər siz hər hansı qeyri-090 cihazdan istifadə edirsinizsə və bir və ya daha çox SERDESIF blokundan istifadə edirsinizsə, müvafiq SERDESIF bölməsinin altındakı dörd onay qutusunun hamısını qeyd etməlisiniz.
Qeyd: Bu konfiquratorda sizin üçün mövcud olan seçimlər haqqında ətraflı məlumat üçün CoreResetP Təlimatına baxın.
Şəkil 3-4 • CoreResetPConfigurator
25/50MHz osilatorun yaradılması
CoreConfigP və CoreResetP, çipdə olan 25/50MHz RC osilatoru tərəfindən saatlandırılır. Siz 25/50MHz Osilatoru işə salmalı və onu bu nüvələrə qoşmalısınız.
- Çip Osilatorlarının nüvəsini SmartDesign-a daxil edin (adətən MSS-nin yaradıldığı yer). Bu əsası Libero Kataloqunda Saat və İdarəetmə bölməsində tapmaq olar.
- Bu nüvəni elə konfiqurasiya edin ki, RC osilatoru Şəkil 3-5-də göstərildiyi kimi FPGA parçasını idarə etsin.
Şəkil 3-5 • Çip Osilatorlarının Konfiquratoru
Sistem Sıfırlama (SYSRESET) Instantiation
SYSRESET makrosu dizaynınıza cihaz səviyyəsinin sıfırlanması funksiyasını təmin edir. POWER_ON_RESET_N çıxış siqnalı hər dəfə çip işə salındıqda və ya DEVRST_N xarici pin təsdiqləndikdə/de-təsdiq edildikdə təsdiqlənir/de-təsdiqlənir (Şəkil 3-6).
SYSRESET makrosunu SmartDesign-da işə salın (adətən MSS-nin yaradıldığı yer). Bu makronu Libero Kataloqunda Makro Kitabxanası altında tapmaq olar. Bu makronun konfiqurasiyasına ehtiyac yoxdur.
Şəkil 3-6 • SYSRESET Makro
Ümumi Bağlantı
Dizaynınızda MSS, FDDR, SERDESIF, OSC, SYSRESET, CoreConfigP və CoreResetP nüvələrini yaratdıqdan və konfiqurasiya etdikdən sonra Periferik Başlama alt sistemini yaratmaq üçün onları birləşdirməlisiniz. Bu sənəddəki əlaqə təsvirini sadələşdirmək üçün o, CoreConfigP və CoreResetP ilə əlaqəli bağlantılarla əlaqəli APB3 uyğun konfiqurasiya məlumat yolu bağlantısına bölünür.
Konfiqurasiya Məlumat Yolu Bağlantısı
Şəkil 3-7 CoreConfigP-nin MSS FIC_2 siqnallarına və periferiya qurğularının APB3 uyğun konfiqurasiya interfeyslərinə necə qoşulacağını göstərir.
Cədvəl 3-1 • Konfiqurasiya Məlumat Yolu Port/BIF Əlaqələri
FROM Port/avtobus interfeysi (BIF)/ Komponent |
TO Port/Avtobus interfeysi (BIF)/komponent |
||
APB S ÖNCƏNDİRİLMİŞ N/ CoreConfigP | APB S ÖZƏNDİRİLMİŞ N/ SDIF<0/1/2/3> | APB S ÖNCƏDƏN AYARLANMASI N/ FDDR |
MDDR APB S HAZIRLANAN TN/MSS |
APB S PCLK/CoreConfigP | APB S PCLK/SDIF | APB S PCLK/FDDR | MDDR APB S POLK/ MSS |
MDDR APBmslave/CoreConfig | MDDR APB SLAVE (BIF)/MSS | ||
SDIF<0/1/2/ 3> APBmslave/Config | APB SLAVE (BIF)/ SDIF<0/1/2/3> | ||
FDDR APBmslave | APB SLAVE (BIF)/ FDDR | ||
FIC 2 APBmmaster/CoreConfigP | FIC 2 APB MASTER/MSS |
Şəkil 3-7 • FIC_2 APB3 Alt Sistem Bağlantısı
Saatlar və Bağlantıları Sıfırlayır
Şəkil 3-8 CoreResetP-nin xarici sıfırlama mənbələrinə və periferik qurğuların əsas sıfırlama siqnallarına necə qoşulacağını göstərir. O, həmçinin CoreResetP-ni periferik cihazların saat sinxronizasiya vəziyyəti siqnallarına (PLL kilid siqnalları) necə qoşacağını göstərir. Bundan əlavə, CoreConfigP və CoreResetP-nin necə bağlandığını göstərir.
Şəkil 3-8 • Əsas SF2Reset Alt Sistem Bağlantısı
Firmware Tətbiqinin Yaradılması və Kompilyasiyası
Proqram təminatını LiberoSoC-dən ixrac etdiyiniz zaman (Dizayn Akışı Pəncərəsi > Mikroproqramı ixrac et > Mikroproqramı ixrac et), Libero aşağıdakıları yaradır. files-də /firmware/drivers_config/ sys_config qovluğu:
- sys_config.c – Periferik registrlər üçün dəyərləri saxlayan məlumat strukturlarını ehtiva edir.
- sys_config.h – Dizaynda hansı periferiyaların istifadə olunduğunu və işə salınmalı olduğunu göstərən #define ifadələrini ehtiva edir.
- sys_config_mddr_define.h – Registrlərin Konfiqurasiyası dialoq qutusuna daxil edilmiş MDDR nəzarətçisinin konfiqurasiya məlumatlarını ehtiva edir.
- sys_config_fddr_define.h – Registrlərin Konfiqurasiyası dialoq qutusuna daxil edilmiş FDDR nəzarətçisinin konfiqurasiya məlumatlarını ehtiva edir.
- sys_config_mss_clocks.h – Bu file MSS CCC konfiquratorunda müəyyən edilmiş MSS saat tezliklərini ehtiva edir. Bu tezliklər CMSIS kodu tərəfindən Periferik Saat (PCLK) tezliyinə çıxışı olan bir çox MSS sürücülərinə düzgün saat məlumatı təmin etmək üçün istifadə olunur (məsələn, MSS UART ötürmə sürəti bölücüləri ötürmə sürətinin və PCLK tezliyinin funksiyasıdır. ).
- sys_config_SERDESIF_ .c – SERDESIF_ ehtiva edir SERDESIF_ zamanı təqdim edilən konfiqurasiya məlumatlarını qeyd edin dizayn yaradılmasında blok konfiqurasiyası.
- sys_config_SERDESIF_ .h – Reyestr konfiqurasiya cütlərinin sayını və PMA_READY (yalnız PCIe rejimində) üçün sorğulanmalı olan zolaq nömrəsini təyin edən #define ifadələrini ehtiva edir.
Bunlar files CMSIS kodunun düzgün tərtib edilməsi və MSS üçün periferik konfiqurasiya məlumatları və saat konfiqurasiyası məlumatı daxil olmaqla, cari dizaynınızla bağlı məlumatları ehtiva etməsi üçün tələb olunur.
Bunları redaktə etməyin fileəl ilə; onlar hər dəfə müvafiq periferiyaları ehtiva edən SmartDesign komponentləri yaradılanda müvafiq komponent/periferik kataloqlar üçün yaradılır. Hər hansı bir periferik qurğunun konfiqurasiya məlumatlarında hər hansı dəyişiklik edilərsə, yenilənmiş proqram təminatının işləməsi üçün proqram təminatı layihələrini yenidən ixrac etməlisiniz. files (yuxarıdakı siyahıya baxın) ixrac olunur / firmware/drivers_config/sys_config qovluğu.
Mikroproqramı ixrac etdiyiniz zaman Libero SoC proqram təminatı layihələri yaradır: dizayn konfiqurasiyanızın olduğu kitabxana files və sürücülər tərtib edilir.
Yarat layihəsini yoxlasanız proqram təminatını ixrac etdiyiniz zaman, proqram layihəsini saxlamaq üçün SoftConsole/IAR/Keil proqramı yaradılır, burada main.c və istifadəçi C/H-ni redaktə edə bilərsiniz. files. CMSIS kodunu düzgün tərtib etmək üçün SoftConSole/IAR/Keil layihəsini açın və proqram təminatı proqramınızı aparat dizaynınıza uyğun olaraq düzgün şəkildə konfiqurasiya edin.
BFM Files Dizaynı Simulyasiya etmək üçün istifadə olunur
Dizaynınızla əlaqəli periferiyaları ehtiva edən SmartDesign komponentlərini yaratdığınız zaman simulyasiya filemüvafiq periferik qurğulara uyğun s yaradılır /simulyasiya kataloqu:
- test.bfm - Ən yüksək səviyyəli BFM file ilk olaraq SmartFusion2 MSS Cortex-M3 prosessorunu istifadə edən hər hansı simulyasiya zamanı yerinə yetirilir. Bu ardıcıllıqla peripheral_init.bfm və user.bfm icra edir.
- MDDR_init.bfm – Dizaynınız MDDR-dən istifadə edirsə, Libero bunu yaradır file; o, daxil etdiyiniz (Registrləri Redaktə etmək dialoq qutusundan və ya MSS_MDDR GUI-də) MSS DDR Controller registrlərinə daxil etdiyiniz MSS DDR konfiqurasiya reyestrinin məlumatlarının yazılarını simulyasiya edən BFM yazma əmrlərini ehtiva edir.
- FDDR_init.bfm – Dizaynınız FDDR-dən istifadə edirsə, Libero bunu yaradır file; o, Fabric DDR Controller registrlərinə daxil etdiyiniz (Registrləri Redaktə etmək dialoq qutusundan və ya FDDR GUI-dən istifadə etməklə) Fabric DDR konfiqurasiya reyestr məlumatlarının yazılarını simulyasiya edən BFM yazma əmrlərini ehtiva edir.
- SERDESIF_ _init.bfm – Dizaynınız bir və ya daha çox SERDESIF blokundan istifadə edirsə, Libero bunu yaradır file SERDESIF_ hər biri üçün istifadə olunan bloklar; o, daxil etdiyiniz SERDESIF konfiqurasiya reyestr məlumatlarının yazılarını simulyasiya edən BFM yazma əmrlərini ehtiva edir (Registrləri Redaktə et dialoq qutusundan istifadə etməklə və ya SERDESIF_ GUI) SERDESIF_ daxil qeydiyyatdan keçir. SERDESIF bloku PCIe kimi konfiqurasiya olunubsa, bu file həmçinin 2 registr konfiqurasiya mərhələsinin mükəmməl qaydada yerinə yetirilməsinə nəzarət edən bəzi #define ifadələrinə malikdir.
- user.bfm – İstifadəçi əmrlərini ehtiva edir. Bu əmrlər peripheral_init.bfm tamamlandıqdan sonra yerinə yetirilir. Bunu redaktə edin file BFM əmrlərinizi daxil etmək üçün.
- SERDESIF_ _user.bfm – İstifadəçi əmrlərini ehtiva edir. Bunu redaktə edin file BFM əmrlərinizi daxil etmək üçün. SERDESIF_ konfiqurasiya etmisinizsə bundan istifadə edin BFM PCIe simulyasiya rejimində və AXI/AHBLite master kimi bloklayın. Əgər SERDESIF_ konfiqurasiya etmisinizsə RTL simulyasiya rejimində bloklayın, buna ehtiyacınız olmayacaq file.
Hər dəfə simulyasiyaya müraciət etdiyiniz zaman, aşağıdakı iki simulyasiya files üçün yenidən yaradılır / yenilənmiş məzmunlu simulyasiya kataloqu:
- subsystem.bfm – Dizaynınızda istifadə olunan hər bir periferiya üçün #define ifadələrini ehtiva edir ki, bu da periferik_init.bfm-in hər bir periferiyaya uyğun icra ediləcək xüsusi bölməsini təyin edir.
- operipheral_init.bfm – Əsas() proseduruna daxil olmamışdan əvvəl Cortex-M3-də işləyən CMSIS:: SystemInit() funksiyasını təqlid edən BFM prosedurunu ehtiva edir. O, dizaynda istifadə edilən hər hansı periferiya üçün konfiqurasiya məlumatlarını düzgün periferik konfiqurasiya registrlərinə köçürür və sonra bu periferiyalardan istifadə edə biləcəyinizi təsdiq etməzdən əvvəl bütün periferik cihazların hazır olmasını gözləyir. MDDR_init.bfm və FDDR_init.bfm-i yerinə yetirir.
Bunlardan istifadə edərək yaradılır files, dizaynınızdakı DDR nəzarətçiləri SmartFusion2 cihazında baş verənləri simulyasiya edərək avtomatik olaraq konfiqurasiya edilir. user.bfm-ni redaktə edə bilərsiniz file dizaynınızı simulyasiya etmək üçün tələb olunan hər hansı əmrləri əlavə etmək üçün (Cortex-M3 əsasdır). Bu əmrlər periferik qurğular işə salındıqdan sonra yerinə yetirilir. test.bfm, subsystem.bfm, peripheral_init.bfm, MDDR_init.bfm, FDDR_init.bfm sənədlərini redaktə etməyin files və SERDESIF_ _init.bfm files.
Məhsul Dəstəyi
Microsemi SoC Products Group öz məhsullarını müxtəlif dəstək xidmətləri ilə dəstəkləyir, o cümlədən Müştəri Xidmətləri, Müştərilərə Texniki Dəstək Mərkəzi, websayt, elektron poçt və dünya üzrə satış ofisləri.
Bu əlavədə Microsemi SoC Products Group ilə əlaqə saxlamaq və bu dəstək xidmətlərindən istifadə haqqında məlumat var.
Müştəri xidməti
Məhsulun qiymətləri, məhsul təkmilləşdirmələri, yeniləmə məlumatları, sifariş statusu və icazə kimi qeyri-texniki məhsul dəstəyi üçün Müştəri Xidməti ilə əlaqə saxlayın.
Şimali Amerikadan zəng edin 800.262.1060
Dünyanın qalan hissəsindən zəng edin 650.318.4460
Dünyanın istənilən yerindən faks, 408.643.6913
Müştərilərə Texniki Dəstək Mərkəzi
Microsemi SoC Products Group öz Müştərilərə Texniki Dəstək Mərkəzini Microsemi SoC Məhsulları haqqında aparat, proqram təminatı və dizayn suallarınıza cavab verməyə kömək edə biləcək yüksək ixtisaslı mühəndislərdən ibarətdir. Müştəriyə Texniki Dəstək Mərkəzi proqram qeydləri, ümumi dizayn dövrü suallarına cavablar, məlum məsələlərin sənədləşdirilməsi və müxtəlif tez-tez verilən sualların yaradılmasına çox vaxt sərf edir. Beləliklə, bizimlə əlaqə saxlamazdan əvvəl onlayn resurslarımıza müraciət edin. Çox güman ki, suallarınızı artıq cavablandırmışıq.
Texniki Dəstək
Müştəri dəstəyinə baş çəkin webSayt (www.microsemi.com/soc/support/search/default.aspx) əlavə məlumat və dəstək üçün. Axtarışda çoxlu cavablar mövcuddur web resursda diaqramlar, illüstrasiyalar və digər mənbələrə keçidlər daxildir websayt.
Websayt
Siz SoC ana səhifəsində müxtəlif texniki və qeyri-texniki məlumatlara baxa bilərsiniz www.microsemi.com/soc.
Müştərilərə Texniki Dəstək Mərkəzi ilə əlaqə saxlayın
Texniki Dəstək Mərkəzində yüksək ixtisaslı mühəndislər çalışır. Texniki Dəstək Mərkəzi ilə e-poçt və ya Microsemi SoC Products Group vasitəsilə əlaqə saxlamaq olar websayt.
E-poçt
Texniki suallarınızı e-poçt ünvanımıza çatdıra və cavabları e-poçt, faks və ya telefonla ala bilərsiniz. Həmçinin, dizayn probleminiz varsa, dizaynınızı e-poçtla göndərə bilərsiniz fileyardım almaq üçün.
Gün ərzində e-poçt hesabına daim nəzarət edirik. Sorğunuzu bizə göndərərkən, xahişinizin səmərəli işlənməsi üçün tam adınızı, şirkətinizin adını və əlaqə məlumatlarınızı daxil etməyi unutmayın.
Texniki dəstək e-poçt ünvanıdır soc_tech@microsemi.com.
Mənim Davamlarım
Microsemi SoC Products Group müştəriləri bu ünvana daxil olaraq texniki işləri onlayn təqdim edə və izləyə bilərlər Mənim Davamlarım.
ABŞ xaricində
ABŞ saat qurşağından kənarda köməyə ehtiyacı olan müştərilər ya e-poçt vasitəsilə texniki dəstək ilə əlaqə saxlaya bilərlər (soc_tech@microsemi.com) və ya yerli satış ofisi ilə əlaqə saxlayın. Satış ofislərinin siyahılarını burada tapa bilərsiniz www.microsemi.com/soc/company/contact/default.aspx.
İTAR Texniki Dəstəyi
Beynəlxalq Silah Dövriyyəsi Qaydaları (ITAR) ilə tənzimlənən RH və RT FPGA-lar üzrə texniki dəstək üçün bizimlə əlaqə saxlayın. soc_tech_itar@microsemi.com. Alternativ olaraq, Mənim İşlərim daxilində ITAR açılan siyahısında Bəli seçin. ITAR tərəfindən tənzimlənən Microsemi FPGA-ların tam siyahısı üçün ITAR-a baş çəkin web səhifə.
Microsemi Corporation (NASDAQ: MSCC) aşağıdakılar üçün yarımkeçirici həllərin əhatəli portfelini təklif edir: aerokosmik, müdafiə və təhlükəsizlik; müəssisə və rabitə; sənaye və alternativ enerji bazarları. Məhsullara yüksək performanslı, yüksək etibarlılığa malik analoq və RF cihazları, qarışıq siqnal və RF inteqral sxemləri, fərdiləşdirilə bilən SoC-lər, FPGA-lar və tam alt sistemlər daxildir. Microsemi-nin baş ofisi Kaliforniyanın Aliso Viejo şəhərində yerləşir. Ətraflı məlumat əldə edin www.microsemi.com.
© 2014 Microsemi Corporation. Bütün hüquqlar qorunur. Microsemi və Microsemi loqosu Microsemi Korporasiyasının ticarət nişanlarıdır. Bütün digər ticarət nişanları və xidmət nişanları müvafiq sahiblərinin mülkiyyətidir.
5-02-00384-1/08.14Microsemi Korporativ Qərargahı
One Enterprise, Aliso Viejo CA 92656 ABŞ
ABŞ daxilində: +1 949-380-6100
Satış: +1 949-380-6136
Faks: +1 949-215-4996
Sənədlər / Resurslar
![]() |
Microsemi SmartFusion2 DDR Controller və Serial High Speed Controller [pdf] İstifadəçi təlimatı SmartFusion2 DDR Controller və Serial High Speed Controller, SmartFusion2 DDR, Controller və Serial High Speed Controller, High Speed Controller |