Logo mikrosemiSmartFusion2
Pengawal DDR dan Pengawal Kelajuan Tinggi Bersiri
Metodologi Permulaan
Panduan Pengguna

pengenalan

Apabila mencipta reka bentuk menggunakan peranti SmartFusion2, jika anda menggunakan salah satu daripada dua pengawal DDR (FDDR atau MDDR) atau mana-mana blok pengawal kelajuan Tinggi Bersiri (SERDESIF), anda mesti memulakan daftar konfigurasi blok ini pada masa jalan sebelum mereka boleh digunakan. Untuk exampOleh itu, untuk pengawal DDR, anda mesti menetapkan mod DDR (DDR3/DDR2/LPDDR), lebar PHY, mod pecah dan ECC.
Begitu juga, untuk blok SERDESIF yang digunakan sebagai titik akhir PCIe, anda mesti menetapkan BAR PCIE kepada tetingkap AXI (atau AHB).
Dokumen ini menerangkan langkah-langkah yang diperlukan untuk mencipta reka bentuk Libero yang memulakan pengawal DDR dan blok SERDESIF secara automatik semasa dihidupkan. Ia juga menerangkan cara menjana kod perisian tegar daripada Libero SOC yang digunakan dalam aliran reka bentuk terbenam.
Penerangan terperinci tentang teori operasi disediakan terlebih dahulu.
Bahagian seterusnya menerangkan cara mencipta reka bentuk sedemikian menggunakan Libero SoC System Builder, alat reka bentuk berkuasa yang, antara ciri-ciri lain, mencipta penyelesaian 'permulaan' untuk anda jika anda menggunakan blok DDR atau SERDESIF dalam reka bentuk anda.
Bahagian seterusnya menerangkan cara meletakkan penyelesaian 'pemulaan' lengkap bersama-sama tanpa menggunakan Pembina Sistem SmartFusion2. Ini membantu menerangkan perkara yang perlu dilakukan jika anda tidak mahu menggunakan Pembina Sistem, dan juga menerangkan perkara yang sebenarnya dihasilkan oleh alat Pembina Sistem untuk anda. Bahagian ini alamat:

  • Penciptaan data konfigurasi untuk pengawal DDR dan daftar konfigurasi SERDESIF
  • Penciptaan logik FPGA yang diperlukan untuk memindahkan data konfigurasi ke daftar konfigurasi ASIC yang berbeza

Akhirnya kami menerangkan yang dihasilkan files berkaitan dengan:

  • Penciptaan penyelesaian 'permulaan' perisian tegar.
  • Simulasi reka bentuk untuk penyelesaian 'initialization' DDR.

Untuk butiran tentang pengawal DDR dan daftar konfigurasi SERDESIF, rujuk kepada Panduan Pengguna Bersiri dan Antara Muka DDR Berkelajuan Tinggi Microsemi SmartFusion2.

Teori Operasi

Penyelesaian permulaan persisian menggunakan komponen utama berikut:

  • Fungsi CMSIS SystemInit(), yang berjalan pada Cortex-M3 dan mengatur proses pemula.
  • Teras IP lembut CoreConfigP, yang memulakan daftar konfigurasi persisian.
  • Teras IP lembut CoreResetP, yang menguruskan jujukan tetapan semula MSS, pengawal DDR dan blok SERDESIF..

