ข่าว

(1/3) ทำไม FPGA ไม่ทำงานอย่างถูกต้อง - รื้อเหตุผลการวิเคราะห์ชิป FPGA ตัวแรก

  • ผู้เขียน:ROGER
  • เผยแพร่เมื่อ:2021-05-06

อาร์เรย์ประตูที่ตั้งโปรแกรมได้ภาคสนาม (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