برنامه نویسی

بهینه سازی قرار دادن تراشه روی ویفرهای دایره ای با استفاده از جستجوی وسعت اول (BFS)

مقدمه

تولید نیمه هادی شامل ساخت میکروچیپ ها بر روی ویفرهای سیلیکون دایره ای است. از آنجا که میکروچیپ ها (یا می میرند) مستطیل هستند ، برای به حداکثر رساندن عملکرد و به حداقل رساندن زباله ، یک ترتیب کارآمد لازم است. در این مقاله به بررسی چگونگی استفاده از جستجوی وسعت اول (BFS) برای بهینه سازی قرار دادن تراشه ، تشخیص نقص و برنامه ریزی مسیر قرار گرفتن در معرض در لیتوگرافی ویفر می پردازیم.


چالش قرارگیری تراشه در ویفرهای دایره ای

1. حداکثر عملکرد

هدف این است که حداکثر تعداد تراشه ها را روی ویفر قرار دهید در حالی که از عدم همپوشانی و حداقل هدر رفتن در لبه های ویفر اطمینان حاصل نمی شود.

2. جلوگیری از نقص

برخی از بخش های ویفر به دلیل تغییرات فرآیند ممکن است حاوی نقص باشد. BFS می تواند به شناسایی و جداسازی مناطق معیوب کمک کند.

3. بهینه سازی مسیرهای قرار گرفتن در معرض

دستگاه های لیتوگرافی الگوهای خود را بر روی ویفر در یک الگوی اسکن منظم قرار می دهند. از BFS می توان برای یافتن کارآمدترین دنباله قرار گرفتن در معرض ، کاهش حرکت و زمان دستگاه استفاده کرد.


استفاده از BFS برای قرار دادن بهینه تراشه

رویکرد:

ما ویفر را به عنوان یک نمودار مدل می کنیم ، جایی که:

  • هر گره یک موقعیت تراشه ممکن را نشان می دهد.
  • لبه ها موقعیت های تراشه مجاور را متصل می کنند.
  • BFS برای کشف مکان های معتبر ، از مرکز و گسترش لایه بیرونی توسط لایه استفاده می شود.

الگوریتم برای قرار دادن تراشه BFS:

  1. از مرکز ویفر شروع کنید (قرارگیری بهینه قالب در هسته آغاز می شود).

  2. با استفاده از BFS ، به بیرون گسترش دهید و مکان های معتبر را بررسی کنید.

  3. اطمینان حاصل کنید که هیچ تراشه ای فراتر از مرز دایره ای گسترش نمی یابد.

  4. قرار دادن را ادامه دهید تا زمانی که موقعیت های معتبر تری پیدا نشود.


اجرای C ++:

#include 
#include 
#include 
#include 
using namespace std;

struct Point {
    int x, y;
};

void bfs_chip_placement(int wafer_radius, int chip_size) {
    queue q;
    vector placements;
    q.push({0, 0});
    vector> visited(2 * wafer_radius + 1, vector(2 * wafer_radius + 1, false));

    while (!q.empty()) {
        Point p = q.front();
        q.pop();

        int x = p.x, y = p.y;
        if (x * x + y * y > wafer_radius * wafer_radius || visited[x + wafer_radius][y + wafer_radius])
            continue;

        placements.push_back({x, y});
        visited[x + wafer_radius][y + wafer_radius] = true;

        int directions[4][2] = {{chip_size, 0}, {-chip_size, 0}, {0, chip_size}, {0, -chip_size}};
        for (auto d : directions)
            q.push({x + d[0], y + d[1]});
    }

    cout << "Chip Placements:\n";
    for (auto p : placements)
        cout << "(" << p.x << ", " << p.y << ")\n";
    cout << "Total chip placements on wafer with radius " << wafer_radius << " are " << placements.size() << " with size of " << chip_size << endl; 
}

int main() {
    int wafer_radius = 50;  // Example wafer radius
    int chip_size = 5;      // Example chip size
    bfs_chip_placement(wafer_radius, chip_size);
    return 0;
}
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید


چگونه این الگوریتم کار می کند

1. نمایش نمودار

  • ویفر به عنوان یک شبکه مدل می شود.
  • هر موقعیت تراشه معتبر به عنوان یک گره نمودار درمان می شود.
  • BFS قرار دادن تراشه را به سمت بیرون گسترش می دهد ، و هیچ همپوشانی را تضمین نمی کند.

2. بررسی مرزی

  • تضمین می کند که هیچ قرار دادن تراشه از مرز ویفر دایره ای فراتر نمی رود.

3. تراورس کارآمد

  • BFS به طور سیستماتیک به بیرون گسترش می یابد و حداکثر استفاده از ویفر را تضمین می کند.

BFS برای تشخیص نقص

نقص در ویفرها می تواند باعث خوشه های مردن معیوب شود. از BFS می توان برای شناسایی مناطق معیوب استفاده کرد و آنها را برای محرومیت علامت گذاری کرد.

رویکرد:

  • ویفر را به عنوان نمودار درمان کنید ، جایی که هر مرگ یک گره است.
  • برای تشخیص مناطق معیوب متصل از BFS استفاده کنید.
  • از قرار دادن تراشه معیوب جدا شده و جلوگیری کنید.

BFS برای بهینه سازی مسیر قرار گرفتن در معرض لیتوگرافی

در فوتولیتوگرافی ، قرار گرفتن در معرض باید از یک الگوی سیستماتیک برای کاهش حرکت لیزر و افزایش توان استفاده کند. BFS می تواند مسیر اسکن را بهینه کند.

رویکرد:

  • ویفر را به عنوان یک شبکه قرار گرفتن در معرض مدل کنید.
  • برای تعیین کارآمدترین دنباله قرار گرفتن در معرض از BFS استفاده کنید.
  • برای کارآیی در یک الگوی مارپیچ یا متمرکز گسترش دهید.

پایان

Wreadth-First Search (BFS) یک تکنیک قدرتمند در لیتوگرافی نیمه هادی برای:

  • بهینه سازی قرارگیری تراشه (حداکثر استفاده از ویفر).
  • تشخیص نقص و انزوا (تضمین کنترل کیفیت).
  • مسیرهای قرار گرفتن در معرض لیتوگرافی کارآمد (به حداقل رساندن زمان پردازش).

با استفاده از BFS ، تولید کنندگان می توانند زباله ها را کاهش دهند ، عملکرد را بهبود بخشند و تولید ویفر را بهینه کنند و آن را به ابزاری اساسی در ساخت تراشه مدرن تبدیل کنند.

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا