Logo microsemiSmartFusion2
DDR Controller lan Serial High Speed ​​Controller
Metodologi Initialization
Pandhuan pangguna

Pambuka

Nalika nggawe desain nggunakake piranti SmartFusion2, yen sampeyan nggunakake salah siji saka loro pengontrol DDR (FDDR utawa MDDR) utawa pamblokiran Serial High speed controller (SERDESIF), sampeyan kudu miwiti ndhaftar konfigurasi pamblokiran iki ing wektu mbukak sadurunge. padha bisa digunakake. Kanggo example, kanggo controller DDR, sampeyan kudu nyetel mode DDR (DDR3 / DDR2 / LPDDR), jembaré PHY, mode bledosan lan ECC.
Kajaba iku, kanggo blok SERDESIF sing digunakake minangka titik pungkasan PCIe, sampeyan kudu nyetel BAR PCIE menyang jendela AXI (utawa AHB).
Dokumen iki njlèntrèhaké langkah-langkah sing perlu kanggo nggawe desain Libero sing kanthi otomatis miwiti pengontrol DDR lan blok SERDESIF kanthi otomatis. Iki uga nerangake carane nggawe kode perangkat kukuh saka Libero SOC sing digunakake ing aliran desain sing dipasang.
Katrangan rinci babagan teori operasi diwenehake dhisik.
Bagean sabanjure nerangake carane nggawe desain kasebut nggunakake Libero SoC System Builder, alat desain sing kuat, ing antarane fitur liyane, nggawe solusi 'inisialisasi' kanggo sampeyan yen sampeyan nggunakake blok DDR utawa SERDESIF ing desain sampeyan.
Bagean sabanjure nerangake carane nggawe solusi 'inisialisasi' lengkap tanpa nggunakake Pembangun Sistem SmartFusion2. Iki mbantu nerangake apa sing kudu ditindakake yen sampeyan ora pengin nggunakake System Builder, lan uga nerangake apa sing digawe saka System Builder kanggo sampeyan. Bagian iki alamat:

  • Nitahaken saka data konfigurasi kanggo controller DDR lan ndhaftar konfigurasi SERDESIF
  • Nggawe logika FPGA sing dibutuhake kanggo nransfer data konfigurasi menyang register konfigurasi ASIC sing beda

Akhire kita njlèntrèhaké kui files related kanggo:

  • Nggawe solusi 'inisialisasi' perangkat kukuh.
  • Simulasi desain kanggo solusi 'initialization' DDR.

Kanggo rincian babagan controller DDR lan SERDESIF ndhaftar konfigurasi, waca ing Microsemi SmartFusion2 High Speed ​​Serial lan DDR Interfaces Guide Pangguna.

Teori Operasi

Solusi inisialisasi periferal nggunakake komponen utama ing ngisor iki:

  • Fungsi CMSIS SystemInit (), sing mlaku ing Cortex-M3 lan ngatur proses initialization.
  • Inti IP alus CoreConfigP, sing miwiti registrasi konfigurasi periferal.
  • Inti IP alus CoreResetP, sing ngatur urutan reset saka MSS, pengontrol DDR, lan blok SERDESIF.

