PCB tasarımında yeni - neden bileşenlerin otomatik yerleştirilmesi mevcut değil?


23

Gördüğüm devre tasarım yazılımı, PCB üzerindeki izleri vs. otomatik olarak yönlendirebiliyor.
Ancak neden bu yazılım toplam tahta boyutunu en aza indirgemek için bir PCB üzerine bileşenleri otomatik olarak yerleştirme yeteneğine sahip değil?
Bu sadece otomatik olmak için çok mu karmaşık?


8
Autorouter'lar, bileşenleri kısıtlamalara göre en uygun şekilde yerleştirebilmelidir (yani, "düğme buraya gitmeli", "LED bu alanda herhangi bir yerde olabilir"). Ayrıca, çok sayıda eşdeğer pime sahip parçalarda kullanmak için en uygun pimleri seçebilmelidirler (örneğin, "PWM'ye sahip olan herhangi bir io pimini kullanın"). Ne yazık ki, bu fonksiyonlardan herhangi birini yapan birisini hiç görmedim. Belki birgün.
bigjosh

7
yerleştirme (ve yönlendirme, kapı değişimi, pim değiştirme) gerçekten, gerçekten önemlidir. İyi yönlendirmeler elde etmek için en önemli şey budur. Bence, akıllı bir autoplacer, şematik, ağlar tarafından kuşatılmış modern kutulardan biri değilse, şematik yerleşimden başlamalıdır.
markrages

2
Devre tasarımı olmayan bir arka plandan geliyorsa, bana öyle geliyor ki, farelerin yuvaları tüm bileşenleri en iyi şekilde, belki de bazı kısıtlamalara en uygun şekilde yerleştirmek için yeterli olmalı. Gerçek devrelerin çoğu bundan daha manuel olarak mı tasarlandı?
Adam

3
Kısacası, bileşenleri optimum şekilde yerleştirmek - ondan tüm düşünceler olmadan bile, gerçek olmayan, ideal olmayan bir devre - çok zor bir CS problemidir. Aslında bu, Gezici Satıcı Probleminin bir örneğidir ve bu nedenle en uygun çözüm olanaksızdır.
Nick Johnson,

2
@ Gregd'Eon Aynı şeyi merak ediyorum. Elbette daha fazla çalışma ile otomatik yerleştiriciler ayrılma kapaklarının rollerini anlayabilir ve devre gürültüsünü vb. Simüle edebilir
Adam

Yanıtlar:


19

Son zamanlarda bazı PCB'leri tasarlıyorum ve son ürününüz için otomatik yerleştirici veya otomatik yönlendirici kullanmamanızı öneririm. (Proteus'un otomatik yerleştiricisi var.)

Her şeyden önce - Yazılımınız, otomatik yerleştirme veya otomatik yönlendirme söz konusu olduğunda bir solucan gibi zekidir. Başka bir deyişle, bir patates kadar aptal.

Otomatik yönlendirme, hangi yerleşimin size daha iyi bir iz kalıbı sağlayacağını bilmez, bu da yalnızca verimli bir tasarım yapmanızı değil, aynı zamanda devre gürültüsünü en aza indirmenizi sağlar. Benzer şekilde, otomatik yönlendirme, bir bileşenin biraz sola veya sağa kaydırılmasının, bir izi daha iyi bir şekilde yönlendirmenize olanak sağlayacağını bilmez. Bu araçlar sadece devreye göre doğru olan bir tasarım verecektir. Ama gerçek dünya performansı söz konusu olduğunda, işler farklı.
Örneğin:

  • Dekuplaj kondansatörleri fiziksel olarak IC'ye yakın olmalıdır.
  • En az kapalı alanda olan halkalar olmalıdır.
  • Zemin düzlemi mümkün olduğunca sağlam olmalıdır.
  • Kristal osilatörünüze yakın hiçbir müdahale sinyali olmamalıdır.

Yazılımınız bu kavramlara saygı göstermez, çünkü bunlar şematik bilgilerinizde belirtilmemiştir. Sadece PCB'nin üretildiğini ve her zaman beklendiği gibi çalışmadığını bileceksiniz. İşe yaramayacağını söylemiyorum. İşe yarayabilir, çoğu zaman% 90, ancak bu% 10 da dikkate almalısınız.

Önerilerim, bazı PCB tasarım konseptlerini öğrenmeniz ve kendi başınıza yerleştirmeyi ve yönlendirmeyi denemeniz gerektiğidir. Şema ve tahta düzeninizi her zaman forumlara gönderebilirsiniz ve uzmanlar size fikir / önerilerini vereceklerdir.


