Yerleştirme (elektronik tasarım otomasyonu) - Placement (electronic design automation)

Yerleştirme önemli bir adımdır elektronik tasarım otomasyonu - fiziksel tasarım akışının çipin çekirdek alanı içindeki çeşitli devre bileşenleri için kesin konumlar atayan kısmı. Daha düşük bir yerleştirme ataması yalnızca yonga performansı, ancak mevcut olmanın ötesinde aşırı tel uzunluğu üreterek onu üretilemez hale getirebilir. yönlendirme kaynaklar. Sonuç olarak, bir yerleştirici, bir devrenin performans taleplerini karşıladığından emin olmak için bir dizi hedefi optimize ederken atamayı gerçekleştirmelidir. Birlikte, IC tasarımının yerleştirme ve yönlendirme adımları şu şekilde bilinir: yer ve rota.

Bir yerleştirici, belirli bir sentezlenmiş devreyi alır netlist bir teknoloji kütüphanesi ile birlikte ve geçerli bir yerleşim düzeni oluşturur. Düzen, yukarıda belirtilen hedeflere göre optimize edilmiştir ve hücre yeniden boyutlandırma ve arabelleğe alma için hazırdır - zamanlama ve Sinyal bütünlüğü memnuniyet. Saat ağacı sentez ve Yönlendirme fiziksel tasarım sürecini tamamlayarak izleyin. Çoğu durumda, fiziksel tasarım akışının bir kısmı veya tamamı, birkaç kez yinelenir. tasarım kapanışı elde edilir.

Bu durumuda uygulamaya özel entegre devreler veya ASIC'lerde, çipin çekirdek yerleşim alanı, aralarında bir miktar boşluk bulunan veya hiç boşluk olmayan bir dizi sabit yükseklik sırasından oluşur. Her sıra, devre bileşenleri tarafından işgal edilebilen bir dizi bölgeden oluşur. Ücretsiz site, herhangi bir bileşen tarafından işgal edilmeyen bir sitedir. Devre bileşenleri standart hücreler, makro bloklar veya G / Ç pedleridir. Standart hücreler, bir satırın yüksekliğine eşit sabit bir yüksekliğe sahiptir, ancak değişken genişliklere sahiptir. Bir hücrenin genişliği, tam bir site sayısıdır. Öte yandan, bloklar tipik olarak hücrelerden daha büyüktür ve çok sayıda satırı uzatabilen değişken yüksekliklere sahiptir. Bazı bloklar önceden atanmış konumlara sahip olabilir - örneğin önceki bir döşeme planlama sürecinden - bu da yerleştiricinin görevini yalnızca hücreler için konum atamakla sınırlar. Bu durumda, bloklar tipik olarak sabit bloklar ile anılır. Alternatif olarak, blokların bazıları veya tamamı önceden atanmış konumlara sahip olmayabilir. Bu durumda, genellikle karma mod yerleşim olarak adlandırılan yerde hücrelerin yanına yerleştirilmeleri gerekir.

ASIC'lere ek olarak, yerleşim, aşağıdaki gibi kapı dizisi yapılarında birincil önemini korur. sahada programlanabilir kapı dizileri (FPGA'lar). FPGA'larda, yerleştirme, devrenin alt devrelerini, sonraki yönlendirme aşamasının tamamlanmasını garanti edecek şekilde programlanabilir FPGA mantık bloklarına eşler.

Hedefler ve Kısıtlamalar

