PCB(印刷線路板)自動布線系統軟體
印刷電路板(PCB)因受板上元器件的種類和密度不同,形式也可以很不同。對於像電腦主板那樣的印刷電路板,其上既有不少CPU那樣的扁平封裝的超大規模器件,也有大量電阻電容等分立器件,這種印刷電路板的設計是非常繁瑣的事,都要靠人工幹預精心安排其上器件(即布局)和人工參與互動布線設計才行,很難設想有一個自動布局布線系統來設計它們。但這種PCB畢竟全世界很少,大量需要的是製作小型裝置的印刷電路板,其上只有清一色的小規模整合電路,這樣的的印刷電路板就可以自動布線。我這裡將要介紹的印刷電路板自動布線系統就是這種類型。它們和整合電路多元胞自動布線系統的原理相同,都是產品(整合電路,或印刷電路板)設計的最後一個步驟,在此之前已經過許多種類的的設計,包括功能設計、邏輯設計、
電路設計、電路的邏輯分劃(即把整個電路分幾塊印刷電路板,如果電路不大,就不需要這一步)、對組成元器件的布局、並最後都要利用
通道布線來最後實現。
在應用通道布線軟體布線之前,預先又要確定每個通道中要布哪些線網?這一工作由總體布線模組完成,總體布線的工作是將邏輯分劃後的電路的所有線網分配到各通道,使它們走線僅可能短,同時使各個通道內的線網數目僅可能均勻一致,特別,不能太多。根據這一要求,大部分的線網的走線方式是唯一確定的。例如,在同一通道兩側器件之間的連接線總會分配在該通道內,不可能在分配到其他通道去。但不同行不同列器件之間的連線則往往可以有許多不同的走線方法,都能使走線達到最短的目標。例如第1行1列器件上側的引線腳(pin)要連到第2行第5列器件上側的引線腳(pin)就可以有4種走線方法都能使走線達到最短的目標,即從第1行選擇哪一個垂直通道進入第2行可以有4則方式。真是利用這種隨意性可保證各個通道中線網數目大體均勻相同。 PCB自動布線系統要做的工作首先就是總體布線,然後調用通道布線軟體進行通道內部的布線和各通道間的連線。
我的PCB自動布線系統軟體完成後,除了我本人用作實驗的PCB外,只有一個研究生來實際使用過,她為心臟起搏器測試儀製作了幾塊PCB (好像是4-5塊),但各塊PCB之間的連線不要求通過PCB插座轉接,而是由導線直接相連。而我的PCB自動布線系統是針對帶有引出到外掛程式插腳而設計的,為了實驗引出線與插腳之間的分配功能是否正確,我在她的一塊中等大小的PCB的資料上隨意指定了十多個訊號線要引出,規定了要引出的訊號線後,再次用自動布線系統進行了自動布線,就是自動布線完成後的結果。可以看出,分配完全正確,沒有出錯,但第7與第8根引出線幾乎就要相碰了。如能增加一個自動檢測模組,進行走線密度檢查,當檢測到引線間距離太小甚至相碰時就自動將引線分段就理想了,這一工作因主要是考察插腳附近的走線,所以並不難,但當時還未開始,所用的DEC公司的PDP11機器已被淘汰,換成VAX/VMS機,並有了新的工作任務,以後一直沒有再搞。
圖1.
PCB自動布線系統為心臟起搏器測試儀製作的一塊中等大小的印刷電路板(正面)