Pemodelan Arsitektur Prosesor RISC-V 32I Menggunakan Verilog untuk Tipe Instruksi Branch (B), Upper (U), dan Jump (J)
FANA NUGROHO WIJAYANTO, Ir. Agus Bejo, S.T., M.Eng., D.Eng., IPM. ; Enas Dhuhri Kusuma, S.T., M.Eng.
2025 | Skripsi | TEKNIK ELEKTRO
Semakin berkembangnya teknologi, sumber daya seperti semikonduktor menjadi komoditas yang sangat penting. Pembangunan industri semikonduktor secara utuh mulai dari desain hingga tahap manufaktur dan siap pakai membutuhkan usaha dan teknologi yang rumit. Salah satu usaha yang dapat dilakukan oleh negara berkembang seperti Indonesia untuk ikut serta dalam pertumbuhan industri semikonduktor adalah dengan memulai tahap pertama dalam industri semikonduktor, khususnya pada bidang pengembangan chip, yaitu tahap desain. Desain prosesor pun memiliki tingkat kompleksitas yang bervariasi. Variasi tersebut dapat disebabkan oleh beberapa faktor, salah satunya adalah tipe arsitektur yang diimplementasikan. Tidak semua arsitektur dapat diimplementasikan dengan mudah. Arsitektur seperti X86 adalah tipe arsitektur closed dan proprietary. Hal tersebut menyebabkan pengembangan arsitektur dengan status closed dan proprietary memerlukan royalti fee. Selain itu, keperluan kustomisasi juga lebih sulit untuk dilakukan karena efek closed tersebut. Maka dari itu, penelitian ini bertujuan untuk memberikan sebuah model prosesor single cycle dengan arsitektur RISC-V yang bersifat open dan free.
Arsitektur RISC-V merupakan open architecture sehingga eksplorasi dan kustomisasi dapat dilakukan dengan bebas serta tidak perlunya membayar royalti fee atas penggunaan arsitektur ini. Desain prosesor ini dilakukan dengan bahasa deskripsi verilog. Metodologi yang digunakan adalah pembuatan desain prosesor menggunakan bahasa deskripsi verilog diakhiri dengan simulasi untuk menguji kerja prosesor menggunakan simulator Icarus Verilog. Pengujian desain dilakukan untuk memastikan desain prosesor sudah mampu bekerja dengan benar. Pengujian tersebut terbagi menjadi dua tahap yaitu pengujian dengan kode sumber assembly language dan bahasa pemrograman C. Pengujian dengan assembly language diperlukan untuk menguji prosesor sudah mampu mengerjakan instruksi tipe B, U, dan J. Pengujian menggunakan bahasa C bertujuan untuk memastikan prosesor mampu mengerjakan gabungan beberapa instruksi yang menyelesaikan perhitungan yang sedikit lebih kompleks. Program uji dalam bahasa C akan dikompilasi terlebih dahulu menggunakan GCC RISC-V Compiler. Hasil kompilasi tersebut berupa kode mesin akan masuk ke ROM dan dijalankan oleh prosesor. Terdapat 3 program uji bahasa C, yaitu perhitungan N bilangan, modulo, dan faktorial.
Pengujian tiap tipe instruksi B, U, dan J serta pengujian dengan tiga perhitungan menggunakan bahasa C menunjukkan bahwa prosesor sudah memberikan keluaran yang sesuai. Hal ini menandakan bahwa desain model prosesor sudah bekerja dengan benar. Desain prosesor yang sudah terbentuk diharapkan mampu mendukung Indonesia untuk memulai pengembangan industri semikonduktor dalam negeri.
As technology advances, resources such as semiconductors become very important commodities. The development of a complete semiconductor industry from design to manufacturing and ready-to-use requires complex efforts and technology. One of the efforts that can be made by developing countries such as Indonesia to participate in the growth of the semiconductor industry is to start the first stage in the semiconductor industry, especially in the field of chip development, namely the design stage. Processor design also has varying levels of complexity. These variations can be caused by several factors, one of which is the type of architecture implemented. Not all architectures can be implemented easily. Architectures such as X86 are closed and proprietary architecture types. This causes the development of architectures with closed and proprietary status to require royalty fees. In addition, customization needs are also more difficult to do because of the closed effect. Therefore, this study aims to provide a single cycle processor model with an open and free RISC-V architecture.
RISC-V architecture is an open architecture so that exploration and customization can be done freely and there is no need to pay royalty fees for the use of this architecture. The design of this processor is done using the Verilog description language. The methodology used is the creation of a processor design using the Verilog description language ending with a simulation to test the processor’s performance using the Icarus Verilog simulator. Design testing is carried out to ensure that the processor design is able to work properly. The testing is divided into two stages, namely testing with assembly language source code and the C programming language. Testing with assembly language is needed to test that the processor is able to process type B, U, and J instructions. Testing using the C language aims to ensure that the processor is able to process a combination of several instructions that complete slightly more complex calculations. The test program in C language will be compiled first using the GCC RISC-V Compiler. The results of the compilation in the form of machine code will enter the ROM and be run by the processor. There are 3 C language test programs, namely the calculation of N numbers, modulo, and factorial.
All tests results indicating that the processor has provided the appropriate output. This indicates that the processor model design is working properly. The processor design that has been formed is expected to be able to support Indonesia in starting the development of the domestic semiconductor industry.
Kata Kunci : prosesor, instruction set architecture, risc-v, verilog