FPGA: ทั้งหมดเกี่ยวกับชิปเหล่านี้และการเขียนโปรแกรม

ชิป FPGA

ลอส FPGA ได้รับความนิยมมากขึ้นเรื่อย ๆ ในครั้งสุดท้าย แม้กระทั่งสำหรับการใช้งานระดับมืออาชีพชิปเหล่านี้มักใช้ แต่สำหรับ DIYers และผู้ผลิตที่ต้องการใช้วงจรแยกภายในชิปด้วยข้อดีทั้งหมดที่กล่าวถึงนี้ ไม่ใช่เรื่องง่ายที่จะหาโรงงานเพื่อส่งเค้าโครงหรือรูปแบบของคุณและมีชิปที่ผลิตขึ้นเองสำหรับคุณ

จริงอยู่ที่โรงหล่อบางแห่งอนุญาต ทำเวเฟอร์หรือเวเฟอร์หลายโครงการ เพื่อสร้างชิปจากบุคคลหรือมหาวิทยาลัยเพื่อทดสอบ อย่างที่บอกว่าโรงงานประเภทนี้หายากมักอยู่ต่างประเทศและราคาไม่ถูก หลังจากนั้นไม่นานตัวอย่างชิปของคุณจะถูกส่งไปยังที่อยู่ที่ตกลงกันไว้ แต่พวกเขาไม่ได้รับผิดชอบในการทดสอบสิ่งเหล่านี้หรือตรวจสอบว่าใช้งานได้ ทุกอย่างขึ้นอยู่กับการออกแบบของคุณ ...

Una ทางเลือกอื่นคือการซื้อ FPGA และตั้งโปรแกรมสิ่งที่คุณต้องการเพื่อนำไปใช้ภายในชิป ...

FPGA คืออะไร?

เซลล์ที่ตั้งโปรแกรมได้

FPGA ย่อมาจาก Field Programmable Gate Array. เป็นอุปกรณ์ดิจิทัลหรือชิปที่สามารถกำหนดค่าเพื่อให้สามารถนำไปใช้งานได้จริง กล่าวคือเป็นชิปเปล่าที่คุณสามารถ "เขียน" ได้ นั่นหมายความว่าคุณสามารถใช้ซีพียูหน่วยความจำคอนโทรลเลอร์ลอจิกใด ๆ ฯลฯ เพื่อให้ทำงานได้รวดเร็วมากและด้วยข้อดีทั้งหมดของการรวมเข้ากับชิปไม่ใช่กับองค์ประกอบอิเล็กทรอนิกส์

Ross Freeman และ Bernard Vonderschmitt ผู้ร่วมก่อตั้ง Xilinx เป็นผู้ที่คิดค้น FPGA ในปี 1984 พวกเขาทำเพื่อเป็นวิวัฒนาการของชิป CPLD ในเวลานั้น ชิปที่ตั้งโปรแกรมได้ CPLD มีข้อบกพร่องบางประการที่แก้ไขการออกแบบ FPGA ใหม่และตั้งแต่นั้นมาก็มีการพัฒนาจนถึงปัจจุบัน

ตลาด FPGA ประสบความสำเร็จอย่างมากที่ บริษัท ต่างๆชื่นชอบ Intel, Xilinx, Altera, Quick Logic, Lattice ฯลฯพวกเขาได้ลงทุนจำนวนมากเพื่อพัฒนา FPGA ที่ดีขึ้นและยังรวมถึงสภาพแวดล้อมการเขียนโปรแกรมแบบฝังหรือ IDE สำหรับพวกเขาด้วย ดังนั้นจึงมีแพลตฟอร์มที่ดีมากเพื่ออำนวยความสะดวกในงานของนักพัฒนาหรือผู้สร้าง

ปัจจุบันผู้ผลิตเหล่านี้ไม่เพียง แต่จัดหาชิปที่ตั้งโปรแกรมได้เท่านั้น แต่ยังรวมถึง องค์ประกอบเสริมมากมาย เพื่อเพิ่มความเป็นไปได้ให้กับนักพัฒนา ตัวอย่างเช่นประกอบด้วยเซลล์หน่วยความจำแฟลชเซลล์หน่วยความจำ SDRAM และอื่น ๆ

ใช้ทำอะไร?

