FPGA สามารถปรับเปลี่ยนตรรกะของพวกเขาแบบไดนามิกได้หรือไม่?


15

เป็นไปได้ในทางทฤษฎีสำหรับ FPGA ที่จะเขียนอิมเมจการกำหนดค่าไปยังหน่วยความจำภายนอกและโหลดอิมเมจการกำหนดค่าจากหน่วยความจำเพื่อกำหนดค่าตัวเองใหม่ นี่จะเป็นการกำหนดค่าใหม่แบบ "ไม่ใช่แบบไดนามิก"

FPGAs มีความสามารถในการโยงโครงสร้างเชิงตรรกะของตนใหม่หรือไม่? อันที่จริงในขณะที่ flip-flop สามารถปรับเปลี่ยนค่าได้ แต่ฉันไม่เคยได้ยินเรื่องการปรับตั้งค่าแบบไดนามิกของตาราง look-up และ wirings ภายในที่ประกอบขึ้นเป็นโครงสร้างแบบลอจิก

ตรรกะภายใน FPGA (นอกเหนือจากความทรงจำ) สามารถแก้ไขได้แบบไดนามิกหรือไม่? ถ้าไม่ทำไมล่ะ


"คอนฟิเกอร์ไดนามิก" ย่อมเป็นวลีที่คุณกำลังมองหา :)
มาร์ติน ธ อมป์สัน

คุณกำลังมองหา FPGA ที่สามารถกำหนดค่าตัวเองใหม่ (เช่นไมโครคอนโทรลเลอร์บางตัวสามารถ) หรือว่าพวกเขาสามารถกำหนดค่าใหม่ (รันไทม์) จากองค์ประกอบภายนอกได้หรือไม่
Trygve Laugstøl

คำตอบ:


12

ใช่ฉันรู้ว่าอย่างน้อย Xilinx มีส่วนที่สนับสนุนการกำหนดค่าใหม่แบบไดนามิกและผู้ขายรายใหญ่อื่น ๆ ก็อาจทำเช่นกัน

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


1
ค้นหาเว็บไซต์ Xilinx เพื่อค้นหา "reconfigurability"!
Leon Heller

3

มีวิธีการทั่วไปสองวิธีที่สามารถใช้ได้ FPGA หลายประเภทมีการกำหนดค่าเป็น latches ซึ่งดึงมาจากอุปกรณ์ภายนอก (โดยทั่วไปคือ EEPROM) เมื่อเริ่มต้น FPGA ไม่จำเป็นต้องใช้อุปกรณ์ภายนอกหลังจากอ่านแล้ว การเปลี่ยนแปลง EEPROM ระหว่างการทำงานของอุปกรณ์จะไม่มีผลจนกว่า FPGA จะได้รับคำสั่งให้โหลดเนื้อหา ดังนั้นจึงเป็นไปได้สำหรับอุปกรณ์ที่จะไม่สามารถใช้งานได้อย่างสมบูรณ์โดยไม่มี FPGA เพื่อ reprogram FPGA นั้นในระหว่างการดำเนินการ; หากมีสิ่งผิดปกติเกิดขึ้นในระหว่างการเขียน EEPROM อุปกรณ์นั้นอาจไม่สามารถใช้งานได้เว้นแต่จะมีการเขียนใหม่โดยอุปกรณ์ภายนอก

อีกทางเลือกหนึ่งซึ่งมักจะมีประโยชน์กับ CPLDs ซึ่ง EEPROM เซลล์ "โดยตรง" ควบคุมการทำงานของพวกเขา (ตรงข้ามกับการคัดลอกไปยังแลตช์) คือการมีระบบที่สามารถใช้งานได้อย่าง จำกัด แม้ว่าอุปกรณ์ที่ตั้งโปรแกรมได้อยู่ในสภาพไร้ประโยชน์ หากฟังก์ชั่นที่ จำกัด เช่นนั้นเพียงพอที่จะ reprogram CPLD อุปกรณ์อาจมีภูมิคุ้มกันต่อ 'การก่ออิฐ' ตัวอย่างเช่นอุปกรณ์ไร้สายอาจใช้ CPLD เพื่อควบคุมฟังก์ชั่นไร้สายและคุณสมบัติอื่น ๆ วิธีปกติในการ reprogramming CPLD อาจรับภาพเป็น RAM ผ่านลิงค์ไร้สายจากนั้นใช้ภาพนั้นเพื่อ reprogram CPLD หากไฟล์โปรแกรมมิงค์ลิงค์ไร้สายอาจใช้งานไม่ได้จนกว่า CPLD จะได้รับการโปรแกรมใหม่ ในการอนุญาตให้ระบบกู้คืนอย่างไรก็ตามโปรเซสเซอร์อาจมี "ค่าเริ่มต้น"

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.