מה הם FPGAs?

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

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

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

FPGA לעומת מעבדים מסורתיים: מה ההבדל?

בניגוד לערכת שבבים רגילה - ה Snapdragon 8 Gen 2, למשל - FPGA לא נועד להיות מתוכנת מחדש בשטח. זוהי מערכת על שבב (SoC) המורכבת ממספר חלקים, כולל GPU, NPU ו-CPU. ברגע שהוא יישלח, זה מה שצרכנים ועסקים יקבלו.

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

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

כיצד פועלים FPGAs עבור אמולציה?

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

לדוגמה, ה-Anlogue Pocket יכול לקרוא משחקי Game Boy ישירות בחריץ המחסנית שלו ולשחק בהם כאילו הוא הקונסולה המקורית. לא רק זה, אלא שמתאמי מחסניות מוסיפים תמיכה נוספת גם למכשירים אחרים, כמו ה-Game Gear, Atari Lynx ועוד. זה אפשרי רק בגלל האופי שניתן לתכנות מחדש של FPGA המשתמש באמולציית חומרה במקום באמולציית תוכנה כדי להבטיח שמשחקים ניתנים להפעלה. MiSTer (המשתמש בלוח DE-10 Nano FPGA כבסיס ודורש מודולים נוספים על גביו) דומה בכך שניתן להשתמש בו כדי לחקות קונסולות כמו SNES, Sega Genesis, ואפילו ה- משחק קוביה. אמולציית חומרה היא בדרך כלל מדויקת יותר מאמולציית תוכנה תוך שהיא מציעה גם יתרונות ביצועים.

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

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

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

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

חסרונות של FPGAs

DE-10 Nano לבניית MiSTER FPGA

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

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

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