The Shift לקראת Hardware-Accurate Game Preservation

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

עולם המשחקים קיבל הודעה ראשונה כאשר פרויקטים כמו FLT:0 אנרכולוג Nt MiniFreaLT:1 הוכיחו כי FPGA יכול לשחק מחסניות מקוריות NES עם אותנטיות חסרת פגמים על תצוגות מודרניות.מאז, הטכנולוגיה התרחבה למנעולים ידניים, פלטפורמות קוד פתוח ואפילו קונסולות מודרניות ניסיוניות מאחורי עקרונות היסוד והמאמץ ההנדסי שמאחורי מערכות אלה מגלה מדוע FPGA היא רק ג'י תיבות של חומרה (R) אך לא מספקות מהירות ו-מ"מ"מחדשה, אלא גם קונסולות סטנדרטיות"מחדשה, אלא גם FPIGNS) אך לא רק את מהירות"מחדשה, אלא גם FPIGNR) אך ורק ב-R.

כיצד FPGAs עובד ברמת השער

FPGA מורכב רשת של בלוקים לוגיים תצורה (CLBs) מוקף קישור קישורי תכנות.כל CLB מכיל שולחן מבט (LUT) שיכול ליישם כל פונקציה קטנה של Boolean, a ספין-אפ לאחסון המדינה, ומספרxer עבור אותות routing. על ידי טעינה קצתstream - תצורה בינארית - a binary filedevpers מגדיר כיצד חוטים אלה להיות שונה לחלוטין מכווצמים דיגיטליים.

שפות תיאור קשיחות (HDLs) כמו Verilog או VHDL משמשים לתיאור התנהגות המעגל הרצויה.לדוגמה, כדי ליצור מעבד של 6502, אתה כותב קוד RTL המפרט את ההוראה פענוח, ALU פעולות, ורישום קובץ.כלי הסינתזה ממפה קוד זה על LUTs ו- flo-floing.

מודרני (FLT:0)FPGAs מ AMD Xilinx ו- IntelcioFLT ( 1:1) גם להטביע בלוקים קשיחים כגון DSP פרוסות עבור מכפלה מהירה, חסם RAM (BRAM) לאחסון על שבב, לולאות בשלב נעולות (Plinlls) עבור דור שעון, וטרנסיבי מהירות גבוהה עבור HDMI או USB.

היתרונות הטכניים עבור הימורים Hardware

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

מחזור-ההכרה

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

חוסר עקביות נמוכה

Input lag מצטבר באמצעות סקר USB, buffer queuing, ומערכת ההפעלה לוח זמנים. FPGA מבוסס הקונסולות לעקוף את אלה לחלוטין.קלט בקר יכול להיות מדגום ישירות על ידי הליבה החומרית, ופיקסלים וידאו נוצרים עם צינור קבוע כי פלט את התצוגה בשעון פיקסל המדויק, אפילו תפוקה וידאו יליד CRTs, השגת תגובה תחת מילימטר אחד זה הוא דוגמה תחרותי עבור משחקים מתקדמים, כגון ccret 4K.

הוצאה להורג במקביל

FPGA מבצעת באופן חד-משמעי את כל ההיגיון שלה במקביל.כל מודול - CPU, GPU, מעבד אודיו, DMA בקר - פועל בו-זמנית על משאבי סיליקון ייעודיים.זה אנלוגי שיש שבבים פיזיים נפרדים עבור כל תת-מערכת, תקשורת באמצעות חוטים ייעודיים.במודול תוכנה, CPU מארח חייב זמן-זמן ולקדם משימות אלה, המוביל overheads aFP12 מסלקת את הבקבוק המשולב של YGA.

ביצועים אנרגטיים-Efficient Performance

יצירת קונסולת 16 סיביות במחשב שולחני עשויה לצייר 200 וואט. An FPGA יישום אותה המערכת יכולה לרוץ על 10 וואט או פחות.הסיבה פשוטה: FPGA רק כדי לנגב את השערים הדרושים באופן פעיל.אין מערכת הפעלה מעל הראש, לא צינורות צלי מאונט, ולא היררכיה זיכרון מתפתלת.

