說起來,每次看到新來的工程師對(duì)著PCB設(shè)計(jì)軟件猛點(diǎn)"自動(dòng)布線"按鈕,我都忍不住想上去攔一把。不是我看不起自動(dòng)布線這功能,坦白講對(duì)于低速、低復(fù)雜度的板子,它確實(shí)香——省時(shí)省力,還能保證基本連通性。但問題是,只要你做的板子稍微"快"一點(diǎn)、復(fù)雜一點(diǎn),自動(dòng)布線分分鐘給你埋雷。
按我的經(jīng)驗(yàn),很多硬件工程師入門的時(shí)候都踩過這個(gè)坑:板子畫完,原理圖沒問題,器件也選對(duì)了,布局布線全靠軟件自動(dòng)搞定。結(jié)果一打樣回來,調(diào)不通、誤碼率超標(biāo)、EMC過不了……一查原因,十有八九就是布線埋下的隱患。今天就跟大家嘮嘮,高速數(shù)字PCB為什么不能全自動(dòng)布線,人工布線的底線到底在哪里。
先搞清楚:高速信號(hào)到底有什么不一樣?
很多剛?cè)胄械呐笥芽赡苡X得,PCB布線不就是把線連上嘛,能有什么玄機(jī)?說這話的人,十有八九沒做過10Gbps以上的項(xiàng)目。
低速信號(hào)在板子上跑,說白了就是"數(shù)字0和1"慢慢悠悠地溜過去,沿途有點(diǎn)干擾、有點(diǎn)反射,都不是什么大事,接收端有足夠的裕量來消化這些問題。但高速信號(hào)完全不是一個(gè)邏輯——它們是以電磁波的形式在傳輸線上跑的,頻率一高,信號(hào)完整性問題就全冒出來了。

舉個(gè)直白的例子,5GHz的信號(hào),波長(zhǎng)大概是3厘米。當(dāng)你的走線長(zhǎng)度接近這個(gè)量級(jí)的時(shí)候,導(dǎo)線就不再是簡(jiǎn)單的"導(dǎo)線"了,它變成了天線、變成了傳輸線。阻抗必須嚴(yán)格匹配,否則信號(hào)一進(jìn)門就被彈回去,過沖、欠沖、振鈴,一連串問題全來了。
行業(yè)默認(rèn)的標(biāo)準(zhǔn):?jiǎn)味诵盘?hào)阻抗50歐姆,差分對(duì)100歐姆。偏差個(gè)10%,高速場(chǎng)景下可能就出問題了。這精度要求,自動(dòng)布線那個(gè)"差不多就行"的邏輯,根本兜不住。
自動(dòng)布線到底哪里不行?
我跟你說,自動(dòng)布線器本質(zhì)就是個(gè)"走迷宮高手",它的核心邏輯是:找到一條路徑把A點(diǎn)到B點(diǎn)連起來,順便滿足你設(shè)定的間距、線寬規(guī)則。它不關(guān)心信號(hào)是跑5Mbps還是5Gbps,不關(guān)心你這條線是時(shí)鐘還是普通IO,更不關(guān)心回流路徑是不是繞了十萬八千里。
放到高速場(chǎng)景下,這就會(huì)引發(fā)一系列連鎖反應(yīng)。
第一,阻抗控制直接抓瞎

