Microsemi AC490 RTG4 FPGA: Mbangun Subsistem Prosesor Mi-V
Riwayat Revisi
Riwayat revisi nggambarake owah-owahan sing ditindakake ing dokumen kasebut. Owah-owahan kasebut didhaptar kanthi revisi, diwiwiti saka publikasi paling anyar.
Revisi 3.0
Ing ngisor iki ringkesan owah-owahan sing ditindakake ing revisi iki.
- Nganyari dokumen kanggo Libero SoC v2021.2.
- Dianyari Gambar 1, kaca 3 nganti Gambar 3, kaca 5.
- Diganti Gambar 4, kaca 5, Gambar 5, kaca 7, lan Gambar 18, kaca 17.
- Dianyari Tabel 2, kaca 6 lan Tabel 3, kaca 7.
- Ditambahake Lampiran 1: Pemrograman Piranti Nggunakake FlashPro Express, kaca 14.
- Ditambahake Lampiran 3: Nglakokake Skrip TCL, kaca 20.
- Dibusak referensi kanggo nomer versi Libero.
Revisi 2.0
Ing ngisor iki ringkesan owah-owahan sing ditindakake ing revisi iki.
- Informasi sing ditambahake babagan pilihan port COM ing Setelan Perangkat Keras, kaca 9.
- Dianyari carane milih port COM sing cocog ing Running the Demo, kaca 11.
Revisi 1.0
Publikasi pisanan saka dokumen.
Nggawe Subsistem Prosesor Mi-V
Microchip nawakake IP prosesor Mi-V, prosesor RISC-V 32-bit lan toolchain piranti lunak kanggo ngembangake desain adhedhasar prosesor RISC-V. RISC-V, standar Open Instruction Set Architecture (ISA) ing pamrentahan RISC-V Foundation, nawakake akeh keuntungan, kalebu mbisakake komunitas open source kanggo nyoba lan nambah inti kanthi luwih cepet tinimbang ISA sing ditutup.
RTG4® FPGAs ndhukung prosesor alus Mi-V kanggo mbukak aplikasi pangguna. Cathetan aplikasi iki nerangake carane mbangun subsistem prosesor Mi-V kanggo nglakokake aplikasi pangguna saka RAM kain utawa memori DDR sing ditunjuk.
Requirements Desain
Tabel ing ngisor iki nampilake syarat hardware lan piranti lunak kanggo mbukak demo.
Tabel 1 • Requirements Design
Piranti lunak
- Libero® System-on-Chip (SoC)
- FlashPro Express
- SoftConsole
Cathetan: Waca ing readme.txt file kasedhiya ing desain files kanggo versi piranti lunak sing digunakake karo desain referensi iki.
Cathetan: Libero SmartDesign lan gambar konfigurasi sing ditampilake ing pandhuan iki mung kanggo ilustrasi.
Bukak desain Libero kanggo ndeleng nganyari paling anyar.
Prasyarat
Sadurunge miwiti:
- Ngundhuh lan nginstal Libero SoC (kaya sing dituduhake ing websitus kanggo desain iki) ing PC host saka lokasi ing ngisor iki: https://www.microsemi.com/product-directory/design-resources/1750-libero-soc
- Kanggo desain demo files link download: http://soc.microsemi.com/download/rsc/?f=rtg4_ac490_df
Deskripsi Desain
Ukuran RTG4 μPROM yaiku 57 KB. Aplikasi pangguna sing ora ngluwihi ukuran μPROM bisa disimpen ing μPROM lan dieksekusi saka memori SRAM Gedhe internal (LSRAM). Aplikasi pangguna sing ngluwihi ukuran μPROM kudu disimpen ing memori non-volatile eksternal. Ing kasus iki, bootloader eksekusi saka μPROM dibutuhake kanggo initialize memori internal utawa eksternal SRAM karo aplikasi target saka memori non-molah malih.
Desain referensi nduduhake kemampuan bootloader kanggo nyalin aplikasi target (ukuran 7 KB) saka lampu kilat SPI menyang memori DDR, lan nglakokake saka memori DDR. Bootloader dieksekusi saka memori internal. Bagean kode dumunung ing μPROM, lan bagean data dumunung ing SRAM Gedhe internal (LSRAM).
Cathetan: Kanggo informasi luwih lengkap babagan carane mbangun proyek Mi-V bootloader Libero lan carane mbangun proyek SoftConsole, waca TU0775: PolarFire FPGA: Nggawe Tutorial Subsistem Prosesor Mi-V
Gambar 1 nuduhake diagram blok tingkat paling dhuwur saka desain.
Gambar 1 • Diagram Blok Top Level
Kaya sing ditampilake ing Gambar 1, titik-titik ing ngisor iki nggambarake aliran data desain:
- Prosesor Mi-V nglakokake bootloader saka μPROM lan LSRAM sing ditunjuk. Bootloader antarmuka karo GUI liwat pemblokiran CoreUARTapb lan ngenteni printah.
- Nalika printah program lampu kilat SPI ditampa saka GUI, bootloader program lampu kilat SPI karo aplikasi target ditampa saka GUI.
- Nalika printah boot ditampa saka GUI, salinan bootloader kode aplikasi saka lampu kilat SPI kanggo DDR lan banjur nglakokaké saka DDR.
Struktur Jam
Ana rong domain jam (40 MHz lan 20 MHz) ing desain. On-board 50 MHz osilator kristal disambungake menyang pemblokiran PF_CCC sing ngasilake 40 MHz lan 20 MHz jam. Jam sistem 40 MHz nyopir subsistem prosesor Mi-V sing lengkap kajaba μPROM. Jam 20 MHz drive RTG4 μPROM lan antarmuka RTG4 μPROM APB. RTG4 μPROM ndhukung frekuensi jam nganti 30 MHz. DDR_FIC diatur kanggo antarmuka bis AHB, kang makaryakke ing 40 MHz. Memori DDR beroperasi ing 320 MHz.
Gambar 2 nuduhake struktur clocking.
Gambar 2 • Struktur Clocking
Reset Struktur
POWER_ON_RESET_N lan sinyal KUNCI ANDed, lan sinyal output (INIT_RESET_N) digunakake kanggo ngreset blok RTG4FDRC_INIT. Sawise ngeculake reset FDDR, pengontrol FDDR diwiwiti, banjur sinyal INIT_DONE ditegesake. Sinyal INIT_DONE digunakake kanggo ngreset prosesor Mi-V, periferal, lan blok liyane ing desain kasebut.
Gambar 3 • Reset Struktur
Implementasi Hardware
Figure 4 nuduhake desain Libero saka desain referensi Mi-V.
Gambar 4 • Modul SmartDesign
Cathetan: Gambar layar Libero SmartDesign sing ditampilake ing cathetan aplikasi iki mung kanggo ilustrasi. Bukak proyek Libero kanggo ndeleng update paling anyar lan versi IP.
Blok IP
Figure 2 dhaftar pamblokiran IP digunakake ing desain referensi subsistem prosesor Mi-V lan fungsi sing.
Tabel 2 • Blok IP1
Kabeh pandhuan pangguna lan buku pegangan IP kasedhiya saka Libero SoC -> Katalog.
RTG4 μPROM nyimpen nganti 10,400 tembung 36-bit (374,400 bit data). Iki mung ndhukung operasi maca sajrone operasi piranti normal sawise piranti diprogram. Inti prosesor MIV_RV32_C0 kalebu unit njupuk instruksi, pipa eksekusi, lan sistem memori data. Sistem memori prosesor MIV_RV32_C0 kalebu cache instruksi lan cache data. Inti MIV_RV32_C0 kalebu loro antarmuka AHB eksternal - antarmuka master bus memori AHB (MEM) lan antarmuka master bus AHB Memory Mapped I / O (MMIO). Pengontrol cache nggunakake antarmuka AHB MEM kanggo ngisi maneh instruksi lan cache data. Antarmuka AHB MMIO digunakake kanggo akses uncached kanggo peripheral I/O.
Peta memori antarmuka AHB MMIO lan antarmuka MEM yaiku 0x60000000 nganti 0X6FFFFFFF lan 0x80000000 nganti 0x8FFFFFFF. Alamat vektor reset prosesor bisa dikonfigurasi. Reset MIV_RV32_C0 minangka sinyal aktif-kurang, sing kudu dibatalake ing sinkronisasi karo jam sistem liwat sinkronisasi ulang.
Prosesor MIV_RV32_C0 ngakses memori eksekusi aplikasi nggunakake antarmuka AHB MEM. Kayata bis CoreAHBLite_C0_0 diatur kanggo nyedhiyani 16 slot abdi, saben ukuran 1 MB. Memori RTG μPROM, lan blok RTG4FDRC disambungake menyang bis iki. μPROM digunakake kanggo nyimpen aplikasi bootloader.
Prosesor MIV_RV32_C0 ngarahake transaksi data antarane alamat 0x60000000 lan 0x6FFFFFFF menyang antarmuka MMIO. Antarmuka MMIO disambungake menyang bis CoreAHBLite_C1_0 kanggo komunikasi karo peripheral disambungake menyang slot abdi. Kayata bis CoreAHBLite_C1_0 diatur kanggo nyedhiyani 16 slot abdi, saben ukuran 256 MB. Periferal UART, CoreSPI, lan CoreGPIO disambungake menyang bus CoreAHBLite_C1_0 liwat jembatan CoreAHBTOAPB3 lan bis CoreAPB3.
Peta Memori
Tabel 3 nampilake peta memori kenangan lan peripheral.
Tabel 3 • Peta memori
Implementasi piranti lunak
Desain referensi files kalebu ruang kerja SoftConsole sing ngemot proyek piranti lunak ing ngisor iki:
- Bootloader
- Aplikasi Target
Bootloader
Aplikasi bootloader diprogram ing μPROM sajrone program piranti. Bootloader nindakake fungsi ing ngisor iki:
- Pemrograman SPI Flash kanthi aplikasi target.
- Nyalin aplikasi target saka SPI Flash menyang memori DDR3.
- Ngalih eksekusi program menyang aplikasi target sing kasedhiya ing memori DDR3.
Aplikasi bootloader kudu dieksekusi saka μPROM kanthi LSRAM minangka tumpukan. Mula, alamat ROM lan RAM ing skrip linker disetel menyang alamat wiwitan μPROM lan LSRAM sing ditunjuk, masing-masing. Bagean kode dieksekusi saka ROM lan bagean data dieksekusi saka RAM kaya sing ditampilake ing Gambar 5.
Gambar 5 • Bootloader Linker Script
Skrip linker (microsemi-riscv-ram_rom.ld) kasedhiya ing
SoftConsole_Project\mivrv32im-bootloader folder saka desain files.
Aplikasi Target
Aplikasi target kedip-kedip LED onboard 1, 2, 3, lan 4 lan nyithak pesen UART. Aplikasi target kudu dieksekusi saka memori DDR3. Mula, bagean kode lan tumpukan ing skrip linker disetel menyang alamat wiwitan memori DDR3 kaya sing ditampilake ing Gambar 6.
Gambar 6 • Target Aplikasi Linker Script
Skrip linker (microsemi-riscv-ram.ld) kasedhiya ing folder aplikasi SoftConsole_Project\miv-rv32imddr- saka desain files.
Nyetel Hardware
Langkah-langkah ing ngisor iki nerangake carane nyiyapake hardware:
- Priksa manawa papan dipateni kanthi nggunakake saklar SW6.
- Sambungake jumper ing kit pangembangan RTG4, kaya sing ditampilake ing tabel ing ngisor iki:
Tabel 4 • JumpersJumper Pin Saka Pin Kanggo Komentar J11, J17, J19, J23, J26, J21, J32, lan J27 1 2 Default J16 2 3 Default J33 1 2 Default 3 4 - Sambungake PC inang menyang konektor J47 nggunakake kabel USB.
- Priksa manawa driver jembatan USB menyang UART dideteksi kanthi otomatis. Iki bisa diverifikasi ing manajer piranti PC host.
- Kaya sing ditampilake ing Gambar 7, properti port COM13 nuduhake yen disambungake menyang USB Serial Converter C. Mula, COM13 dipilih ing mantan iki.ample. Nomer port COM khusus sistem.
Gambar 7 • Manager Piranti
Cathetan: Yen USB kanggo driver jembatan UART ora diinstal, download lan nginstal driver saka www.microsemi.com//documents/CDM_2.08.24_WHQL_Certified.zip. - Sambungake sumber daya kanggo konektor J9 lan ngalih ON saklar sumber daya, SW6.
Gambar 8 • Kit Pangembangan RTG4
Mlaku Demo
Bab iki njlèntrèhaké langkah-langkah kanggo program piranti RTG4 karo desain referensi, program SPI Flash karo aplikasi target, lan booting aplikasi target saka memori DDR nggunakake Mi-V Bootloader GUI.
Nglakokake demo kalebu langkah-langkah ing ngisor iki:
- Pemrograman Piranti RTG4, kaca 11
- Mbukak Mi-V Bootloader, kaca 11
Pemrograman Piranti RTG4
Piranti RTG4 bisa diprogram nganggo FlashPro Express utawa Libero SOC.
- Kanggo program RTG4 Development Kit karo proyek file kasedhiya minangka bagéan saka desain files nggunakake piranti lunak FlashPro Express, deleng Lampiran 1: Pemrograman Piranti Nggunakake FlashPro Express, kaca 14.
- Kanggo program piranti nggunakake Libero SoC, deleng Lampiran 2: Programming Piranti Nggunakake Libero SoC, kaca 17.
Mbukak Mi-V Bootloader
Yen wis rampung program, tindakake langkah iki:
- Jalanake setup.exe file kasedhiya ing desain ing ngisor iki files lokasi.
<$Download_Directory>\rtg4_ac490_df\GUI_Installer\Mi-V Bootloader_Installer_V1.4 - Tindakake tuntunan instalasi kanggo nginstal aplikasi GUI Bootloader.
Gambar 9 nuduhake RTG4 Mi-V Bootloader GUI.
Gambar 9 • Mi-V Bootloader GUI - Pilih port COM sing disambungake menyang USB Serial Converter C kaya sing ditampilake ing Gambar 7.
- Klik tombol sambungake. Sawise sambungan sukses indikator Abang dadi Ijo kaya sing ditampilake ing Gambar 10.
Gambar 10 • Sambungake Port COM - Klik tombol Impor banjur pilih aplikasi target file (.bin). Sawise ngimpor, path saka file ditampilake ing GUI kaya sing ditampilake ing Gambar 11.
<$Download_Directory>\rtg4_ac490_df\Source_files
Gambar 11 • Impor Aplikasi Target File - Minangka ditampilake ing Gambar 11, klik Program SPI Flash pilihan kanggo program aplikasi target ing SPI Flash. A pop-up ditampilake sawise SPI Flash diprogram minangka ditampilake ing Figure 12. Klik OK.
Gambar 12 • SPI Flash Programmed - Pilih opsi Start Boot kanggo nyalin aplikasi saka SPI Flash menyang memori DDR3 lan miwiti nglakokake aplikasi saka memori DDR3. Sawise sukses aplikasi target saka memori DDR3, aplikasi kasebut nyithak pesen UART lan kedhip pangguna ing papan LED1, 2, 3, lan 4 kaya sing ditampilake ing Gambar 13.
Figure 13 • Nglakokaké Aplikasi Saka DDR - Aplikasi mlaku saka memori DDR3 lan iki rampung demo. Nutup GUI Bootloader Mi-V.
Programming Piranti Nggunakake FlashPro Express
Bagean iki nerangake carane program piranti RTG4 karo proyek program file nggunakake FlashPro Express.
Kanggo program piranti, tindakake langkah ing ngisor iki:
- Priksa manawa setelan jumper ing papan padha karo sing kadhaptar ing Tabel 3 saka UG0617:
Pandhuan Pangguna Kit Pangembangan RTG4. - Opsional, jumper J32 bisa disetel kanggo nyambungake pin 2-3 nalika nggunakake FlashPro4, FlashPro5, utawa FlashPro6 eksternal, tinimbang setelan jumper standar kanggo nggunakake FlashPro5 sing dipasang.
Cathetan: Ngalih sumber daya, SW6 kudu dipateni nalika nggawe sambungan jumper. - Sambungake kabel sumber daya menyang konektor J9 ing Papan.
- Power ON saklar sumber daya SW6.
- Yen nggunakake FlashPro5 ditempelake, sambungake kabel USB menyang konektor J47 lan PC inang.
Utawa, yen nggunakake programmer eksternal, sambungake kabel pita menyang JTAG header J22 lan nyambung programmer kanggo PC inang. - Ing PC host, bukak piranti lunak FlashPro Express.
- Klik New utawa pilih New Job Project saka FlashPro Express Job saka menu Project kanggo nggawe proyek proyek anyar, kaya sing ditampilake ing gambar ing ngisor iki.
Gambar 14 • Proyek Proyek FlashPro Express - Ketik ing ngisor iki ing Proyek Proyek Anyar saka kothak dialog Proyek FlashPro Express:
- lowongan programming file: Klik Telusuri, banjur navigasi menyang lokasi .job file dumunung lan pilih ing file. Lokasi standar yaiku: \rtg4_ac490_df\Programming_Job
- Lokasi proyek proyek FlashPro Express: Klik Telusur lan navigasi menyang lokasi proyek FlashPro Express sing dikarepake.
Gambar 15 • Proyek Proyek Anyar saka Proyek FlashPro Express
- Klik OK. Pemrograman sing dibutuhake file wis dipilih lan siap diprogram ing piranti.
- Jendhela FlashPro Express katon minangka ditampilake ing gambar ing ngisor iki. Konfirmasi yen nomer programer katon ing kolom Programmer. Yen ora, konfirmasi sambungan papan banjur klik Refresh/Rescan Programmer.
Gambar 16 • Programming Piranti - Klik RUN. Nalika piranti wis diprogram kanthi sukses, status RUN PASSED ditampilake kaya ing gambar ing ngisor iki.
Gambar 17 • FlashPro Express-RUN PASSED - Nutup FlashPro Express utawa klik Exit ing tab Project.
Programming Piranti Nggunakake Libero SoC
Desain referensi files kalebu project subsistem prosesor Mi-V digawe nggunakake Libero SoC. Piranti RTG4 bisa diprogram nggunakake Libero SoC. Proyek Libero SoC rampung dibangun lan diluncurake saka Sintesis, Panggonan lan Rute, Verifikasi Wektu, Generasi Data Array FPGA, Nganyari Konten Memori μPROM, Generasi Bitstream, Pemrograman FPGA.
Aliran desain Libero ditampilake ing gambar ing ngisor iki.
Gambar 18 • Aliran Desain Libero
Kanggo memprogram piranti RTG4, proyek subsistem prosesor Mi-V kudu dibukak ing Libero SoC lan langkah-langkah ing ngisor iki kudu ditindakake maneh:
- Nganyari Konten Memori uPROM: Ing langkah iki, μPROM diprogram nganggo aplikasi bootloader.
- Generasi Bitstream: Ing langkah iki, Job file kui kanggo piranti RTG4.
- Pemrograman FPGA: Ing langkah iki, piranti RTG4 diprogram nggunakake Proyek file.
Tindakake langkah iki:
- Saka Aliran Desain Libero, pilih Nganyari Konten Memori uPROM.
- Nggawe klien nggunakake opsi Tambah.
- Pilih klien banjur pilih opsi Sunting.
- Pilih Konten saka file banjur pilih pilihan Browse kaya sing ditampilake ing Gambar 19.
Gambar 19 • Sunting Klien Panyimpenan Data - Navigasi menyang desain ing ngisor iki files lokasi lan pilih miv-rv32im-bootloader.hex file kaya sing ditampilake ing Gambar 20. <$Download_Directory>\rtg4_ac490_df
- Setel ing File Ketik minangka Intel-Hex (*.hex).
- Pilih Gunakake path relatif saka direktori proyek.
- Klik OK.
Gambar 20 • Impor Memori File
- Klik OK.
Konten μPROM dianyari. - Klik kaping pindho Generate Bitstream kaya sing ditampilake ing Gambar 21.
Gambar 21 • Generate Bitstream - Klik kaping pindho Run PROGRAM Action kanggo program piranti kaya sing ditampilake ing Gambar 21.
Piranti RTG4 wis diprogram. Deleng Running the Demo, kaca 11.
Mbukak Script TCL
Skrip TCL kasedhiya ing desain files folder ing direktori TCL_Scripts. Yen perlu, aliran desain bisa direproduksi saka Implementasi Desain nganti generasi proyek file.
Kanggo mbukak TCL, tindakake langkah ing ngisor iki:
- Bukak piranti lunak Libero.
- Pilih Project > Execute Script….
- Klik Telusuri banjur pilih script.tcl saka direktori TCL_Scripts sing diundhuh.
- Klik Run.
Sawise eksekusi skrip TCL sukses, proyek Libero digawe ing direktori TCL_Scripts.
Kanggo informasi luwih lengkap babagan skrip TCL, deleng rtg4_ac490_df/TCL_Scripts/readme.txt.
Deleng Libero® SoC TCL Command Reference Guide kanggo rincian liyane babagan printah TCL. Kontak
Dhukungan Teknis kanggo pitakon apa wae nalika mbukak skrip TCL.
Microsemi ora menehi garansi, perwakilan, utawa jaminan babagan informasi sing ana ing kene utawa kesesuaian produk lan layanan kanggo tujuan tartamtu, uga Microsemi ora nanggung tanggung jawab apa wae sing muncul saka aplikasi utawa panggunaan produk utawa sirkuit apa wae. Produk sing didol ing ngisor iki lan produk liyane sing didol dening Microsemi wis diuji kanthi winates lan ora bisa digunakake bebarengan karo peralatan utawa aplikasi sing penting banget. Sembarang spesifikasi kinerja dipercaya bisa dipercaya nanging ora diverifikasi, lan Panuku kudu nindakake lan ngrampungake kabeh kinerja lan pangujian produk liyane, piyambak lan bebarengan karo, utawa dipasang ing, produk pungkasan. Panuku ora bakal ngandelake data lan spesifikasi kinerja utawa paramèter sing diwenehake dening Microsemi. Tanggung jawab Panuku kanggo nemtokake kesesuaian produk lan nyoba lan verifikasi sing padha. Informasi sing diwenehake dening Microsemi ing ngisor iki diwenehake "kaya, ing ngendi" lan kabeh kesalahane, lan kabeh risiko sing ana gandhengane karo informasi kasebut tanggung jawab kanggo Pembeli. Microsemi ora menehi, kanthi tegas utawa implisit, marang pihak apa wae hak paten, lisensi, utawa hak IP liyane, apa sing ana gandhengane karo informasi kasebut dhewe utawa apa wae sing diterangake dening informasi kasebut. Informasi sing disedhiyakake ing dokumen iki minangka kepemilikan Microsemi, lan Microsemi nduweni hak kanggo ngganti informasi ing dokumen iki utawa produk lan layanan apa wae tanpa kabar.
Babagan Microsemi
Microsemi, anak perusahaan saka Microchip Technology Inc. (Nasdaq: MCHP), nawakake portofolio komprehensif semikonduktor lan solusi sistem kanggo aerospace & pertahanan, komunikasi, pusat data lan pasar industri. Produk kalebu sirkuit terpadu sinyal campuran analog kinerja dhuwur lan radiasi-hardened, FPGA, SoC lan ASIC; produk manajemen daya; piranti wektu lan sinkronisasi lan solusi wektu sing tepat, nyetel standar wektu ing donya; piranti pangolahan swara; solusi RF; komponen diskrèt; panyimpenan perusahaan lan solusi komunikasi, teknologi keamanan lan keukur anti-tampproduk er; solusi Ethernet; Power-over-Ethernet ICs lan midspans; uga kemampuan lan layanan desain khusus. Sinau luwih lengkap ing www.microsemi.com.
Markas Microsemi
One Enterprise, Aliso Viejo,
CA 92656 AS
Ing AS: +1 800-713-4113
Ing njaba AS: +1 949-380-6100
Penjualan: +1 949-380-6136
Fax: +1 949-215-4996
Email: sales.support@microsemi.com
www.microsemi.com
©2021 Microsemi, anak perusahaan saka Microchip Technology Inc. Kabeh hak dilindhungi undhang-undhang. Microsemi lan logo Microsemi minangka merek dagang kadhaptar saka Microsemi Corporation. Kabeh merek dagang lan merek layanan liyane minangka properti saka sing nduweni
Dokumen / Sumber Daya
![]() |
Microsemi AC490 RTG4 FPGA: Mbangun Subsistem Prosesor Mi-V [pdf] Pandhuan pangguna AC490 RTG4 FPGA Nggawe Subsistem Prosesor Mi-V, AC490 RTG4, FPGA Nggawe Subsistem Prosesor Mi-V, Subsistem Prosesor Mi-V |