‪Cedleware‬

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

האבולוציה של Niche to Mainstream

FPGA משחקים החל עם תזונאים.מהנדס קווין "Kevtris" Horton עיצב FPGA אחד שיכול להחליף את לוח האם של NES, פלט 1080p וידאו ללא lag. עבודתו תפסה את תשומת הלב של Analog, אשר משווק את הרעיון עם Nt Mini. Analog מאוחר יותר הוציא סופר Nt ו- Mega Sg, להוכיח כי היה שוק פרמיה עבור קונסולות חדשות שנמכרו במהירות.

במקביל, הקוד הפתוח של ה-FLT:0MiSTerib ProjectFLT:1 הופיע כחלופה מבוססת-קהילתית (ה-Tasic De10-Nano Board) (Cyclone V FPGA), מתנדבים פיתחו ליבות למחשבים קלאסיים (Amiga, C64, MSX), לוח התכנון והקונסולות של ה-PlayStations ל-SMAFST, אשר מאפשר כעת תמיכה ב-S-R.

עיצוב FPGA Console מודרני: מהרעיון לסיליקון

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

בחירת ה-FPGA הנכונה ומועצת המנהלים

בחירת מכשיר FPGA מכתיב את מה שניתן ליישם מערכות .עבור 8 סיביות ו -16 סיביות קונסולות, FPGA לטווח בינוני עם 50,000-100,000 אלמנטים לוגיים מספיק.עבור מערכות 3D מוקדם כמו ה-PlayStation או Sega שבתאי, אתה צריך 200 אלף + LEs, בתוספת מספיק חסימת RAM ו DSPtime .IQ (שימוש במיסטר) ו-Sixelx הם גם אפשרויות אבטחה מהירות יותר עבור מעבדים מתקדמים.

לכתוב את Core ב Verilog או VHDL

(Val) הוא תיאור החומרה המגדיר כל רכיב.מפתחים לעתים קרובות מתחיל על ידי schematics שבב מקורי לאחור (Schematics) או באמצעות מנתחים לוגיים כדי ללכוד אותות מחומרה מעובדת ידועה.עבור מערכות נתמכות באופן נרחב, ליבות קוד פתוח קיימות (כמו אלה ב- MiSTer Reposi) לספק נקודת התחלה.

גינוי ווויכוח

דיון על הליבה FPGA הוא קשה משמעותית מאשר תוכנת פיזור בקלות.You לא יכול בקלות להגדיר נקודות או לבדוק ערכים משתנים באמצע מחזור. מפתחים להסתמך מאוד על מנתחים לוגיים משולבים (ILAs) מ Vivado או Quartus, אשר משתמשים בלוק RAM חסום כדי ללכוד אותות פנימיים bust כדי לייעל אותם על מחזורי אימות טייפ הם גם צובר; הם להוכיח מתמטית כי יישום FPGAST כדי לתפוס את הסימולציית וידאו יעיל של המשחק האמיתי הוא שימוש אמיתי של סימולציה של מחזורי לילה.

עיצוב PCB ו- Signal Integrity

לוח הבקרה חייב לטפל אותות מהירות גבוהה עבור זיכרון DDR, HDMI (עד 1.65 Gbps או יותר), ו-USB 2.0/3.0. Controlled Impedance עקבות (בדרך כלל 50ms יחיד, 90ms שונים עבור USB, 100 גרם עבור תפוקה מתקדמת) הם חיוניים, כמו גם decoupling capacitors ליד כל כוח pin.

אינטגרציה תוכנה וחווית המשתמש

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

יישומים אמיתיים ופוטנציאל עתידי

