---
title: 'Log MBKM RL SoC Xirka'
disqus: hackmd
---
Log MBKM Reinforcement Learning SoC - Muhammad Adnan
===

## Tentang Program
Program ini adalah Program Penelitian di Industri yang melibatkan mahasiswa dalam rangka memberikan pengalaman magang di luar kampus yang merupakan bagian dari Program Merdeka Belajar-Kampus Merdeka [MBKM](https://hackmd.io/_M57-b0DR5KBgjWTXA3xRQ). Peserta akan dibimbing langsung oleh tim dosen dari ITB dan engineer dari industri (PT. Xirka Silicon Technology).
## Table of Contents
[TOC]
:::success
Hyperlink Rangkuman Tutorial dan Percobaan :
* [Review Jurnal](https://hackmd.io/gtWEqBbJTXyE2hksDFav-w)
* [Introduction to Reinforcement Learning](https://hackmd.io/M5jqOCOjT_q4xlnv5r9tew)
* [Tutorial HLS](https://hackmd.io/3NDrh2HJRPi2EmN28sNBVw)
* [Tutorial Vivado](https://hackmd.io/v0w7PcymQvSMX_ebo8Tg3Q)
* [Tutorial BRAM](https://hackmd.io/@IzUbkQzjT0ikPFYPUwcX1g/rkVAh8mEF)
* [Perancangan Q-Learning Accelerator](https://hackmd.io/AHPpaXIESkO-cUPte7Fx5w?view)
:::
***
## Minggu Ke-1 (30/08/2021 - 03/09/2021)
>Pertemuan perdana diadakan pada Senin, 30 Agustus 2021. Pertemuan membahas teknis pekerjaan selama MBKM serta memberikan tugas untuk minggu pertama.
| Tanggal | Kegiatan | Progres | Kendala |
| ---------- | ---------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------- |
| 30/08/2021 | Mengunduh dan mengumpulkan jurnal referensi, membaca sekilas mengenai software VIVADO, membuat akun HackMD | Jurnal telah terkumpul serta akun HackMD telah dibuat | Menunggu informasi cara mendapatkan software VIVADO |
| 31/08/2021 | Review Paper / Jurnal | Summary dari Jurnal dapat dilihat di [Hack MD](https://hackmd.io/gtWEqBbJTXyE2hksDFav-w) | | | | Instalasi Tools | MATLAB | VIVADO |
| | Mempelajari dan Mengerjakan Tutorial | Menyelesaikan introduction to reinforcement learning. Catatan terdapat pada [Hack MD](https://hackmd.io/M5jqOCOjT_q4xlnv5r9tew). | |
| 01/09/2021 | Mempelajari Q-Learning dan Mencoba Menggunakan Q-Learning Simulator | Catatan terdapat pada [Hack MD](https://hackmd.io/M5jqOCOjT_q4xlnv5r9tew). | Bagaimana menentukan nilai untuk reward pada state? Apa kegunaan discount factor? |
| 02/09/2021 | Mempelajari Q-Learning Acceletator| [Hack MD](https://hackmd.io/gtWEqBbJTXyE2hksDFav-w) | |
| 03/09/2021 | Mempelajari Parallel Implementation of Reinforcement Learning Q-Learning Technique for FPGA | [Hack MD](https://hackmd.io/M5jqOCOjT_q4xlnv5r9tew) | |
## Minggu Ke-2 (06/09/2021 - 10/09/2021)
>Pertemuan progress report terakhir dilaksanakan pada Jumat, 3 September 2021. Pertemuan membahas hasil pekerjaan selama minggu pertama.
| Tanggal | Kegiatan | Progres | Kendala |
| ---------- | ---------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------- |
| 06/09/2021 | Instalasi VIVADO dan Modelsim | Selesai | |
| 07/09/2021 | Review Paper / Jurnal| Summary dari Jurnal dapat dilihat di [Hack MD](https://hackmd.io/gtWEqBbJTXyE2hksDFav-w) | || | Membaca materi kuliah VLSI | Selesai pertemuan pertama | |
|| Mempelajari dan Mengerjakan Tutorial Okinawa LSI Design Contest | Selesai | |
| 08/09/2021 | WFO di Xirka | Meeting dengan Pak Nana membahas Q-Learning dan Aplikasinya | |
| 09/09/2021 | Menyelesaikan Parallel Implementation of Reinforcement Learning Q-Learning Technique for FPGA | [Hack MD](https://hackmd.io/gtWEqBbJTXyE2hksDFav-w) |Terdapat beberapa pertanyaan dengan tulisan **bold**. Beberapa sudah Saya dapatkan jawabannya namun butuh konfirmasi.|
| 10/09/2021 | Mempelajari Tutorial HLS | [Hack MD](https://hackmd.io/3NDrh2HJRPi2EmN28sNBVw) | |
## Minggu Ke-3 (13/09/2021 - 17/09/2021)
>Pertemuan progress report terakhir dilaksanakan pada Senin, 13 September 2021. Pertemuan membahas hasil pekerjaan selama minggu kedua.
| Tanggal | Kegiatan | Progres | Kendala |
| ---------- | ---------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------- |
| 13/09/2021 | Tutorial HLS | Coding HLS | |
| 14/09/2021 | Tutorial HLS | Simulasi Fungsional dengan C Testbench | | |
| 15/09/2021 | WFO di Xirka melanjutkan tutorial HLS | Export IP HLS | |
| 16/09/2021 | Membaca buku Perancangan Sistem VLSI | Bab 2 | |
| 17/09/2021 | WFO di Xirka dan menyelesaikan tutorial HLS | Vivado Synthesis. Rangkuman terdapat di [Hack MD](https://hackmd.io/3NDrh2HJRPi2EmN28sNBVw) | Belum mencoba membuat PS pada board Pynq |
## Minggu Ke-4 (20/09/2021 - 24/09/2021)
>Pertemuan progress report terakhir dilaksanakan pada Rabu, 22 September 2021. Pertemuan membahas hasil pekerjaan selama minggu ketiga.
| Tanggal | Kegiatan | Progres | Kendala |
| ---------- | ---------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------- |
| 20/09/2021 | Tutorial Vivado | Modul 1 - Arsitektur Zynq | |
| 21/09/2021 | Tutorial Vivado | Modul 2 - Bahasa Verilog | Kurang referensi bahasa verilog dan untuk file constraint |
| 22/09/2021 | WFO di Xirka mengerjakan Tutorial Vivado | Modul 3 - Rangkaian Kombinasional | |
| 23/09/2021 | Membaca buku Perancangan Sistem VLSI | Bab 8| |
| 24/09/2021 | WFO di Xirka dan menyelesaikan tutorial Vivado| Rangkuman terdapat di [Hack MD](https://hackmd.io/v0w7PcymQvSMX_ebo8Tg3Q) | |
## Minggu Ke-5 (27/09/2021 - 01/10/2021)
>Pertemuan progress report terakhir dilaksanakan pada Senin, 27 September 2021. Pertemuan membahas hasil pekerjaan selama minggu keempat.
| Tanggal | Kegiatan | Progres | Kendala |
| ---------- | ----------------------------------------------- | -------------------------------------------------------------------------- | --------------------------------------------------------- |
| 27/09/2021 | Tutorial Vivado| Modul 4 - Rangkaian Sekuensial|Output baru terdefinisi setelah faling edge clock, hal ini membingungkan|
| | Membaca Buku Perancangan VLSI | Bab 9 ||
| 28/09/2021 | Tutorial Vivado| Modul 2 - Bahasa Verilog | Kurang referensi bahasa verilog dan untuk file constraint |
| 29/09/2021 | WFO di Xirka mengerjakan Tutorial Vivado | Modul 5 - Pemrograman PS |
| 30/09/2021 | Memulai tutorial BRAM |Selesai Tutorial Vivado
| 01/10/2021 | WFO di Xirka dan mengerjakan tutorial BRAM| Bagian 1 sampai 4. Rangkuman terdapat di [Tutorial BRAM](https://hackmd.io/@IzUbkQzjT0ikPFYPUwcX1g/rkVAh8mEF) | |
## Minggu Ke-6 (04/10/2021 - 08/10/2021)
>Pertemuan progress report terakhir dilaksanakan pada Rabu, 07 Oktober 2021. Pertemuan mempresentasikan hasil pekerjaan selama minggu kelimat yaitu Design Flow dari SoC.
| Tanggal | Kegiatan | Progres | Kendala |
| ---------- | ---------------------------------- | ------------------------------ | ------------------------------------------------------------------------ |
| 04/10/2021 | Tutorial BRAM| Bagian ke-5 | Masalah saat menjalankan program di FPGA |
| 05/10/2021 | Tutorial BRAM| Bagian ke-5 | Belum mendapat solusi|
| 06/10/2021 | WFO di Xirka | Presentasi SoC Design Flow | |
| | Tutorial BRAM SoC |Selesai [Tutorial BRAM](https://hackmd.io/@IzUbkQzjT0ikPFYPUwcX1g/rkVAh8mEF)| |
| 07/10/2021 | Mencari Referensi Smart Navigation | Mencari parameter AGV / AMR yang dapat diukur sebagai pembanding| |
| 08/10/2021 | Mencari Referensi Smart Navigation |Menentukan spesifikasi sistem Navigasi dan model robot yang digunakan | |
## Minggu Ke-7 (11/10/2021 - 15/10/2021)
>Pada hari selasa tanggal 12 Oktober mengumpulkan laporan dari alur desain SoC. Minggu ini akan dimulai pembagian tugas untuk mengerjakan Q-Learning Accelerator.
| Tanggal | Kegiatan | Progres | Kendala |
| ---------- | ---------------------------------- | ------------------------------ | ------------------------------------------------------------------------ |
| 11/10/2021 | Laporan Alur Perancangan SoC| | |
| 12/10/2021 | Laporan Alur Perancangan SoC| Selesai||
| 13/10/2021 | WFO di Xirka | Pembagian tugas desain Q-Learning Accelerator| |
| | Membuat Verilog Accelerator dengan Basis Program [Amri](https://hackmd.io/MFGXixgrQ_6FqJNERwi0jg) |[Q-Learning Accelerator Verilog](https://hackmd.io/@IzUbkQzjT0ikPFYPUwcX1g/rkVAh8mEF)| |
| 14/10/2021 | | | |
| 15/10/2021 | | | |
## Minggu Ke-8 (18/10/2021 - 22/10/2021)
>Melanjutkan pengerjaan verilog.
| Tanggal | Kegiatan | Progres | Kendala |
| ---------- | ---------------------------------- | ------------------------------ | ------------------------------------------------------------------------ |
| 18/10/2021 | Membuat Verilog Accelerator| [Q-Learning Accelerator Verilog](https://hackmd.io/@IzUbkQzjT0ikPFYPUwcX1g/rkVAh8mEF) | |
| 19/10/2021 | Membuat Verilog Accelerator| Blok MUX MAX||
| 20/10/2021 | Libur | | |
| 21/10/2021 | Menyusun Skema Platform Pengujian | | |
| 22/10/2021 | Membuat Verilog Accelerator | Membuat Rencana Implementasi | |
## Minggu Ke-9 (25/10/2021 - 29/10/2021)
>Melanjutkan pengerjaan verilog.
| Tanggal | Kegiatan | Progres | Kendala |
| ---------- | ---------------------------------- | ------------------------------ | ------------------------------------------------------------------------ |
| 18/10/2021 | Merancang Aplikasi Spesifik| Menyusun Skema Pengujian | |
| 19/10/2021 | Membuat Verilog Accelerator| Blok MUX MAX||
| 20/10/2021 | WFO di Xirka |Menyelesaikan blok PL dari Q Learning Accelerator | |
| 21/10/2021 | Merancang Skema Akses BRAM | Pada link Tutorial| |
| 22/10/2021 | Implementasi Akses BRAM | Selesai merancang skema akses| |
## Minggu Ke-10 (01/11/2021 - 05/11/2021)
>Melanjutkan pengerjaan verilog. Progress report pada tanggal 3 di Xirka.
| Tanggal | Kegiatan | Progres | Kendala |
| ---------- | ----------------------------------- | ----------------------------- | ------- |
| 01/11/2021 | Melanjutkan Implementasi akses BRAM | Belum ada progress | |
| 02/11/2021 | Melanjutkan Implementasi akses BRAM | Belum ada progress | |
| 03/11/2021 | WFO di Xirka | Membuat blok PG | |
| | Presentasi Progress | | |
| 03/11/2021 | Membuat blok LSFR untuk PG | Selesai
| 05/11/2021 | Membuat Policy Generator |Selesai di [Perancangan Q-Learning Accelerator](https://hackmd.io/AHPpaXIESkO-cUPte7Fx5w?view) | |
## Minggu Ke-11 (08/11/2021 - 12/11/2021)
>Melanjutkan pengerjaan verilog. Progress report pada tanggal 3 di Xirka.
| Tanggal | Kegiatan | Progres | Kendala |
| ---------- | ----------------------------------- | ----------------------------- | ------- |
| 08/11/2021 | Memperbaiki PG |Selesai|
| 09/11/2021 | Menyatukan dalam top level| Dalam progress | |
| 10/11/2021 | WFO di Xirka | Melanjutkan top level | |
| | Presentasi Progress | | |
| 11/11/2021 | Merencanakan Skema Datapath (PS-PL-BRAM) |Dalam Pengerjaan
| 12/11/2021 | Merancang Skema hubungan PS-BRAM-PL|Selesai di [Perancangan Q-Learning Accelerator](https://hackmd.io/AHPpaXIESkO-cUPte7Fx5w?view) | |
## Minggu Ke-12 (15/11/2021 - 19/11/2021)
>Melanjutkan pengerjaan verilog. Progress report pada tanggal 3 di Xirka.
| Tanggal | Kegiatan | Progres| Kendala |
| ---------- | -------------------------- | ---------------------------------------------------------------------------------------------- | ----------------------------- |
| 13/11/2021 | Membuat Timing Diagram | Satu model telah selesai|Blok MUX belum mengakses st+1 |
| | Menyiapkan dan menguji register 32-bit |Selesai | |
| 14/11/2021 | Melanjutkan Timing Diagram | Membuat model revisi | Terdapat register yang tidak perlu. Timing rt,st, dan at belum tepat |
| 15/11/2021 | WFO di Xirka | Menyelesaikan Timing Diagram | |
| 16/11/2021 | Membuat state-machine sistem|Belum Selesai ||
| 17/11/2021 | Mengimplementasikan rancangan sistem kedalam Verilog| | Merapihkan Blok Interpreter |
## Minggu Ke-13 (22/11/2021 - 26/11/2021)
>Melanjutkan pengerjaan verilog. Progress report pada tanggal 3 di Xirka.
| Tanggal | Kegiatan | Progres| Kendala |
| ---------- | -------------------------- | ---------------------------------------------------------------------------------------------- | ----------------------------- |
| 22/11/2021 | Mengimplementasikan rancangan sistem kedalam Verilog | Belum ada Progress |
| 23/11/2021 | Mengimplementasikan rancangan sistem kedalam Verilog | Belum ada Progress |
| 24/11/2021 | WFO di Xirka | Menyusun Blok Design | |
| 25/11/2021 | Membuat state-machine sistem|Belum Selesai ||
| 26/11/2021 | Membuat axi controller untuk konstanta| Selesai| |
## Minggu Ke-14 (29/11/2021 - 03/12/2021)
>Melanjutkan pengerjaan verilog. Progress report pada tanggal 3 November di Xirka.
| Tanggal | Kegiatan | Progres| Kendala |
| ---------- | -------------------------- | ---------------------------------------------------------------------------------------------- | ----------------------------- |
| 29/11/2021 | Mengerjakan Timing Diagram Baru | Dalam Progress |
| 30/11/2021 | Menyelesaikan Timing Diagram Baru | Selesai |
| | Menyelesaikan FSM | Selesai | |
| | Menyelesaikan Control Unit | Selesai | |
| 01/12/2021 | Membuat state-machine sistem|Belum Selesai ||
| 02/12/2021 | Mengimplementasikan skema hubungan BRAM-PL-PS| | Dalam Pengerjaan |
| 03/12/2021 | Mengimplementasikan keseluruhan SoC| | Didapatkan hasil implementasi dengan clock 100MHz, namun belum bekerja |
## Minggu Ke-15 (06/12/2021 - 10/12/2021)
>Melanjutkan pengerjaan verilog. Progress report pada tanggal 3 November di Xirka.
| Tanggal | Kegiatan | Progres| Kendala |
| ---------- | -------------------------- | ---------------------------------------------------------------------------------------------- | ----------------------------- |
| 06/12/2021 | Mensimulasikan skema hubungan BRAM-PL-PS | Dalam Pengerjaan
| 07/12/2021 | Mensimulasikan skema hubungan BRAM-PL-PS | Dalam Pengerjaan |
| 08/12/2021 | Implementasi SoC |Dalam Pengerjaan |
| 09/12/2021 | Implementasi SoC |Dalam Pengerjaan | |
| 10/12/2021 | Pengujian Akhir| Selesai | |
## Coming Weeks
:::info
**This project is done.**
:::
###### tags: `MBKM` `Reinforcement Learning` `SoC`