Proses inisialisasi periferal kaya ing ngisor iki:

  1. Sawise ngreset, Cortex-M3 mbukak fungsi CMSIS SystemInit (). Fungsi iki dileksanakake kanthi otomatis sadurunge fungsi utama () aplikasi dieksekusi.
    Sinyal output CoreResetP MSS_HPMS_READY ditegesake ing wiwitan proses initialization, nuduhake yen MSS lan kabeh peripheral (kajaba MDDR) wis siyap kanggo komunikasi.
  2. SystemInit () fungsi nulis data konfigurasi kanggo pengontrol DDR lan konfigurasi SERDESIF ndhaftar liwat MSS FIC_2 APB3 bis. Antarmuka iki disambungake menyang inti CoreConfigP alus instantiated ing kain FPGA.
  3. Sawise kabeh ndhaftar diatur, nulis SystemInit () fungsi kanggo CoreConfigP kontrol ndhaftar kanggo nunjukaké completion saka phase konfigurasi ndhaftar; sinyal output CoreConfigP CONFIG1_DONE lan CONIG2_DONE banjur ditegesake.
    Ana rong fase konfigurasi register (CONFIG1 lan CONFIG2) gumantung saka peripheral sing digunakake ing desain.
  4. Yen siji utawa loro MDDR / FDDR digunakake, lan ora ana pamblokiran SERDESIF digunakake ing desain, mung ana siji phase konfigurasi register. Loro-lorone sinyal output CoreConfigP CONFIG1_DONE lan CONIG2_DONE ditegesake siji-sijine tanpa ngenteni / tundha.
    Yen siji utawa luwih blok SERDESIF ing mode non-PCIe digunakake ing desain, mung ana siji fase konfigurasi register. CONFIG1_DONE lan CONIG2_DONE ditegesake siji-sijine tanpa ngenteni / tundha.
    Yen siji utawa luwih blok SERDESIF ing mode PCIe digunakake ing desain, ana rong fase konfigurasi register. CONFIG1_DONE ditegesake sawise fase pisanan konfigurasi register rampung. Sistem SERDESIF lan ndhaftar jalur dikonfigurasi ing fase iki. Yen SERDESIF dikonfigurasi ing mode non-PCIE, sinyal CONFIG2_DONE uga ditegesake langsung.
  5. Tahap kapindho konfigurasi registrasi banjur nderek (yen SERDESIF dikonfigurasi ing mode PCIE). Ing ngisor iki macem-macem acara sing kedadeyan ing tahap kapindho:
    – CoreResetP de-negesake sinyal PHY_RESET_N lan CORE_RESET_N sing cocog karo saben blok SERDESIF sing digunakake. Iku uga negesake sinyal output SDIF_RELEASED sawise kabeh pamblokiran SERDESIF metu saka reset. Sinyal SDIF_RELEASED iki digunakake kanggo nunjukake menyang CoreConfigP yen inti SERDESIF wis metu saka reset lan siyap kanggo konfigurasi register tahap kapindho.
    - Sawise sinyal SDIF_RELEASED ditegesake, fungsi SystemInit () wiwit polling kanggo pratelan PMA_READY ing jalur SERDESIF sing cocog. Sawise PMA_READY ditegesake, pesawat kapindho register SERDESIF (register PCIE) diatur / ditulis dening SystemInit () fungsi.
  6. Sawise kabeh ndhaftar PCIE diatur, nulis SystemInit () fungsi kanggo CoreConfigP kontrol ndhaftar kanggo nunjukaké completion saka phase kapindho konfigurasi ndhaftar; sinyal output CoreConfigP CONIG2_DONE banjur ditegesake.
  7. Kajaba saka pernyataan sinyal ing ndhuwur / de-assertions, CoreResetP uga ngatur initialization saka macem-macem pamblokiran kanthi nindakake fungsi ing ngisor iki:
    - De-negesake reset inti FDDR
    – De-asserting SERDESIF pamblokiran PHY lan CORE ngreset
    – Ngawasi sinyal kunci FDDR PLL (FPLL). FPLL kudu dikunci kanggo njamin antarmuka data FDDR AXI/AHBLite lan kain FPGA bisa komunikasi kanthi bener.
    - Ngawasi sinyal kunci PLL (SPLL) blok SERDESIF. SPLL kudu dikunci kanggo njamin yen SERDESIF mblokir antarmuka AXI / AHBLite (mode PCIe) utawa antarmuka XAUI bisa komunikasi kanthi bener karo kain FPGA.
    – Nunggu memori DDR external dumunung lan siap diakses dening pengontrol DDR.
  8. Nalika kabeh peripheral wis rampung initialization sing, CoreResetP negesake sinyal INIT_DONE; ndhaftar internal CoreConfigP INIT_DONE banjur ditegesake.
    Yen siji utawa loro MDDR / FDDR digunakake, lan wektu initialization DDR tekan, CoreResetP sinyal output DDR_READY ditegesake. Pratelan saka DDR_READY sinyal iki bisa dipantau minangka pratondo yen DDR (MDDR / FDDR) siap kanggo komunikasi.
    Yen siji utawa luwih pamblokiran SERDESIF digunakake, lan phase kapindho konfigurasi register kasil rampung, CoreResetP sinyal output SDIF_READY ditegesake. Pratelan saka sinyal SDIF_READY iki bisa dipantau minangka indikasi yen kabeh blok SERDESIF wis siyap kanggo komunikasi.
  9. Fungsi SystemInit (), sing wis nunggu INIT_DONE ditegesake, rampung, lan fungsi utama aplikasi () dieksekusi. Ing wektu iku, kabeh pengontrol DDR digunakake lan pamblokiran SERDESIF wis initialized, lan aplikasi perangkat kukuh lan logika kain FPGA andal bisa komunikasi karo wong-wong mau.

Metodologi diterangake ing document iki gumantung ing Cortex-M3 nglakokaké proses initialization minangka bagéan saka kode initialization sistem kaleksanan sadurunge utama () fungsi aplikasi.
Waca Flow Charts ing Figure 1-1, Figure 1-2 lan Figure 1-3 kanggo langkah Initialization FDDR/MDDR, SEREDES (mode non-PCIe) lan SERDES (mode PCIe).
Gambar 1-4 nuduhake diagram wektu Inisialisasi Periferal.

Microsemi SmartFusion2 DDR Controller lan Serial High Speed ​​Controller - diagram wektu 1 Microsemi SmartFusion2 DDR Controller lan Serial High Speed ​​Controller - diagram wektu 2

Microsemi SmartFusion2 DDR Controller lan Serial High Speed ​​Controller - diagram wektu 3Microsemi SmartFusion2 DDR Controller lan Serial High Speed ​​Controller - diagram wektu 4Gambar 1-3 • Bagan Alur Inisialisasi SERDESIF (PCIe).
Prosedur initialization diterangake ing document iki mbutuhake sampeyan kanggo mbukak Cortex-M3 sak proses initialization, sanajan sampeyan ora planning kanggo mbukak sembarang kode ing Cortex-M3. Sampeyan kudu nggawe aplikasi perangkat kukuh dhasar sing ora nindakake apa-apa (daur ulang prasaja, contoneample) lan mbukak sing bisa dieksekusi ing Non Volatile Memory (eNVM) sing dipasang supaya pengontrol DDR lan blok SERDESIF diwiwiti nalika Cortex-M3 boots.

Nggunakake System Builder kanggo Nggawe Desain Nggunakake Blok DDR lan SERDESIF