5
Toprak solucanı ve patates için +1. Her ne zaman otomatik yerleştirici ve otomatik yönlendirici kullandım, kritik bitleri yaptım ve kolay bit bıraktım ama sormak çok fazlaydı: panelin% ​​60'ı son pastan sonra yerleştirildi ve yönlendirildi. Belki de bol miktarda boş alana sahip devasa ihtiyaçlar tasarımları dışında her şeyi kendimiz yapmaktan daha iyi.
Mister Mystère

1
@ Bay - Evet haklısınız. Ben bile her zaman otomatik yönlendirici kullanıyorum ve sonra yönlendirme hakkında bir fikir edinmek için kritik bölümleri kapatıyorum. Ancak bu günlerde Eagle kullanıyorum ve otomatik olarak yerleştirici yok.
Whiskeyjack

1
Yukarıdaki yorumuma yazım hatası: "büyük DÜŞÜK * ihtiyaç tasarımları için". Açıkçası, yüksek frekanslı bir dijital frekans, otomatik yönlendirme ve otomatik yerleştirme ile iyi performans göstermiyor ...
Bay Mystère

1
Otomatik yönlendiricinin, yukarıda belirtilen tüm kısıtlamaları ve parçaları otomatik olarak yerleştirirken en iyi uygulamaları hesaba katmamasının teorik bir nedenini göremiyorum. Aslında, ideal bir otomatik yönlendirici, bu hedefleri insanın yapabileceğinden daha iyi karşılayan en uygun yerleşimi bulabilmelidir. Emin olmak zor, ancak imkansız değil ve bahse girerim ki yakında en iyi insanları bile yenebilecek oto-yerleşimli bulut tabanlı oto-yönlendiricileri görmeye başlayacağız.
bigjosh

1
@bigjosh - Yorumunuz çok mantıklı. Doğru yönlendirme ve yerleştirme, basit bir mantıktan ayrılırsa bilgisayarların bir insanın performansını gösterebilmesi için gereken birkaç kılavuza sahiptir. Geriye kalan tek şey belki trilyonlarca hesaplama - binlerce tamamen yönlendirilmiş kartı kontrol etmek ve en uygun çözümü bulmak. Bulut tabanlı sistemlerde bu çok zor olmamalı. Umalım da bazı açık kaynaklı projeler yakında bunu gerçeğe dönüştürmek üzere başlasın. Çalışan bir çözüm bulduktan sonra insanların birçok kez tekrarlamaya gitmeyecek şekilde, insanlardan daha iyi olabilir - en azından ben yapmadım.
Whiskeyjack

13

Yönlendiricimin "oda" için bir yerleşimi ve desteği var. Bu, alanları çizmenize ve parçaları şematik olarak "odalar" a atamanıza izin verir. Otomatik yerleştirici onları parçanın atandığı odaya toplar. Bu konektör için desteğe sahip olduğundan da emin olmalısınız. Simülasyon sonuçlarına göre otomatik dekuplaj yerleştirme ve parça seçimi / optimizasyonu yapabilen bir araç da var. Yine de ucuz değil :) ama işe yarıyor.

Otomatik yerleştirici, her şeyi bir araya getirerek size zaman kazandırabilir. Fakat yine de şemaları yer düzenindeki düzene göre ölçmeyi tercih ediyorum.

Tıpkı otomatik yönlendirici gibi, kısıtlamalar açısından neler koyduğunuzu ve ne kadar iyi kullanabileceğinizi öğrenirsiniz. Otomatik yönlendiricinizi doğru şekilde sınırlamadan kullanmaya çalışırsanız, her yere yönlendirir. Doğru şekilde ayarlandığında, büyük eşleşen uzunluktaki DDR bölümlerini doğru şekilde yönlendirmek için kullanırız. Çok daha büyük ve daha yoğun panolarda neredeyse bir ihtiyaç ve kesinlikle hız gerektiren bir yerleşim hizmetleri mağazası için bir gereklilik. Ancak, bunlar yılda sadece birkaç küçük tahta yapan biri için buna değmeyebilir.


4
CAD paketiniz nedir?
Mister Mystère

5
Allegro'nun yüksek son versiyonu olan dekuplaj, şimdilik cadency'ye ait olan Sigrity'den. Ben de yastıkları severim. Elle yönlendirmeye benzemesi gereken bu yeni yol tabanlı otomatik yönlendirici ilginç görünüyor.
Bazı Donanım Guy

