周小娟
(西安外事學院 計算機中心,陜西 西安 710077)
隨著集成電路技術(shù)的發(fā)展,高速和高密度電路已經(jīng)越來越多的被應用于芯片和電路板設(shè)計中,然而,在信號和電源的集成過程中一些嚴重的問題不斷出現(xiàn),降低了電路的設(shè)計效率。人們迫切希望一些先進的仿真技術(shù)出現(xiàn),應用這些仿真技術(shù),可以驗證高速信號對電路整體產(chǎn)生的各種影響,從而提高設(shè)計效率。
本文通過對大規(guī)模電路設(shè)計中常用的一種快速瞬變仿真方法--延遲插入法進行研究,發(fā)現(xiàn)延遲插入法的算法并不需要復雜的矩陣操作,這種算法可以進行并行運算,這正是云計算的顯著特征。通過在一個云計算系統(tǒng)中運行并行分布式延遲插入法的算法,并對一個常用的電源分配電路模型進行分析,本文得到了新穎的仿真計算結(jié)果,從而為快速電路的仿真技術(shù)提供了一種新的思路。
延遲插入法是一種以快速瞬變分析中的跳躍算法為基礎(chǔ)的電路仿真方法。不同于傳統(tǒng)的以集成電路為重點的仿真程序需要花費很多時間使用LU分解方法來分解大規(guī)模的系數(shù)矩陣,延遲插入法的算法不需要直接進行矩陣運算。并且,延遲插入算法具有計算效率隨著計算量線性增長的特征,和傳統(tǒng)的仿真算法相比,在大規(guī)模電路中延遲插入法具有仿真速度更快的優(yōu)勢。
延遲插入法的算法要求被分析的電路由分支拓撲結(jié)構(gòu)和節(jié)點拓撲結(jié)構(gòu)組成。如圖1所示,分支拓撲結(jié)構(gòu)由串聯(lián)連接的電阻 Ra,b,電感 La,b,和獨立的電壓電源 Ea,b 組成,它們被放置在節(jié)點Va和Vb之間。如圖2所示,節(jié)點拓撲結(jié)構(gòu)由并行連接的電導Ga,電容Ca和獨立的電流電源Ha組成,它們各自獨立的連接在節(jié)點Va和參考節(jié)點之間。本圖中參考節(jié)點為接地節(jié)點。
圖1 適用于延遲插入法的分支拓撲結(jié)構(gòu)Fig.1 Branch topology for latency insertion method
圖2 適用于延遲插入法的節(jié)點拓撲結(jié)構(gòu)Fig.2 Node topology for latency insertion method
概況起來,適用于延遲插入法的電路網(wǎng)絡拓撲需要滿足:每個分支都必須包含一個電感,每個節(jié)點必須包含一個接地電容。這個電感和電容就是用來在各自的拓撲中產(chǎn)生延遲。使用有限差分法對分支拓撲應用本基爾霍夫電壓定律(KVL)和對節(jié)點拓撲應用基爾霍夫電流定律(KCL)[2],我們可以得到延遲插入算法的如下公式,
上式(1)和(2)中,n 為步長,Δt為步長大小,是連接到節(jié)點a的分支個數(shù),分支電流的步長和節(jié)點電壓的步長相差半步。通過變換(1),(2)式子,我們可以得到分支電流和節(jié)點電壓的表達式,
上式(3)和(4)表明分支電流和節(jié)點電壓第(n+1)個和第(n+1/2)個步長的數(shù)值只依賴于它們前一個步長的值。因此從計算開始,隨著時間的持續(xù),可以累積遞歸計算出分支電流和節(jié)點電壓在每一個步長的值。
通過公式(3)和(4),我們還可以看出延遲插入法中分支電流和節(jié)點電壓可以被獨立的表示,并且可以由獨立的兩個不同的計算過程進行計算。也就是說,如果要計算任意給定步長的分支電流,單個分支的電流并不需要參考同一步長時其它分支的電流,它只需要參考它自己過去步長的電流就可以了。這個規(guī)律同樣適用于節(jié)點電壓的計算。因此,對各個不同分支電流的計算和各個不同節(jié)點電壓的計算是解耦的,它們可以被并行計算,這就是所謂的并行分布式延遲插入法。
為了驗證并行分布式延遲插入法的有效性,我們設(shè)想準備了如圖3所示的一個平面等效電路,它一共有400個單元。我們使用波形延遲為0.2 ns,上升時間為0.1 ns,脈沖寬度為1.0 ns,和振幅為0.05 A的電流作為輸入電流。我們選擇了著名的通用電路模擬程序軟件HSPICE的仿真結(jié)果作為參考,來比較并行分布式延遲插入法的仿真結(jié)果的有效性。
圖4是HSPICE軟件和并行分布式延遲插入法的瞬態(tài)仿真結(jié)果對比圖,我們可以看到這兩種仿真方法的結(jié)果基本一致,并行分布式延遲插入算法和HSPICE之間有良好的一致性。這證明了并行分布式延遲插入法的仿真結(jié)果是有效的。
圖3 驗證并行分布式延遲插入法的平面等效電路Fig.3 Equivalent plane circuit for validity parallel-distributed latency insertion algorithm
圖4 HSPICE軟件和并行分布式延遲插入法(LIM)的瞬態(tài)仿真結(jié)果對比圖Fig.4 Transient simulation result comparison of HSPICE and paralleldistributed latency insertion method
為了驗證并行分布式延遲插入法的性能,仿真測試單元數(shù)為1 000 000,400 000和9 000 000的平面電路,來仿真其瞬態(tài)響應。如此大量的測試單元,如果使用正常的仿真手段,其計算量將是巨大而漫長的。延遲插入法的并行分布式特性,使我們想到了借助云計算系統(tǒng)的集群運算來加速我們的仿真計算。
通過使用亞馬遜的云服務平臺系統(tǒng)Amazon EC2,這里我們獲得了一個可以最多提供32個四核CPU,即128核的云系統(tǒng)。圖5顯示了在不同數(shù)量的CPU核運行的情況下,計算時間的變化。我們可以看到在核數(shù)目增加到32個CPU核之前,計算時間隨著核的數(shù)目增加而單調(diào)遞減,在32個CPU核數(shù)目之后計算時間沒有大的變化。圖6顯示了運算加速率和CPU核數(shù)目之間的關(guān)系。我們可以看到在CPU核數(shù)目增加到32個之前,計算加速率在線性增長,在32個CPU核之后,加速率沒有大幅變化并且變化顯得沒有規(guī)律。
圖5和圖6的分析結(jié)果告訴我們,32個CPU核的計算時間比單個核的計算時間快25倍左右。盡管在CPU核的數(shù)目增加超過32個后,計算時間變化無規(guī)律,但總體上都是圍繞在32個CPU核的計算時間的周圍。我們可以認為,計算速度的加速率在CPU核的數(shù)目增加到32個之后,CPU和內(nèi)存之間數(shù)據(jù)傳輸遇到了瓶頸,并不能單純的依靠增加CPU核的數(shù)目來提高計算性能。作為一個結(jié)果,我們可以認為在理想情況下,即CPU的數(shù)目和內(nèi)存的配置達到了最優(yōu),云計算系統(tǒng)的計算性能隨著CPU的數(shù)量增加而單調(diào)增加。圖5和圖6的仿真數(shù)據(jù)同時說明在仿真大規(guī)模電路時并行分布式延遲插入法的性能是高效的。
圖5 運算時間和CPU核數(shù)目對比圖Fig.5 Execution time vs number of cores
圖6 運算加速率和CPU核數(shù)目對比圖Fig.6 Speed up ratio vs number of cores
本文通過對延遲插入法進行研究,推導出了大規(guī)模電路中分支電流和節(jié)點電壓的仿真計算公式,并且發(fā)現(xiàn)了對不同的分支電流和節(jié)點電壓其可以并行計算的特征。通過和通用電路模擬程序軟件HSPICE的仿真結(jié)果進行比較,驗證了延遲插入法仿真結(jié)果是有效的。通過在云計算系統(tǒng)上應用延遲插入法對超大規(guī)模平面電路進行仿真計算,驗證了延遲插入法的計算性能是高效的。通過延遲插入法和云計算系統(tǒng)的結(jié)合來仿真大規(guī)??焖匐娐肥怯行?,高效和可行的。
[1]張松蘭.仿真軟件在電路仿真中的應用[J].蚌埠學院學報,2013(3):1-2.ZHANG Song-lan.Application of simulation software in electric circuit[J].Journal of Bengbu College,2013(3):1-2.
[2]張雷雷,沈海斌.新型振蕩采樣隨機源電路與快速仿真[J].半導體技術(shù),2011,36(4):307-308 ZHANG Lei-lei,SHEN Hai-bin.New oscillator-based random source circuit and fast simulation[J].Semiconductor Technology,2011,36(4):307-308.
[3]李勇峰,黃娟,王龍業(yè),等.基于HSPICE的基準電壓源的分析與仿真[J].西藏科技,2012(4):75-76.LI Yong-feng,HUANG Juan,WANG Long-ye,et al.Analysis and simulation based on HSPICE voltage reference[J].Tibet’s Science and Technology,2012(4):75-76.
[4]張新玲,張東,曹玲玲,等.云計算虛擬化平臺性能研究[J].軟件導刊,2013(11):1-2.ZHANG Xin-ling,ZHANG Dong,CAO Ling-ling,et al.Research of cloud computing virtualization platform performance[J].Software Guide,2013(11):1-2.
[5]林軍青,林錦賢.面向云計算的服務性能模型研究[J].電子設(shè)計工程,2011(19):22-23.LIN Jun-qing,LIN Jin-xian.Research on a service performance model orienting cloud computing[J].Electronic Design Engineering,2011(19):22-23.
[6]王秀梅.LabVIEW在模擬電子電路設(shè)計與仿真中的應用[J].電腦知識與技術(shù),2013,9(18):4328-4329.WANG Xiu-mei.LabVIEW applications in analog electronic circuit design and simulation[J].Computer Knowledge and Technology,2013,9(18):4328-4329.
[7]楊文志.云計算技術(shù)指導南[M].北京:北京工業(yè)出版社,2010.