SmartFusion2 System Builder minangka alat desain sing kuat sing mbantu sampeyan njupuk syarat tingkat sistem lan nggawe desain sing ngetrapake syarat kasebut. Fungsi sing penting banget saka System Builder yaiku nggawe otomatis sub-sistem Initialization Peripheral. "Nggunakake SmartDesign kanggo Nggawe Desain Nggunakake Blok DDR lan SERDESIF" ing kaca 17 nerangake kanthi rinci babagan carane nggawe solusi kasebut tanpa Pembangun Sistem.
Yen sampeyan nggunakake System Builder, sampeyan kudu nindakake tugas ing ngisor iki kanggo nggawe desain sing miwiti pengontrol DDR lan blok SERDESIF nalika munggah:

  1. Ing kaca Fitur Piranti (Gambar 2-1), nemtokaken pengontrol DDR sing digunakake lan pirang-pirang blok SERDESIF sing digunakake ing desain sampeyan.
  2. Ing kaca Memori, nemtokake jinis DDR (DDR2 / DDR3 / LPDDR) lan data konfigurasi kanggo memori DDR external Panjenengan. Waca bagean Memory Page kanggo rincian.
  3. Ing kaca Peripherals, nambah master kain diatur minangka AHBLite / AXI kanggo Kain DDR Subsistem lan / utawa MSS DDR FIC Subsistem (opsional).
  4. Ing kaca Setelan Jam, nemtokake frekuensi jam kanggo sub-sistem DDR.
  5. Rampungake spesifikasi desain banjur klik Rampung. Iki ngasilake desain sing digawe System Builder, kalebu logika sing dibutuhake kanggo solusi 'inisialisasi'.
  6. Yen sampeyan nggunakake blok SERDESIF, sampeyan kudu nggawe instantiate blok SERDESIF ing desain sampeyan lan nyambungake port initialization menyang inti sing digawe saka System Builder.

Kaca Fitur Piranti Pembangun Sistem
Ing kaca Fitur Piranti, nemtokake kang pengontrol DDR (MDDR lan/utawa FDDR) digunakake lan carane akeh pamblokiran SERDESIF digunakake ing desain (Figure 2-1).

Microsemi SmartFusion2 DDR Controller lan Serial High Speed ​​Controller - Fitur Piranti KacaGambar 2-1 • Kaca Fitur Piranti Pembangun Sistem

Halaman Memori Pembangun Sistem
Kanggo nggunakake MSS DDR (MDDR) utawa Fabric DDR (FDDR), pilih Jinis Memori saka dhaftar gulung-mudhun (Figure 2-2).

Microsemi SmartFusion2 DDR Controller lan Serial High Speed ​​Controller - Memori njabaGambar 2-2 • Memori Eksternal MSS

Sampeyan kudu:

  1. Pilih jinis DDR (DDR2, DDR3 utawa LPDDR).
  2. Netepake wektu penyelesaian memori DDR. Hubungi Spesifikasi Memori DDR eksternal kanggo nyetel wektu setelan memori sing bener. Memori DDR bisa uga gagal kanggo miwiti kanthi bener yen wektu netepake memori ora disetel kanthi bener.
  3. Salah siji ngimpor data konfigurasi ndhaftar DDR utawa nyetel Parameter Memori DDR Panjenengan. Kanggo rincian, waca ing Microsemi SmartFusion2 High Speed ​​Serial lan DDR Interfaces Guide Pangguna.

Data iki digunakake kanggo generate DDR register BFM lan konfigurasi perangkat kukuh files kaya sing diterangake ing "Nggawe lan Nggabungake Aplikasi Firmware" ing kaca 26 lan "BFM Files Digunakake kanggo Simulasi Desain" ing kaca 27. Kanggo rincian babagan register konfigurasi controller DDR, waca Microsemi SmartFusion2 High Speed ​​Serial lan DDR Interfaces Guide Pangguna.
Example saka konfigurasi file sintaks ditampilake ing Figure 2-3. Jeneng register sing digunakake ing iki file padha karo sing diterangake ing Microsemi SmartFusion2 High Speed ​​Serial lan DDR Interfaces Guide Pangguna

Microsemi SmartFusion2 DDR Controller lan Serial High Speed ​​Controller - File Sintaksis ExampleGambar 2-3 • Konfigurasi File Sintaksis Example
Halaman Periferal Pembangun Sistem
Ing kaca Peripherals, kanggo saben controller DDR subsistem kapisah digawe (Kain DDR Subsistem kanggo FDDR lan MSS DDR FIC Subsistem kanggo MDDR). Sampeyan bisa nambah Fabric AMBA Master (dikonfigurasi minangka AXI / AHBLite) inti kanggo saben subsistem iki kanggo ngaktifake akses master kain kanggo pengontrol DDR. Sawise generasi, System Builder kanthi otomatis instantiate inti bus (gumantung saka jinis AMBA Master ditambahake) lan mbukak master BIF inti bus lan jam lan reset pin saka subsistem sing cocog (FDDR/MDDR) ing kelompok pin cocok, menyang ndhuwur. Sampeyan mung kudu nyambungake BIF menyang intine Master Fabric sing cocog sing bakal ditindakake ing desain kasebut. Ing cilik saka MDDR, iku pilihan kanggo nambah inti AMBA Master Fabric kanggo MSS DDR FIC Subsystem; Cortex-M3 minangka master standar ing subsistem iki. Figure 2-4 nuduhake System Builder Peripherals Page.

Microsemi SmartFusion2 DDR Controller lan Serial High Speed ​​Controller - Builder Peripherals PageGambar 2-4 • Sistem Builder Peripherals Page