Bir Cadence olabilirdi. Bunu IC tasarımına giriş için kullandım, gerçekten mükemmel bir paket ve otokuterinin ve otoplasörünün, kısıtlamalar doğru bir şekilde formüle edildiğinde (deneyim / eğitimden geliyorsa) etkili olabileceğine inanıyorum.
Mister Mystère

İyi dedi. Parçaların yerleştirilmesi ve yönlendirilmesi imkansız değildir, şematik çekimden çok daha zor ve belirsizdir. Her şeyden önce, devre şeması otomatik yerleştirme parçalarına eksiksiz bir girişin çok altındadır. Normal PCB paketleri, otomatik yerleştirme için değil kablolama için tasarlanmıştır.
tomnexus

12

Düşünmediğiniz bir şey , şematikin bir tahtayı düzgün bir şekilde yerleştirmek için yeterli bilgi içermemesidir .

Temel olarak, PCB düzeni , hiçbiri şematik olarak kodlanmayan, parça başına birkaç düzine düzen gereksinimi için dikkat ve konaklama gerektirir . Sadece bypass kapasitörlerini düşünün. Otomatik bir sistemin her bileşen için baypas kapasitörünü uygun şekilde yerleştirmesi için, şema üzerinde, iki düğüm arasındaki izin belirli bir uzunluğun altında olması gerektiğini otorouter'a dikte eden bazı ek yönergelere sahip olmanız gerekir.
Muhtemelen, önceliği kodlamak için daha fazla yönergeye ihtiyaç duyacaksınız çeşitli ağlar için uzunluk küçültme , diferansiyel çiftleri / kontrollü empedansı, koruma izlerini (gerekirse) vb.
Temel olarak, yerleştirmeyi yönlendiren, genellikle hiç şematik / ratsnest belgelerde kodlanmayan birçok değişken var.

Ayrıca, yukarıdaki tüm tasarım kısıtlamalarına sahip olduğunuzu varsaysanız bile, ortak bir düzen için sorunlu alanın büyüklüğü muazzamdır . Her girişin diğerleri üzerinde farklı, doğrusal olmayan bir etkiye sahip olduğu binlerce girişli bir denklemi çözmeye çalışmanın eşdeğeridir. Etkili olarak, problem kaba kuvvet perspektifinden tamamen anlaşılmazdır. Bu nedenle, herhangi bir çözüm, kendi karmaşıklıkları olan bir tür sezgisel mekanizma içermelidir.


Gerçekçi olarak, en azından daha iyi oto-bilgisayar olmamasının temel nedeni , sadece pazar olmamasıdır. EDA piyasası, diğer birçok niş, özel amaçlı yazılım pazarına kıyasla nispeten küçüktür ve en iyi otomatik yönlendirici bile gerçek bir insan tarafından gerçek bir düzene bile yaklaşmaz.

Özellikle sıkıcı bir düzenin ortasındayken genellikle kendi oto-yönlendiricimi tasarlamaya çalışmanın fantezileri var, vektör alanları ve benzetilmiş tavlama ile bir şeyler yaparak, ancak bu bile genel bir optimum düzene değil, sadece yerel bir optimum yaklaşıma varacaktı.


10

1974-1975'te Honeywell'de Tasarım Otomasyonu bölümünde çalıştım. Sorun o zamandan beri değişmedi:

  1. Hesaplamanın optimize edilmesi mümkün değil. Çoğu küresel optimizasyon probleminde olduğu gibi, NP-Complete'tir, yani hesaplamanın karmaşıklığı çok çabuk büyür. Bir trilyon yıl (veya daha kötüsü) boyunca bekleyemeyeceğiniz için en uygun çözümü bulmak imkansız olarak görebiliriz.
  2. Programın ne optimize etmek istediği belli değil. Devre organizasyon modelinize göre mantıksal gruplama? İz uzunluğu? Kurul alanı? Paraziter bağlanma? Yayılma gecikmesi? Termal dağılım (maksimum sıcaklık)? Daha yüksek güç bölümlerinden sıcaklığa duyarlı bileşenlere termal taşma? RF emisyonu? Gürültü, ses? Mekanik özellikler (örneğin, mekanik desteklerin yanına daha büyük parçalar yerleştirmek mi?) Servis özellikleri, yerleşik konektörleri insan parmaklarından birbirine yaklaştırmamak gibi yönetebilir mi? Harici kısıtlamalar, konektör konumları gibi dış sınırlamalar veya mevcut alanın içine sığma davalar, hayranlar vb.)

