เอฟพีจีเอหรืออาร์เรย์เกตที่ตั้งโปรแกรมได้สำหรับงานภาคสนามเป็นวงจรรวมเซมิคอนดักเตอร์ที่มีการปรับแต่งฟังก์ชันการทำงานเชิงไฟฟ้าเพื่อเร่งความเร็วให้กับเวิร์กโหลดที่สำคัญ

FPGA คือ IC เซมิคอนดักเตอร์ที่ฟังก์ชันทางไฟฟ้าส่วนใหญ่ภายในอุปกรณ์สามารถเปลี่ยนแปลง เปลี่ยนแปลงโดยวิศวกรออกแบบ เปลี่ยนแปลงระหว่างกระบวนการประกอบ PCB หรือแม้แต่เปลี่ยนหลังจากที่อุปกรณ์ถูกส่งไปยังลูกค้าใน 'ภาคสนาม'

อุปกรณ์ SoC FPGA รวมทั้งโปรเซสเซอร์และสถาปัตยกรรม FPGA ไว้ในอุปกรณ์เครื่องเดียว

การผสานรวมฟังก์ชันการจัดการระดับสูงของโปรเซสเซอร์และการทำงานแบบเรียลไทม์ที่เข้มงวด การประมวลผลข้อมูลที่รุนแรง หรือฟังก์ชันอินเทอร์เฟซของ FPGA (Field Programmable Gate Array) ลงในอุปกรณ์เครื่องเดียวทำให้เกิดแพลตฟอร์มการประมวลผลแบบฝังที่มีประสิทธิภาพยิ่งขึ้น

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

ความยืดหยุ่น

ฟังก์ชัน FPGA สามารถเปลี่ยนแปลงได้ทุกครั้งที่เปิดเครื่อง

การเพิ่มความเร็ว

นำผลิตภัณฑ์ออกสู่ตลาดเร็วขึ้นและ/หรือเพิ่มประสิทธิภาพระบบของคุณ

และการประกอบ

FPGA ในปัจจุบันประกอบด้วยโปรเซสเซอร์ On Die, I/O ของตัวรับส่งสัญญาณที่ 28 Gbps (หรือเร็วกว่า), บล็อก RAM, เอ็นจิ้น DSP และอื่นๆ

ต้นทุนรวมในการเป็นเจ้าของ (TCO)

แม้ว่า ASIC อาจมีค่าใช้จ่ายต่อหน่วยน้อยกว่า FPGA ที่เทียบเท่ากัน แต่การสร้างต้องใช้ค่าใช้จ่ายที่ไม่เกิดซ้ำ (NRE) เครื่องมือซอฟต์แวร์ราคาแพง ทีมออกแบบเฉพาะทาง และวงจรการผลิตที่ยาวนาน

โปรเซสเซอร์ใน SoC FPGA สามารถเป็นแบบ "ฮาร์ด" หรือ "ซอฟต์" ฮาร์ดโปรเซสเซอร์ถูกนำมาใช้ในลอจิกซิลิกอนคงที่ของ SoC FPGA คล้ายกับตัวรับส่งสัญญาณซีเรียล อย่างไรก็ตาม ในเอฟพีจีเอ SoC โปรเซสเซอร์นั้นล้อมรอบด้วยตรรกะที่ตั้งโปรแกรมได้ ซึ่งคุณสามารถใช้สำหรับฟังก์ชันแบบกำหนดเองหรือเฉพาะแอปพลิเคชัน ฮาร์ดโปรเซสเซอร์ให้ประสิทธิภาพของ CPU ที่สูงกว่าซอฟต์โปรเซสเซอร์ โดยขึ้นอยู่กับปัจจัยต่างๆ เช่น สถาปัตยกรรมโปรเซสเซอร์ อัตรานาฬิกา และเทคโนโลยีการประมวลผล ตามชื่อที่สื่อถึง ชุดคุณสมบัติของฮาร์ดโปรเซสเซอร์จะได้รับการแก้ไข และโดยทั่วไปจะนำเสนอในรูปแบบ SoC FPGA เฉพาะเท่านั้น จำนวนและประเภทฮาร์ดโปรเซสเซอร์ภายใน SoC FPGA จะได้รับการแก้ไขตามฟังก์ชันของ SoC FPGA โดยเฉพาะ Altera® มีฮาร์ดโปรเซสเซอร์ในตระกูล เอฟพีจีเอ Intel® Stratix® 10 SoCเอฟพีจีเอ Intel® Arria® 10 SoCเอฟพีจีเอ Arria® V SoCและ เอฟพีจีเอ Cyclone® V SoC

