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