Proses pemulaan persisian berfungsi seperti berikut:

  1. Setelah ditetapkan semula, Cortex-M3 menjalankan fungsi CMSIS SystemInit(). Fungsi ini dilaksanakan secara automatik sebelum fungsi main() aplikasi dilaksanakan.
    Isyarat keluaran CoreResetP MSS_HPMS_READY ditegaskan pada permulaan proses pemula, menunjukkan bahawa MSS dan semua peranti (kecuali MDDR) sedia untuk komunikasi.
  2. Fungsi SystemInit() menulis data konfigurasi kepada pengawal DDR dan daftar konfigurasi SERDESIF melalui bas MSS FIC_2 APB3. Antara muka ini disambungkan kepada teras CoreConfigP lembut yang diinstakan dalam fabrik FPGA.
  3. Selepas semua daftar dikonfigurasikan, fungsi SystemInit() menulis kepada daftar kawalan CoreConfigP untuk menunjukkan selesainya fasa konfigurasi daftar; isyarat keluaran CoreConfigP CONFIG1_DONE dan CONIG2_DONE kemudiannya ditegaskan.
    Terdapat dua fasa konfigurasi daftar (CONFIG1 dan CONFIG2) bergantung pada peranti yang digunakan dalam reka bentuk.
  4. Jika satu atau kedua-dua MDDR/FDDR digunakan, dan tiada satu pun blok SERDESIF digunakan dalam reka bentuk, hanya terdapat satu fasa konfigurasi daftar. Kedua-dua isyarat keluaran CoreConfigP CONFIG1_DONE dan CONIG2_DONE ditegaskan satu demi satu tanpa menunggu/penangguhan.
    Jika satu atau lebih blok SERDESIF dalam mod bukan PCIe digunakan dalam reka bentuk, hanya terdapat satu fasa konfigurasi daftar. CONFIG1_DONE dan CONIG2_DONE ditegaskan satu demi satu tanpa sebarang tunggu/tangguh.
    Jika satu atau lebih blok SERDESIF dalam mod PCIe digunakan dalam reka bentuk, terdapat dua fasa konfigurasi daftar. CONFIG1_DONE ditegaskan selepas fasa pertama konfigurasi daftar selesai. Daftar sistem dan lorong SERDESIF dikonfigurasikan dalam fasa ini. Jika SERDESIF dikonfigurasikan dalam mod bukan PCIE, isyarat CONFIG2_DONE juga ditegaskan serta-merta.
  5. Fasa kedua konfigurasi daftar kemudiannya (jika SERDESIF dikonfigurasikan dalam mod PCIE). Berikut adalah peristiwa berbeza yang berlaku dalam fasa kedua:
    – CoreResetP membatalkan penegasan isyarat PHY_RESET_N dan CORE_RESET_N yang sepadan dengan setiap blok SERDESIF yang digunakan. Ia juga menegaskan isyarat keluaran SDIF_RELEASED selepas semua blok SERDESIF tidak ditetapkan semula. Isyarat SDIF_RELEASED ini digunakan untuk menunjukkan kepada CoreConfigP bahawa teras SERDESIF tidak dapat ditetapkan semula dan bersedia untuk fasa kedua konfigurasi daftar.
    – Setelah isyarat SDIF_RELEASED ditegaskan, fungsi SystemInit() mula mengundi untuk penegasan PMA_READY pada lorong SERDESIF yang sesuai. Setelah PMA_READY ditegaskan, set kedua daftar SERDESIF (daftar PCIE) dikonfigurasikan/ditulis oleh fungsi SystemInit().
  6. Selepas semua daftar PCIE dikonfigurasikan, fungsi SystemInit() menulis kepada daftar kawalan CoreConfigP untuk menunjukkan selesainya fasa kedua konfigurasi daftar; isyarat keluaran CoreConfigP CONIG2_DONE kemudiannya ditegaskan.
  7. Selain daripada penegasan/nyah-penegasan isyarat di atas, CoreResetP juga menguruskan pemulaan pelbagai blok dengan melaksanakan fungsi berikut:
    – Menyahtegaskan tetapan semula teras FDDR
    – Menyahtegaskan SERDESIF menghalang penetapan semula PHY dan CORE
    – Pemantauan isyarat kunci FDDR PLL (FPLL). FPLL mesti telah dikunci untuk menjamin bahawa antara muka data FDDR AXI/AHBLite dan fabrik FPGA boleh berkomunikasi dengan betul.
    – Pemantauan isyarat kunci PLL (SPLL) blok SERDESIF. SPLL mesti dikunci untuk menjamin bahawa SERDESIF menyekat antara muka AXI/AHBLite (mod PCIe) atau antara muka XAUI boleh berkomunikasi dengan betul dengan fabrik FPGA.
    – Menunggu memori DDR luaran untuk diselesaikan dan sedia untuk diakses oleh pengawal DDR.
  8. Apabila semua peranti telah melengkapkan permulaannya, CoreResetP menegaskan isyarat INIT_DONE; daftar dalaman CoreConfigP INIT_DONE kemudiannya ditegaskan.
    Jika satu atau kedua-dua MDDR/FDDR digunakan, dan masa permulaan DDR dicapai, isyarat keluaran CoreResetP DDR_READY ditegaskan. Penegasan DDR_READY isyarat ini boleh dipantau sebagai petunjuk bahawa DDR (MDDR/FDDR) sedia untuk komunikasi.
    Jika satu atau lebih blok SERDESIF digunakan, dan fasa kedua konfigurasi daftar berjaya diselesaikan, isyarat keluaran CoreResetP SDIF_READY ditegaskan. Penegasan terhadap isyarat SDIF_READY ini boleh dipantau sebagai petunjuk bahawa semua blok SERDESIF sedia untuk komunikasi.
  9. Fungsi SystemInit(), yang telah menunggu INIT_DONE untuk ditegaskan, selesai, dan fungsi main() aplikasi dilaksanakan. Pada masa itu, semua pengawal DDR terpakai dan blok SERDESIF telah dimulakan, dan aplikasi perisian tegar dan logik fabrik FPGA boleh berkomunikasi dengan pasti dengan mereka.

Metodologi yang diterangkan dalam dokumen ini bergantung pada Cortex-M3 yang melaksanakan proses pemulaan sebagai sebahagian daripada kod permulaan sistem yang dilaksanakan sebelum fungsi utama() aplikasi.
Lihat Carta Aliran dalam Rajah 1-1, Rajah 1-2 dan Rajah 1-3 untuk langkah Permulaan FDDR/MDDR, SEREDES(mod bukan PCIe) dan SERDES (mod PCIe).
Rajah 1-4 menunjukkan gambarajah pemasaan Permulaan Periferi.

Pengawal DDR Microsemi SmartFusion2 dan Pengawal Kelajuan Tinggi Bersiri - rajah masa 1 Pengawal DDR Microsemi SmartFusion2 dan Pengawal Kelajuan Tinggi Bersiri - rajah masa 2

Pengawal DDR Microsemi SmartFusion2 dan Pengawal Kelajuan Tinggi Bersiri - rajah masa 3Pengawal DDR Microsemi SmartFusion2 dan Pengawal Kelajuan Tinggi Bersiri - rajah masa 4Rajah 1-3 • Carta Aliran Permulaan SERDESIF (PCIe).
Prosedur pemula yang diterangkan dalam dokumen ini memerlukan anda menjalankan Cortex-M3 semasa proses pemula, walaupun anda tidak merancang untuk menjalankan sebarang kod pada Cortex-M3. Anda mesti mencipta aplikasi perisian tegar asas yang tidak melakukan apa-apa (gelung mudah, contohnyaample) dan muatkan yang boleh dilaksanakan dalam Memori Tidak Meruap (eNVM) terbenam supaya pengawal DDR dan blok SERDESIF dimulakan apabila Cortex-M3 but.

Menggunakan Pembina Sistem untuk Mencipta Reka Bentuk Menggunakan Blok DDR dan SERDESIF

