אחת מהשאלות היותר שכיחות בקרב סטודנטים להנדסת חשמל שעושים את צעדיהם הראשונים בתעשייה היא מה ההבדל בין ASIC לבין FPGA?

נתחיל משאלה מקדימה – מה זה FPGA?

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

איך קורה הקסם הזה?

הרי הקוד שלנו מתאר פונקציונליות מסויימת, וממומש על ידי המון שערים לוגיים ורגיסטרים שמחוברים בצורה מאוד ספציפית. איך FPGA אחד יכול לממש כל קוד שנכתוב?
נצלול יחד לתוך מבנה ה-FPGA. ה-FPGA מורכב מהמון יחידות שנקרות CLB והמון יחידות שנקראות SM.
CLB – Configurable Logic Block, בגרסתו הבסיסית ביותר הוא מכיל שערים ו-FF.
SM – Switch Matrix, דרכה שולטים על החיבוריות בין יחידות ה-CLB.




 

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

  • זכרונות - BRAM
  • מכפלים – DSP
  • מחולל שעון – PLL
  • בקר תוכנתי

 

אז מה זה ASIC ?

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

לכאורה נשמע ש-FPGA עדיף, האמנם?

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




 

יש לכך סיבות רבות:

  • Power Consumption, צריכת הספק – זוכרים שדיברנו על switch matrix ועל CLB, מסתבר שהם צורכים הרבה הספק.
  • Performance, ביצועים – נדבר למשל על תדר העבודה. ב-FPGA עובדים בתדרים של כמה מאות MHz בודדות בעוד שב-ASIC ניתן לעבוד ב-GHz, הסיבה לכך היא שוב פעם ה-SM וה-CLB שקיימים ב-FPGA, הם מוסיפים delay ודורשים מחזור שעון גדול יחסית. ב-ASIC המרחקים קצרים יותר וניתן לתכנן את המעגל בצורה אופטימלית.
  • עלות – יחידה אחת של FPGA עולה הרבה יותר מיחידה בודדת של ASIC. אם לדייק זה תלוי כמה יחידות אתם צריכים. בשביל לייצר ASIC שמתאים לקוד שכתבתם יכינו עבורכם "מסכה" במפעל הייצור. המסכה עולה הרבה מאוד כסף אך מאותו רגע העלות של כל הדפסת רכיב ASIC נוסף תהיה זניחה ביותר. חברות שמייצרות ומוכרות מיליוני יחידות יעדיפו למכור רכיבי ASIC.
  • ב-ASIC קיימת גמישות בשלב התכנון, כך למשל, ניתן לתכנן את פיזור השעון כרצוננו. זהו תחום שקרא clock distribution שדואג שכל הרגיסטרים "יראו" עליית שעון באותו הרגע, ללא skew. ב-FPGA אנחנו לא יוכלים לשנות את עץ השעונים, לטוב ולרע.

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


 

bit ready – מכינים אתכם להצלחה


התחבר

איפוס סיסמה

x
סייען נגישות
הגדלת גופן
הקטנת גופן
גופן קריא
גווני אפור
גווני מונוכרום
איפוס צבעים
הקטנת תצוגה
הגדלת תצוגה
איפוס תצוגה

אתר מונגש

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

סייגי נגישות

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

רכיב נגישות

באתר זה הותקן רכיב נגישות מתקדם, מבית all internet - בניית אתרים. רכיב זה מסייע בהנגשת האתר עבור אנשים בעלי מוגבלויות.