FPGA : INTRODUCTION TO SYSTEM CONSOLE

  ท่านเคยเจอปัญหาเหล่านี้ไหมครับ ? เมื่อ FPGA บอร์ด ของเราผลิตออกมาเสร็จ หลังส่งบอร์ดให้นักพัฒนาเฟิร์มแวร์แล้ว โดนตอบกลับมาว่า ” บอร์ดมีปัญหาหรือเปล่า? อ่านเขียนข้อมูลบน RAM ไม่ได้เลย ทั้ง LED, Switch ก็ใช้ไม่ได้ บัคฮาร์ดแวร์หรือเปล่า ? “ วันนี้เราจะมาแก้ไขปัญหาเหล่านี้ให้หมดไปครับ เพื่อไม่ให้ใครมาว่าเราว่า บัคเกิดจากการออกแบบฮาร์ดแวร์ โดยเราสามารถใช้ความสามารถพิเศษของ FPGA มาช่วยแก้ไขปัญหาเหล่านี้ได้ครับ โดยที่ไม่ต้องรอเฟิร์มแวร์ สามารถทำได้ทันที และง่ายสุดๆ ด้วย System Console   System Console คือ เครื่องมือที่ใช้ debug IP ที่ถูกสร้างโดย Qsys โดยใช้ JTAG เป็นตัวกลางในการสื่อสารระหว่าง System Console ⇔ FPGA ซึ่งความสามารถของ System Console จะสามารถ Access register ของ … Read More

PCB : How to make pad array

    ในบทความนี้จะกล่าวถึงการการสร้าง Footprint ที่เป็นเเบบ Pad Array โดยการสร้างจากเครื่องมือ Paste Special ของ Altium เพื่อทำให้เกิดความสะดวกรวดเร็วเเละมีความเเม่นยำ ในเบื้องต้น ก่อนที่จะลงมือสร้าง Footprint ควรต้องทำความเข้าใจรายละเอียดจาก Datasheet ให้เข้าใจก่อน ว่ามีส่วนสำคัญอะไรบ้าง ตามหัวข้อด้านล่าง 1. ใน Datasheet อาจมีหลาย Part Number ให้เราตรวจสอบเเละ Highlight ให้ถูกต้องกับชื่อ Part ที่เราจะสร้าง 2. จำนวน Pad มีเท่าไหร่, มีรูสำหรับยึด Part กับ PCB ด้วยไหม รูยึดเป็นเเบบ PTH หรือ NPTH 3. ตำเเหน่งหรือทิศทางของจุดเริ่มต้น (Polarization) 4. ระยะห่างระหว่าง Pad (Pitch) เช่น 1.27mm หรือ … Read More

FPGA : FPGA คืออะไร

FPGA คืออะไร และข้อดีข้อเสียของ FPGA สวัสดีครับผู้อ่านทุกๆท่านนะครับ  วันนี้เราจะมาเรียนรู้เกี่ยวกับ FPGA กันนะครับ  ซึ่งถ้าเราอยู่ในกลุ่มที่สนใจเทคโนโลยี  เราอาจจะเคยได้ยินคำว่า FPGA มาบ้าง  แต่อาจจะไม่รุ้ว่า FPGA นั้นคืออะไร  ซึ่งที่เราได้ยินบ่อยขึ้นก็เพราะเดี่ยวนี้ FPGA ได้รับความสนใจมากขึ้นเรื่อยๆ  ไม่ใช่เป็นงานแค่เฉพาะทางเหมือนในสมัยก่อน ประกอบกับทางเรานั้นได้รับคำถามเกี่ยวกับข้อดีข้อเสีย FPGA มาบ่อยครั้งครับ  ทางเราก็เลยเขียนเรื่องนี้ขึ้นมา  ซึ่งก่อนที่เราจะไปรู้ว่าข้อดีข้อเสียของ FPGA คืออะไร  เราก็ควรที่จะรู้จักกับ FPGA ก่อนว่า FPGA นั้นคืออะไร FPGA คืออะไร   FPGA ก็คือชิปอุปกรณ์อิเล็กทรอนิกส์( IC )รูปแบบหนึ่ง  ซึ่งภายในนั้นจะมี Logic Gate ( ที่เอาไว้ทำ AND OR Gate ต่างๆ ) จำนวนมากมาย  โดยที่เราสามารถโปรแกรมลงไปเพื่อกำหนดการเชื่อมต่อของ Logic Gate ต่าง  ว่าเชื่อมต่อกันอย่างไร  การทำงานกันอย่างไรได้  … Read More

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 intelFPGA … 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 ส่วน ดังนี้ การสร้าง Room การ Copy Room Formats 1. การสร้าง Room 1.1 สร้าง Component Classes ตามกลุ่มวงจร 1.1.1 เลือกอุปกรณ์เเละตั้งชื่อกลุ่มของอุปกรณ์ จัดอุปกรณ์ไว้เป็นกลุ่มๆที่มีวงจรรูปเเบบเดียวกัน เเล้วเลือกกลุ่มอุปกรณ์ที่ต้องการสร้าง Component Classes ใดๆ ทีละกลุ่ม จากนั้นไปที่เมนู Design –> Classes ตามรูป 1.1.2 หลังจากนั้นจะปรากฎ Dialog … Read More