我所見過的電路設計軟件具有自動在PCB上佈線走線等功能的功能。
但是為什麼該軟件不具有在PCB上自動放置組件的功能以減小電路板的總尺寸呢?
這太複雜了以至於無法自動化嗎?
我所見過的電路設計軟件具有自動在PCB上佈線走線等功能的功能。
但是為什麼該軟件不具有在PCB上自動放置組件的功能以減小電路板的總尺寸呢?
這太複雜了以至於無法自動化嗎?
我最近一直在設計一些PCB,建議您不要在最終產品中使用自動放置器或自動放置器。 (Proteus具有自動放置器。)
首先-在自動放置或自動佈線時,您的軟件像worm一樣聰明。換句話說,它像土豆一樣愚蠢。 。同樣,自動佈線也不知道將組件稍微向左或向右移動可以使您以更好的方式佈線。這些工具只會為您提供根據電路正確的設計。但是,關於現實世界的性能,情況卻有所不同。例如,
您的軟件不會遵守這些概念,因為原理圖中未提及這些概念。您只有在製造完PCB之後才能知道它,而且並非一直都能正常工作。我並不是說這行不通。在90%的時間內它可能會起作用,但您也必須考慮到那10%。您始終可以在論壇上發布原理圖和電路板佈局,專家會給您他們的意見/建議。
我的路由器有一個放置器,並支持“房間”。這樣一來,您就可以從原理圖中繪製區域並將零件分配給“房間”。自動放置器會將它們分組到分配零件的房間中。可以肯定的是,它對此連接器的支持也應該轉到該位置。還有一個工具可以根據模擬結果自動去耦放置和零件選擇/優化。 b>
自動放置器可以通過這樣將所有內容放在一起節省您一些時間。但是我仍然更喜歡將邏輯示意圖與放置模式下的佈局進行交叉探測。
就像自動路由器一樣,您可以根據約束條件以及如何使用它來了解輸入的內容。如果您只是嘗試在沒有適當限制的情況下使用自動路由器,那麼它將隨處可見。正確設置後,我們將使用它正確路由較大長度的匹配DDR部分。在更大,更密集的板上,這幾乎是必需的,並且肯定是需要速度的佈局服務店的要求。但是,對於一年只做幾個小董事會的人來說,這些事情可能不值得。
您沒有考慮的一件事是原理圖沒有包含足夠的信息來正確佈局電路板。
基本上,PCB佈局需要考慮和適應幾十個每部分的佈局要求,這些都沒有在原理圖中進行編碼。僅考慮旁路電容器。為了使自動化系統正確地為每個組件放置旁路電容器,您需要在原理圖上具有一些其他指令,這些指令指示自動佈線器兩個節點之間的走線必須小於一定長度。
大概,然後,您需要進一步的指令來編碼各種網絡的長度最小化的 priority ,指示差分對/受控阻抗,保護線(如果需要)等的內容。
基本上,還有很多其他因素可以驅動佈局,而這些因素通常在原理圖/草稿文檔中根本沒有編碼。
此外,即使您假設具有上述所有設計約束,其絕對大小也是如此。常見佈局的問題空間為巨大的。這等效於嘗試求解具有數千個輸入的方程,其中每個輸入對所有其他輸入具有不同的非線性影響。實際上,從暴力角度來看,這個問題是完全棘手的。因此,任何解決方案都必須涉及某種啟發式機制,該機制具有其自身的複雜性。
實際上,至少沒有更好個自動佈線器的主要原因是只是沒有市場。與許多其他細分市場,專用軟件市場相比,EDA市場規模相對較小,甚至有史以來最好的自動佈線器甚至都不會由實際的人來完成實際的佈局。
在特別無聊的佈局中,我通常會幻想通過設計矢量場和模擬退火來設計自己的自動佈線器,但是即使那樣也只能達到局部最優,而不是一般最佳佈局。
早在1974-1975年間,我在霍尼韋爾的設計自動化部門工作。從那以後問題一直沒有改變:
有基於AI的方法來處理此類問題,但是,從某種意義上講,設計人員更容易嘗試並獲得向軟件反饋有關他感興趣的設計標準的信息,告訴AI軟件您將面臨無盡的,艱鉅的任務。最終,該軟件必須滿足您,設計師和您的權衡要求。
但是我預測,只要有人親自關注並關注結果,我們永遠不會看到全自動的佈局。
我的軟件有一個放置器。我跑了一次只是為了看看會發生什麼。它在董事會上咆哮咆哮,並獲得了所有組件。當我看著它的時候,到處都是零件。 IC位於一個角落,而去耦電容位於另一個角落。關鍵路徑在整個區域內呈鋸齒狀彎曲。
我的意思是,佈局是佈局中最難正確的部分。首先是機械約束。 ME /工業設計人員希望您的連接器/開關/電位器/ LED /無論其他外部接口組件是否在某個位置脫離電路板。有些組件可能太高而無法放在機箱內的某些區域。電路的某些部分可能需要保持一定的間隙以進行隔離。
可以配置軟件來處理其中的一些因素,但它永遠做不到,也無法以人類能看到的方式直觀地看到問題。在理想的情況下,如果正確放置位置,進行電源,接地和關鍵路徑佈線,那麼自動佈線器的快速通過應該能夠完成佈局。
我以前使用過自動放置器,它們的確像一堆石頭一樣笨。您可以瘋狂使用它們的唯一一件事就是解開一堆腳印,這些腳印全部導入到您板上的同一位置;還有其他事情實在是太多了。