digilib@itb.ac.id +62 812 2508 8800

Dokumen Asli
Terbatas  Dessy Rondang Monaomi
» Gedung UPT Perpustakaan

Pada tugas akhir ini, akan dibuat suatu desain prosesor berbasis NEORV32 yang menggunakan arsitektur RISC-V. Desain ini akan diimplementasikan pada FPGA yang memiliki sumber daya logika dan memory menengah ke bawah seperti PYNQ-Z1 dari Diligent. Agar dapat diprogram oleh pengguna dari PC menggunakan port USB, akan dibuat suatu bootloader untuk menerima program dalam bentuk file biner yang diimplementasikan ke FPGA bersama desain. Bootloader ini akan menggunakan periferal UART untuk berkomunikasi dengan PC. Kemudian, untuk berkomunikasi dengan prosesor dan mengirim file biner tersebut, pada PC akan dibuat suatu program serial monitor. Program ini akan menggunakan USB serial port pada PC. Agar dapat berkomunikasi, antara PC dengan FPGA akan dihubungkan dengan USB-to-UART brigde. Bootloader akan dijalankan saat setelah prosesor dihidupkan. Bootloader akan menerima beberapa perintah melalui UART. Perintah yang tersedia antara lain restart untuk memulai kembali bootloader, help untuk mengirimkan pesan bantuan, upload untuk bersiap menerima file, dan execute untuk mengeksekusi program yang telah di-upload. Bootloader dibuat dalam bahasa C dan di-compile menggunakan compiler NEORV32. Output dari compiler adalah program VHDL yang digunakan untuk menginstantiasi ROM untuk bootloader. Program serial monitor akan meminta nama port dan baud rate sesaat setelah dijalankan. Setelah itu, jika berhasil terhubung, akan mengirimkan semua karakter yang ditekan oleh keyboard kecuali ESC dan F1. ESC digunakan unruk menutup program dan F1 digunakan unruk meminta file untuk dikirimkan. Program akan dibuat menggunakan bahasa C++ pada Microsoft Visual Studio 2022. Dari hasil yang di dapat, bootloader sudah dapat menerima perintah dan file biner dari PC serta dapat mengirimkan karakter ke PC. Secara keseluruhan, program bootloader dan serial monitor telah berhasil untuk menggunakan periferal USB pada desain prosesor dengan catatan bahwa harus ada penghubung antara USB dengan UART. Hal ini penting agar prosesor mampu digunakan untuk berbagai macam keperluan pengguna.