Category Archives: Lab Verilog

ลิงก์ที่น่าสนใจเกี่ยวกับ AVR

AVR C Library HomePage http://www.nongnu.org/avr-libc/ Online Mannual http://www.nongnu.org/avr-libc/user-manual/index.html หน้าแนะนำให้อ่าน FAQ http://www.nongnu.org/avr-libc/user-manual/group__avr__sfr.html#ga11643f271076024c395a93800b3d9546 Special function registers http://www.nongnu.org/avr-libc/user-manual/group__avr__sfr.html#ga11643f271076024c395a93800b3d9546 สำหรับปฏิบัติการ AVR มีจุดประสงค์สำคัญสองอย่างคือ 1. เขียน Assembly & C instruction ได้ ซึ่งตั้งแต่ lab_3 เป็นต้นไปก็จะไม่ค่อยมี instruction ใหม่ต้องเรียนรู้แล้ว 2. สามารถ Configure hardware ต่างๆ ซึ่งแต่ละ lab จะเรียนอันใหม่ไปเรื่อยๆ ตั้งแต่ LED, … Continue reading

Posted in เทคนิควิธีการ, Lab Verilog | Tagged , | Leave a comment

หลักเกณฑ์การให้คะแนนรายงาน

บทนำสู่หลักเกณฑ์การให้คะแนนรายงาน จุดประสงค์หลักของรายงานคือการสรุปให้ผู้อ่านได้เข้าใจถึงประเด็นสำคัญๆ ที่น่าสนใจ แต่ทว่าปัญหาหนึ่งของการทำรายงานคือผู้อ่านแต่ละคนสนใจไม่เหมือนกัน อย่างเช่นถ้าเราสร้างอุปกรณ์ใหม่มาสักตัวหนึ่ง แต่ละคนก็จะสนใจข้อมูลของอุปกรณ์ในแง่ที่แตกต่างกัน ผู้บริโภคก็จะสนใจว่าอุปกรณ์ใหม่นี้ใช้ยังไง ช่างเทคนิคก็จะสนใจกลไกการทำงานข้างใน ส่วนสปอนเซอร์หรือผู้ที่เราไปขอทุนมาสร้างก็จะสนใจว่าอุปกรณ์ชนิดนี้พิเศษอย่างไร มีความเป็นไปได้ที่จะขายได้กำไรหรือไม่ ฯลฯ ดังนั้นบางครั้งเราอาจจะเห็นเวลาทำรายงานเล่มใหญ่ๆ เนื้อหาบางบทอาจซ้ำซ้อนกัน ทั้งนี้ก็เพราะว่า ผู้ที่สนใจแต่ละคนก็จะข้ามไปอ่านเฉพาะบทที่ตนเองสนใจเท่านั้น ข้อมูลบางอันที่ควรรู้จึงถูกกล่าวถึงซ้ำๆ ในแต่ละบทด้วยภาษาที่แตกต่างกันไป ในที่นี้เราจะมาเน้นถึงรายงานใน Lab ที่เราทำ ใน Lab นี้เป็นรายงานการออกแบบระบบเป็นส่วนใหญ่ ดังนั้นเราจึงควรเข้าใจว่าคนที่อ่านรายงานการออกแบบสามารถแบ่งออกเป็นกี่กลุ่ม และแต่ละกลุ่มสนใจอะไรบ้าง ผู้เกี่ยวข้องกับการออกแบบระบบแบ่งได้เป็นกลุ่มใหญ่ๆ 3 กลุ่มคือ เจ้าของปัญหา หมายถึง องค์กรผู้จ้างให้เราทำงาน เจ้าของปัญหามักอยากรู้ความคิดเห็นของเราที่มีต่อปัญหานั้นๆ เช่นสิ่งนี้สร้างได้หรือไม่ ควรเจาะตลาดอย่างไร ฯลฯ เป็นต้น ช่างเทคนิค หมายถึง ผู้เกี่ยวข้องที่ควรรู้การทำงานข้างในของระบบ เพราะอาจใช้ในการบำรุงรักษา … Continue reading

Posted in บทความ, Lab Verilog | Tagged , , | 4 Comments

Verilog Programming Style: Finite State Machine

บล็อกนี้เป็นบล็อกที่ต่อมาจากบล็อก Verilog Programming Style: Declaration ในบล็อกนี้เรามาดูส่วนสำคัญนั่นคือ Finite State Machine ซึ่งเป็นส่วนควบคุมหลัก Finite State Machine ใน module ATM จะเขียนแบบ two-block ดังนี้ คราวนี้เราก็มาดูเป็นส่วนๆ เหมือนเช่นเคย Block ที่ 1 ของ Finite State Machine Block ที่ 1 นั้นก็เหมือนการประกาศ register ปกตินั่นคือ register ps และ ns เป็น next signal … Continue reading

Posted in เทคนิควิธีการ, Lab Verilog | Tagged , , | Leave a comment

Verilog Programming Style: Declaration

Programming Style เป็นกฎหรือข้อชี้แนะที่ใช้ในการเขียนโค้ด ซึ่งกฎหรือข้อชี้แนะเหล่านี้จะช่วยให้โปรแกรมอ่านแล้วเข้าใจง่าย ช่วยให้โปรแกรมเมอร์ทำงานร่วมกันได้ง่ายเพราะใช้ Style เหมือนกัน และที่สำคัญคือช่วยป้องกันไม่ให้เกิด “บั๊ก” ได้ [ดัดแปลงมาจาก Wikipedia: Programming Style] Verilog นั้นแม้เป็นภาษาบรรยายเชิงฮาร์ดแวร์ (Hardware Description Language) แต่ทว่า Programming Style ใน Verilog กลับเป็นสิ่งที่ควรคำนึงถึงอย่างยิ่ง เพราะรูปแบบของโค้ดเป็นองค์ประกอบสำคัญในการพิจารณาการสังเคราะห์ฮาร์ดแวร์ (Hardware Synthesis) ถึงขนาดใน Xilinx ISE Design ต้องมี Language Template เพื่อให้สังเคราะห์ฮาร์ดแวร์ได้ตรงตามความต้องการ Style ที่ดีคือ Style ที่ช่วยป้องกันไม่ให้เกิดบั๊กได้ … Continue reading

Posted in เทคนิควิธีการ, Lab Verilog | Tagged , | 5 Comments