ההבדל בין CPLD ו- FPGA הבדל בין
CPLD לעומת FPGA
CPLDs (התקן לוגי מורכב לתכנות) ו- FPGA (מערך שדה ניתן לתכנות) הן שתי התקנות לוגיות המתחילות לטשטש בשל השיפורים בטכנולוגיה והכנסת התכונות של האחד לשני. ההבדל העיקרי בין FPGAs ו- CPLD הוא המורכבות או מספר השערים הלוגיים הכלולים בכל אחד מהם. למרות המספרים בפועל יכול להשתנות מאוד בין דגמים שונים, CPLDs מכילים בכל מקום בין כמה אלפי שערים עד עשרות אלפים. לשם השוואה, FPGA יש עשרות אלפים כמה מיליוני. בגלל הבדל עצום במספר השערים, קל לומר כי אתה יכול לבנות לוגיקה מורכבת יותר עם FPGAs מאשר עם CPLDs.
אחד היתרונות העיקריים שיש מספר גבוה מאוד של שערים הוא היכולת יש פונקציות ברמה גבוהה מוטבע לתוך השבב. במקום ליצור אותם בעצמך, כמה FPGAs כבר יש adders, מכפילים, ומפעילים רבים אחרים עבור המשימות הנפוצות ביותר. מתכנת אז יכול להתמקד המטרה בפועל של העיצוב ולא צריך לדאוג לביצוע של פונקציות כאלה.
יש גם הבדל עצום בין השניים כשמדובר הארכיטקטורה שלהם. FPGAs משתמשים ב- LUTs (Look-up Tables) בעוד ש- CPLD משתמש בסכום פשוט יותר של מוצרים (המכונה גם ים של שערים). שימוש LUTs הם יתרון שכן הוא מספק חיסכון משמעותי בזמן עיבוד כמו שבב לא צריך לעבור את תהליך חישוב מחדש של כמות מוצרים כמו CPLDs לעשות. LUTs גם מספקים חיבור גמיש יותר בין מודולי FPGA פנימיים מאשר מה CPLD מסוגל.
ההבדל הגדול האחרון בין השניים הוא זיכרון בלתי נדיף. LUTs הם צורה של זיכרון, אבל זה לא מתעקש פעם הכוח מוסר. CPLDs יש זיכרון נדיף מוטבע שבבים המאפשר להם לתפקד באופן מיידי ללא צורך ROM חיצוני. CPLDs משמשים גם לשמש "מטעין אתחול" עבור FPGA. כפי שכבר צוין בתחילת מאמר זה, הקו בין תכונות מתחיל לטשטש. כדי למנוע את הצורך "מעמיסים האתחול", יצרני FPGAs החלו להטביע זיכרון לא נדיף לתוך שבבי FPGA שלהם; ובכך להפוך תכונה זו נוכחים הן CPLDs וכמה FPGAs.
סיכום:
1. FPGAs מורכבים יותר מ- CPLD.
2. FPGAs יש פונקציות ברמה גבוהה יותר, מוטבע מאשר CPLDs.
3. FPGA משתמשים בטבלאות צפייה בעוד CPLDs משתמשים בסכום של מוצרים.
4. CPLDs יש זיכרון נדיף בעוד FPGAs לא.