李 揚
(奧肯思科技有限公司,北京 100045)
?
航天計算機研制中的高速電路仿真技術(shù)
李 揚
(奧肯思科技有限公司,北京 100045)
主要介紹了高速電路仿真技術(shù)在航天計算機研制中的應(yīng)用,通過某航天計算機主板實際項目的設(shè)計和仿真,介紹了高速電路設(shè)計中信號完整性仿真的流程和方法;通過前仿真對設(shè)計的指導(dǎo)以及后仿真對設(shè)計的驗證,詳細描述了高速電路設(shè)計的流程,并提出高速電路設(shè)計應(yīng)注意的問題。
信號完整性;串擾;電磁兼容性;前仿真;后仿真;IBIS模型
隨著航天技術(shù)的發(fā)展,對航天計算機處理能力的要求也不斷提高,中央處理器CPU及其周邊器件工作頻率的提高不可避免地引發(fā)高速電路問題,因此,高速電路設(shè)計也成為航天計算機研制中的一個關(guān)鍵性問題。
在高速電路設(shè)計中,隨著系統(tǒng)工作頻率的提高和布線密度的增加,信號完整性(Signal Integrity)、串擾(Crosstalk)、EMC(Electro Magnetic Compatibility)等問題對于設(shè)計高質(zhì)量的電路越來越重要。要解決這些問題,通過高速電路仿真來輔助設(shè)計是十分有效的方法,通過仿真可以掌握信號傳播的基本特性[1]。在設(shè)計初期,仿真對系統(tǒng)設(shè)計起著指導(dǎo)的作用,用來確定在各種可選的情況下做出一種最合理的選擇,比如元器件不同的驅(qū)動能力、傳輸線的拓撲結(jié)構(gòu)、終端匹配的方式等。在設(shè)計后期,仿真用來驗證系統(tǒng)電路設(shè)計的可行性。在本設(shè)計中,將設(shè)計初期的仿真稱之為前仿真,設(shè)計后期的仿真驗證稱之為后仿真。
需要注意的是,在實際電路環(huán)境中,還存在大量其他因素影響信號質(zhì)量,這時就需要靈活應(yīng)用高速電路設(shè)計概念及一些基本設(shè)計原則以及平時積累的經(jīng)驗來分析問題。通過高速電路的理論知識并結(jié)合以往電路設(shè)計的經(jīng)驗來確定最終的設(shè)計方案。
本文結(jié)合一種高性能航天計算機主板研制過程中遇到的高速電路問題及其解決方法,闡述了高速電路設(shè)計的基本方法,給出了信號完整性仿真的結(jié)果,并提出高速電路設(shè)計中應(yīng)注意的問題。
本文所述的電路設(shè)計采用了Mentor Graphics公司的原理圖及PCB設(shè)計軟件,高速信號完整性仿真采用了Mentor Graphics的HyperLynx SI高速信號完整性仿真軟件。
圖1 高速電路設(shè)計流程圖
對于低速電路設(shè)計,通常的解決方法是:原理圖→硬件實現(xiàn)→樣機調(diào)試等幾個關(guān)鍵的步驟,調(diào)試中出現(xiàn)問題的解決方案也多是通過檢查原理圖、更改原理圖設(shè)計來實現(xiàn)。而高速電路設(shè)計中,即使原理圖正確無誤,也很可能因為信號完整性等問題會使原理正確的電路在實際中無法正常工作。
通常,高速電路設(shè)計中的設(shè)計流程一般為: 原理圖設(shè)計→前仿真→PCB布局→確定布線規(guī)則→布線→后仿真→制板→硬件調(diào)試[2]。高速電路設(shè)計的流程圖如圖1所示。
原理圖設(shè)計階段的主要工作是確定系統(tǒng)的結(jié)構(gòu)、所采用的元器件以及使用的總線等,參考元器件手冊,選擇元器件的工作方式并進行正確的網(wǎng)絡(luò)互連。
該航天計算機主板上的主要器件為CPU、FPGA、SDRAM、BOOTROM、Flash Disk、1553B接口芯片、Compact PCI接插件等,主板原理如圖2所示。
圖2 主板原理圖
主板上CPU運行時鐘可達到250 MHz,處理能力可達到300 MIPS,SDRAM工作頻率為100 MHz,PCI總線工作頻率33 MHz,都屬于高速信號的范疇,這都需要通過高速電路仿真來確定合理的設(shè)計方案[3]。
通常,PCB板在設(shè)計完成之后要實施有效的解決辦法,需要花費大量時間和費用,甚至可能需要重新設(shè)計。相比之下,如果在設(shè)計初期和設(shè)計過程中就綜合考慮高速電路可能會造成的影響,修改同樣的問題所花的時間和費用要少得多,因此,在電路板設(shè)計之前進行深入細致的仿真分析及電路設(shè)計的前仿真是非常必要的。
前仿真可根據(jù)設(shè)計對信號完整性與時序的要求,在布局和布線前幫助設(shè)計者合理安排器件布局、規(guī)劃網(wǎng)絡(luò)拓撲結(jié)構(gòu)以及確定關(guān)鍵信號的布線策略。
2.1 模型選擇
仿真中首先要解決的一個問題是元器件的模型問題,目前常用的模型為Spice模型和IBIS模型,Spice模型由Buffer內(nèi)部的電路結(jié)構(gòu)和工藝參數(shù)構(gòu)成,因為知識產(chǎn)權(quán)等問題,一般廠商并不公開公布。IBIS模型數(shù)據(jù)來源于Spice模型,它基于Spice仿真結(jié)果而采用表格化的V-I及V-T曲線描述Buffer的行為,其特點是運行速度較快,并且保護了廠商的知識產(chǎn)權(quán),便于與用戶間的數(shù)據(jù)交換[4]。IBIS模型已經(jīng)得到各主要EDA工具廠家仿真工具的支持。本設(shè)計中,器件的仿真模型選用了IBIS模型。
從器件廠商網(wǎng)站下載得到的IBIS模型可能會因為非單調(diào)等問題需要進行檢查和編輯,在本設(shè)計中采用的HyperLynx Visual IBIS Editor模型編輯工具對模型進行了檢查和編輯,使之符合仿真要求[5]。
2.2 器件驅(qū)動能力選擇
在進行前仿真之前,有些參數(shù)已經(jīng)基本確定,比如各種信號的線寬、線間距、走線類型、介電常數(shù)等參數(shù)都應(yīng)該能確定下來,這些參數(shù)實際也是進行仿真的約束條件。在本設(shè)計中由于CPU使用手冊對地址總線和PCI總線推薦串聯(lián)10 Ω電阻,這相當于在仿真中采用了串聯(lián)的終端匹配方式。終端匹配方式確定后,在前仿真中主要的工作就是CPU總線驅(qū)動能力的選擇以及總線拓撲結(jié)構(gòu)的選擇。
CPU的時鐘總共有四路可以提供,而SDRAM需要有5路時鐘輸入,是采用四路輸出到SDRAM,其中第四路分成兩路輸出,還是采用1路輸出后分成5路到SDRAM的負載端,主要需考慮的是CPU時鐘信號的驅(qū)動能力。
如果CPU時鐘信號驅(qū)動能力較弱,就需采用前一種方案,如果驅(qū)動能力足夠強,就應(yīng)該采用第二種方案。圖3給出兩種連接方式的仿真結(jié)果。
圖3 兩種時鐘連接方式仿真結(jié)果
通過仿真可以看出,采用第二種方案能滿足信號質(zhì)量的要求。雖然信號上升時間較第一種稍長,但避免了過沖的出現(xiàn),并且,對于高速電路設(shè)計,在滿足時序的前提下,較大的上升時間可以避免傳輸線效應(yīng)的過早出現(xiàn),因而對信號完整性及EMC都是有益的,而且一路輸出布線簡單,各負載之間的同步更容易保證。所以,本設(shè)計采用了第二種方案。因為時鐘信號需要考慮同步,其拓撲結(jié)構(gòu)選擇為遠端分支連接。
時鐘的驅(qū)動能力確定后,CPU地址和數(shù)據(jù)總線驅(qū)動能力選擇也需要通過前仿真來確定。在本設(shè)計中,CPU地址總線有四種驅(qū)動能力可供選擇,數(shù)據(jù)總線有兩種驅(qū)動能力可供選擇。
地址總線四種驅(qū)動能力下的仿真結(jié)果如圖4所示。
圖4 地址總線的四種驅(qū)動能力下的仿真結(jié)果
數(shù)據(jù)總線兩種驅(qū)動能力下的仿真結(jié)果如圖5所示。
圖5 數(shù)據(jù)總線兩種驅(qū)動能力下的仿真結(jié)果
從仿真結(jié)果可以看出,對于本設(shè)計中的CPU,地址總線選擇弱驅(qū)動能力時,過沖、反射都比較小,信號完整性和EMC特性也比較好;對于數(shù)據(jù)總線,根據(jù)同樣的判斷原則,也應(yīng)當選擇弱驅(qū)動能力。
2.3 規(guī)劃總線拓撲結(jié)構(gòu)
CPU驅(qū)動能力確定后,下一步需要通過前仿真確定總線拓撲結(jié)構(gòu),圖6是幾種比較典型的拓撲結(jié)構(gòu)。
點到點(Point-to-Point)拓撲結(jié)構(gòu)比較簡單,只要在發(fā)送端或接收端進行適當?shù)淖杩蛊ヅ浔憧梢缘玫捷^好的信號質(zhì)量;星型(Star)拓撲結(jié)構(gòu)適合于對每個分支要求同步或者均衡的設(shè)計;菊花鏈(Daisy chain)拓撲結(jié)構(gòu)適合于對網(wǎng)絡(luò)中的每個分支并不需要完全同步或均衡的設(shè)計;遠端分支(Far-end cluster),跟星型有些類似,只不過分支靠近接收端,通常在時鐘信號分支中采用。
當傳輸線由兩段不同特性阻抗的傳輸線組成時,連接點處也會產(chǎn)生信號反射,傳輸線上出現(xiàn)的分叉點就是這樣一個阻抗不連續(xù)點。在高速電路設(shè)計中,由于傳輸線特性的存在,導(dǎo)致多端網(wǎng)絡(luò)在使用不同的拓撲結(jié)構(gòu)和阻抗匹配方式時,各點得到的信號波形不一樣。
在本設(shè)計中,地址、數(shù)據(jù)總線需從CPU連接到FPGA、SDRAM、FALSH DISK等,其中CPU和SDRAM之間的信號為關(guān)鍵信號,通常認為,縮短傳輸線長度,減少傳輸線效應(yīng)是提高信號質(zhì)量的關(guān)鍵。因此在原理設(shè)計時考慮將SDRAM布局離CPU近一些,初步考慮布局時SDRAM應(yīng)該緊靠CPU。對于地址、數(shù)據(jù)總線的拓撲結(jié)構(gòu),根據(jù)本設(shè)計的實際情況應(yīng)在星型和菊花鏈之間進行選擇,至于到底是采用星型連接還是菊花鏈連接,就需要通過仿真來獲取合理的答案。
前仿真主要是在HyperLynx SI的前仿真環(huán)境LineSim下進行,圖7是采用星型和菊花鏈兩種拓撲結(jié)構(gòu)得到的仿真結(jié)果。
圖7 兩種不同拓撲結(jié)構(gòu)仿真結(jié)果
從圖7仿真結(jié)果可以看出,采用菊花鏈方式信號質(zhì)量比較好,并且可以得出在菊花鏈的遠端信號質(zhì)量相對較好,上升時間也較短,所以將速率較高、對信號質(zhì)量要求較嚴格的SDRAM放在菊花鏈的遠端,這與最初原理圖設(shè)計時的考慮恰好是相反的,需要重點關(guān)注。
2.4 前仿真結(jié)論和對設(shè)計的指導(dǎo)
至此,前仿真工作已經(jīng)基本完成。通過前仿真可得到的結(jié)論如下:
(1)地址和數(shù)據(jù)網(wǎng)絡(luò)的拓撲結(jié)構(gòu)選擇菊花鏈連接方式,并且將信號質(zhì)量要求較高的SDRAM放在菊花鏈的遠端。
(2)時鐘網(wǎng)絡(luò)采用1對5的連接方式,拓撲結(jié)構(gòu)為遠端分支連接。
(3)CPU地址總線選擇弱驅(qū)動能力。
(4)CPU數(shù)據(jù)總線選擇弱驅(qū)動能力。
(5)串聯(lián)電阻的匹配方式,在仿真中得到檢驗,效果較好,能夠滿足設(shè)計要求。
前仿真結(jié)束后的工作就是電路板布局,布局的原則是參照前仿真結(jié)果,并結(jié)合以往的設(shè)計經(jīng)驗,在PCB設(shè)計工具中完成。SDRAM因為處于菊花鏈的遠端,所以放在了離CPU較遠的位置,與最初原理設(shè)計時的考慮是不同的。
布局完成后的主要工作就是布線,在布線之前首先要設(shè)置好布線規(guī)則。
布線規(guī)則主要是限制各個網(wǎng)絡(luò)走線的長度、線間距、走線寬度、扇出方式、過孔選擇,以及網(wǎng)絡(luò)拓撲規(guī)劃等。同時,對電路板的層定義、各層的布線方向、平面層分布、電源分割等也需要在布線前設(shè)置完成。
本主板設(shè)計為8層板結(jié)構(gòu),分為四個走線層,四個平面層,電路板各層分布如圖8所示,其中白色為走線層,灰色表示平面層(電源平面或地平面)。
圖8 電路板各層分布
因為使用+2.5 V和+5 V電源的元器件分布在電路板的不同部位,該設(shè)計對第7層進行了電源平面層分割。分割時應(yīng)當重點考慮平面層的分割線不能阻擋高速信號的通路。
各種規(guī)則設(shè)定好后就是布線,布線的原則是先布關(guān)鍵信號,然后布比較重要的信號,最后布一般信號;先從信號最密的地方開始布線。同時,給信號安排合適的布線層,確保高速信號有完整的回流路徑。本設(shè)計采用了手動布線結(jié)合自動布線的方法。首先手動完成關(guān)鍵信號和比較重要信號的布線,并將完成的布線鎖定保護起來,然后采用自動布線繼續(xù)布線,直到完成100%。在時間許可的情況下,應(yīng)盡量采用手動布線,這樣才能體現(xiàn)設(shè)計者的意圖,更能保證信號傳輸?shù)馁|(zhì)量。
布線完成后的工作是對設(shè)計進行后仿真,驗證電路設(shè)計的可行性。
后仿真可分為關(guān)鍵信號仿真和整板仿真,通過關(guān)鍵信號仿真檢查關(guān)鍵信號是否滿足信號完整性、串擾和EMC的要求;通過整板仿真,檢查整個板子上的所有信號,仿真報告會給出提示,說明哪些信號可能會存在信號完整性、串擾和EMC等問題。
后仿真的主要功能是驗證電路設(shè)計的可行性,如果后仿真不能通過,系統(tǒng)就得重新進行設(shè)計[6]。所以,對于高速電路設(shè)計,前仿真更為重要。前仿真可以確保系統(tǒng)在一開始就能進行正確合理的設(shè)計,前仿真做充分了,后仿真就會有比較滿意的結(jié)果。如果前仿真沒有認真完成就急于開始布局和布線,往往后仿真就不能順利通過,結(jié)果可能是從頭再來,人力和資源消耗都比較大,還會耽誤項目進度。
后仿真是在HyperLynx SI的BoardSim里進行的,本設(shè)計在布線完成后對關(guān)鍵信號和部分重要信號進行了后仿真驗證,信號質(zhì)量均滿足信號完整性的要求。
圖9給出布線完成后對PCI時鐘和地址數(shù)據(jù)的信號完整性仿真結(jié)果。
圖9 PCI后仿真驗證結(jié)果
后仿真驗證通過后,在PCB設(shè)計工具中進行設(shè)計規(guī)則DRC檢查,檢查通過或問題得到確認后,就可以輸出Gerber和Drill文件,進行PCB制板、焊接和裝配等環(huán)節(jié),然后就是硬件電路調(diào)試。
該航天計算機主板在硬件電路調(diào)試中,采用示波器對關(guān)鍵信號進行了測量,并與HyperLynx SI軟件仿真結(jié)果進行了比對,測量結(jié)果和仿真結(jié)果具有較高的一致性,驗證了仿真的準確性,仿真對設(shè)計也起到了真正的指導(dǎo)作用。
本航天計算機主板采用了正確的設(shè)計方法,進行了比較充分的信號完整性前仿真和后仿真,靈活運用了高速電路設(shè)計的理論并結(jié)合以往電路設(shè)計的經(jīng)驗,所以,系統(tǒng)在硬件調(diào)試時順利通過。
該航天計算機性能滿足設(shè)計指標要求,工作穩(wěn)定可靠,并成功應(yīng)用到航天項目中,達到了預(yù)期的目標。
[1] JOHNSON H, GRAHAM M. High-speed digital design: a handbook of black magic[M].北京:電子工業(yè)出版社, 2003.
[2] MPC8240 integrated processor user’s manual[Z]. Motorola Corporation, 1999.
[3] Hyper Lynx signal integrity analysis workbook[Z]. Mentor Graphics, 2012.
[4] 孫宇貞.高速電路的信號完整性分析[J].電子技術(shù)應(yīng)用,2005, 31(3):73-76.
[5] 張志偉.基于時域有限差分法的IBIS模型修正[J].微型機與應(yīng)用,2011, 30(9):93-95.
[6] 謝金明,著.譚博,改編.高速數(shù)字電路設(shè)計與噪聲控制技術(shù)[M].北京:電子工業(yè)出版社,2003.
High-speed circuit simulation for the aerospace computer research
Li Yang
(AcconSys Technology Co., Ltd., Beijing 100045, China)
This paper mainly discussed the high-speed circuit simulation used in the aerospace computer research. It introduced the technique and flow of the signal integrity simulation. Through the pre-simulation we get the guidance and through post-simulation we validate the design. The paper describes the flow of high-speed circuit simulation in detail and puts forward what should be paid attention to in the high speed signal design.
signal integrity; crosstalk; electro magnetic compatibility (EMC); pre-simulation; post-simulation; IBIS model
V446+.4
A
10.19358/j.issn.1674- 7720.2017.12.009
李揚.航天計算機研制中的高速電路仿真技術(shù)[J].微型機與應(yīng)用,2017,36(12):29-32.
2016-11-29)
李揚(1975-)男,碩士,SiP/PCB技術(shù)專家,主要研究方向:SiP/PCB設(shè)計與仿真技術(shù)。