高速信號(hào)要求阻抗連續(xù)、精確匹配。決定阻抗的因素有四個(gè):線寬、銅厚、介質(zhì)厚度、介電常數(shù)。自動(dòng)布線只會(huì)傻傻地按你預(yù)設(shè)的線寬走,但線走到拐角、走到過孔、走到換層的地方,阻抗早就不知道飄到哪里去了。
我見過最離譜的案例,一塊PCIE Gen3的板子,自動(dòng)布線出來的走線,阻抗誤差超過20%。你說這板子能用嗎?
第二,差分對(duì)等長(zhǎng)是個(gè)玄學(xué)
USB、HDMI、PCIE、以太網(wǎng),這些高速接口全靠差分對(duì)傳輸數(shù)據(jù)。差分對(duì)的原理很簡(jiǎn)單:兩根線跑相反的信號(hào),接收端一減,干擾全沒了。但代價(jià)是,這兩根線必須等長(zhǎng)、等距、對(duì)稱,長(zhǎng)度差要控制在5mil以內(nèi),間距必須恒定。
自動(dòng)布線能做好這個(gè)?做夢(mèng)去吧。它要么給你繞成一長(zhǎng)一短,要么兩根線各走各的,間距忽大忽小。這直接導(dǎo)致的問題就是時(shí)序錯(cuò)位、共模噪聲飆升、眼圖閉合——每個(gè)都是高速設(shè)計(jì)的死穴。
第三,串?dāng)_控制想都別想

高速PCB走線密集,相鄰走線之間會(huì)通過電磁場(chǎng)耦合產(chǎn)生串?dāng)_。學(xué)過電磁學(xué)的都知道,串?dāng)_強(qiáng)度和間距的平方成反比,和平行長(zhǎng)度成正比。3W原則(間距≥3倍線寬)不是說著玩的。
自動(dòng)布線追求的是布通率,它才不管你兩條高速線是不是緊貼著走了十幾毫米。這種板子回來,一測(cè)試,近端串?dāng)_、遠(yuǎn)端串?dāng)_,雙雙超標(biāo),調(diào)都不知道從哪里下手。
第四,回流路徑說扔就扔
這是最容易忽略但最致命的問題。高速信號(hào)不是單程車票,它必須要有回流,而且回流路徑越短、環(huán)路面積越小越好。理想情況是走線正下方有個(gè)完整的地平面,回流就貼著信號(hào)走,環(huán)路面積接近于零。
自動(dòng)布線最常干的事:跨分割走線、繞開過孔、穿個(gè)過孔換層——每一步都在折騰回流路徑。結(jié)果就是環(huán)路面積翻著倍地漲,EMC輻射直接爆表。
人工布線的底線在哪里?

