按照仿真對象劃分,電路仿真工具通常分為三大類:晶體管級的模擬電路仿真工具、門級和RTL級的數字電路仿真工具、模數混合電路仿真工具。
1.模擬電路仿真工具
模擬電路仿真的基本流程如圖5-107所示。
模擬電路的方程為
式中,t為時間;Vt為節點電壓;It為節點獨立電流源;Qt為節點電荷;f(Vt)為節點非線性電流;E(Vt)為節點受控電流。采用Newton-Raphson迭代法可以求解該方程組,得到解的迭代形式(i=1,2,3,......,為迭代次數):
式中,Yt為f(Vt)+E(Vt)的雅克比矩陣,即
Yt通常是一個稀疏矩陣,可以采用LU分解算法降低其計算復雜度。在LU分解之前對Yt的行列進行預排列,可以減少計算量并提高迭代計算的穩定性。結構較為特殊的電路其Yt矩陣為稠密矩陣,用PCG、GMRES等算法可以獲得更快的求解速度。電荷Qt對時間t的微分計算有Forward Euler法、Backward Euler法等單步算法與TRAP、GEAR等多步算法,其精度與穩定性受電路類型影響。
求解方程組的計算量隨著電路節點的增加而急劇增加,因此商業模擬電路仿真工具中通常會加入多種加速技術以提高性能。
(1)并行計算:將電流與雅克比矩陣的計算分配到多個CPU上同時進行。
(2)旁路(Bypass)技術:當節點電壓變化不大時無須重新計算非線性電流與雅克比矩陣,僅對電流做線性修正。
(3)節點合并(Node Folding)技術:采用線性修正的算法消除非線性器件的內部節點,減少方程數。
對于更大規模的電路,仿真工具還會引入一些降低精度但可以極大提高仿真速度與容量的技術,即快速仿真技術。這些技術主要有如下幾種。
(1)查表模型(Table Model):采用查表插值的辦法計算非線性器件的電流電荷。
(2)事件驅動(Event Driven):將電路劃分為若干模塊獨立求解,僅在端口節點的電壓變化時才重新計算相鄰模塊。
(3)同態技術(Isomorphism):結構相同、電壓相近的多個模塊共享雅克比矩陣,只求解一次方程組,不同模塊之間微小的差異依靠線性插值修正。
此外,寄生效應會影響集成電路的性能甚至功能,而考慮了寄生效應的模擬電路仿真則稱為模擬電路后仿真。在后仿真中,寄生器件導致矩陣規模急劇增大,耦合效應導致矩陣填充更為稠密,為此需要引入加速技術在精度影響很小的前提下提高仿真速度與容量,常用的技術如下。
(1)RC約減:通過物理或數學等效方法將寄生RC網絡簡化為規模較小的等效電路,其常用算法為TICER降價算法。
(2)電路劃分:將電路分割為多個耦合較少的模塊分別計算,結果回代到頂層矩陣得到電路的解。常用方法有超圖劃分、BBD和SuperLU等。
(3)多重速率:根據工作頻率將電路劃分成多個模塊,信號頻率較高的模塊設置較小的時間步長以保證計算精度,信號頻率較低的模塊設置較大時間步長以提升計算速度。
2.數字電路仿真工具
數字電路仿真的基本流程如圖5-108所示。
數字電路一般采用VHDL、Verilog HDL或者System Verilog等語言來描述。這些語言支持對邏輯信號的時序關系進行量化及檢測。數字電路仿真采用事件驅動算法進行信號邏輯仿真,即邏輯單元的輸入/輸出信號為有限數量的邏輯態,其輸出僅在輸入信號狀態發生變化的情況下重新計算。事件驅動算法框圖如圖5-109所示。
在數字電路仿真中可以附加SDF(Standard Delay Format)文件進行后仿真以得到更準確的時序結果。該文件通過提取電路版圖獲得元器件與連線精確延時而產生。數字電路仿真的速度遠高于模擬電路仿真,但精度遠低于模擬電路仿真。
3.模數混合電路仿真工具
模數混合電路仿真結合模擬與數字信號電路仿真工具,對不同模塊分別采用晶體管級或門級/RTL級電路進行仿真。模數混合電路仿真的核心是識別模擬信號與數字信號相連的節點,并通過信號轉換算法將其中連續的模擬信號與離散的數字信號互相轉換。模數混合電路仿真的基本流程如圖5-110所示。
審核編輯:劉清
-
模擬電路
+關注
關注
125文章
1561瀏覽量
102792 -
邏輯電路
+關注
關注
13文章
494瀏覽量
42655 -
晶體管
+關注
關注
77文章
9704瀏覽量
138450 -
RTL
+關注
關注
1文章
385瀏覽量
59849
原文標題:可編程邏輯電路設計—仿真工具
文章出處:【微信號:Semi Connect,微信公眾號:Semi Connect】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論