שימור משחקים נשאר היישום הרוצח.מכשירים כמו FLT:0Analog PocketFve 1 ו-FLT:2MiSTerph 3:3 לאפשר לשחקנים ליהנות מהספריות קלאסיות מבלי להסתמך על חיקויים שעשויים להיות באגים תזמון או קלט lag.היוזמה הפתוחה הופכת את זה אפשרי עבור הקהילה לגרעין על פני פלטפורמות, כך שגם מערכות מעורפלות יכולות להיות מנוסים באופן אותנטי של התפתחות פיזית.

מעבר לנסיגה, FPGAs מתחילים להופיע בפיתוח המשחק המודרני.הם יכולים להאיץ משימות compute-intensive כגון סימולציות פיזיות, ray-Time-Times tracing, ו AI upscaling (כמו FSR או DLSS) קונסולות ניסיון עם FPGAs עבור I / O עיבוד (כמו ב-PS4 של דרוםbridge) או כמו גמישה עבור פלטפורמת סיליקון מותאם אישית, כמו סיליקון, סיליקון קונסולה, או קונסולה זמן סימולציה אישית, יכול לעדכון עם יכולת לוח זמנים סימולציה סימולציה סימולציה סימולציה אישית, עם סימולציה סימולציה סימולציה סימולציה סימולציה סימולציה סימולציה סימולציה סימולציה סימולציה סימולציה סימולציה סימולציה סימולציה סימולציה סימולציה סימולציה סימולציה סימולציה סימולציה סימולציה סימולציה סימולציה סימולציה סימולציה סימולציה סימולציה סימולציה סימולציה סימולציה סימולציה סימולציה סימולציה סימולציה סימולציה סימולציה סימולציה סימולציה סימולציה סימולציה סימולציה סימולציה סימולציה סימולציה סימולציה סימולציה סימולציה ® סימולציה סימולציה ® לאחר סימולציה סימולציה סימולציה סימולציה סימולציה סימולציה סימולציה סימולציה סימולציה סימולציה ® סימולציה

(במבט קדימה, ארכיטקטורות השבבים עשויים לאפשר CPU/GPU הראשי למות כדי להיות תואמים עם אריח FPGA קטן על אותו אינטרposer.זה ייתן למפתחים את היכולת לשנות חלק של החומרה של הקונסולה לאחר השחרור, המאפשר תכונות כמו קודים סטנדרטיים, מאי פעם לאבטחת מערכות אבטחה, או אפילו תיקון תאימות מחדש של LTProject:0open-chained כלי זמין עכשיו, כמו קוד פתוח יותר.

להתגבר על המכשולים לאימוץ

למרות היתרונות שלה, פיתוח FPGA נשאר מאתגר. HDL coding דורש חשיבה שונה מתוכנות תכנות; תנאי גזע ובעיות תזמון קשה ל debug. Proprietary Tools כמו Vivado ו Quartus הם גדולים ולעתים קרובות דורשים רישיונות יקרים עבור התקנים מתקדמים. Open-source חלופות עדיין מזינוק ועלולים לתמוך בכל משפחות FPGA.

עם זאת, הקהילה עשתה צעדים גדולים.משאבים חינוכיים כמו FLT:0 NANDlandFelo 1 לספק הדרכות נגישות עבור מעצבים HDL מתחילים, אתרים כמו FLT:2 MiSTer WikiFLT 3 מציע תיעוד נרחב ומפתחות שנבנו מראש, כמו גם קוד פתוח שרשרת כמו Yosys ו-NextPNR התבגרו מספיק כדי להתמודד עם עיצובים מורכבים על צורות בידור חדשות, אך לא ניתן גם כן, כמו מפתחים חדשים של קונסולה דיגיטלית, כמו גם כן, כמו גם כן, כמו גם כן, כמו גם כן, כמו גם כן, כמו גם תכונות סטנדרטיות, כמו גם כן, כמו גם כן, כמו גם כן, כמו גם כן, כמו גם כן, כמו גם תכונות עיצובים סטנדרטיות סטנדרטיות, כמו גם כן, כמו גם עם מודלים חדשים של קונסולת חומרים מתקדמים יותר, כמו גם עם מודלים חדשים של קונסולה, כמו גם עם מודלים חדשים של קונסולה של קונסולה.