IDE เพื่อเขียนโปรแกรม FPGA

ดังนั้น FPGA อาจคล้ายกับ ASIC แต่นั่น เราสามารถเลือกได้ จะเป็นอย่างไร. ตัวอย่างเช่นเราสามารถสร้างโค้ดเพื่อตั้งโปรแกรมและเปลี่ยนเป็น CPU, GPU, แอดเดอร์, ตัวควบคุมหน่วยความจำหรือวงจรลอจิกอื่น ๆ ที่ติดตั้งบนชิปตัวเดียว

ความเป็นไปได้นั้นไม่มีที่สิ้นสุด อันที่จริงฉันขอแนะนำให้คุณเยี่ยมชมเว็บไซต์ opencores.orgซึ่งเป็นเว็บไซต์ที่อุทิศให้กับการนำเสนอโครงการมากมาย hardware libre- คุณจะพบรหัสใน VHDL, Verligo ฯลฯ สำหรับ RAM, CPU, GPU, คอนโทรลเลอร์, ALU, FPUs, ตัวถอดรหัสและอื่น ๆ อีกมากมาย.

มีโปรแกรมอย่างไร?

โปรแกรมเมอร์สำหรับ FPGA

ในการตั้งโปรแกรม FPGA เราสามารถทำได้จากระบบปฏิบัติการที่เราชื่นชอบเช่น GNU / Linux, Windows และ MacOS แม้ว่าจะมีสภาพแวดล้อมการพัฒนาสำหรับ Windows มากกว่าก็ตาม โดยทั่วไป บริษัท เดียวกับที่เสนอ FPGA IDE ที่สมบูรณ์มากในการทำงานด้วย และจะค้นหาเครื่องมือทั้งหมดที่คุณต้องการได้จากที่ใดในชุดซอฟต์แวร์เดียวกัน

คุณจะต้องใช้ไฟล์ ชิปหรือบอร์ด FPGA และสายเคเบิลหรือโปรแกรมเมอร์ที่จำเป็น ซึ่งคุณสามารถเชื่อมต่อ FPGA กับพีซีของคุณเพื่อส่งรหัสที่เขียนไปยัง FPGA และได้รับการตั้งโปรแกรม นั่นคือสิ่งที่คล้ายกับสิ่งที่คุณทำกับบอร์ด Arduino โดยเขียนโปรแกรม Arduino IDE ลงในหน่วยความจำที่ตั้งโปรแกรมได้ของไมโครคอนโทรลเลอร์

เฉพาะในกรณีของ FPGA สิ่งที่เรามีคือเมทริกซ์หรืออาร์เรย์ของส่วนประกอบพื้นฐานเช่นเซลล์หน่วยความจำ AND ประตูหรือไม่ใช่รองเท้าแตะและอื่น ๆ องค์ประกอบพื้นฐานหรือบล็อกของอุปกรณ์อิเล็กทรอนิกส์ดิจิทัล ที่เราสามารถใช้ได้ ด้วยโปรแกรมที่เขียนขึ้นสิ่งที่เรากำลังจะทำคือกำหนดวิธีที่จะรวมบล็อกที่สำคัญเหล่านี้เข้าด้วยกันเพื่อสร้างวงจรเล็ก ๆ ที่เราต้องการเช่น ALU

นั่นคือถ้าเราตั้งโปรแกรม adder ใน IDE ของเราบล็อกที่จำเป็นในการติดตั้ง adder นี้ พวกเขาจะเชื่อมโยง ด้วยวิธีที่ถูกต้องภายใน FPGA เพื่อให้ชิปทำงานเป็นแอดเดอร์ ง่ายๆใช่มั้ย? โดยทั่วไปจะใช้วิธีการหลายอย่างสำหรับการเขียนโปรแกรมนี้ในระดับกายภาพเช่นความทรงจำหรือฟิวส์เพื่อสร้างลิงก์ถาวรในกรณีนั้น

