FPGA

מתוך ויקיפדיה, האנציקלופדיה החופשית
קפיצה אל: ניווט, חיפוש
רכיב FPGA של חברת אלטרה

FPGA (ראשי תיבות של "Field-Programmable Gate Array") הוא סוג של מעגל משולב, אשר ניתן להגדיר ולשנות את תפקודו לאחר הייצור, בתהליך הדומה לתכנות. הגדרת תפקוד הרכיב מתבצעת על ידי הזנה של תרשים לוגי או על ידי שפות לתיאור מעגלים (כדוגמת VHDL או Verilog).

היתרונות בשימוש ב-FPGA הם:

  • מאחר שרכיבי FPGA ניתנים לתכנות ניתן לעדכן את התוכנה שלהם גם לאחר שלב הייצור ואפילו לאחר שהמוצר מגיע אל לקוח הקצה (כדוגמת עדכוני קושחה).
  • שלב התכנון של המעגל האלקטרוני פשוט יותר, והוא כולל בעיקר תכן של שילוב רכיב ה-FPGA במעגל מודפס (בניגוד לתכנון פרטני של מעגל אלקטרוני דיגיטלי פיזי, העוסק את כל פרטי הלוגיקה הנדרשת)
  • ניתן להתחיל בתהליך ייצור המעגלים המודפסים עוד לפני שהלוגיקה נכתבה או הושלמה
  • ניתן לחלק את העבודה בין צוותים שונים, האחד עובד על תכנון המעגלים הפיזיים, והשני על המעגלים הלוגיים שיטענו לתוך ה-FPGA. לחלופין, ניתן לפזר את העומס מצוות תכנון בודד, שראשית מתכנן את המעגל המודפס, ובזמן שזה נמצא בתהליכי ייצור, הצוות יכתוב את הלוגיקה עבור ה-FPGA.
  • תהליך הפיתוח הוא מהיר ביותר מאחר שאין צורך בתהליך ייצור כלשהו ולכן מתאים מאוד לפיתוח של אב טיפוס.
בלוק לוגי

ה-FPGA מורכב מיחידות לוגיות ניתנות לתכנות ומרשת של אמצעים לחיבור ולניתוק בין היחידות השונות. בטעינת ה-FPGA מקבלות היחידות הגדרה לאופי פעולתן, והיחידות מתחברות ליחידות אחרות, בצורה שמממשת את המעגל הלוגי הכולל. רכיבי FPGA יכולים לממש למגוון פונקציות, החל מלוגיקות פשוטות כגון שערים לוגיים וכלה ביכולות מורכבות כגון דלגלגים ומרחבי זיכרון.

שימושים[עריכת קוד מקור | עריכה]

ה-FPGA התחיל את דרכו כמקביל ומתחרה ל-CPLD, אך ככל שהגודל, היכולות, ומהירות הפעולה של ה-FPGA גדלו, גדל גם נתח השוק של רכיבים מסוג זה, וכיום מקובל למצוא רכיבי FPGA כמערכת על שבב (SoC).

נהוג להשתמש ברכיבי FPGA עבור מעגלים שנועדו לבצע משימות בעלות אותו אופי, אך שונות אחת מהשנייה בלוגיקה הפנימית (ולא בממשקים החיצוניים), ואשר מיוצרים בכמויות קטנות. במעגלים אלו, העלות של התכנון והייצור של כל דגם היא גבוהה יחסית, ולכן יש היגיון לשאוף לפיתוח של מעגל חשמלי בעל ממשקים משותפים שיתאימו למספר מוצרים שונים, ובכך להגדיל את כמות המעגלים שמיוצרים (ולהפחית את ה-NRE למעגל כפי שקיים ב-ASIC, וכתוצאה מכך את העלות למעגל).

בזכות המבנה הפנימי של רכיבי ה-FPGA, הם שימושיים במיוחד בתחומים הדורשים עיבוד מקבילי, וניתן לבצע בהם כמות גדולה יחסית של פעולות וחישובים, אפילו כאשר קצב אות השעון נמוך יחסית. יכולת זו שימושית במיוחד בתחום פיצוח הצפנות, ואף פתחה אפשרות לסוג חדש של עיבוד, שבו רכיבי ה-FPGA מסייעים למעבד הראשי בביצוע פעולות מסוימות, לפעמים על פי הגדרת תצורה ספציפית, שנטען לתוך ה-FPGA מיד לפני ביצוע החישוב ב-FPGA.

המגבלה העיקרית בשילוב רכיבי FPGA במחשבים היא יכולת הביצועים מבחינת מהירות והספק חשמלי בהשוואה למעגלי VLSI בתכנון מלא וב- ASIC ומגבלת הסיבוכיות האפשרית הנמוכה ב-FPGA, בהשוואה לאפשרויות בתוכנה רגילה. אחת הדרכים להתמודד עם מגבלה זו היא להפחית את הדיוק היכן שניתן, ע"מ לנצל את המקביליות של ה-FPGA. מגבלה נוספת היא זמן ההכנה הארוך יחסית (בהשוואה לתוכנה רגילה) מרגע שהוגדר שינוי מסוים בתצורת הטעינה של ה-FPGA, עד לרגע שניתן להשתמש בתצורה הזו.

ראו גם[עריכת קוד מקור | עריכה]