交大修課心得 - 數位電路實驗

課程綱要

課程名稱:(中文授課)數位電路實驗

授課教師:蔡淳仁

修課年度:107上 資工系 – 必修

使用書籍:無

心得

教了什麼

共有 8 次 LAB,大部分都在 FPGA 上操作:

  1. Matrix multiplication (Simulator)
  2. De-bouncing circuit & LED control (FPGA)
  3. 1602 Text LCD control (FPGA)
  4. UART communications (FPGA)
  5. Matrix multiplication for real (FPGA)
  6. SD card data-reading (FPGA)
  7. Passkey cracking (FPGA)
  8. VGA video display (FPGA)

上課會講一些硬體相關的知識:

  1. The Verilog HDL for Synthesizable Designs (教你怎麼寫 Verilog)
  2. FPGA (介紹 FPGA、運作原理)
  3. Register Transfer Level Designs (我沒有聽很懂)
  4. FPGA Design Techniques (介紹一些 Optimize 的方法)

上課方式

每 1 ~ 2 周會有主題,老師會在課堂上介紹一下這次的 LAB 及注意事項,在週間自己找時間進 LAB 做完,上機的時候 DEMO 給助教看成果,助教會問你一些問題然後評分。

做完 LAB 不用交結報 (太體貼學生了)

考試作業

  • 期中上機考 (20%)
  • 期末上機考 (20%)
  • 8 次 LAB (60%)

期中期末考像是小專題的感覺,就是把之前學到的東西組合再一起,題目引導你慢慢把 Code 從簡單到複雜,不會跟你說要做什麼之後就不管你了。

後記

DLAB 大概是目前修過最累的課了,主要原因是因為每次寫完 code 要 gen bit file 傳到 FPGA 上執行時都要等很久,到後面整個規模越來越大時,run 一次等個 5 分鐘都是常有的事,自己做 LAB 的時間有大概超過 5 成的時間都在等他 generate bit file。

後來我選擇的策略是先規劃整個 FSM 的架構,然後在宿舍把能寫的部分就先寫完,而且跑完模擬確認沒什麼大問題之後,才到實驗室把一些需要 FPGA 才能完成的 code 補上,最後才 gen bit file。

就算如此,debug 的過程還是真的很痛苦,在 FPGA 上要 run 對,不只 code 要正確,有些時候甚至是硬體有問題,自己也無從檢查,只能換另外一台跑跑看。

總而言之,DLAB 是一門要花很多時間的一門科目,我自己甚至有一次 LAB 直接做到隔天早上才做完剛好吃早餐…,認真修過這門課後,會對 HDL 有基本的認識,並且可以培養自己的耐心以及對 Project 整體的規劃能力:)聽說之後計組也會需要用到 verilog,如果有先修過這門課應該會有更好的基礎吧。

comments powered by Disqus