מה זה Place & Route - ואיך ממצבים את השערים על השבב ומחברים ביניהם?

📚 מסע לעולם עיצוב השבבים - חלק 9 עיצוב שבבים #Place & Route#Backend
תוכן עניינים

מה זה 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, ועוד שלבים מרתקים עד לייצור בפועל.

תגובות