---
# System prepended metadata

title: Log MBKM RL SoC Xirka
tags: [MBKM, SoC, Reinforcement Learning]

---

---
title: 'Log MBKM RL SoC Xirka'
disqus: hackmd
---

Log MBKM Reinforcement Learning SoC - Muhammad Adnan
===
![done](https://img.shields.io/badge/project-done-green)

## 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`