ซอฟต์โปรเซสเซอร์ เช่น โปรเซสเซอร์ Nios® II ถูกนำไปใช้ในลอจิกที่ตั้งโปรแกรมได้ โดยใช้ทรัพยากรบนชิป เช่น องค์ประกอบลอจิก ตัวคูณ และหน่วยความจำ และสามารถสร้างอินสแตนซ์ได้ในเกือบทุกตระกูลเอฟพีจีเอ ประสิทธิภาพและต้นทุนของซอฟต์โปรเซสเซอร์นั้นส่วนใหญ่ขึ้นอยู่กับ FPGA ซึ่งโปรเซสเซอร์นั้นสร้างอินสแตนซ์ แต่ประสิทธิภาพและค่าใช้จ่ายโดยทั่วไปจะต่ำกว่าในฮาร์ดโปรเซสเซอร์ จำนวนซอฟต์โปรเซสเซอร์ที่สามารถสร้างอินสแตนซ์ได้ในอุปกรณ์เครื่องเดียวนั้นถูกจำกัดโดยทรัพยากรของอุปกรณ์เท่านั้น (นั่นคือ ตรรกะและหน่วยความจำของอุปกรณ์) ตัวอย่างเช่น FPGA ความหนาแน่นสูงสามารถมีซอฟต์โปรเซสเซอร์ได้หลายร้อยตัว ในทำนองเดียวกัน สามารถใช้ซอฟต์โปรเซสเซอร์ประเภทต่างๆ ได้: 16 หรือ 32 บิต, เพิ่มประสิทธิภาพการทำงาน, ปรับพื้นที่ลอจิกให้เหมาะสม และอื่นๆ คุณสามารถเลือกย้ายการออกแบบซอฟต์โปรเซสเซอร์ไปยังการใช้งานฮาร์ดโปรเซสเซอร์ เมื่อย้ายไปยังเกทอาร์เรย์หรือการออกแบบที่ใช้เซลล์ ซอฟต์โปรเซสเซอร์ตั้งแต่หนึ่งตัวขึ้นไปสามารถใช้ในส่วน FPGA ของ SoC FPGA ได้เช่นกัน

มีหลายวิธีในการใช้ FPGA ในระบบแบบฝัง การใช้งานทั่วไปรวมถึง:

  • I/O และอุปกรณ์ต่อพ่วง-เพิ่มอุปกรณ์ต่อพ่วงที่ขาดหายไปจากโปรเซสเซอร์ปัจจุบันของคุณ เช่น LCD หรือตัวควบคุมหน่วยความจำ หรือเพิ่มจำนวนช่อง I/O ในระบบของคุณโดยเพิ่มพอร์ต Ethernet, I/O ทั่วไป (GPIO) หรือ UART .I/O
  • การประมวลผลร่วม-เพิ่มประสิทธิภาพของระบบโดยการย้ายอัลกอริธึมที่เน้นการประมวลผลจากซอฟต์แวร์ที่ทำงานบนโปรเซสเซอร์ไปยังฮาร์ดแวร์ใน FPGA การประมวลผลสัญญาณ การประมวลผลภาพ และการประมวลผลแพ็กเก็ตได้รับการปรับปรุงประสิทธิภาพการทำงานในฮาร์ดแวร์มากกว่าซอฟต์แวร์
  • ตัวควบคุมที่ฝังตัวแบบกำหนดเอง-คุณตัดสินใจว่าจะรวมโปรเซสเซอร์ อุปกรณ์ต่อพ่วง อินเทอร์เฟซ ช่องเข้าถึงหน่วยความจำโดยตรง (DMA) และหน่วยความจำ (และจำนวนเท่าใด) ไว้ในตัวควบคุมที่ฝังตัวแบบกำหนด
  • มัลติโปรเซสเซอร์-เร่งการพัฒนาซอฟต์แวร์ของคุณ ปรับปรุงความเชื่อถือได้ของโค้ด และเพิ่มความสามารถในการบำรุงรักษาโดยการกระจายงานไปยัง CPU หลายตัว คุณสามารถออกแบบระบบมัลติโปรเซสเซอร์ให้เป็นระบบแบบกำหนดเองภายใน FPGA เดียว หรือเพื่อเพิ่ม CPU ภายนอกหรือโปรเซสเซอร์สัญญาณดิจิทัล