FPGA : Avalon bus simulation

    หลายท่านคงเคยประสบปัญหาที่ว่า เคยสร้างสร้าง Slave IP ของตัวเองซึ่งต่อกับ Avalon bus แล้วต้องการ simulate IP ที่เขียนมาเพื่อทดสอบฟังค์ชั่นต่างๆ ที่ออกแบบมา ซึ่งโดยปกติแล้วทาง intelFPGA ได้เตรียม IP ไว้สำหรับ verify โดยเฉพาะ เรียกว่า BFM (Bus Function Models) แต่ BFM นั้นค่อนข้างยุ่งยากซับซ้อนทำให้ยากต่อการนำมาใช้งาน บทความนี้จะนำเสนอวิธีการ verify IP ที่เราเขียนขึ้นมาโดยใช้วิธีอื่นๆนอกจากการใช้ BFM IP ของ intelFPGA   Note :  1. ตัวอย่างนี้เพื่อเป็นการแนะนำวิธีการ simulate ดังนั้นจึงขอยกตัวอย่างการ simulate IP ง่ายๆ อย่าง GPIO ซึ่งเราจะใช้ IP ของ intelFPGA ที่ชื่อว่า PIO … Read More

PCB : Basic PCB for beginners

แผ่นวงจรพิมพ์หรือที่เรียกว่าพีซีบี (PCB) ทำจากแผ่นวัสดุที่นำไฟฟ้าและไม่นำไฟฟ้าที่แตกต่างกันซึ่งใช้เพื่อรองรับทางกายภาพ (Physically) และเชื่อมต่อส่วนประกอบเพื่อติดตั้งลงบนพื้นผิว แต่หน้าที่ของบอร์ดแผ่นวงจรพิมพ์คืออะไร อ่านบทความนี้เพื่อเรียนรู้และเข้าใจพื้นฐานแผ่นวงจรพิมพ์ (PCB)  แผ่นวงจรพิมพ์คืออะไร? ข้อมูลพื้นฐาน แผ่นวงจรพิมพ์ หรือเรียกว่า “แผ่นพีซีบี (PCB)” ที่นักอิเล็กทรอนิกส์ในประเทศไทยทั่วไปนิยมเรียกกันว่า “แผ่นปริ๊นท์” หรือ แผงวงจร” มีชื่อย่อมาจาก Printed Circuit Board เรียกสั้นๆ ว่า “PCB” อาจชื่อเรียกอีก ได้แก่ Circuit Board, PCB Board, Printed Wiring Board (PWB) หรือแม้กระทั่ง Etched Wiring Board (EWB) แต่ละชื่อก็มีความหมายเป็นสิ่งเดียวกัน นั่นก็คือ “แผ่นวงจรพิมพ์” นิยาม: โดยทั่วไปแล้วแผ่นวงจรพิมพ์ คือแผ่นบาง ๆ หรือแผ่นฉนวนมีลักษณะแบนทำมาจากแผ่นวัสดุชนิดต่าง ๆ ที่ไม่นำไฟฟ้า เช่น วัสดุไฟเบอร์กลาส (Fiberglass) วัสดุที่ประกอบด้วยยางสังเคราะห์ (Composite Epoxy … Read More

FPGA : Nios II Processor Booting Methods in Max10 FPGA

บทความนี้จะกล่าวถึงความสามารถในการบูต Nios II รูปแบบต่างๆของ MAX10 ก่อนจะเข้าเนื้อหาผู้เขียนขออธิบายความสามารถคร่าวๆเกี่ยวกับ MAX 10 ก่อน MAX 10 คืออะไร? MAX 10 เป็น FPGA ตระกูลหนึ่งของบริษัท Intel ที่มี Configuration memory ในตัว เมื่อปิดไฟหรือเกิดเหตุการณ์ไฟตก FPGA Image จะยังคงอยู่ ไม่หายไปเหมือน FPGA ทั่วไป ทำให้เวลาใช้งาน ไม่มีความจำเป็นต้องต่อ Configuration memory จากภายนอก และเวลาที่ใช้ในการบูตแค่หลัก ms เพียงเท่านั้น มี Soft Core CPU คือ Nios II ให้ใช้งานได้ฟรี สามารถเชื่อมต่อกับ External Memory ได้แก่ DDR3 SDRAM / DDR3L SDRAM / … Read More

Altium : How to use Collaborative PCB Design

Collaborate, Compare and  Merge เป็นเครื่องมือไว้สำหรับเปรียบเทียบการออกเบบ PCB ระหว่าง 2 เเบบที่ต่างกัน (2 versions) ที่มาจาก PCB เดียวกัน เเล้วรวมการออกเเบบเข้าเป็นอันเดียว เพื่อให้ผู้ออกเเบบ PCB ทำงานร่วมกันเเบบ Parallel หรือทำการออกเเบบพร้อมกันได้หลายคนในงานเดียวกัน เวลาเดียวกัน เพื่อความรวดเร็วในการทำงานของ Project นั้นๆ Collaborate, Compare and  Merge มีรูปเเบบการใช้งานเเบบงานต่องาน หรือ Compare เเละ Merge กันได้ทีละงาน ระหว่างงานที่มีการเปลี่ยนเเปลงกับงานต้นเเบบจนกว่าจะครบทุกงาน ไม่สามารถ Compare เเละ Merge พร้อมกันได้หลายงานในครั้งเดียว Collaborate, Compare and  Merge Tool มีโครงสร้างการใช้งานโดยเเบ่งออกได้เป็น 4 ส่วนหลัก ดังรูปด้านล่าง Collaborate, Compare and  Merge มีวิธีการใช้งาน ตามขั้นตอนดังต่อไปนี้ … Read More

Altium : How to make room and copy room formats

คำนิยามในการสร้าง Room เเละ การ Copy Room Formats คือ การสร้างกลุ่มของอุปกรณ์ใดๆให้มีรูปเเบบใดเเบบหนึ่ง เพื่อให้เกิดความสะดวกในการใช้งาน เช่น เคลื่อนย้าย(move) หรือ การคัดลอก(copy)รูปเเบบนั้นๆ ไปสู่อีกกลุ่มหนึ่งกลุ่มใดให้มีรูปเเบบเดียวกัน อธิบายขั้นตอนของการสร้าง Room และการ Copy Room Formats โดยเเบ่งออกเป็น 2 ส่วน ดังนี้ 1. การสร้าง Room 2. การ Copy Room Formats 1. การสร้าง Room 1.1 สร้าง Component Classes ตามกลุ่มวงจร 1.1.1 เลือกอุปกรณ์เเละตั้งชื่อกลุ่มของอุปกรณ์ จัดอุปกรณ์ไว้เป็นกลุ่มๆที่มีวงจรรูปเเบบเดียวกัน เเล้วเลือกกลุ่มอุปกรณ์ที่ต้องการสร้าง Component Classes ใดๆ ทีละกลุ่ม จากนั้นไปที่เมนู Design –> Classes ตามรูป 1.1.2 … Read More