อาร์เรย์ประตูที่ตั้งโปรแกรมได้ภาคสนาม (FPGA) สามารถบรรลุตรรกะดิจิตอลใด ๆ จากไมโครโปรเซสเซอร์ไปยังเครื่องกำเนิดวิดีโอหรือเครื่องขุดเข้ารหัสทั้งหมด FPGA ประกอบด้วยโมดูลตรรกะจำนวนมากแต่ละโมดูลตรรกะมักจะประกอบด้วยทริกเกอร์และฟังก์ชั่นลอจิกและเครือข่ายการกำหนดเส้นทางสำหรับโมดูลการเชื่อมต่อตรรกะ
สถานที่พิเศษของ FPGA คือมันเป็นอุปกรณ์ที่ตั้งโปรแกรมได้:คุณสามารถนิยามใหม่แต่ละบล็อกตรรกะและการเชื่อมต่อระหว่างมันถูกใช้เพื่อสร้างวงจรดิจิตอลที่ซับซ้อนโดยไม่ต้องเชื่อมต่อแต่ละประตูและทริกเกอร์และไม่ต้องใช้จ่ายค่าใช้จ่ายของวงจรรวมที่เฉพาะเจาะจง
micrograph ภายในตายภายใน
FPGA ถูกคิดค้นโดย Ross Freeman และเขาพบ Xilinx ในปี 1984 และแนะนำ FPGA แรก - XC2064FPGA นี้ง่ายกว่า FPGA ที่ทันสมัยมากซึ่งมีเพียง 64 บล็อกตรรกะเท่านั้น มีบล็อกตรรกะหลายพันหรือล้านใน FPGA ที่ทันสมัย แต่มันนำไปสู่การลงทุนหลายพันล้านดอลลาร์ในอุตสาหกรรม FPGA
เนื่องจากความสำคัญของมัน XC2064 รวมอยู่ในการเฉลิมฉลองชิป ในบทความนี้เราดำเนินการวิศวกรรมย้อนกลับของ XC2064 ของ XILINX อธิบายว่าวงจรภายใน (ด้านบน) และวิธีการตั้งโปรแกรม
ชิป FPGA แรก - Xilinx XC2064
วันนี้ FPGA ถูกตั้งโปรแกรมตามคำอธิบายฮาร์ดแวร์ภาษาโดยใช้ Verilog หรือ VHDL แต่ Xilinx ให้ซอฟต์แวร์การพัฒนาของตนเอง Xact ทำงานภายใต้ระบบปฏิบัติการ MS-DOS ราคาสูงถึง $ 12,000
Xact โดยธรรมชาติไม่สามารถกำหนดฟังก์ชันการทำงานของบล็อกตรรกะแต่ละบล็อก (ดังที่แสดงในภาพหน้าจอที่แสดงด้านล่าง) และการเชื่อมต่อระหว่างบล็อกตรรกะและสร้างการเชื่อมต่อระหว่างฟังก์ชั่นของบล็อกตรรกะแต่ละบล็อกและการเชื่อมต่อระหว่างบล็อกตรรกะ เครื่องมือพัฒนา FPGA ปัจจุบันไฟล์ที่ดีกว่าใน FPGA
ภาพหน้าจอ XACT
ตารางการค้นหาสองตาราง F และ G ใช้การทำงานเชิงตรรกะที่ด้านล่างของหน้าจอและส่วนด้านบนแสดงตรรกะ Corocco เพื่อกำหนดค่า FPGA ผ่าน Bitstream (ลำดับบิตด้วยรูปแบบที่เป็นกรรมสิทธิ์)
หากคุณดูที่ Bitstream ของ XC2064 (ดังที่แสดงด้านล่าง) มันเป็นโหมดผสมที่ทำให้งงงวยซึ่งเกิดขึ้นซ้ำแล้วซ้ำอีกและแพร่กระจายในบิตสแตม นิยามฟังก์ชั่นใน Xact ไม่ชัดเจนระหว่างข้อมูลในบิตสแตม อย่างไรก็ตามวงจรกายภาพของ FPGA สามารถเปิดเผยโครงสร้างของข้อมูล Bitstream และสามารถเข้าใจได้
Bitstream ของ XC2064