ความเร็วในการทำงานจะขึ้นอยู่กับ ความถี่สัญญาณนาฬิกา FPGA ที่เราซื้อผลงาน ตัวอย่างเช่นพื้นฐานที่สุดมักจะทำงานที่ 50 Mhz ส่วนอื่น ๆ จะทำเช่นนั้นที่ความถี่สูงกว่ามาก ในกรณีของ FPGA 50 Mhz นั่นหมายความว่ามันจะทำงานด้วยอัตรา 50.000.000 ครั้งต่อวินาที หากเราดำเนินการต่อโดยใช้แอดเดอร์ที่ผมยกมาเป็นตัวอย่างคุณจะสามารถทำเงินจำนวนนั้นได้ในหนึ่งวินาที ...

ต่อด้วยธีมของ การเขียนโปรแกรมเมื่อเรารู้ว่าคุณสามารถเขียนโค้ดได้เหมือนที่เราทำใน Arduino IDE หรือเพื่อพัฒนาโปรแกรมอื่น ๆ และดูว่ามันทำงานอย่างไรในระดับฮาร์ดแวร์ฉันจะบอกว่ามันไม่ใช่การเขียนโปรแกรมแบบนั้นจริงๆ แต่เป็นคำอธิบายฮาร์ดแวร์ ในความเป็นจริงมีการใช้ภาษาอธิบายฮาร์ดแวร์เช่น VHDL, Verilog เป็นต้น

กับ โปรแกรมนั้นอธิบายในระดับตรรกะ วงจรเล็ก ๆ ที่เราต้องการนำไปใช้ทำอะไร จากนั้นไปที่ FPGA แม้ว่าจะเป็นความจริงที่บางแพลตฟอร์มอนุญาตให้เขียนโปรแกรมด้วยภาษาโปรแกรมเช่น C เพื่อให้สามารถใช้ CPU ใน FPGA จากนั้นสร้างโปรแกรมเพื่อโหลดลงในหน่วยความจำและประมวลผลโดยโปรเซสเซอร์ดังกล่าว

บูรณาการกับ Arduino

Arduino-FPGA

โดยทั่วไปแล้ว FPGA จะใช้แยกกัน แต่เป็นความจริงที่มีเครื่องมือและชุดอุปกรณ์มากมายในตลาดที่จะทำให้ชีวิตของคุณง่ายขึ้นในการรวม FPGA กับแพลตฟอร์ม Arduino. ตัวอย่างของบอร์ดที่จะนำ FPGA มาสู่โปรเจ็กต์ของคุณด้วย Arduino คือ MKR Vidor 4000 แม้ว่าจะมีอื่น ๆ

MKR วิดอร์ 4000 เป็นบอร์ดที่มีชิปสามตัว หนึ่งในนั้นคือ FPGA โดยเฉพาะ Intel Cyclone 10 นอกจากนี้ยังมีชิปอื่น ๆ สำหรับ Bluetooth LE หรือการเชื่อมต่อพลังงานต่ำและความเข้ากันได้กับ WiFi ส่วนเสริมที่ดีในการมอบฟังก์ชันการเชื่อมต่อ Arduino ของคุณและเพื่อให้สามารถนำสิ่งที่คุณต้องการไปใช้ใน FPGA ได้

ด้วยคุณมี ฮาร์ดแวร์ที่ปรับแต่งได้กำหนดค่าด้วยตัวเองตามวัตถุประสงค์ที่คุณต้องการ ที่นำเสนอความเป็นไปได้ที่ไม่มีที่สิ้นสุด


เป็นคนแรกที่จะแสดงความคิดเห็น

แสดงความคิดเห็นของคุณ

อีเมล์ของคุณจะไม่ถูกเผยแพร่ ช่องที่ต้องการถูกทำเครื่องหมายด้วย *

*

*

  1. ผู้รับผิดชอบข้อมูล: Miguel ÁngelGatón
  2. วัตถุประสงค์ของข้อมูล: ควบคุมสแปมการจัดการความคิดเห็น
  3. ถูกต้องตามกฎหมาย: ความยินยอมของคุณ
  4. การสื่อสารข้อมูล: ข้อมูลจะไม่ถูกสื่อสารไปยังบุคคลที่สามยกเว้นตามข้อผูกพันทางกฎหมาย
  5. การจัดเก็บข้อมูล: ฐานข้อมูลที่โฮสต์โดย Occentus Networks (EU)
  6. สิทธิ์: คุณสามารถ จำกัด กู้คืนและลบข้อมูลของคุณได้ตลอดเวลา