FPGA – הבדלי גרסאות

תוכן שנמחק תוכן שנוסף
מאין תקציר עריכה
תגיות: עריכה ממכשיר נייד עריכה דרך האתר הנייד
אין תקציר עריכה
שורה 3:
'''FPGA''' (ראשי תיבות של "'''Field-Programmable Gate Array'''") הוא סוג של [[מעגל משולב]], אשר ניתן להגדיר ולשנות את תפקודו לאחר ה[[ייצור]], בתהליך תכנות הדומה להתקנת [[תוכנה]]. הגדרת תפקוד הרכיב מתבצעת על ידי הזנה של תרשים [[לוגיקה בוליאנית|לוגי]] או על ידי שפות לתיאור מעגלים (כדוגמת [[VHDL]] או [[Verilog]]).
 
היתרונות בשימוש ב-FPGAב־FPGA הם:
* מאחר שרכיבי FPGA ניתנים לתכנות ניתן לעדכן את התוכנה שלהם גם לאחר שלב הייצור ואפילו לאחר שהמוצר מגיע אל לקוח הקצה (כדוגמת עדכוני [[קושחה]]).
* שלב התכנון של [[מעגל אלקטרוני|המעגל האלקטרוני]] פשוט יותר, והוא כולל בעיקר [[תכן]] של שילוב רכיב ה-FPGAה־FPGA ב[[מעגל מודפס]] (בניגוד לתכנון פרטני של [[מעגל אלקטרוני דיגיטלי]] פיזי, העוסק בכל פרטי הלוגיקה הנדרשת).
* ניתן להתחיל בתהליך ייצור המעגלים המודפסים עוד לפני שהלוגיקה נכתבה או הושלמה.
* ניתן לחלק את העבודה בין צוותים שונים, האחד עובד על תכנון המעגלים הפיזיים, והשני על המעגלים הלוגיים שיטענו לתוך ה-FPGAה־FPGA. לחלופין, ניתן לחלק את זמן הפיתוח של צוות בודד, שראשית מתכנן את המעגל המודפס, ובזמן שזה נמצא בתהליכי ייצור, כותב את הלוגיקה עבור ה-FPGAה־FPGA.
* תהליך הפיתוח הוא מהיר ביותר מאחר שאין צורך בתהליך ייצור כלשהו ולכן מתאים מאוד לפיתוח של אב טיפוס.
[[קובץ:Logic block2.svg|שמאל|ממוזער|250px|בלוק לוגי]]
ה-FPGAה־FPGA מורכב מיחידות לוגיות ניתנות לתכנות ומרשת של אמצעים לחיבור ולניתוק בין היחידות השונות. בטעינת ה-FPGAה־FPGA מקבלות היחידות הגדרה לאופי פעולתן, והיחידות מתחברות ליחידות אחרות, בצורה שמממשת את המעגל הלוגי הכולל. רכיבי FPGA יכולים לשמש למגוון פונקציות, החל מלוגיקות פשוטות כגון [[שער לוגי|שערים לוגיים]] וכלה ביכולות מורכבות כגון [[דלגלג]]ים ומרחבי [[זיכרון (מחשב)|זיכרון]].
 
== שימושים ==
ה-FPGAה־FPGA התחיל את דרכו כמקביל ומתחרה ל-ל־[[CPLD]], אך ככל שהגודל, היכולות, ומהירות הפעולה של ה-FPGAה־FPGA גדלו, גדל גם נתח השוק של רכיבים מסוג זה, וכיום מקובל למצוא רכיבי FPGA כ[[מערכת על שבב]] (SoC).
 
נהוג להשתמש ברכיבי FPGA עבור מעגלים שנועדו לבצע משימות בעלות אותו אופי, אך שונות אחת מהשנייה בלוגיקה הפנימית (ולא ב[[ממשק חשמלי|ממשקים]] החיצוניים), ואשר מיוצרים בכמויות קטנות. במעגלים אלו, העלות של התכנון והייצור של כל דגם היא גבוהה יחסית, ולכן יש היגיון לשאוף לפיתוח של [[מעגל חשמלי]] בעל ממשקים משותפים שיתאימו למספר מוצרים שונים, ובכך להגדיל את כמות המעגלים שמיוצרים (ולהפחית את ה-NREה־NRE למעגל כפי שקיים ב-ב־[[ASIC]], וכתוצאה מכך את העלות למעגל).
 
בזכות המבנה הפנימי של רכיבי ה-FPGAה־FPGA, הם שימושיים במיוחד בתחומים הדורשים [[עיבוד מקבילי]], וניתן לבצע בהם כמות גדולה יחסית של פעולות וחישובים, אפילו כאשר קצב [[אות שעון|אות השעון]] נמוך יחסית. יכולת זו שימושית במיוחד בתחום פיצוח [[הצפנה|הצפנות]], ואף פתחה אפשרות לסוג חדש של עיבוד, שבו רכיבי ה-FPGAה־FPGA מסייעים למעבד הראשי בביצוע פעולות מסוימות, לפעמים על פי הגדרת תצורה ספציפית, שנטען לתוך ה-FPGAה־FPGA מיד לפני ביצוע החישוב ב-FPGAב־FPGA.
 
המגבלה העיקרית בשילוב רכיבי FPGA במחשבים היא יכולת הביצועים מבחינת מהירות ו[[הספק חשמלי]] בהשוואה למעגלי [[VLSI]] בתכנון מלא וב- וב־[[ASIC]] ומגבלת הסיבוכיות האפשרית הנמוכה ב-FPGAב־FPGA, בהשוואה לאפשרויות בתוכנה רגילה. אחת הדרכים להתמודד עם מגבלה זו היא להפחית את הדיוק היכן שניתן, על מנת לנצל את המקביליות של ה-FPGAה־FPGA. מגבלה נוספת היא זמן ההכנה הארוך יחסית (בהשוואה לתוכנה רגילה) מרגע שהוגדר שינוי מסוים בתצורת הטעינה של ה-FPGAה־FPGA, עד לרגע שניתן להשתמש בתצורה הזו.
 
== ראו גם ==
 
* [[VLSI]]
* [[ASIC]]