說了這么多自動(dòng)布線的問題,那人工布線是不是就高枕無憂了?也不盡然。關(guān)鍵是要知道哪些地方必須手動(dòng)來,哪些地方可以交給軟件。
按我的經(jīng)驗(yàn),這幾類信號(hào)必須人工手動(dòng)布線:
第一,時(shí)鐘和PLL相關(guān)線路。晶振、時(shí)鐘發(fā)生器、PLL這些,是整個(gè)板子的"心跳"。時(shí)鐘線必須最短、最直,回流路徑必須完整,而且要遠(yuǎn)離干擾源。自動(dòng)布線分分鐘給你繞個(gè)幾圈,信不信?
第二,所有差分對(duì)。USB、HDMI、PCIE、SATA、MIPI、以太網(wǎng),但凡帶差分的信號(hào),都得手動(dòng)盯著。線寬、間距、等長(zhǎng),一個(gè)參數(shù)都不能馬虎。
第三,DDR內(nèi)存總線。這玩意兒等長(zhǎng)要求極其變態(tài),數(shù)據(jù)組、地址組、控制組,每一組都有嚴(yán)格的長(zhǎng)度匹配要求,誤差通常要控制在±5mil以內(nèi)。自動(dòng)布線?洗洗睡吧。
第四,電源和功率回路。雖然不是"高速",但大電流路徑同樣需要精心規(guī)劃——銅皮要寬、過孔要多、環(huán)路面積要小,否則壓降過大、發(fā)熱嚴(yán)重。
第五,敏感模擬信號(hào)。ADC前端、傳感器信號(hào)、射頻走線,這些模擬信號(hào)的布線直接影響噪聲底,自動(dòng)布線出來的走線分分鐘把信噪比拉垮。
半自動(dòng)才是正解
其實(shí)吧,真正高效的做法是半自動(dòng)布線:人工先把關(guān)鍵信號(hào)、高精度要求的信號(hào)布好,鎖定;然后讓自動(dòng)布線去跑剩下的普通信號(hào)。
具體流程是這樣?jì)饍旱模合雀鶕?jù)原理圖和 datasheet 確定疊層結(jié)構(gòu)、阻抗目標(biāo);然后手動(dòng)布線所有關(guān)鍵信號(hào)(時(shí)鐘、差分對(duì)、DDR等);接著設(shè)置好規(guī)則約束,讓自動(dòng)布線去處理電源、地、低速信號(hào)這些"不太講究"的線路;最后再整體檢查一遍,手動(dòng)微調(diào)。
這樣做的好處是既保證了高速信號(hào)的質(zhì)量,又兼顧了設(shè)計(jì)效率。關(guān)鍵是工程師要有判斷力,知道哪些該手動(dòng)、哪些可以交給軟件。
幾個(gè)常見誤區(qū)
最后說幾個(gè)新人特別容易踩的坑,大家引以為戒。
誤區(qū)一:規(guī)則設(shè)好了就萬事大吉。錯(cuò),規(guī)則只是告訴軟件"你應(yīng)該怎么走",不代表軟件一定能走出來、走出來的一定對(duì)。規(guī)則設(shè)完必須檢查結(jié)果。
誤區(qū)二:仿真過了就不用管。仿真軟件再強(qiáng),也只是數(shù)學(xué)模型,和真實(shí)板子之間總有差距。仿真通過只能說明"大概率沒問題",不代表"一定沒問題"。
誤區(qū)三:板子回來調(diào)一調(diào)就能搞定。實(shí)話告訴你,高速PCB的布線問題,在板子回來之后能調(diào)的空間極其有限。很多問題,比如阻抗不匹配、串?dāng)_超標(biāo)、EMC輻射,在設(shè)計(jì)階段不解決,回來之后就只能改板重來。
總結(jié)一下
說了這么多,其實(shí)核心就一句話:低速看連通,高速看阻抗。
自動(dòng)布線對(duì)于簡(jiǎn)單板子是好工具,但對(duì)于高速數(shù)字PCB,它只能作為輔助,真正的設(shè)計(jì)質(zhì)量還得靠工程師的經(jīng)驗(yàn)和判斷。
把連通做好是合格工程師,把高速信號(hào)做好才是資深工程師。希望今天的分享對(duì)你有幫助,下次布線的時(shí)候,別再無腦點(diǎn)自動(dòng)了,先問問自己:這條線,是高速的嗎?
-
PCB設(shè)計(jì)
+關(guān)注
關(guān)注
396文章
4938瀏覽量
95733 -
布線
+關(guān)注
關(guān)注
9文章
834瀏覽量
86248 -
高速信號(hào)
+關(guān)注
關(guān)注
1文章
277瀏覽量
18523
原文標(biāo)題:高速數(shù)字PCB為什么不能全自動(dòng)布線?這就告訴你底線在哪
文章出處:【微信號(hào):FPGA研究院,微信公眾號(hào):FPGA研究院】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
高速電路PCB電源布線技巧
PCB布線設(shè)計(jì)之自動(dòng)布線和模擬電路布線
高速PCB設(shè)計(jì)常見問題
PCB設(shè)計(jì)中的自動(dòng)布線和手動(dòng)布線
高速PCB布線技巧、EMI問題、設(shè)計(jì)規(guī)則
高速PCB布線技巧、EMI問題、設(shè)計(jì)規(guī)則
高速PCB板的電源布線設(shè)計(jì)
Specctra全自動(dòng)布線器簡(jiǎn)介
PCB布線設(shè)計(jì)超級(jí)攻略
pcb如何自動(dòng)布線,其原理分析
PCB布線設(shè)計(jì)的經(jīng)驗(yàn)和技巧分享
高速數(shù)字PCB為什么不能全自動(dòng)布線
評(píng)論