วันจันทร์ที่ 30 พฤษภาคม พ.ศ. 2559

รายงานความก้าวหน้ามินิโปรเจค

รายงานความก้าวหน้ามินิโปรเจค

วัตถุประสงค์ของมินิโปรเจค
- ศึกษาการใช้งาน CPU ที่ใช้สถาปัตยกรรมแบบ MIPS 32 บิต และ เป็น Open hardware IP core อย่างเช่นPlasma CPU
- ทดลองสร้างระบบตามตัวอย่างที่มีอยู่ในเว็บไซต์ โดยนำมาทดลองกับบอร์ด FPGA ที่มีอยู่ในห้องแล็บ
- บอร์ด Altera Cyclone III
- บอร์ด Mojo v3 (Xilinx Spartan-6)
- สาธิตการทำงานโดยใช้โค้ดตัวอย่าง หรือสร้างตัวอย่างขึ้นมาเอง เพื่อสาธิตการทำงานของฮาร์ดแวร์และโค้ดตัวอย่าง (โค้ดอาจเขียนด้วยภาษา C หรือ Assembly ก็ได้) อย่างน้อยหนึ่งตัวอย่าง

แนวทางการดำเนินการ
-แบ่งกลุ่มการทำงานไม่เกินกลุ่มละ 3 คน
- เขียน web blog นำเสนอรายงานความก้าวหน้าทุกสัปดาห์
- ส่งงานและสาธิตการทำงานสัปดาห์ถัดไปหลังช่วงสอบปลายภาค
- คะแนนของหัวข้อมินิโปรเจคนี้ คิดเป็น 20% ของคะแนนรวม 100%

 วัตถุประสงค์ที่ได้ดำเนินการไปแล้ว
1.การศึกษาข้อมูลการใช้งานของ Plasma CPU โดยค้นคว้าจากทางเว็บไซต์ที่อาจารย์ได้ลงไว้ใน google classroom และหาข้อมูลเพิ่มเติมจากเว็บไซต์อื่น ๆ
แหล่งที่มาของข้อมูล : http://opencores.org/project,plasma
                             : http://plasmacpu.no-ip.org:8080/cpu.htm
2.การศึกษาการทำงานของบอร์ด Altera Cyclone III และบอร์ด Mojo v3 (Xilinx Spartan-6) โดยค้นคว้าจากทางเว็บไซต์ที่อาจารย์ลงไว้ใน google classroom และหาข้อมูลเพิ่มเติมจากเว็บไซต์อื่น ๆ
แหล่งที่มาของข้อมูล : http://cpre.kmutnb.ac.th/esl/learning/index.php?article=mojo-v3-getting-started
                             : https://embeddedmicro.com/mojo-v3.html
                             : https://www.altera.com/products/fpga/cyclone-series/cyclone-iii/overview.html
3.หาข้อมูลและการใช้งานโปรแกรม Xilinx ISE WEBPACK เพื่อนำมาเขียนโค้ด VHDL กับตัวบอร์ด Mojo v3 (Xilinx Spartan-6)
แหล่งที่มาของตัวอย่างโค้ด : http://www.xilinx.com/support/documentation/sw_manuals/xilinx11/manuals.pdf

4.หาโค้ดตัวอย่างในการนำมาสาธิตการทำงาน โดยค้นคว้าจากทางเว็บไซต์ที่อาจารย์ได้ลงไว้ใน google classroom และหาข้อมูลเพิ่มเติมจากเว็บไซต์อื่น ๆ
แหล่งที่มาของตัวอย่างโค้ด : https://github.com/adrianj/Plasma
                                      : https://github.com/kazunori279/CPU32
                                      : https://github.com/grantae/mips32r1_xum


ผลการเรียนรู้ที่ได้รับ
          -ได้เรียนรู้วิธีการทำงาน รวมไปถึงโครงสร้าง block diagram ภายใน Plasma CPU
-ได้ศึกษาการทำงานของบอร์ดทั้งสองบอร์ด ได้แก่ บอร์ด Altera Cyclone III และบอร์ด Mojo v3 (Xilinx Spartan-6) เพื่อนำไปประยุกต์ใช้กับตัว Plasma CPU
-ได้ฝึกการเขียนโค้ดภาษา assembly และภาษา c เพื่อใช้ในการสาธิตการทำงานของฮาร์ดแวร์

ปัญหาหรืออุปสรรคและการแก้ไข
-เวลาทดลองเขียนโค้ดจะเกิดจุด bug หรือ error ในการ compile
วิธีการแก้ไข : ค้นคว้าและหาข้อมูลหรือแนวทางการแก้ไขเกี่ยวกับปัญหานั้นเพิ่มจากอินเทอร์เน็ต
-แหล่งข้อมูลมีข้อมูลที่ไม่ตรงกันบางเว็บไซต์
วิธีการแก้ไข : หาข้อมูลจากหลายๆแหล่งและนำมาเปรียบเทียบเพื่อให้เกิดความเข้าใจผิดให้น้อยที่สุด
-เกิดความสับสนในวิธีการทำงานของโค้ดหรือการเขียนโค้ด

วิธีการแก้ไข : ค้นคว้าหาตัวอย่างโค้ดจากบนอินเทอร์เน็ต เพื่อนำมาศึกษาเพิ่มเติมเกี่ยวกับการทำงานและการเขียนโค้ด