Kaca Setelan Jam Pembangun Sistem
Ing kaca Setelan Jam, kanggo saben controller DDR, sampeyan kudu nemtokake frekuensi jam related kanggo saben DDR (MDDR lan / utawa FDDR) sub-sistem.
Kanggo MDDR, sampeyan kudu nemtokake:

  • MDDR_CLK - Jam iki nemtokake frekuensi operasi saka Controller DDR lan kudu cocog frekuensi jam pengin memori DDR external kanggo mbukak ing. Jam iki ditetepake minangka sawetara saka M3_CLK (Cortex-M3 lan MSS Jam Utama, Figure 2-5). MDDR_CLK kudu kurang saka 333 MHz.
  • DDR_FIC_CLK - Yen sampeyan wis milih uga akses MDDR saka kain FPGA, sampeyan kudu nemtokake DDR_FIC_CLK. Frekuensi jam iki ditetepake minangka rasio MDDR_CLK lan kudu cocog karo frekuensi ing sub-sistem kain FPGA sing ngakses MDDR mlaku.

Microsemi SmartFusion2 DDR Controller lan Serial High Speed ​​Controller - Jam MDDRGambar 2-5 • Cortex-M3 lan Jam Utama MSS; Jam MDDR Kab

Kanggo FDDR, sampeyan kudu nemtokake:

  • FDDR_CLK - Nemtokake frekuensi operasi saka Controller DDR lan kudu cocog frekuensi jam ing sing pengin memori DDR external kanggo mbukak. Elinga yen jam iki ditetepake minangka sawetara saka M3_CLK (MSS lan Cortex-M3 jam, Figure 2-5). FDDR_CLK kudu ing 20 MHz lan 333 MHz.
  • FDDR_SUBSYSTEM_CLK - Frekuensi jam iki ditetepake minangka rasio FDDR_CLK lan kudu cocog karo frekuensi sub-sistem kain FPGA sing ngakses FDDR mlaku.

Microsemi SmartFusion2 DDR Controller lan Serial High Speed ​​Controller - Jam DDR kainFigure 2-6 • Jam DDR kain
Konfigurasi SERDESIF
Pamblokiran SERDESIF ora instantiated ing System Builder desain kui. Nanging, kanggo kabeh blok SERDESIF, sinyal inisialisasi kasedhiya ing antarmuka inti Sistem Pembangun lan bisa disambungake menyang inti SERDESIF ing tingkat hirarki sabanjure, kaya sing ditampilake ing Gambar 2-7.Microsemi SmartFusion2 DDR Controller lan Serial High Speed ​​Controller - Peripheral Initialization KonektivitasGambar 2-7 • Konektivitas Inisialisasi Periferal SERDESIF
Padha karo registrasi konfigurasi DDR, saben blok SERDES uga nduweni registrasi konfigurasi sing kudu dimuat nalika runtime. Sampeyan bisa ngimpor nilai register iki utawa nggunakake High Speed ​​Serial Interface Configurator (Gambar 2-8) kanggo ngetik paramèter PCIe utawa EPCS lan nilai ndhaftar otomatis diwilang kanggo sampeyan. Kanggo rincian, waca ing SERDES Configurator User's Guide.Microsemi SmartFusion2 DDR Controller lan Serial High Speed ​​Controller - Serial Interface ConfiguratorGambar 2-8 • High Speed ​​Serial Interface Configurator
Sawise sampeyan nggabungake logika pangguna karo blok System Builder lan blok SERDES, sampeyan bisa ngasilake SmartDesign tingkat paling dhuwur. Iki ngasilake kabeh HDL lan BFM files sing perlu kanggo ngleksanakake lan simulasi desain Panjenengan. Sampeyan banjur bisa nerusake karo Aliran Desain liyane.

Nggunakake SmartDesign kanggo Nggawe Desain Nggunakake Blok DDR lan SERDESIF

Bagean iki nerangake carane nggawe solusi 'inisialisasi' lengkap tanpa nggunakake Pembangun Sistem SmartFusion2. Tujuane kanggo mbantu sampeyan ngerti apa sing kudu ditindakake yen sampeyan ora pengin nggunakake System Builder. Bagean iki uga njlèntrèhaké apa alat System Builder bener ngasilake kanggo sampeyan. Bagian iki nerangake carane:

  • Ketik data konfigurasi kanggo DDR controller lan SERDESIF ndhaftar konfigurasi.
  • Instantiate lan sambungake inti Kain sing dibutuhake kanggo nransfer data konfigurasi menyang pengontrol DDR lan register konfigurasi SERDESIF.

Konfigurasi Pengontrol DDR
Pengontrol MSS DDR (MDDR) lan Fabric DDR (FDDR) kudu dikonfigurasi kanthi dinamis (ing runtime) kanggo cocog karo syarat konfigurasi memori DDR eksternal (mode DDR, jembaré PHY, mode burst, ECC, etc.). Data sing dilebokake ing MDDR / FDDR configurator ditulis kanggo ndhaftar konfigurasi controller DDR dening CMSIS SystemInit () fungsi. Configurator nduweni telung tab sing beda kanggo ngetik macem-macem data konfigurasi:

  • Data umum (mode DDR, Lebar Data, Frekuensi Jam, ECC, Antarmuka Kain, Kekuwatan Drive)
  • Data Inisialisasi Memori (Duwa Burst, Urutan Burst, Mode Wektu, Latensi, lsp.)
  • Data wektu memori