SmartFusion2 System Builder ialah alat reka bentuk yang berkuasa yang membantu anda menangkap keperluan peringkat sistem anda dan menghasilkan reka bentuk yang melaksanakan keperluan tersebut. Fungsi yang sangat penting bagi Pembina Sistem ialah penciptaan automatik subsistem Permulaan Periferi. “Menggunakan SmartDesign untuk Mencipta Reka Bentuk Menggunakan Blok DDR dan SERDESIF” pada halaman 17 menerangkan secara terperinci cara mencipta penyelesaian sedemikian tanpa Pembina Sistem.
Jika anda menggunakan Pembina Sistem, anda mesti melaksanakan tugas berikut untuk mencipta reka bentuk yang memulakan pengawal DDR dan blok SERDESIF anda semasa dihidupkan:

  1. Dalam halaman Ciri Peranti (Rajah 2-1), nyatakan pengawal DDR yang digunakan dan bilangan blok SERDESIF yang digunakan dalam reka bentuk anda.
  2. Dalam halaman Memori, nyatakan jenis DDR (DDR2/DDR3/LPDDR) dan data konfigurasi untuk memori DDR luaran anda. Lihat bahagian Halaman Memori untuk butiran.
  3. Dalam halaman Peranti, tambahkan induk fabrik yang dikonfigurasikan sebagai AHBLite/AXI pada Subsistem DDR Fabrik dan/atau Subsistem MSS DDR FIC (pilihan).
  4. Dalam halaman Tetapan Jam, tentukan frekuensi jam untuk sub-sistem DDR.
  5. Lengkapkan spesifikasi reka bentuk anda dan klik Selesai. Ini menjana reka bentuk yang dibuat oleh Pembina Sistem, termasuk logik yang diperlukan untuk penyelesaian 'pemulaan'.
  6. Jika anda menggunakan blok SERDESIF, anda mesti membuat instantiate blok SERDESIF dalam reka bentuk anda dan menyambungkan port permulaannya kepada teras yang dijanakan oleh Pembina Sistem.

Halaman Ciri Peranti Pembina Sistem
Dalam halaman Ciri Peranti, nyatakan pengawal DDR (MDDR dan/atau FDDR) yang digunakan dan bilangan blok SERDESIF yang digunakan dalam reka bentuk anda (Rajah 2-1).

Pengawal DDR Microsemi SmartFusion2 dan Pengawal Kelajuan Tinggi Bersiri - Halaman Ciri PerantiRajah 2-1 • Halaman Ciri Peranti Pembina Sistem

Halaman Memori Pembina Sistem
Untuk menggunakan MSS DDR (MDDR) atau Fabric DDR (FDDR), pilih Jenis Memori daripada senarai juntai bawah (Rajah 2-2).

Pengawal DDR Microsemi SmartFusion2 dan Pengawal Kelajuan Tinggi Bersiri - Memori LuaranRajah 2-2 • Memori Luar MSS

Anda mesti:

  1. Pilih jenis DDR (DDR2, DDR3 atau LPDDR).
  2. Tentukan masa penyelesaian memori DDR. Rujuk Spesifikasi Memori DDR luaran anda untuk menetapkan masa tetapan memori yang betul. Memori DDR mungkin gagal dimulakan dengan betul jika masa penyelesaian memori tidak ditetapkan dengan betul.
  3. Sama ada mengimport data konfigurasi daftar DDR atau tetapkan Parameter Memori DDR anda. Untuk butiran, rujuk kepada Panduan Pengguna Bersiri dan Antara Muka DDR Berkelajuan Tinggi Microsemi SmartFusion2.

Data ini digunakan untuk menjana BFM daftar DDR dan konfigurasi perisian tegar files seperti yang diterangkan dalam “Mencipta dan Menyusun Aplikasi Perisian Tegar” pada halaman 26 dan “BFM Files Digunakan untuk Mensimulasikan Reka Bentuk” pada halaman 27. Untuk butiran mengenai daftar konfigurasi pengawal DDR, rujuk kepada Panduan Pengguna Bersiri dan Antara Muka DDR Berkelajuan Tinggi Microsemi SmartFusion2.
Seorang bekasample daripada konfigurasi file sintaks ditunjukkan dalam Rajah 2-3. Nama daftar yang digunakan dalam ini file adalah sama seperti yang diterangkan dalam Panduan Pengguna Bersiri dan Antara Muka DDR Berkelajuan Tinggi Microsemi SmartFusion2

Pengawal DDR Microsemi SmartFusion2 dan Pengawal Kelajuan Tinggi Bersiri - File Sintaks CthampleRajah 2-3 • Konfigurasi File Sintaks Cthample
Halaman Peranti Pembina Sistem
Dalam halaman Peranti, untuk setiap pengawal DDR subsistem yang berasingan dicipta (Subsistem DDR Fabrik untuk FDDR dan Subsistem FIC MSS DDR untuk MDDR). Anda boleh menambah teras Fabric AMBA Master (dikonfigurasikan sebagai AXI/AHBLite) pada setiap subsistem ini untuk membolehkan akses induk fabrik kepada pengawal DDR. Selepas penjanaan, System Builder secara automatik membuat instantiated teras bas (bergantung pada jenis AMBA Master ditambah) dan mendedahkan BIF induk teras bas dan jam dan set semula pin subsistem yang sepadan (FDDR/MDDR) di bawah kumpulan pin yang sesuai, kepada atas. Apa yang anda perlu lakukan ialah menyambungkan BIF kepada teras Induk Fabrik yang sesuai yang akan anda nyatakan dalam reka bentuk. Dalam kes MDDR, adalah pilihan untuk menambah teras Induk AMBA Fabrik pada Subsistem MSS DDR FIC; Cortex-M3 ialah induk lalai pada subsistem ini. Rajah 2-4 menunjukkan Halaman Peranti Pembina Sistem.

Pengawal Microsemi SmartFusion2 DDR dan Pengawal Kelajuan Tinggi Bersiri - Halaman Peranti PembinaRajah 2-4 • Halaman Peranti Pembina Sistem