Yerleştirme genellikle bir sorun olarak formüle edilir kısıtlı optimizasyon. Kısıtlama, ağ listesindeki tüm örnekler arasındaki çakışmaları kaldırmaktır. Optimizasyon hedefi, genellikle aşağıdakileri içeren birden fazla olabilir:

  • Toplam kablo uzunluğu: Toplam kablo uzunluğunu veya tasarımdaki tüm tellerin uzunluğunun toplamını en aza indirmek, mevcut yerleştiricilerin çoğunun birincil amacıdır. Bu, yalnızca yonga boyutunu ve dolayısıyla maliyeti en aza indirmeye yardımcı olmakla kalmaz, aynı zamanda güç ve gecikmeyi de en aza indirir, bu da kablo uzunluğu ile orantılıdır (Bu, uzun kabloların ek tamponlama içerdiğini varsayar; tüm modern tasarım akışları bunu yapar.)
  • Zamanlama: saat Bir çipin döngüsü, genellikle kritik yol olarak adlandırılan en uzun yolunun gecikmesiyle belirlenir. Bir performans özelliği verildiğinde, bir yerleştirici, belirtilen maksimum gecikmeyi aşan gecikmeli hiçbir yolun bulunmadığından emin olmalıdır.
  • Tıkanıklık: Toplam yönlendirme kaynaklarını karşılamak için toplam kablo uzunluğunu en aza indirmek gerekliyken, yonganın çekirdek alanının çeşitli yerel bölgelerinde yönlendirme kaynaklarının karşılanması da gereklidir. Sıkışık bir bölge, aşırı rota sapmalarına neden olabilir veya tüm rotaların tamamlanmasını imkansız hale getirebilir.
  • Güç: Güç minimizasyonu tipik olarak, genel güç tüketimini azaltmak, sıcak noktaları hafifletmek ve sıcaklık değişimlerini yumuşatmak için hücre bileşenlerinin konumlarının dağıtılmasını içerir.
  • İkincil hedef yerleştirmedir Çalışma süresi minimizasyon.

Temel teknikler

Yerleşim, genel yerleştirme ve ayrıntılı yerleştirme olarak ikiye ayrılır. Global yerleştirme, tüm örnekleri küçük çakışmalara izin verilen küresel ölçekte uygun konumlara dağıtarak önemli değişiklikler getirir. Ayrıntılı yerleşim, her bir örneği, çok makul bir düzen değişikliğiyle yakındaki yasal konuma kaydırır. Yerleştirme ve genel tasarım kalitesi, en çok küresel yerleştirme performansına bağlıdır.

Erken zamanlarda, entegre devrelerin yerleştirilmesi, kombinatoryal yaklaşımlarla ele alınır. IC tasarımı bin kapılı ölçekte olduğunda, benzetimli tavlama[1] TimberWolf gibi metodolojiler[2] en iyi performansı sergiler. IC tasarımı milyon ölçekli entegrasyona girerken, yerleşim, yinelemeli hiper grafik bölümleme[3] Capo gibi.[4]

İkinci dereceden yerleştirme daha sonra hem kalite hem de istikrar açısından kombinatoryal çözümlerden daha iyi performans gösterdi. GÖRDİAN[5] Yinelemeli bölümleme yoluyla hücreleri ayırmaya devam ederken, dalga boyu maliyetini ikinci dereceden bir işlev olarak formüle eder. Algoritma[6] yerleştirme yoğunluğunu doğrusal bir terim olarak ikinci dereceden maliyet fonksiyonuna modeller ve yerleştirme problemini tamamen ikinci dereceden programlama ile çözer. Modern kuadratik yerleştiricilerin çoğu (KraftWerk,[7] Hızlı yer,[8] SimPL[9]) her biri doğrusal yoğunluk kuvvetinin nasıl belirleneceği konusunda farklı sezgisel yöntemlere sahip bu çerçeveyi izleyin.

Doğrusal olmayan yerleşim diğer algoritma kategorilerine göre daha iyi performans sunar. Yaklaşım[10] daha iyi doğruluk ve dolayısıyla kalite iyileştirme elde etmek için ilk model tel uzunluğunu üssel (doğrusal olmayan) fonksiyonlarla ve yerel parça bazında ikinci dereceden fonksiyonlarla yoğunluğu modelliyor. Takip eden akademik çalışmalar çoğunlukla APlace'i içerir[11] ve NTUplace.[12]

ePlace[13] son teknoloji global yerleştirme algoritmasıdır. Elektrostatik bir alanı simüle ederek örnekleri birbirinden ayırır, bu da minimum kalite ek yükünü sunar ve böylece en iyi performansı elde eder.