Waca specifications saka memori DDR external lan ngatur DDR Controller kanggo cocog karo syarat memori DDR external.
Kanggo rincian babagan konfigurasi DDR, waca ing SmartFusion2 MSS DDR Konfigurasi Pandhuan pangguna.
Konfigurasi SERDESIF
Klik kaping pindho blok SERDES ing kanvas SmartDesign kanggo mbukak Configurator kanggo ngatur SERDES (Gambar 3-1). Sampeyan bisa ngimpor nilai register iki utawa nggunakake configurator SERDES kanggo ngetik paramèter PCIe utawa EPCS lan nilai ndhaftar kanthi otomatis diitung kanggo sampeyan. Kanggo rincian, waca ing SERDES Configurator User's Guide.Microsemi SmartFusion2 DDR Controller lan Serial High Speed ​​Controller - High Speed ​​Serial Interface ConfiguratorGambar 3-1 • High Speed ​​Serial Interface Configurator
Nggawe FPGA Design Initialization Sub-Sistem
Kanggo miwiti pamblokiran DDR lan SERDESIF, sampeyan kudu nggawe subsistem initialization ing kain FPGA. Subsistem initialization kain FPGA mindhah data saka Cortex-M3 menyang DDR lan SERDESIF ndhaftar konfigurasi, ngatur urutan reset dibutuhake kanggo pamblokiran iki operasional lan sinyal nalika pamblokiran iki siyap kanggo komunikasi karo liyane saka desain. Kanggo nggawe subsistem initialization, sampeyan kudu:

  • Ngatur FIC_2 nang MSS
  • Instantiate lan konfigurasi inti CoreConfigP lan CoreResetP
  • Instantiate osilator RC on-chip 25/50MHz
  • Instantiasi makro Sistem Reset (SYSRESET).
  • Sambungake komponen iki kanggo antarmuka konfigurasi saben peripheral, jam, reset lan port kunci PLL

MSS FIC_2 Konfigurasi APB
Kanggo ngatur MSS FIC_2:

  1. Mbukak kothak dialog FIC_2 configurator saka MSS configurator (Gambar 3-2).
  2. Pilih Initialize peripherals using Cortex-M3.
  3. Gumantung ing sistem sampeyan, centhang siji utawa loro kothak ing ngisor iki:
    - MSS DDR
    - Kain DDR lan / utawa Blok SERDES
  4. Klik OK lan nerusake kanggo ngasilake MSS (sampeyan bisa nundha tumindak iki nganti sampeyan wis rampung ngatur MSS kanggo syarat desain). Port FIC_2 (FIC_2_APB_MASTER, FIC_2_APB_M_PCLK lan FIC_2_APB_M_RESET_N) saiki katon ing antarmuka MSS lan bisa disambungake menyang inti CoreConfigP lan CoreResetP.

Microsemi SmartFusion2 DDR Controller lan Serial High Speed ​​Controller - MSS FIC 2 ConfiguratorGambar 3-2 • MSS FIC_2 Configurator

CoreConfigP
Kanggo ngatur CoreConfigP:

  1. Instantiate CoreConfigP menyang SmartDesign (biasane ing ngendi MSS wis instantiated).
    Inti iki bisa ditemokake ing Katalog Libero (ing Peripherals).
  2. Klik kaping pindho inti kanggo mbukak configurator.
  3. Konfigurasi inti kanggo nemtokake periferal sing kudu diinisialisasi (Gambar 3-3)

Microsemi SmartFusion2 DDR Controller lan Serial High Speed ​​Controller - Dialog BoxGambar 3-3 • Kothak Dialog CoreConfigP

CoreResetP
Kanggo ngatur CoreResetP:

  1. Instantiate CoreResetP menyang SmartDesign (biasane ing ngendi MSS wis instantiated).
    Inti iki bisa ditemokake ing Katalog Libero, ing Peripherals.
  2. Klik kaping pindho inti ing SmartDesign Canvas kanggo mbukak Configurator (Gambar 3-4).
  3. Konfigurasi inti menyang:
    – Nemtokake prilaku reset eksternal (EXT_RESET_OUT ditegesake). Pilih salah siji saka papat opsi:
    o EXT_RESET_OUT ora tau ditegesake
    o EXT_RESET_OUT ditegesake yen daya munggah maneh (POWER_ON_RESET_N) ditegesake
    o EXT_RESET_OUT ditegesake yen FAB_RESET_N ditegesake
    o EXT_RESET_OUT ditegesake yen daya munggah maneh (POWER_ON_RESET_N) utawa FAB_RESET_N ditegesake
    - Nemtokake Piranti Voltage. Nilai sing dipilih kudu cocog karo voltage sampeyan milih ing kothak dialog Setelan Proyek Libero.
    - Centhang kothak sing cocog kanggo nuduhake periferal sing sampeyan gunakake ing desain sampeyan.
    – Nemtokake wektu setelan memori DDR external. Iki nilai maksimum kanggo kabeh kenangan DDR digunakake ing aplikasi (MDDR lan FDDR). Deleng lembar data vendor memori DDR eksternal kanggo ngatur parameter iki. 200us punika Nilai standar apik kanggo memori DDR2 lan DDR3 mlaku ing 200MHz. Iki minangka parameter sing penting banget kanggo njamin simulasi kerja lan sistem kerja ing silikon. Nilai sing salah kanggo wektu penyelesaian bisa nyebabake kesalahan simulasi. Deleng lembar data vendor memori DDR kanggo ngatur parameter iki.
    – Kanggo saben blok SERDES ing desain sampeyan, priksa kothak sing cocog kanggo nuduhake apa:
    o PCIe digunakake
    o Dhukungan kanggo PCIe Hot Reset dibutuhake
    o Dhukungan kanggo PCIe L2 / P2 dibutuhake

