מה זה Place & Route - ואיך ממצבים את השערים על השבב ומחברים ביניהם?
מה זה Place & Route - ואיך ממצבים את השערים על השבב ומחברים ביניהם?
בפוסטים הקודמים הגענו עד לשלב שבו RTL תורגם ל-Netlist. ה-Netlist הוא רשימה גדולה של:
- שערים (AND / OR / NOT / FF…)
- חיבורים ביניהם
- מבנה לוגי מלא
אבל עדיין אין לנו שבב אמיתי. אין טרנזיסטורים, אין חוטים, אין מיקום פיזי.
כדי להפוך את העיצוב למציאות, נכנסים לשלב מרכזי ב-Backend:
Place & Route או בקיצור: P&R.
למה בכלל צריך Place & Route?
ב-Netlist כתוב מי מחובר למי. אבל הוא לא אומר:
- איפה כל שער ממוקם פיזית על השבב
- איך החוטים עוברים ביניהם
- איך נמנעים מהתנגשויות
- איך עומדים בתזמונים
- איך מצמצמים צריכת אנרגיה
בדיוק עבור זה נוצר תהליך ה-P&R.
אפשר לחשוב עליו כמו לבנות עיר:
- ה-Synthesis קבע אילו בניינים קיימים
- Place & Route קובע איפה כל בניין יעמוד
- ולאן יובילו הכבישים ביניהם
שלב 1: Placement - מיקום השערים על גבי השבב
יש מיליוני (ולפעמים מיליארדי) שערים, וצריך למקם אותם:
- בצורה יעילה
- כך שבלוקים קרובים יתקשרו מהר
- בלי ליצור צפיפות יתר
- בלי לבזבז שטח
- תוך עמידה בתנאי ביצועים
Placement הוא תהליך אוטומטי מאוד - אך גם מורכב מאוד.
בכל Iteration הכלי מזיז בלוקים קצת קדימה/אחורה ומחשב:
- האם התזמון השתפר?
- האם השטח מנוצל נכון?
- האם עומדים במטרה?
התהליך חוזר פעמים רבות עד שמגיעים ל-Placement אופטימלי.
שלב 2: Routing - משיכת “חוטים” אמיתיים
אחרי שיודעים איפה כל שער יעמוד, צריך לחבר אותם בחוטים:
- חיבורים אופקיים
- חיבורים אנכיים
- קווים ברמות שונות של מתכת
- רוחב, גובה וצפיפות שונים
Routing הוא כמו לצייר כבישים בין כל הבתים בעיר:
- בלי להתנגש
- בלי ליצור עומסים
- בלי לגרום לחוטים להיות ארוכים מדי (כי זה יפגע בתזמון)
Routing איכותי שומר על:
- מהירות החומרה
- יציבות האותות
- צריכת חשמל נמוכה
למה Place & Route הוא תהליך קשה כל כך?
כי יש מיליוני פרמטרים שצריך לאזן בו:
- שטח
- תזמון
- חום
- צפיפות
- מתח
- עמידה במגבלות ייצור
- מניעת הפרעות חשמליות (Noise, Crosstalk)
אם קו אחד יוצא קצת ארוך מדי - נתיב שלם עלול לא לפעול בזמן.
אם בלוק אחד ממוקם לא נכון - כל התזמון של השבב עלול להישבר.
מה התוצאה של Place & Route?
התוצר הסופי הוא:
Layout ציור פיזי ברזולוציית טרנזיסטורים.
הוא כולל:
- כל הטרנזיסטורים
- כל השערים
- כל שכבות המתכת
- כל החיבורים
- כל מבנה השבב ברמה הפיזית
זהו הקובץ שנשלח למפעל (FAB) לייצור.
במילים אחרות:
Place & Route הוא השלב שבו השבב הופך מציור - למפה אמיתית.
משל שיעשה סדר
חשבו על תכנון עיר:
Frontend = החלטנו שיהיו בתים, חנויות, בתי ספר.
Synthesis = החלטנו מאיזה חומרים לבנות כל דבר.
Place & Route = מיקמנו כל בניין במקום המדויק, וצייר את כל הכבישים.
עכשיו יש לנו מפה מלאה של העיר - מוכנה לבנייה אמיתית.
סיכום
Place & Route הוא:
- שלב Backend מרכזי, שבו:
- ה-Netlist מקבל צורה פיזית
- השערים מקבלים מיקום
- החוטים מקבלים מסלול
- נוצרת פריסת השבב המלאה
- והמערכת מוכנה לשלב הסופי: ייצור
זהו השלב שבו השבב באמת “נולד”.
זו הסדרה “Chip Design Journey” - מסע מעמיק בעולם עיצוב השבבים. בהמשך נלמד על STA (Static Timing Analysis), Simulation, Tapeout, ועוד שלבים מרתקים עד לייצור בפועל.
📚 פוסטים נוספים בסדרה: מסע לעולם עיצוב השבבים
- חלק 0 מבוא לסדרה: איך שבב נולד? - מסע מלא מרעיון ועד ייצור
- חלק 1 מה זה שבב? ההסבר הפשוט ביותר להתחלה בעולם החומרה
- חלק 2 מהי מערכת על שבב (SoC) - ולמה שבב אחד יכול להכיל עולם שלם בתוכו?
- חלק 3 איך בכלל 'כותבים' חומרה? הצעד הראשון להבנת RTL ועולם ה-Frontend
- חלק 4 מהו Frontend בעולם השבבים?
- חלק 5 RTL למתחילים - מה זה Verilog/VHDL?
- חלק 6 מהי ארכיטקטורת שבב - ולמה היא השלב שבו מחליטים מה השבב באמת יהיה?
- חלק 7 מה זה Verification - ולמה 70% מפיתוח שבבים הוא בדיקות?
- חלק 8 מהי Synthesis - וכיצד RTL הופך לשערים אמיתיים בשבב?
- חלק 10 מה זה STA - Static Timing Analysis - ואיך מוודאים שהשבב יעבוד בתדר הנכון?
- חלק 11 Simulation, FPGA, Emulation - איך בודקים את השבב לפני הייצור?
- חלק 12 מה זה Tapeout - והאם באמת שולחים קלטת לייצור?
- חלק 13 FAB, Bring-Up ו-Post-Silicon - איך השבב הופך לחי?
- חלק 14 סיכום הסדרה: המסע המלא מרעיון לשבב - כל השלבים במבט אחד