Halaman Tetapan Jam Pembina Sistem
Dalam halaman Tetapan Jam, untuk setiap pengawal DDR, anda mesti menentukan frekuensi jam yang berkaitan dengan setiap subsistem DDR (MDDR dan/atau FDDR).
Untuk MDDR, anda mesti menyatakan:

  • MDDR_CLK – Jam ini menentukan kekerapan operasi Pengawal DDR dan harus sepadan dengan kekerapan jam yang anda ingin gunakan memori DDR luaran anda. Jam ini ditakrifkan sebagai gandaan M3_CLK (Jam Utama Cortex-M3 dan MSS, Rajah 2-5). MDDR_CLK mestilah kurang daripada 333 MHz.
  • DDR_FIC_CLK – Jika anda telah memilih untuk turut mengakses MDDR daripada fabrik FPGA, anda perlu menentukan DDR_FIC_CLK. Kekerapan jam ini ditakrifkan sebagai nisbah MDDR_CLK dan harus sepadan dengan kekerapan subsistem fabrik FPGA yang mengakses MDDR sedang berjalan.

Pengawal DDR Microsemi SmartFusion2 dan Pengawal Kelajuan Tinggi Bersiri - Jam MDDRRajah 2-5 • Jam Utama Korteks-M3 dan MSS; Jam MDDR

Untuk FDDR, anda mesti menyatakan:

  • FDDR_CLK – Menentukan kekerapan operasi Pengawal DDR dan harus sepadan dengan kekerapan jam yang anda inginkan memori DDR luaran anda dijalankan. Ambil perhatian bahawa jam ini ditakrifkan sebagai gandaan M3_CLK (Jam MSS dan Cortex-M3, Rajah 2-5). FDDR_CLK mestilah dalam lingkungan 20 MHz dan 333 MHz.
  • FDDR_SUBSYSTEM_CLK – Kekerapan jam ini ditakrifkan sebagai nisbah FDDR_CLK dan harus sepadan dengan kekerapan subsistem fabrik FPGA yang mengakses FDDR sedang berjalan.

Pengawal DDR Microsemi SmartFusion2 dan Pengawal Kelajuan Tinggi Bersiri - Jam DDR FabrikRajah 2-6 • Jam DDR Fabrik
Konfigurasi SERDESIF
Blok SERDESIF tidak digunakan dalam reka bentuk yang dihasilkan oleh Pembina Sistem. Walau bagaimanapun, untuk semua blok SERDESIF, isyarat permulaan tersedia pada antara muka teras Pembina Sistem dan boleh disambungkan kepada teras SERDESIF pada tahap hierarki seterusnya, seperti yang ditunjukkan dalam Rajah 2-7.Pengawal DDR Microsemi SmartFusion2 dan Pengawal Kelajuan Tinggi Bersiri - Kesambungan Permulaan PersisianRajah 2-7 • Ketersambungan Permulaan Periferi SERDESIF
Sama seperti daftar konfigurasi DDR, setiap blok SERDES juga mempunyai daftar konfigurasi yang mesti dimuatkan semasa runtime. Anda boleh sama ada mengimport nilai daftar ini atau menggunakan Konfigurator Antara Muka Bersiri Berkelajuan Tinggi (Rajah 2-8) untuk memasukkan parameter PCIe atau EPCS anda dan nilai daftar dikira secara automatik untuk anda. Untuk butiran, rujuk kepada Panduan Pengguna Konfigurator SERDES.Pengawal DDR Microsemi SmartFusion2 dan Pengawal Kelajuan Tinggi Bersiri - Konfigurator Antara Muka BersiriRajah 2-8 • Konfigurator Antara Muka Bersiri Berkelajuan Tinggi
Sebaik sahaja anda telah menyepadukan logik pengguna anda dengan blok Pembina Sistem dan blok SERDES, anda boleh menjana SmartDesign peringkat teratas anda. Ini menjana semua HDL dan BFM files yang perlu untuk melaksanakan dan mensimulasikan reka bentuk anda. Anda kemudian boleh meneruskan dengan Aliran Reka Bentuk yang lain.

Menggunakan SmartDesign untuk Mencipta Reka Bentuk Menggunakan Blok DDR dan SERDESIF

Bahagian ini menerangkan cara untuk meletakkan penyelesaian 'permulaan' lengkap bersama-sama tanpa menggunakan Pembina Sistem SmartFusion2. Matlamatnya adalah untuk membantu anda memahami perkara yang perlu anda lakukan jika anda tidak mahu menggunakan Pembina Sistem. Bahagian ini juga menerangkan perkara yang sebenarnya dihasilkan oleh alat Pembina Sistem untuk anda. Bahagian ini menerangkan cara untuk:

  • Masukkan data konfigurasi untuk pengawal DDR dan daftar konfigurasi SERDESIF.
  • Segera dan sambungkan Teras Fabrik yang diperlukan untuk memindahkan data konfigurasi kepada pengawal DDR dan daftar konfigurasi SERDESIF.

Konfigurasi Pengawal DDR
Pengawal MSS DDR (MDDR) dan Fabric DDR (FDDR) mesti dikonfigurasikan secara dinamik (semasa jalanan) untuk memadankan keperluan konfigurasi memori DDR luaran (mod DDR, lebar PHY, mod pecah, ECC, dll.). Data yang dimasukkan dalam konfigurator MDDR/FDDR ditulis pada daftar konfigurasi pengawal DDR oleh fungsi CMSIS SystemInit(). Configurator mempunyai tiga tab berbeza untuk memasukkan jenis data konfigurasi yang berbeza:

  • Data am (mod DDR, Lebar Data, Kekerapan Jam, ECC, Antara Muka Fabrik, Kekuatan Pemacu)
  • Data Permulaan Memori (Panjang Letusan, Susunan Letusan, Mod Pemasa, Latensi, dsb.)
  • Data Masa Memori