Cathetan: Yen sampeyan nggunakake 090 die (M2S090) lan desain sampeyan nggunakake SERDESIF, sampeyan ora kudu mriksa kothak ing ngisor iki: 'Digunakake kanggo PCIe', 'Kalebu dhukungan PCIe HotReset' lan 'Kalebu dhukungan PCIe L2 / P2'. Yen sampeyan nggunakake piranti non-090 lan nggunakake siji utawa luwih blok SERDESIF, sampeyan kudu mriksa kabeh papat kothak ing bagean SERDESIF sing cocog.
Cathetan: Kanggo rincian babagan opsi sing kasedhiya kanggo sampeyan ing configurator iki, waca CoreResetP Handbook.

Microsemi SmartFusion2 DDR Controller lan Serial High Speed ​​Controller - CoreResetPConfiguratorGambar 3-4 • CoreResetPConfigurator

Instantiation Osilator 25/50MHz
CoreConfigP lan CoreResetP wis clocked dening on-chip 25/50MHz RC osilator. Sampeyan kudu instantiate a 25/50MHz Oscillator lan nyambung menyang inti iki.

  1. Instantiate inti Chip Oscillators menyang SmartDesign (biasane ing ngendi MSS wis instantiated). Inti iki bisa ditemokake ing Katalog Libero ing Jam & Manajemen.
  2. Ngatur inti iki supaya osilator RC drive kain FPGA, minangka ditampilake ing Figure 3-5.

Microsemi SmartFusion2 DDR Controller lan Serial High Speed ​​Controller - Oscillators ConfiguratorFigure 3-5 • Chip Osilator Configurator

Sistem Reset (SYSRESET) Instantiation
Makro SYSRESET nyedhiyakake fungsi reset level piranti kanggo desain sampeyan. Sinyal output POWER_ON_RESET_N ditegesake / de-ditegesake nalika chip diuripake utawa pin eksternal DEVRST_N ditegesake / dibuwang (Gambar 3-6).
Instantiate makro SYSRESET menyang SmartDesign (biasane ing ngendi MSS wis instantiated). Makro iki bisa ditemokake ing Katalog Libero ing Perpustakaan Makro. Ora ana konfigurasi makro iki sing perlu.

Microsemi SmartFusion2 DDR Controller lan Serial High Speed ​​Controller - SYSRESET MacroGambar 3-6 • SYSRESET Makro

Sakabèhé Konektivitas
Sawise sampeyan instantiated lan ngatur inti MSS, FDDR, SERDESIF, OSC, SYSRESET, CoreConfigP lan CoreResetP ing desain, sampeyan kudu nyambungake kanggo mbentuk subsistem Initialization Peripheral. Kanggo menakake gambaran panyambungan ing document iki, bejat menyang APB3 selaras konfigurasi path data panyambungan gadhah CoreConfigP lan CoreResetP sambungan related.
Konektivitas Jalur Data Konfigurasi
Figure 3-7 nuduhake carane nyambungake CoreConfigP kanggo MSS FIC_2 sinyal lan antarmuka konfigurasi APB3 cecek periferal.
Tabel 3-1 • Konfigurasi Data Path Port / Sambungan BIF

Saka
Antarmuka Port / Bus
(BIF) / Komponen
TO
Antarmuka Port / Bus (BIF) / Komponen
APB S PRESET N/ CoreConfigP APB S PRESET N/ SDIF<0/1/2/3> APB S PRESET 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 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

Microsemi SmartFusion2 DDR Controller lan Serial High Speed ​​Controller - Konektivitas Sub-SistemGambar 3-7 • FIC_2 APB3 Sub-Sistem Konektivitas

Jam lan Reset Konektivitas
Gambar 3-8 nuduhake carane nyambungake CoreResetP menyang sumber reset external lan sinyal reset inti peripheral. Iki uga nuduhake carane nyambungake CoreResetP menyang sinyal status sinkronisasi jam periferal (sinyal kunci PLL). Kajaba iku, nuduhake carane CoreConfigP lan CoreResetP disambungake.

Microsemi SmartFusion2 DDR Controller lan Serial High Speed ​​Controller - Konektivitas Sub-Sistem 2Gambar 3-8 • Core SF2Reset Sub-Sistem Konektivitas

Nggawe lan Kompilasi Aplikasi Firmware

Nalika sampeyan ngekspor perangkat kukuh saka LiberoSoC (Jendela Aliran Desain> Ekspor Firmware> Ekspor Firmware), Libero ngasilake ing ngisor iki files ing /firmware/drivers_config/ folder sys_config:

  • sys_config.c - Ngandhut struktur data sing ngemot nilai kanggo ndhaptar periferal.
  • sys_config.h - Ngandhut statement #define sing nemtokake periferal sing digunakake ing desain lan kudu diwiwiti.
  • sys_config_mddr_define.h - Ngandhut data konfigurasi pengontrol MDDR sing dilebokake ing kothak dialog Konfigurasi Register.
  • sys_config_fddr_define.h - Ngandhut data konfigurasi pengontrol FDDR sing dilebokake ing kothak dialog Konfigurasi Register.
  • sys_config_mss_clocks.h – Iki file ngemot frekuensi jam MSS minangka ditetepake ing MSS CCC configurator. Frekuensi kasebut digunakake dening kode CMSIS kanggo nyedhiyakake informasi jam sing bener kanggo akeh pembalap MSS sing kudu nduweni akses menyang frekuensi Jam Periferal (PCLK) (contone, pembagi tingkat baud MSS UART minangka fungsi saka baud rate lan frekuensi PCLK. ).
  • sys_config_SERDESIF_ .c - Ngandhut SERDESIF_ ndhaptar data konfigurasi sing diwenehake sajrone SERDESIF_ konfigurasi blok ing nggawe desain.
  • sys_config_SERDESIF_ .h - Ngandhut statement #define sing nemtokake jumlah pasangan konfigurasi register lan nomer jalur sing kudu dijajaki kanggo PMA_READY (mung ing mode PCIe).

