# Log MBKM RL SoC Catatan kegiatan Perancangan Prosesor Reinforcement Learning dalam System on Chip. Lengkapnya pada tautan berikut: https://bit.ly/MBKM-RL-SoC [ToC] ## Identitas Nama : Andi Muhammad Riyadhus Ilmy NIM : 13217053 Topik : Intelligent Traffic Control ## Logbook Minggu 1 ### Rabu, 1 September 2021 Kegiatan|Hasil|Kendala/Keterangan -|-|- Membaca referensi 1: *An Efficient Hardware Implementation of Reinforcement Learning: The Q-Learning Algorithm*|Membuat [rangkuman](https://drive.google.com/file/d/1oF0ESrps8srxZtHfqYvXfdKl2IawytGE/view?usp=sharing) berdasarkan pemahaman dari membaca *paper*.|Tidak ada Membaca referensi 2: *Parallel Implementation of Reinforcement Learning Q-Learning Technique for FPGA*|Rangkuman belum sempat bisa ditulis, masih memahami *paper*|Perbedaan arsitektur dan pendefinisian *action*, *state*, dan komponen lain yang digunakan dalam 1 iterasi memperlambat pemahaman literatur. ### Kamis, 2 September 2021 Kegiatan|Hasil|Kendala/Keterangan -|-|- Menuliskan rangkuman untuk referensi 2| [Rangkuman](https://drive.google.com/file/d/1WmbxAjE8HGZ2hvqcz7gvgUSU4WeJt2f4/view?usp=sharing) berdasarkan pemahaman dari membaca *paper* | Tidak ada Menonton Tutorial 2: Tutorial Singkat tentang *Reinforcement Learning* dan Tutorial 4: Pengantar *Reinforcement Learning*|[Catatan](https://hackmd.io/@rydshlmy/SyZMO_0ZK) tentang pemahaman RL|Catatan masih berisi [taksonomi RL](https://hackmd.io/@rydshlmy/SyZMO_0ZK#Taksonomi-Reinforcement-Learning) saja. Terkait RL secara umum telah dituliskan pada rangkuman *paper* dan belum sempat dituliskan pada catatan. ### Jumat, 3 September 2021 Kegiatan|Hasil|Kendala/Keterangan -|-|- *Progress report* dan diskusi membahas *paper* dengan dosen pembimbing secara daring|Mendapat pelajaran cara melakukan *review paper* yang baik. Perlu memperbaiki rangkuman yang telah ditulis. | ### Minggu, 5 September 2021 Kegiatan|Hasil|Kendala/Keterangan -|-|- Melakukan instalasi Vivado|Vivado versi 2016.4 telah terinstall pada komputer|Tidak ada Catatan: - Perbedaan utama antara arsitektur yang diajukan oleh referensi 1 dan referensi 2 terdapat pada paralelisasi yang dilakukan. Pada referensi 1, paralelisasi dilakukan berdasarkan *action* yang ada. Sedangkan pada referensi 2, paralelisasi dilakukan berdasarkan *state* yang ada. Singkatnya, arsitektur pada referensi 1 itu *long* sedangkan arsitektur pada referensi 2 itu *wide*. - Q-Learning merupakan algoritma Reinforcement Learning Off-Policy, sedangkan SARSA (State-Action-Reward-State-Action) merupakan algoritma On-Policy. - Pengembangan dilakukan dengan FPGA karena mudah untuk melakukan *rapid prototyping* dan dapat merancang proses komputasi yang paralel. - Q-Value pasti akan konvergen jika jumlah iterasi yang dilakukan cukup banyak. Jumlah tersebut bervariasi tergantung kasus implementasi yang didefinisikan. - Q-learning dan SARSA merupakan *value-based reinforcement learning*. Pertanyaan: - Diantara kedua arsitektur, jika seluruh parameter *learning* yang sama, mana yang memiliki waktu *learning* tercepat? ## Logbook Minggu 2 ### Senin, 6 September 2021 Kegiatan|Hasil|Kendala/Keterangan -|-|- Melakukan review kembali Paper 1|Memperbarui [rangkuman *review* paper 1]()| Rangkuman belum selesai. ### Selasa, 7 September 2021 Kegiatan|Hasil|Kendala/Keterangan -|-|- Review ulang Paper 2|Memperbarui [rangkuman *review* paper 2](https://drive.google.com/file/d/1x17i4rjeg-81KIcRh1SFTCcRNR4x9SXh/view?usp=sharing)| Rangkuman belum selesai. ### Rabu, 8 September 2021 Kegiatan|Hasil|Kendala/Keterangan -|-|- Melanjutkan *review* ulang Paper 2 bagian Proposed Architecture|Memperbarui [rangkuman *review* paper 2](https://drive.google.com/file/d/1x17i4rjeg-81KIcRh1SFTCcRNR4x9SXh/view?usp=sharing). Penambahan pada bagian arsitektur yang diajukan.|Rangkuman belum selesai. Masih belum memahami bagaimana cara kerja algoritma *pseudo randon number generator* yang digunakan pada Modul *action draw*. PRGN yang digunakan adalah Linear Congruential Generator. ### Jumat, 10 September 2021 Kegiatan|Hasil|Kendala/Keterangan -|-|- Menyelesaikan *review* ulang Paper 2 bagian hasil dan analisis|Memperbarui [rangkuman *review* paper 2](https://drive.google.com/file/d/1x17i4rjeg-81KIcRh1SFTCcRNR4x9SXh/view?usp=sharing). Penambahan terkait hasil dan analisis implementasi arsitektur.|Tidak ada Catatan: Pertanyaan: - Pada Paper 2, bagaimana modul SEL menentukan state selanjutnya dengan masukan state saat ini? ## Logbook Minggu 3 ### Senin, 13 September 2021 Kegiatan|Hasil|Kendala/Keterangan -|-|- Progress Report dengan Pembimbing | | ### Rabu, 15 September 2021 Kegiatan|Hasil|Kendala/Keterangan -|-|- Tutorial : Developing a ZYNQ SoC using Xilinx Vivado and SDK| Board FPGA melakukan blink dengan interval 1 detik. Dokumentasi dapat dilihat [disini.](https://hackmd.io/Z2fK92JBRLmfPhMpq1Duzg?both#Tutorial--Developing-a-ZYNQ-SoC-using-Xilinx-Vivado-and-SDK) | Program pada SDK sempat tidak bisa di compile. Setelah *uninstall* WinAVR masalah terselesaikan. ### Kamis, 16 September 2021 Kegiatan|Hasil|Kendala/Keterangan -|-|- Tutorial Modul 1 - Arsitektur Zynq | Dokumentasi dapat dilihat [disini.](https://hackmd.io/Z2fK92JBRLmfPhMpq1Duzg#Tutorial-Modul-1---Arsitektur-Zynq)| Modifikasi Tutorial 1, membuat *logic gates selector*| Dokumentasi dapat dilihat [disini.](https://hackmd.io/Z2fK92JBRLmfPhMpq1Duzg#Membuat-ALU-Sederhana) | ### Jumat, 17 September 2021 Kegiatan|Hasil|Kendala/Keterangan -|-|- Tutorial Modul 5 - Pemrograman Dasar PS | Dokumentasi dapat dilihat [disini.](https://hackmd.io/Z2fK92JBRLmfPhMpq1Duzg#Tutorial-Modul-5---Arsitektur-Zynq) | Tutorial Modul 6 - Pemrograman PS Lanjutan| Dokumentasi dapat dilihat [disini.](https://hackmd.io/Z2fK92JBRLmfPhMpq1Duzg#Tutorial-Modul-6---Arsitektur-Zynq) | Terdapat kendala pada saat melakukan *generate bitstream*. Sudah diskusi dengan dosen pembimbing tapi belum sempat mengimplementasikan saran/solusi yang diberikan. Diskusi dan tutor bersama untuk masing-masing hasil tutorial yang telah dilakukan||Tutor membahas Tutorial HLS dan Modul 1 - Arsitektur Zynq ## Logbook Minggu 4 ### Selasa, 21 September 2021 Kegiatan|Hasil|Kendala/Keterangan -|-|- Mencoba tutorial dari [Youtube](https://youtu.be/_odNhKOZjEo) tentang integrasi PS dan PL|Dokumentasi dapat dilihat [disini](https://hackmd.io/D1kn4stCSimYG0AGCStyRQ#Tutorial-ZYNQ-for-beginners-programming-and-connecting-the-PS-and-PL).| - Memasalah sudah diselsesaikan ada pada top level design masih belum ke system wrapper makanya tidak bisa generate bitstream. Catatan: Pertanyaan: ### Rabu, 22 September 2021 Kegiatan|Hasil|Kendala/Keterangan -|-|- Tutorial Modul 2 - Tutorial Modul 3 - Rangkaian Kombinasional|Dokumentasi dapat dilihat [disini](https://hackmd.io/Z2fK92JBRLmfPhMpq1Duzg#6-Tutorial-Modul-3---Rangkaian-Kombinasional).| Tutorial BRAM |Dokumentasi dapat dilihat [disini](https://hackmd.io/@rydshlmy/Byzrg1mXK#7-Tutorial-BRAM).| Baru sampai pada Bagian 1 - Simulasi Block Memory ### Kamis, 23 September 2021 Kegiatan|Hasil|Kendala/Keterangan -|-|- Tutorial BRAM |Dokumentasi dapat dilihat [disini](https://hackmd.io/@rydshlmy/Byzrg1mXK#7-Tutorial-BRAM).| Baru sampai pada Bagian 3 - Pembuatan IP Core Multiplier ### Jumat, 24 September 2021 Kegiatan|Hasil|Kendala/Keterangan -|-|- Tutorial BRAM |Dokumentasi dapat dilihat [disini](https://hackmd.io/@rydshlmy/Byzrg1mXK#7-Tutorial-BRAM).| Menyelesaikan sampai Bagian 5 - Implementasi Keseluruhan Sistem ## Log Minggu 5 ### Senin, 27 September 2021 Kegiatan|Hasil|Kendala/Keterangan -|-|- Progress Report dengan Pembimbing|Saran untuk menggunakan *interrupt* untuk sinyal *done* pada PS| Implementasi *Q-updater* pada vivado|Masih membuat *testbench* dan memastikan desain benar. *Progress* sekitar 30%| ### Selasa, 28 September 2021 Kegiatan|Hasil|Kendala/Keterangan -|-|- Implementasi *Q-updater* pada vivado|Dokumentasi lengkap dapat dilihat [disini](https://hackmd.io/@rydshlmy/rkN0PQe4t). Tinggal menyelesaikan dokumentasi. *Progress* 95%|Operator arithmetic logic shift `>>>` tidak bekerja. Right shifter yang telah dirancang perlu dimodifikasi. ### Rabu, 29 September 2021 Kegiatan|Hasil|Kendala/Keterangan -|-|- Kumpul Rutin dengan Tim AI PME|Saran untuk mendefinisikan sendiri right shifter, tidak perlu bertumpu pada syntax `signed` pada verilog| Coba BRAM untuk Implementasi|Rencana implementasi sederhana dengan kasus PS dan PL sharing block memory yang sama bisa direalisasikan dengan diberikan jeda 1 clock antara *read* dan *write*. Rencana tersebut justru akan meningkatkan *delay* yang akan terakumulasi seiring bertambahnya iterasi.|Konfllik baca dan tulis *overlap* Implementasi *Q-accelerator* pada vivado|Dokumentasi lengkap dapat dilihat [disini](https://hackmd.io/MFGXixgrQ_6FqJNERwi0jg#2-Modul-Q-agent). Baru menggabungkan mux, max, register, dan q-updater. *Progress* 40%| ### Kamis, 30 September 2021 Kegiatan|Hasil|Kendala/Keterangan -|-|- Diskusi daring via *chat* dengan Kak Handi EL16 terkait dataflow RAM|Dapat penjelasan dan referensi *timing diagram* untuk arsitektur yang sudah dirancang Kak Handi - Setiap PORT pada block memory generator hanya bisa menerima input dari satu sumber saja. - Input hanya bisa menerima dari satu sumber Output, sedangkan satu Output bisa di teruskan ke beberapa input. - [ ] Buat implementasi sederhana untuk realisasi data flow berikut. ![](https://i.imgur.com/KNSZ1TO.png) - Setiap blok pada implementasi perlu disediakan sinyal EN ## Log Minggu 6 ### Senin, 4 Oktober 2021 Pekerjaan|Persentase|Kendala|Rencana Kedepannya|Catatan -|:-:|-|-|- Impelementasi keseluruhan Q-Learning Accelerator|40%|Hasil belum sesuai dengan seharusnya, karena *timing* belum sesuai| Modifikasi *timing* rancangan sehingga baca dan tulis di *clock cycle* berbeda|Semua *block* untuk *hardware accelerator* sudah terhubung ### Selasa, 5 Oktober 2021 Pekerjaan|Persentase|Kendala|Rencana Kedepannya|Catatan -|:-:|:-:|:-:|- Belajar terkait *timing* BRAM|-|-|-|IP Core BRAM pada Vivado mengeluarkan *read data* saat *rising edge*, hal ini menyebabkan didapatkan perbedaan perilaku yang bergantung pada nilai awal sinyal *clock*. Implementasi keseluruhan Q-Learning Accelerator|45%||Melanjutkan memperbaiki *timing* implementasi|Memperbaiki *max block* yang tidak mempertimbangkan *sign bit*. Mencoba memperbaiki *timing block*, belum berhasil. :::spoiler Catatan BRAM Karena block memory mengeluarkan hasil pada saat nilai rising edge, bagaimana clock sangat mempengaruhi. Hasil saat *clock* dimulai dengan LOW ![](https://i.imgur.com/y61c7ly.png) Hasil saat *clock* dimulai dengan HIGH ![](https://i.imgur.com/scsGnYk.png) Perbedaan awal *clock* mempengaruhi *timing* data yang keluar saat memori menerima *read address*. Ketika sinyal *clock* dimulai dari LOW, maka data yang dibaca akan keluar bersamaan dengan saat *address* diberikan. Namun ketika sinyal *clock* dimulai dari HIGH, maka data akan keluar setelah setengah *clock* dari saat *address* diberikan. Jadi bagaimana menentukan sinyal *clock*, dimulai dari LOW (Satu Cycle = LOW-HIGH) atau dimulai dari HIGH (Satu cycle = HIGH-LOW)? Awal sinyal *clock* seharusnya tidak mempengaruhi perilaku produk performa, fokus pada perilaku sistem. ::: ### Rabu, 6 Oktober 2021 Pekerjaan|Persentase|Kendala|Rencana Kedepannya|Catatan -|:-:|-|:-:|- Presentasi Implementasi RL Soc Sederhana|-|Demo *real time* tidak bisa, meski sebelumnya bisa. Namun ketika dicoba lagi setelah presentasi sudah bisa kembali.|-| Membuat rencana timing diagram untuk *control unit* Q-learning. ### Kamis, 7 Oktober 2021 Melanjutkan perancangan timing diagram ### Jumat, 8 Oktober 2021 Mulai implementasi block ## Log Minggu 7 ### Senin, 11 Oktober 2021 Pekerjaan|Persentase|Kendala|Rencana Kedepannya|Catatan -|:-:|-|:-:|- Membuat laporan mingguan|-|-|-|- Implementasi keseluruhan Q-Learning Accelerator|80%|Saat ini hasil simulasi masih belum sesuai dengan *timing* yang diinginkan, kemungkinan terdapat salah skenario pada *testbench*|-|Sedang memastikan hasil dengan *timing diagram* dan simulasi matlab. ### Rabu, 13 Oktober 2021 Pekerjaan|Persentase|Kendala|Rencana Kedepannya|Catatan -|:-:|-|:-:|- Meet dengan team AI|-|-|-|Modifikasi desain dimana terdapat perubahan posisi agent selama proses learning. ### Kamis, 14 Oktober 2021 Pekerjaan|Persentase|Kendala|Rencana Kedepannya|Catatan -|:-:|-|:-:|- Implementasi interpreter|10%|-|-|Berhasi mengimplementasikan blok stateGen ## Minggu 8 :::warning Pekerjaan minggu ini, lupa didokumentasikan oleh penulis. ::: ## Minggu 9 ### Senin, 25 Oktober 2021 Pekerjaan|Persentase|Kendala|Rencana Kedepannya|Catatan -|:-:|-|:-:|- Membuat *weekly report* minggu 5|-|-|-|- Melanjutkan implementasi *control unit* berdasarkan *timing diagram* yang baru|40%|-|-|Implementasi dilakukan bersamaan dengan modifikasi rancangan blok lain untuk menambahkan port *control signal*. ### Selasa, 26 Oktober 2021 Pekerjaan|Persentase|Kendala|Rencana Kedepannya|Catatan -|:-:|-|:-:|- Revisi *timing diagram*|100%|-|-|Revisi dilakukan berdasarkan pemahaman baru dari implementasi *control unit*. Sinyal next state pertama harus di-*generate* sebelum memulai perhitungan Q value pertama dimulai. Mulai menyamakan hasil rancangan simulasi *behavioral* dengan *timing diagram*|10%|Register untuk memberikan delay yang dirancang tidak memberikan hasil simulasi *behavioral* yang sama pada saat digunakan sebagai instatiation pada blok lain dan saat disimulasikan sendiri.|-|Menyamakan delay dan melakukan penambahan register untuk memberikan latency pada setiap blok. ### Rabu, 27 Oktober 2021 Pekerjaan|Persentase|Kendala|Rencana Kedepannya|Catatan -|:-:|-|:-:|- Menyamakan rancangan hasil simulasi *behavioral* dengan rancangan *timing diagram* |10%|Kendala yang ditemukan kemarin masih belum bisa diselesaikan. Meski sudah dilakukan variasi modifikasi, masalah belum bisa diselesaikan.|Menanyakan terkait masalah kepada Pak Akhmad| Menulis deskripsi arsitektur untuk membantu publikasi *paper*.|30%|-|-|- ### Kamis, 28 Oktober 2021 Pekerjaan|Persentase|Kendala|Rencana Kedepannya|Catatan -|:-:|-|:-:|- Menulis deskripsi arsitektur untuk membantu publikasi *paper*.|100%|-|-|Deskripsi arsitektur dibuat tidak terlalu spesifik karena tujuan paper yang berfokus pada arsitektur yang fleksibel. Menyamakan rancangan hasil simulasi *behavioral* dengan rancangan *timing diagram* |20%|Berdasarkan hasil diskusi dengan Pak Akhmad, masalah merupakan *glitch* dari program vivado.|-|Kendala sudah ditanyakan kepada Pak Akhmad. Kendala tidak sepenuh terselesaikan tapi dapat saran untuk kedepannya implementasi register diletakkan sebelum input. ### Jumat, 29 Oktober 2021 Pekerjaan|Persentase|Kendala|Rencana Kedepannya|Catatan -|:-:|-|:-:|- Menyamakan rancangan hasil simulasi *behavioral* dengan rancangan *timing diagram* |40%|*Glitch* disebabkan PC belum pernah dimatikan, hanya *sleep*. Setelah dilakukan restart, masalah yang ditemukan terselesaikan.|-| Timing untuk blok *interpreter* (IE) telah selesai disamakan. Melanjutkan ke *timing* untuk blok *policy generator* (PG) ## Minggu 10 ### Senin, 1 November 2021 Pekerjaan|Persentase|Kendala|Rencana Kedepannya|Catatan -|:-:|-|:-:|- Menyamakan rancangan hasil simulasi *behavioral* dengan rancangan *timing diagram*|50%|-|-|Timing untuk blok *policy generator* (PG) telah selesai disamakan. Melanjutkan ke *timing* untuk blok *Q-Updater* ### Selasa, 2 November 2021 Pekerjaan|Persentase|Kendala|Rencana Kedepannya|Catatan -|:-:|-|:-:|- Menyamakan rancangan hasil simulasi *behavioral* dengan rancangan *timing diagram*|60%|-|-|Masih mengerjakan *timing* untuk blok *Q-Updater*. Membantu menulis Paper untuk Kak Handi|100%| -|-|Menulis deskripsi arsitektur Q-Updater ### Rabu, 3 November 2021 Pekerjaan|Persentase|Kendala|Rencana Kedepannya|Catatan -|:-:|-|:-:|- Progress Report Implementasi RL|-|-|- Membantu menulis Paper Kak Handi|100%| -|-|Menulis deskripsi bagian *introduction* tentang Q-Learning. ### Kamis, 4 November 2021 Pekerjaan|Persentase|Kendala|Rencana Kedepannya|Catatan -|:-:|-|:-:|- Merancang CU dan integrasi semua blok | 30% | Ditemukan perilaku blok register yang berbeda meski memiliki kode Verilog yang sama |- | Dilakukan penggabungan semua blok yang telah dirancang dan simulasi dengan testbench. Kemudian mulai ditambahkan sinyal kendali melalui testbench ### Jumat, 5 november 2021 Pekerjaan|Persentase|Kendala|Rencana Kedepannya|Catatan -|:-:|-|:-:|- Merancang CU dan integrasi semua blok | 40% | Setelah diskusi dengan Pak Akhmad, behavior berbeda kemungkinan terjadi karena perbedaan asal sinyal (dari testbench atau dari modul instantiation lain). |Menyelesaikan integrasi semua blok dan control unit baru melakukan simulasi untuk menghindari behavior berbeda untuk implementasi register | Debugging, terkait kendala perbedaan perilaku register. ## Minggu 11 ### Senin, 8 November 2021 Pekerjaan|Persentase|Kendala|Rencana Kedepannya|Catatan -|:-:|-|:-:|- Merancang CU dan integrasi semua blok|50%|-|-|Implementasi bagian FSM pada CU. Dilakukan perancangan FSM berdasarkan timing diagram Q-Accelerator. ### Selasa, 9 November 2021 Pekerjaan|Persentase|Kendala|Rencana Kedepannya|Catatan -|:-:|-|:-:|- Merancang CU dan integrasi semua blok|60%|-|-|Masih melakukan implementasi bagian FSM pada CU. Menyesuaikan sinyal kendali dengan revisi timing diagram Revisi Timing Diagram|100%%|-|-|Revisi timing diagram Rancangan terbaru menunjukkan dapat dicapai arsitektur pipeline dengan latency 2 clock cycle ### Rabu, 10 November 2021 Pekerjaan|Persentase|Kendala|Rencana Kedepannya|Catatan -|:-:|-|:-:|- Merancang CU dan integrasi semua blok|70%|-|-|Melanjutkan impelementasi FSM untuk CU pada state di luar keadaan learning Inisialisasi, pergantian generasi, dan setelah pembelajaran) Dilakukan juga implementasi solusi terkait masalah register berdasarkan saran Kak Handi Meet dengan mahasiswa bimbingan Pak Nana|-|-|-|Diskusi di Xirka terkait arsitektur RL yang akan diimplementasikan untuk tesis mas Fakhrudin. ## Minggu 12 ### Senin, 15 November 2021 Pekerjaan|Persentase|Kendala|Rencana Kedepannya|Catatan -|:-:|-|:-:|- Implementasi CU|100%|-|Verifikasi timing seluruh sistem melalui simulasi behavioral.|Control Unit telah selesai diimplementasikan. ### Selasa, 16 November 2021 Pekerjaan|Persentase|Kendala|Rencana Kedepannya|Catatan -|:-:|-|:-:|- Verifikasi timing seluruh sistem melalui simulasi behavioral.|40%|Hasil simulasi behavioral yang didapatkan masih belum sesuai dengan rancangan.|-|Dilakukan verifikasi behavioral untuk setiap blok sekaligus melihat kesesuaian timing dengan rancangan. Masih terdapat interkoneksi yang salah dan timing yang tidak sesuai. Membantu menulis Paper untuk Kak Handi|100%| -|-|Menulis deskripsi arsitektur Q-Updater ### Rabu, 17 November 2021 Pekerjaan|Persentase|Kendala|Rencana Kedepannya|Catatan -|:-:|-|:-:|- Verifikasi timing seluruh sistem melalui simulasi behavioral.|60%|-|-|Masalah interkoneksi dan timing yang tidak sesuai telah diselesaikan. Namun, hasil learning secara simulasi tidak konvergen, penyebab masih di analisis. ### Kamis, 18 November 2021 Pekerjaan|Persentase|Kendala|Rencana Kedepannya|Catatan -|:-:|-|:-:|- Verifikasi timing seluruh sistem melalui simulasi behavioral.|70%|-|-|Hasil learning dari simulasi behavioral masih belum konvergen. Masih di analisis dan dilakukan modifikasi rancangan ## Minggu 13 ### Senin, 22 November 2021 Pekerjaan|Persentase|Kendala|Rencana Kedepannya|Catatan -|:-:|-|:-:|- Verifikasi timing seluruh sistem melalui simulasi behavioral|70%|-|-|Belum terdapat kemajuan progress setelah dilakukan analisis behavioral. Masih belum ditemukan penyebab tidak konvergen. ### Selasa, 23 November 2021 Pekerjaan|Persentase|Kendala|Rencana Kedepannya|Catatan -|:-:|-|:-:|- Verifikasi timing seluruh sistem melalui simulasi behavioral|100%|-|Melakukan interfacing PL dengan PS|Masalah yang menyebabkan learning tidak ko nvergen telah ditemukan. Masalah terkait latency pada IP Core BRAM. ### Rabu, 24 November 2021 Pekerjaan|Persentase|Kendala|Rencana Kedepannya|Catatan -|:-:|-|:-:|- Interfacing PL dengan PS|50%|-|-|Mulai dilakukan penambahan IP Core untuk dihubungkan ke AXI bus. ### Kamis, 25 November 2021 Pekerjaan|Persentase|Kendala|Rencana Kedepannya|Catatan -|:-:|-|:-:|- Interfacing PL dengan PS|100%|-|Semua IP Core dan modul RTL telah disatukan. Dan telah dilakukan synt hesis. Hasil yang didapatkan masih belum bisa mencapai clock 50 MHz. ### Jumat, 26 November 2021 Pekerjaan|Persentase|Kendala|Rencana Kedepannya|Catatan -|:-:|-|:-:|- Revisi Pipeline|80%|-|-|Masih dilakukan revisi perancangan pipeline pada critical path arsitektur. ## Minggu 14 ### Senin, 29 November 2021 Pekerjaan|Persentase|Kendala|Rencana Kedepannya|Catatan -|:-:|-|:-:|- Revisi Pipeline|100%|-|Revisi Pipelining untuk bisa mencapai 100 MHz.|Revisi pipeline telah dilakukan. Saat ini arsitektur memiliki latency 4 clock cycle dan sudah dapat mencapai clock 50 MHz namun belum bisa untuk 100 MHz. ### Selasa, 30 November 2021 Pekerjaan|Persentase|Kendala|Rencana Kedepannya|Catatan -|:-:|-|:-:|- Impelementasi Arsitektur pada Board PYNQ Z-1|50%|-|-|Mulai menggunakan kode PS dari Kak Handi sebagai dasar untuk implementasi arsitektur ### Rabu, 1 Desember 2021 Pekerjaan|Persentase|Kendala|Rencana Kedepannya|Catatan -|:-:|-|:-:|- Impelementasi Arsitektur pada Board PYNQ Z-1|80%|-|-|Hasil sudah Q Table sudah dapat dibaca dari hasil learning. Namun belum konvergen. ### Kamis, 2 Desember 2021 Pekerjaan|Persentase|Kendala|Rencana Kedepannya|Catatan -|:-:|-|:-:|- Merancang Arsitektur Pipeline 2|20%|-|-|Revisi Pipeline untuk mencapai 100 MHz ### Jumat, 3 Desember 2021 Pekerjaan|Persentase|Kendala|Rencana Kedepannya|Catatan -|:-:|-|:-:|- Membuat PL Wrapper|100%|-|-|Membuat Wrapper untuk semua kode RTL untuk memudahkan implementasi desain. Merancang Arsitektur Pipeline 2|50%|-|-|Masih pada tahap dilakukan perancagan timing diagram :::warning Penulis tidak sempat mendokumentasikan kegiatan selama periode 6 Desember 2021-27 Desember 2021. Secara umum pekerjaan yang dilakukan adalah finalisasi arsitektur dan persiapan presentasi akhir. Penulis izin dari kegiatan MBKM selama 14 Desember 2021 s/d 23 Desember 2021 untuk fokus pada persiapan sidang akhir. ::: ## Link Absen Harian https://s.id/Presensi-MBKM-ITB2021