Rujuk kepada spesifikasi memori DDR luaran anda dan konfigurasikan Pengawal DDR agar sepadan dengan keperluan memori DDR luaran anda.
Untuk butiran mengenai konfigurasi DDR, rujuk kepada Panduan Pengguna Konfigurasi MSS DDR SmartFusion2.
Konfigurasi SERDESIF
Klik dua kali pada blok SERDES dalam kanvas SmartDesign untuk membuka Configurator untuk mengkonfigurasi SERDES (Rajah 3-1). Anda boleh sama ada mengimport nilai daftar ini atau menggunakan konfigurasi SERDES untuk memasukkan parameter PCIe atau EPCS anda dan nilai daftar dikira secara automatik untuk anda. Untuk butiran, rujuk kepada Panduan Pengguna Konfigurator SERDES.Pengawal DDR Microsemi SmartFusion2 dan Pengawal Kelajuan Tinggi Bersiri - Konfigurator Antara Muka Bersiri Berkelajuan TinggiRajah 3-1 • Konfigurator Antara Muka Bersiri Berkelajuan Tinggi
Mencipta Sub-Sistem Permulaan Reka Bentuk FPGA
Untuk memulakan blok DDR dan SERDESIF, anda mesti mencipta subsistem permulaan dalam fabrik FPGA. Subsistem pemulaan fabrik FPGA mengalihkan data daripada Cortex-M3 ke daftar konfigurasi DDR dan SERDESIF, menguruskan urutan set semula yang diperlukan untuk blok ini beroperasi dan memberi isyarat apabila blok ini bersedia untuk berkomunikasi dengan reka bentuk anda yang lain. Untuk mencipta subsistem permulaan, anda mesti:

  • Konfigurasikan FIC_2 di dalam MSS
  • Segera dan konfigurasikan teras CoreConfigP dan CoreResetP
  • Hidupkan segera pengayun RC 25/50MHz pada cip
  • Segerakan makro Tetapan Semula Sistem (SYSRESET).
  • Sambungkan komponen ini kepada setiap antara muka konfigurasi persisian, jam, tetapan semula dan port kunci PLL

Konfigurasi MSS FIC_2 APB
Untuk mengkonfigurasi MSS FIC_2:

  1. Buka kotak dialog configurator FIC_2 daripada configurator MSS (Rajah 3-2).
  2. Pilih Mulakan peranti menggunakan Cortex-M3.
  3. Bergantung pada sistem anda, tandai satu atau kedua-dua kotak pilihan berikut:
    – MSS DDR
    – DDR Fabrik dan/atau Blok SERDES
  4. Klik OK dan teruskan untuk menjana MSS (anda boleh menangguhkan tindakan ini sehingga anda telah mengkonfigurasi MSS sepenuhnya kepada keperluan reka bentuk anda). Port FIC_2 (FIC_2_APB_MASTER, FIC_2_APB_M_PCLK dan FIC_2_APB_M_RESET_N) kini terdedah pada antara muka MSS dan boleh disambungkan ke teras CoreConfigP dan CoreResetP.

Pengawal Microsemi SmartFusion2 DDR dan Pengawal Kelajuan Tinggi Bersiri - Konfigurator MSS FIC 2Rajah 3-2 • Konfigurator MSS FIC_2

CoreConfigP
Untuk mengkonfigurasi CoreConfigP:

  1. Instantiate CoreConfigP ke dalam SmartDesign anda (biasanya di mana MSS digunakan).
    Teras ini boleh didapati dalam Katalog Libero (di bawah Peranti).
  2. Klik dua kali teras untuk membuka konfigurasi.
  3. Konfigurasikan teras untuk menentukan persisian yang perlu dimulakan (Rajah 3-3)

Pengawal DDR Microsemi SmartFusion2 dan Pengawal Kelajuan Tinggi Bersiri - Kotak DialogRajah 3-3 • Kotak Dialog CoreConfigP

CoreResetP
Untuk mengkonfigurasi CoreResetP:

  1. Instantiate CoreResetP ke dalam SmartDesign anda (biasanya di mana MSS digunakan).
    Teras ini boleh didapati dalam Katalog Libero, di bawah Peranti.
  2. Klik dua kali teras di dalam SmartDesign Canvas untuk membuka Configurator (Rajah 3-4).
  3. Konfigurasikan teras kepada:
    – Tentukan tingkah laku tetapan semula luaran (EXT_RESET_OUT ditegaskan). Pilih satu daripada empat pilihan:
    o EXT_RESET_OUT tidak pernah ditegaskan
    o EXT_RESET_OUT ditegaskan jika tetapan semula kuasa (POWER_ON_RESET_N) ditegaskan
    o EXT_RESET_OUT ditegaskan jika FAB_RESET_N ditegaskan
    o EXT_RESET_OUT ditegaskan jika tetapan semula kuasa (POWER_ON_RESET_N) atau FAB_RESET_N ditegaskan
    – Tentukan Vol Perantitage. Nilai yang dipilih hendaklah sepadan dengan voltage anda pilih dalam kotak dialog Tetapan Projek Libero.
    – Tandakan kotak semak yang sesuai untuk menunjukkan persisian yang anda gunakan dalam reka bentuk anda.
    – Tentukan masa tetapan memori DDR luaran. Ini ialah nilai maksimum untuk semua memori DDR yang digunakan dalam aplikasi anda (MDDR dan FDDR). Rujuk kepada lembaran data vendor memori DDR luaran untuk mengkonfigurasi parameter ini. 200us ialah nilai lalai yang baik untuk memori DDR2 dan DDR3 yang berjalan pada 200MHz. Ini adalah parameter yang sangat penting untuk menjamin simulasi kerja dan sistem kerja pada silikon. Nilai yang salah untuk masa penyelesaian boleh mengakibatkan ralat simulasi. Rujuk lembaran data vendor memori DDR untuk mengkonfigurasi parameter ini.
    – Untuk setiap blok SERDES dalam reka bentuk anda, tandai kotak yang sesuai untuk menunjukkan sama ada:
    o PCIe digunakan
    o Sokongan untuk PCIe Hot Reset diperlukan
    o Sokongan untuk PCIe L2/P2 diperlukan