Iki files dibutuhake kanggo kode CMSIS kanggo ngumpulake kanthi bener lan ngemot informasi babagan desain sampeyan saiki, kalebu data konfigurasi periferal lan informasi konfigurasi jam kanggo MSS.
Aja nyunting iki files kanthi manual; lagi digawe kanggo komponen cocog / direktori peripheral saben-saben komponen SmartDesign ngemot peripheral pamilike kui. Yen ana owah-owahan ing data konfigurasi saka piranti apa wae, sampeyan kudu ngekspor maneh proyek perangkat kukuh supaya perangkat kukuh sing dianyari. files (ndeleng dhaptar ing ndhuwur) diekspor menyang / firmware/drivers_config/sys_config folder.
Nalika sampeyan ngekspor perangkat kukuh, Libero SoC nggawe proyek perangkat kukuh: perpustakaan ing ngendi konfigurasi desain sampeyan files lan pembalap sing nyawiji.
Yen sampeyan mriksa proyek Nggawe kothak centhang nalika sampeyan ngekspor perangkat kukuh, proyek SoftConsole/IAR/Keil piranti lunak digawe kanggo nahan proyek aplikasi ing ngendi sampeyan bisa ngowahi main.c lan pangguna C/H files. Bukak proyek SoftConSole/IAR/Keil kanggo ngumpulake kode CMSIS kanthi bener lan atur aplikasi perangkat kukuh supaya cocog karo desain hardware.

BFM Files Digunakake kanggo Simulating Design

Nalika sampeyan generate komponen SmartDesign ngemot peripheral gadhah desain, simulasi files cocog kanggo peripherals pamilike kui ing / direktori simulasi:

  • tes.bfm - BFM tingkat paling dhuwur file sing pisanan dieksekusi sajrone simulasi apa wae sing ngleksanani prosesor SmartFusion2 MSS Cortex-M3. Iku executes peripheral_init.bfm lan user.bfm, ing urutan sing.
  • MDDR_init.bfm - Yen desain sampeyan nggunakake MDDR, Libero ngasilake iki file; isine BFM nulis printah sing simulasi nulis saka MSS DDR konfigurasi ndhaftar data sing sampeyan lebokake (nggunakake Sunting Registers dialogbox utawa ing MSS_MDDR GUI) menyang MSS DDR Controller ndhaftar.
  • FDDR_init.bfm - Yen desain sampeyan nggunakake FDDR, Libero ngasilake iki file; isine BFM nulis printah sing simulasi nulis saka Kain DDR konfigurasi ndhaftar data sing ngetik (nggunakake Sunting Registers dialogbox utawa ing FDDR GUI) menyang Kain DDR Controller ndhaftar.
  • SERDESIF_ _init.bfm - Yen desain sampeyan nggunakake siji utawa luwih blok SERDESIF, Libero ngasilake iki file kanggo saben SERDESIF_ pamblokiran digunakake; isine printah nulis BFM sing simulasi nulis saka data register konfigurasi SERDESIF sing sampeyan lebokake (nggunakake kotak dialog Edit Registers utawa ing SERDESIF_ GUI) menyang SERDESIF_ ndhaftar. Yen blok SERDESIF dikonfigurasi minangka PCIe, iki file uga wis sawetara statements #define sing ngontrol eksekusi saka 2 fase konfigurasi register ing urutan sampurna.
  • panganggo.bfm - Ngandhut prentah pangguna. Printah iki kaleksanan sawise peripheral_init.bfm wis rampung. Sunting iki file kanggo ngetik printah BFM Panjenengan.
  • SERDESIF_ _user.bfm - Ngandhut prentah pangguna. Sunting iki file kanggo ngetik printah BFM Panjenengan. Gunakake iki yen sampeyan wis ngatur SERDESIF_ pemblokiran ing mode simulasi BFM PCIe lan minangka master AXI / AHBLite. Yen sampeyan wis ngatur SERDESIF_ pemblokiran ing mode simulasi RTL, sampeyan ora perlu iki file.

Nalika ngundang simulasi saben wektu, ing ngisor iki loro simulasi files digawe maneh menyang / direktori simulasi karo isi dianyari:

  • subsistem.bfm – Ngandhut statements #define kanggo saben peripheral digunakake ing desain, sing nemtokake bagean tartamtu saka peripheral_init.bfm bakal kaleksanan cocog kanggo saben peripheral.
  • operipheral_init.bfm - Ngandhut prosedur BFM sing emulates CMSIS :: SystemInit () fungsi mbukak ing Cortex-M3 sadurunge sampeyan ngetik utama () prosedur. Iki nyalin data konfigurasi kanggo piranti apa wae sing digunakake ing desain menyang register konfigurasi periferal sing bener lan banjur ngenteni kabeh periferal siap sadurunge negesake yen sampeyan bisa nggunakake periferal kasebut. Iku nglakokaké MDDR_init.bfm lan FDDR_init.bfm.

Nggunakake iki kui files, pengontrol DDR ing desain wis diatur kanthi otomatis, simulating apa bakal kelakon ing piranti SmartFusion2. Sampeyan bisa ngowahi user.bfm file kanggo nambah printah sing dibutuhake kanggo simulasi desain sampeyan (Cortex-M3 minangka master). Printah iki dieksekusi sawise periferal wis diinisialisasi. Aja nyunting test.bfm, subsystem.bfm, peripheral_init.bfm, MDDR_init.bfm, FDDR_init.bfm files lan SERDESIF_ _init.bfm files.