Ayrıca bakınız

Referanslar

  1. ^ S. Kirkpatrick, C. D. G. Jr. ve M. P. Vecchi. Tavlama Simülasyonu ile Optimizasyon. Bilim, 220 (4598): 671–680, 1983.
  2. ^ C. Sechen ve A. Sangiovanni-Vincentelli. TimberWolf3.2: Yeni Bir Standart Hücre Yerleştirme ve Küresel Yönlendirme Paketi. DAC, sayfa 432–439, 1986.
  3. ^ George Karypis, Rajat Aggarwal, Vipin Kumar ve Shashi Shekhar. Çok Düzeyli Hiper Grafik Bölümleme: VLSI Alanındaki Uygulamalar. DAC, s. 526 - 529, 1997.
  4. ^ Caldwell, A.E .; Kahng, A.B .; Markov, I.L. (Haziran 2000). "Yinelemeli ikiye bölme tek başına yönlendirilebilir yerleşimler üretebilir mi? ". 37. Tasarım Otomasyonu Konferansı Bildirileri. sayfa 477–482.
  5. ^ Kleinhans, J.M .; Sigl, G .; Johannes, F.M .; Antreich, K.J. (Mart 1991). "GORDIAN: İkinci dereceden programlama ve dilimleme optimizasyonu ile VLSI yerleştirme". Entegre Devrelerin ve Sistemlerin Bilgisayar Destekli Tasarımına İlişkin IEEE İşlemleri. 10 (3): 356–365. doi:10.1109/43.67789. S2CID  15274014.
  6. ^ H. Eisenmann ve F. M. Johannes. Genel Küresel Yerleştirme ve Yer Planlama. DAC, sayfalar 269–274, 1998.
  7. ^ P. Spindler, U. Schlichtmann ve F. M. Johannes. Kraftwerk2 - Doğru Ağ Modeli Kullanan Hızlı Kuvvet Yönlendirmeli Karesel Yerleştirme Yaklaşımı. IEEE TCAD, 27 (8): 1398–1411, 2008.
  8. ^ N. Viswanathan, M. Pan ve C. Chu. FastPlace3.0: Yerleşim Tıkanıklığı Kontrolü ile Hızlı Çok Düzeyli Karesel Yerleştirme Algoritması. ASPDAC, sayfa 135–140, 2007.
  9. ^ Kim, M.-C .; Lee D.-J .; Markov I.L. (Ocak 2011). "SimPL: Etkili Bir Yerleştirme Algoritması". Entegre Devrelerin ve Sistemlerin Bilgisayar Destekli Tasarımına İlişkin IEEE İşlemleri. 31 (1): 50–60. doi:10.1109 / TCAD.2011.2170567.
  10. ^ W. C. Naylor, R. Donelly ve L. Sha. Otomatik Elektrik Devre Yerleştiricisi için Doğrusal Olmayan Optimizasyon Sistemi ve Tel Uzunluğu ve Gecikme Optimizasyonu Yöntemi. ABD Patenti 6301693, 2001.
  11. ^ A. B. Kahng, S. Reda ve Q. Wang, "Yüksek Kaliteli, Büyük Ölçekli Analitik Yerleştiricinin Mimarisi ve Ayrıntıları", ICCAD 2005, s. 891-898.
  12. ^ T.-C. Chen, Z.-W. Jiang, T.-C. Hsu, H.-C. Chen ve Y.-W. Chang. NTUPlace3: Önceden Yerleştirilmiş Bloklar ve Yoğunluk Kısıtlaması ile Büyük Ölçekli Karışık Boyutlu Tasarımlar için Analitik Yerleştirici. IEEE TCAD, 27 (7): 1228– 1240, 2008.
  13. ^ J. Lu, P. Chen, C.-C. Chang, L. Sha, D. J.-S. Huang, C.-C. Teng ve C.-K. Cheng, "ePlace: Nesterov Yöntemini Kullanarak Elektrostatik Tabanlı Yerleştirme", DAC 2014, s. 1-6.

Daha fazla okuma / Dış bağlantılar