Nota: Jika anda menggunakan 090 die(M2S090) dan reka bentuk anda menggunakan SERDESIF, anda tidak perlu menyemak mana-mana kotak pilihan berikut: 'Digunakan untuk PCIe', 'Sertakan sokongan PCIe HotReset' dan 'Sertakan sokongan PCIe L2/P2'. Jika anda menggunakan mana-mana peranti bukan 090 dan menggunakan satu atau lebih blok SERDESIF, anda perlu menyemak keempat-empat kotak pilihan di bawah bahagian SERDESIF yang sesuai.
Nota: Untuk butiran tentang pilihan yang tersedia untuk anda dalam konfigurasi ini, rujuk kepada Buku Panduan CoreResetP.

Pengawal DDR Microsemi SmartFusion2 dan Pengawal Kelajuan Tinggi Bersiri - CoreResetPConfiguratorRajah 3-4 • CoreResetPConfigurator

Instalasi Pengayun 25/50MHz
CoreConfigP dan CoreResetP dicatatkan oleh pengayun RC 25/50MHz pada cip. Anda mesti menghidupkan pengayun 25/50MHz dan menyambungkannya ke teras ini.

  1. Segerakkan teras Pengayun Cip ke dalam SmartDesign anda (biasanya teras MSS diwujudkan). Teras ini boleh didapati dalam Katalog Libero di bawah Jam & Pengurusan.
  2. Konfigurasikan teras ini supaya pengayun RC memacu fabrik FPGA, seperti ditunjukkan dalam Rajah 3-5.

Pengawal Microsemi SmartFusion2 DDR dan Pengawal Kelajuan Tinggi Bersiri - Konfigurator PengayunRajah 3-5 • Pengkonfigurasi Pengayun Cip

Tetapan Semula Sistem (SYSRESET) Instantiation
Makro SYSRESET menyediakan fungsi tetapan semula tahap peranti kepada reka bentuk anda. Isyarat output POWER_ON_RESET_N ditegaskan/dinyahtegaskan apabila cip dihidupkan atau pin luaran DEVRST_N ditegaskan/dinyahtegaskan (Rajah 3-6).
Segerakkan makro SYSRESET ke dalam SmartDesign anda (biasanya yang MSS dibuat instantiated). Makro ini boleh didapati dalam Katalog Libero di bawah Perpustakaan Makro. Tiada konfigurasi makro ini diperlukan.

Pengawal DDR Microsemi SmartFusion2 dan Pengawal Kelajuan Tinggi Bersiri - Makro SYSRESETRajah 3-6 • SYSRESET Makro

Ketersambungan Keseluruhan
Selepas anda membuat instantiate dan mengkonfigurasi teras MSS, FDDR, SERDESIF, OSC, SYSRESET, CoreConfigP dan CoreResetP dalam reka bentuk anda, anda perlu menyambungkannya untuk membentuk subsistem Permulaan Periferal. Untuk memudahkan perihalan sambungan dalam dokumen ini, ia dipecahkan kepada sambungan laluan data konfigurasi yang mematuhi APB3 yang dikaitkan dengan sambungan CoreConfigP dan CoreResetP.
Kesambungan Laluan Data Konfigurasi
Rajah 3-7 menunjukkan cara menyambungkan CoreConfigP kepada isyarat MSS FIC_2 dan antara muka konfigurasi patuh APB3 peranti.
Jadual 3-1 • Sambungan Port/BIF Laluan Data Konfigurasi