Dhukungan produk

Microsemi SoC Products Group ndhukung produk kanthi macem-macem layanan dhukungan, kalebu Layanan Pelanggan, Pusat Dhukungan Teknis Pelanggan, a websitus, surat elektronik, lan kantor penjualan ing saindenging jagad.
Lampiran iki ngemot informasi babagan ngubungi Microsemi SoC Products Group lan nggunakake layanan dhukungan kasebut.
Layanan Pelanggan
Hubungi Layanan Pelanggan kanggo dhukungan produk non-teknis, kayata rega produk, upgrade produk, informasi nganyari, status pesenan, lan wewenang.
Saka Amerika Utara, nelpon 800.262.1060
Saka donya liyane, nelpon 650.318.4460
Fax, saka ngendi wae ing donya, 408.643.6913
Pusat Dhukungan Teknis Pelanggan
Microsemi SoC Products Group staf Pusat Dhukungan Teknis Pelanggan karo insinyur sing trampil sing bisa mbantu njawab pitakonan hardware, software, lan desain babagan Produk Microsemi SoC. Pusat Dhukungan Teknis Pelanggan mbuwang wektu akeh kanggo nggawe cathetan aplikasi, jawaban kanggo pitakonan siklus desain umum, dokumentasi masalah sing dikenal, lan macem-macem FAQ. Dadi, sadurunge hubungi kita, bukak sumber daya online kita. Kemungkinan banget kita wis mangsuli pitakon sampeyan.
Dhukungan Teknis
Dolan maring Dhukungan Pelanggan websitus (www.microsemi.com/soc/support/search/default.aspx) kanggo informasi luwih lengkap lan dhukungan. Akeh jawaban sing kasedhiya ing telusuran web sumber kalebu diagram, ilustrasi, lan pranala menyang sumber daya liyane ing websitus.
Websitus
Sampeyan bisa nelusuri macem-macem informasi teknis lan non-teknis ing kaca ngarep SoC, ing www.microsemi.com/soc.
Hubungi Pusat Dhukungan Teknis Pelanggan
Insinyur sing terampil banget ing Pusat Dhukungan Teknis. Pusat Dhukungan Teknis bisa dikontak liwat email utawa liwat Microsemi SoC Products Group websitus.
Email
Sampeyan bisa ngirim pitakonan teknis menyang alamat email kita lan nampa jawaban liwat email, fax, utawa telpon. Uga, yen sampeyan duwe masalah desain, sampeyan bisa ngirim email desain sampeyan files kanggo nampa pitulungan.
Kita terus-terusan ngawasi akun email sedina muput. Nalika ngirim panjalukan kanggo kita, mangga manawa kanggo kalebu jeneng lengkap, jeneng perusahaan, lan informasi kontak kanggo proses efisien panjalukan.
Alamat email dhukungan teknis yaiku soc_tech@microsemi.com.
Kasus Kula
Pelanggan Microsemi SoC Products Group bisa ngirim lan nglacak kasus teknis kanthi online kanthi pindhah menyang Kasus Kula.
Ing njaba AS
Pelanggan sing mbutuhake pitulung ing njaba zona wektu AS bisa ngontak dhukungan teknis liwat email (soc_tech@microsemi.com) utawa hubungi kantor sales lokal. Daftar kantor sales bisa ditemokake ing www.microsemi.com/soc/company/contact/default.aspx.
Dhukungan Teknis ITAR
Kanggo dhukungan teknis babagan RH lan RT FPGAs sing diatur dening International Traffic in Arms Regulations (ITAR), hubungi kita liwat soc_tech_itar@microsemi.com. Utawa, ing Kasusku, pilih Ya ing dhaptar gulung mudhun ITAR. Kanggo dhaptar lengkap FPGA Microsemi sing diatur ITAR, bukak ITAR web kaca.
Microsemi Corporation (NASDAQ: MSCC) nawakake portofolio komprehensif solusi semikonduktor kanggo: aerospace, pertahanan lan keamanan; perusahaan lan komunikasi; lan pasar energi industri lan alternatif. Produk kalebu piranti analog lan RF kanthi kinerja dhuwur, linuwih dhuwur, sinyal campuran lan sirkuit terpadu RF, SoC sing bisa disesuaikan, FPGA, lan subsistem lengkap. Microsemi kantor pusat ing Aliso Viejo, Calif. Sinau luwih lengkap ing www.microsemi.com.
© 2014 Microsemi Corporation. Kabeh hak dilindhungi undhang-undhang. Microsemi lan logo Microsemi minangka merek dagang Microsemi Corporation. Kabeh merek dagang lan merek layanan liyane minangka properti saka sing nduweni.

5-02-00384-1/08.14Logo microsemiKantor Pusat Perusahaan Microsemi
One Enterprise, Aliso Viejo CA 92656 USA
Ing AS: +1 949-380-6100
Penjualan: +1 949-380-6136
Fax: +1 949-215-4996

Dokumen / Sumber Daya

Microsemi SmartFusion2 DDR Controller lan Serial High Speed ​​Controller [pdf] Pandhuan pangguna
SmartFusion2 DDR Controller lan Serial High Speed ​​Controller, SmartFusion2 DDR, Controller lan Serial High Speed ​​Controller, High Speed ​​Controller

Referensi

Ninggalake komentar

Alamat email sampeyan ora bakal diterbitake. Kolom sing dibutuhake ditandhani *