Bu gibi sorunlarla başa çıkmak için AI temelli yaklaşımlar vardır. Bununla birlikte, bir noktada, tasarımcının sadece bir şeyler denemesi ve yazılımdan ilgilendiği tasarım kriterleri hakkında geri bildirim alması daha kolaydır. AI yazılımına bildiğiniz her şeyi sınırsız, saygısız bir görev olabilir. Sonuç olarak, yazılım sizi, tasarımcısını ve takas setlerinizi tatmin etmelidir.

Bunun için çalışmanın en iyi yolu, tasarımcı ile son kararları veren tasarımcı ile yazılım arasında bir işbirliği olarak görmektir. Yazılım, özellikler hakkında bilgi sağlayabilir ve ilgilenilen bir özelliği iyileştirmenin yollarını önerebilir ve bir değişimin sonuçlarını keşfetmeye yardımcı olabilir.

Ancak, sonuçlara bakıp sonuç veren insanlara sahip olduğumuz sürece, hiçbir zaman tam otomatik düzeni görmeyeceğimizi tahmin ediyorum.


Tekillik için çok fazla ...
Peter Mortensen

@PeterMortensen Tekillikten sonra insan görüşleri önemsizdir.
Spehro Pefhany

1
Bence 2. nokta gerçekten cevabın tek ilgili kısmı. Önemli problem boyutlarıyla birlikte NP-komple problemleri çok hızlı bir şekilde “yeterince iyi” bir dereceye, çok uygun bir zaman maliyetiyle çözebilen, çoğu zaman optimalin% 2-3'ünde olmak için yeterli sayıda algoritma vardır.
whatsisname,

Bu "yeterince iyi" hakkında iyi bir nokta! Tamamen teknik olarak doğru olmakla birlikte, "çözme" kelimesini dikkatlice nitelemeliyiz (yaptığınız gibi). Bununla birlikte, CPU ve depolama alanındaki maliyet büyük bir problemdi. Ancak sorun boyutları arttığında, hesaplama kapasitemiz daha da arttı.
Bob Kerns

9

Yazılımımın bir yeri var. Sadece ne olacağını görmek için bir kere koştum. Tahtadan kükreyen rip gitti ve üzerinde tüm bileşenleri var. Ona baktığımda, her yerimdeydi. IC bir köşedeydi ve ayrılma kapağı diğer taraftaydı. Kritik yol, tahta üzerinde ileri geri zikzak çizdi.

Buradaki noktama göre yerleştirme, doğru düzenlemenin en zor kısmı. İlk önce mekanik kısıtlamalar var. ME / endüstriyel tasarımcı konektörünüzün / anahtarınızın / potunuzun / LED'iniz / diğer harici arabirim bileşeninin tahtadan belli bir noktada çıkmasını ister. Bazı bileşenler, muhafazanın içinde belirli alanlarda bulunamayacak kadar uzun olabilir. Devre, izolasyon için belirli bir açıklık bırakması gereken parçalar olabilir.

Yazılım bu faktörlerin bazılarıyla başa çıkmak için yapılandırılabilir, ancak hiçbir zaman bir iş kadar iyi bir iş yapmaz veya sorunları bir insanın yapabileceği gibi göremez. Mükemmel bir dünyada, doğru bir şekilde yerleştirirseniz, güç, toprak ve kritik yol yönlendirmesi yaparsanız, otomatik yönlendiricinin hızlı bir geçişi, yerleşimi tamamlayabilmelidir.


Bu cevabı sevdim, yine de yazılımın olması gereken işe bağlı olmadığı görülüyor.
Adam

6
@Adam Daha fazla deneyim edindikçe, daha iyi anlayacaksınız. Yerleştirme işlemi inanılmaz derecede karmaşık ve bir sıçan yuvası sadece hikayenin bir kısmını anlatıyor. Dekuplaj kapaklarını alın, örneğin plaserin bunları nereye koyacağını nasıl bilmesi gerekir? Endişe duyduğum kadarıyla, bu başlıkların tümü bir yere keyfi bir yere yerleştirilebilir.
Matt Young

2
Mesafe kısıtlamaları bunun için uygun bir seçenek gibi görünüyor.
Tim Seguine

Yazılımınızın adı nedir?
Daniele Testa

2

Daha önce otomatik yerleştiriciler kullandım ve onlar gerçekten de bir kaya yığını kadar aptallar. Bunları güvenle kullanabileceğin tek şey ... ... tahtaya aynı yerde ithal edilenbir ayak izi yığınını açmak. başka bir şey sormak için çok fazla.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.