DARI
Antaramuka Pelabuhan/Bas
(BIF)/ Komponen
KEPADA
Antaramuka Pelabuhan/Bas (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 HAMBA (BIF)/MSS
SDIF<0/1/2/ 3> APBmslave/Config APB HAMBA (BIF)/ SDIF<0/1/2/3>
FDDR APBmslave APB HAMBA (BIF)/ FDDR
FIC 2 APBmmaster/ CoreConfigP FIC 2 APB MASTER/ MSS

Pengawal DDR Microsemi SmartFusion2 dan Pengawal Kelajuan Tinggi Bersiri - Kesambungan Sub-SistemRajah 3-7 • FIC_2 APB3 Kesambungan Sub-Sistem

Jam dan Tetapkan Semula Kesambungan
Rajah 3-8 menunjukkan cara menyambungkan CoreResetP kepada sumber tetapan semula luaran dan isyarat tetapan semula teras peranti. Ia juga menunjukkan cara menyambungkan CoreResetP kepada isyarat status penyegerakan jam persisian (isyarat kunci PLL). Selain itu, ia menunjukkan cara CoreConfigP dan CoreResetP disambungkan.

Pengawal DDR Microsemi SmartFusion2 dan Pengawal Kelajuan Tinggi Bersiri - Kesambungan Sub-Sistem 2Rajah 3-8 • Teras SF2Reset Sub-System Connectivity

Mencipta dan Menyusun Aplikasi Perisian Tegar

Apabila anda mengeksport perisian tegar daripada LiberoSoC (Tetingkap Aliran Reka Bentuk > Eksport Perisian Tegar > Eksport Perisian Tegar), Libero menjana yang berikut files dalam /firmware/drivers_config/ folder sys_config:

  • sys_config.c – Mengandungi struktur data yang memegang nilai untuk daftar persisian.
  • sys_config.h – Mengandungi pernyataan #define yang menentukan persisian yang digunakan dalam reka bentuk dan perlu dimulakan.
  • sys_config_mddr_define.h – Mengandungi data konfigurasi pengawal MDDR yang dimasukkan dalam kotak dialog Konfigurasi Daftar.
  • sys_config_fddr_define.h – Mengandungi data konfigurasi pengawal FDDR yang dimasukkan dalam kotak dialog Konfigurasi Daftar.
  • sys_config_mss_clock.h - Ini file mengandungi frekuensi jam MSS seperti yang ditakrifkan dalam konfigurator MSS CCC. Frekuensi ini digunakan oleh kod CMSIS untuk memberikan maklumat jam yang betul kepada kebanyakan pemacu MSS yang mesti mempunyai akses kepada frekuensi Jam Periferi (PCLK) mereka (cth, pembahagi kadar baud MSS UART ialah fungsi kadar baud dan frekuensi PCLK ).
  • sys_config_SERDESIF_ .c – Mengandungi SERDESIF_ daftar data konfigurasi yang disediakan semasa SERDESIF_ konfigurasi blok dalam penciptaan reka bentuk.
  • sys_config_SERDESIF_ .h – Mengandungi penyataan #define yang menentukan bilangan pasangan konfigurasi daftar dan nombor lorong yang perlu ditinjau untuk PMA_READY(hanya dalam mod PCIe).

Ini files diperlukan untuk kod CMSIS menyusun dengan betul dan mengandungi maklumat mengenai reka bentuk semasa anda, termasuk data konfigurasi persisian dan maklumat konfigurasi jam untuk MSS.
Jangan edit ini files secara manual; ia dicipta ke direktori komponen/periferal yang sepadan setiap kali komponen SmartDesign yang mengandungi persisian masing-masing dijana. Jika sebarang perubahan dibuat pada data konfigurasi mana-mana peranti, anda perlu mengeksport semula projek perisian tegar supaya perisian tegar dikemas kini files (lihat senarai di atas) dieksport ke / firmware/drivers_config/sys_config folder.
Apabila anda mengeksport perisian tegar, Libero SoC mencipta projek perisian tegar: perpustakaan tempat konfigurasi reka bentuk anda files dan pemandu disusun.
Jika anda menyemak projek Cipta kotak semak apabila anda mengeksport perisian tegar, projek SoftConsole/IAR/Keil perisian dicipta untuk memegang projek aplikasi di mana anda boleh mengedit main.c dan pengguna C/H files. Buka projek SoftConSole/IAR/Keil untuk menyusun kod CMSIS dengan betul dan pastikan aplikasi perisian tegar anda dikonfigurasikan dengan betul agar sepadan dengan reka bentuk perkakasan anda.

BFM Files Digunakan untuk Mensimulasikan Reka Bentuk

Apabila anda menjana komponen SmartDesign yang mengandungi persisian yang dikaitkan dengan reka bentuk anda, simulasi files sepadan dengan persisian masing-masing dijana dalam / direktori simulasi:

  • ujian.bfm – BFM peringkat atas file yang mula-mula dilaksanakan semasa mana-mana simulasi yang menggunakan pemproses SmartFusion2 MSS Cortex-M3. Ia melaksanakan peripheral_init.bfm dan user.bfm, dalam susunan itu.
  • MDDR_init.bfm – Jika reka bentuk anda menggunakan MDDR, Libero menjana ini file; ia mengandungi arahan tulis BFM yang mensimulasikan penulisan data daftar konfigurasi MSS DDR yang anda masukkan (menggunakan kotak dialog Edit Daftar atau dalam GUI MSS_MDDR) ke dalam daftar Pengawal MSS DDR.
  • FDDR_init.bfm – Jika reka bentuk anda menggunakan FDDR, Libero menjana ini file; ia mengandungi arahan tulis BFM yang mensimulasikan penulisan data daftar konfigurasi Fabric DDR yang anda masukkan (menggunakan kotak dialog Edit Daftar atau dalam GUI FDDR) ke dalam daftar Pengawal DDR Fabric.
  • SERDESIF_ _init.bfm – Jika reka bentuk anda menggunakan satu atau lebih blok SERDESIF, Libero menjana ini file untuk setiap SERDESIF_ blok yang digunakan; ia mengandungi arahan tulis BFM yang mensimulasikan penulisan data daftar konfigurasi SERDESIF yang anda masukkan (menggunakan kotak dialog Edit Daftar atau dalam SERDESIF_ GUI) ke dalam SERDESIF_ daftar. Jika blok SERDESIF dikonfigurasikan sebagai PCIe, ini file juga mempunyai beberapa penyataan #define yang mengawal pelaksanaan 2 fasa konfigurasi daftar dalam susunan yang sempurna.
  • pengguna.bfm – Mengandungi arahan pengguna. Arahan ini dilaksanakan selepas peripheral_init.bfm selesai. Edit ini file untuk memasukkan arahan BFM anda.
  • SERDESIF_ _user.bfm – Mengandungi arahan pengguna. Edit ini file untuk memasukkan arahan BFM anda. Gunakan ini jika anda telah mengkonfigurasi SERDESIF_ blok dalam mod simulasi BFM PCIe dan sebagai induk AXI/AHBLite. Jika anda telah mengkonfigurasi SERDESIF_ blok dalam mod simulasi RTL, anda tidak akan memerlukan ini file.

Apabila anda menggunakan simulasi setiap kali, dua simulasi berikut files dicipta semula ke / direktori simulasi dengan kandungan yang dikemas kini:

  • subsistem.bfm – Mengandungi pernyataan #define untuk setiap persisian yang digunakan dalam reka bentuk anda, yang menentukan bahagian tertentu peripheral_init.bfm untuk dilaksanakan sepadan dengan setiap persisian.
  • operipheral_init.bfm – Mengandungi prosedur BFM yang meniru fungsi CMSIS:: SystemInit() yang dijalankan pada Cortex-M3 sebelum anda memasuki prosedur main(). Ia menyalin data konfigurasi untuk mana-mana persisian yang digunakan dalam reka bentuk ke daftar konfigurasi persisian yang betul dan kemudian menunggu semua persisian bersedia sebelum menegaskan bahawa anda boleh menggunakan persisian ini. Ia melaksanakan MDDR_init.bfm dan FDDR_init.bfm.

Menggunakan ini dihasilkan files, pengawal DDR dalam reka bentuk anda dikonfigurasikan secara automatik, meniru perkara yang akan berlaku pada peranti SmartFusion2. Anda boleh mengedit user.bfm file untuk menambah sebarang arahan yang diperlukan untuk mensimulasikan reka bentuk anda (Cortex-M3 ialah induk). Perintah ini dilaksanakan selepas peranti telah dimulakan. Jangan edit test.bfm, subsystem.bfm, peripheral_init.bfm, MDDR_init.bfm, FDDR_init.bfm files dan SERDESIF_ _init.bfm files.

Sokongan Produk

Microsemi SoC Products Group menyokong produknya dengan pelbagai perkhidmatan sokongan, termasuk Khidmat Pelanggan, Pusat Sokongan Teknikal Pelanggan, a webtapak, mel elektronik dan pejabat jualan di seluruh dunia.
Lampiran ini mengandungi maklumat tentang menghubungi Microsemi SoC Products Group dan menggunakan perkhidmatan sokongan ini.
Perkhidmatan Pelanggan
Hubungi Khidmat Pelanggan untuk mendapatkan sokongan produk bukan teknikal, seperti harga produk, peningkatan produk, maklumat kemas kini, status pesanan dan kebenaran.
Dari Amerika Utara, hubungi 800.262.1060
Dari seluruh dunia, hubungi 650.318.4460
Faks, dari mana-mana sahaja di dunia, 408.643.6913
Pusat Sokongan Teknikal Pelanggan
Microsemi SoC Products Group mengendalikan Pusat Sokongan Teknikal Pelanggannya dengan jurutera berkemahiran tinggi yang boleh membantu menjawab soalan perkakasan, perisian dan reka bentuk anda tentang Produk Microsemi SoC. Pusat Sokongan Teknikal Pelanggan menghabiskan banyak masa untuk mencipta nota aplikasi, jawapan kepada soalan kitaran reka bentuk biasa, dokumentasi isu yang diketahui dan pelbagai Soalan Lazim. Jadi, sebelum anda menghubungi kami, sila lawati sumber dalam talian kami. Kemungkinan besar kami telah menjawab soalan anda.
Sokongan Teknikal
Lawati Sokongan Pelanggan webtapak (www.microsemi.com/soc/support/search/default.aspx) untuk maklumat lanjut dan sokongan. Banyak jawapan tersedia pada yang boleh dicari web sumber termasuk gambar rajah, ilustrasi dan pautan kepada sumber lain pada webtapak.
Webtapak
Anda boleh menyemak imbas pelbagai maklumat teknikal dan bukan teknikal pada halaman utama SoC, di www.microsemi.com/soc.
Menghubungi Pusat Sokongan Teknikal Pelanggan
Jurutera berkemahiran tinggi kakitangan Pusat Sokongan Teknikal. Pusat Sokongan Teknikal boleh dihubungi melalui e-mel atau melalui Kumpulan Produk Microsemi SoC webtapak.
E-mel
Anda boleh menyampaikan soalan teknikal anda ke alamat e-mel kami dan menerima jawapan kembali melalui e-mel, faks atau telefon. Selain itu, jika anda mempunyai masalah reka bentuk, anda boleh menghantar e-mel reka bentuk anda files untuk menerima bantuan.
Kami sentiasa memantau akaun e-mel sepanjang hari. Semasa menghantar permintaan anda kepada kami, sila pastikan anda memasukkan nama penuh, nama syarikat dan maklumat hubungan anda untuk pemprosesan permintaan anda dengan cekap.
Alamat e-mel sokongan teknikal ialah soc_tech@microsemi.com.
Kes Saya
Pelanggan Microsemi SoC Products Group boleh menyerahkan dan menjejaki kes teknikal dalam talian dengan pergi ke Kes Saya.
Di luar AS
Pelanggan yang memerlukan bantuan di luar zon waktu AS boleh sama ada menghubungi sokongan teknikal melalui e-mel (soc_tech@microsemi.com) atau hubungi pejabat jualan tempatan. Penyenaraian pejabat jualan boleh didapati di www.microsemi.com/soc/company/contact/default.aspx.
Sokongan Teknikal ITAR
Untuk sokongan teknikal mengenai FPGA RH dan RT yang dikawal oleh Peraturan Trafik Senjata Antarabangsa (ITAR), hubungi kami melalui soc_tech_itar@microsemi.com. Sebagai alternatif, dalam Kes Saya, pilih Ya dalam senarai juntai bawah ITAR. Untuk senarai lengkap FPGA Microsemi yang dikawal oleh ITAR, lawati ITAR web muka surat.
Microsemi Corporation (NASDAQ: MSCC) menawarkan portfolio komprehensif penyelesaian semikonduktor untuk: aeroangkasa, pertahanan dan keselamatan; perusahaan dan komunikasi; dan pasaran perindustrian dan tenaga alternatif. Produk termasuk peranti analog dan RF berprestasi tinggi, kebolehpercayaan tinggi, isyarat campuran dan litar bersepadu RF, SoC yang boleh disesuaikan, FPGA dan subsistem yang lengkap. Microsemi beribu pejabat di Aliso Viejo, Calif. Ketahui lebih lanjut di www.microsemi.com.
© 2014 Microsemi Corporation. Hak cipta terpelihara. Microsemi dan logo Microsemi ialah tanda dagangan Microsemi Corporation. Semua tanda dagangan dan tanda perkhidmatan lain adalah hak milik pemilik masing-masing.

5-02-00384-1/08.14Logo mikrosemiIbu Pejabat Korporat Microsemi
One Enterprise, Aliso Viejo CA 92656 USA
Dalam Amerika Syarikat: +1 949-380-6100
Jualan: +1 949-380-6136
Faks: +1 949-215-4996

Dokumen / Sumber

Pengawal DDR Microsemi SmartFusion2 dan Pengawal Kelajuan Tinggi Bersiri [pdf] Panduan Pengguna
Pengawal SmartFusion2 DDR dan Pengawal Kelajuan Tinggi Bersiri, SmartFusion2 DDR, Pengawal dan Pengawal Kelajuan Tinggi Bersiri, Pengawal Kelajuan Tinggi

Rujukan

Tinggalkan komen

Alamat e-mel anda tidak akan diterbitkan. Medan yang diperlukan ditanda *