摘要:本文通過對源同步時序公式的推導,結合對SPECCTRAQuest時序仿真方法的分析,推導出了使用SPECCTRAQuest進行時序仿真時的計算公式,并對公式的使用進行了說明。
一、前言
通常我們在時序仿真中,首先通過時序計算公式得到數(shù)據(jù)信號與時鐘信號的理論關系,在cadence仿真中,我們也獲得了一系列的仿真結果,怎樣把仿真結果正確的運用到公式中,仿真結果的具體含義是什么,是我們正確使用Cadence仿真工具的關鍵。下面對時序計算公式和仿真結果進行詳細分析。
二.時序關系的計算
電路設計中的時序計算,就是根據(jù)信號驅(qū)動器件的輸出信號與時鐘的關系(Tco——時鐘到數(shù)據(jù)輸出有效時間)和信號與時鐘在PCB上的傳輸時間(Tflytime)同時考慮信號驅(qū)動的負載效應、時鐘的抖動(Tiitter)、共同時鐘的相位偏移(Tskew)等,從而在接收端滿足接收器件的建立時間(Tsetup)和保持時間(Thold)要求。通過這些參數(shù),我們可以推導出滿足建立時間和保持時間的計算公式。
時序電路根據(jù)時鐘的同步方式的不同,通常分為源同步時序電路(Source-synchronous timing)和共同時鐘同步電路(common-clock timing)。這兩者在時序分析方法上是類似的,下面以源同步電路來說明。
源同步時序電路也就是同步時鐘由發(fā)送數(shù)據(jù)或接收數(shù)據(jù)的芯片提供。圖1中,時鐘信號是由CPU驅(qū)動到SDRAM方向的單向時鐘,數(shù)據(jù)線Data是雙向的。
圖2是信號由CPU向SDRAM驅(qū)動時的時序圖,也就是數(shù)據(jù)與時鐘的傳輸方向相同時的情況。
圖中參數(shù)解釋如下:
- Tft_clk:時鐘信號在PCB板上的傳輸時間;
- Tft_data:數(shù)據(jù)信號在PCB板上的傳輸時間;
- Tcycle:時鐘周期
- Tsetup':數(shù)據(jù)到達接收緩沖器端E1時實際的建立時間;
- Thold':數(shù)據(jù)到達接收緩沖器端E1時實際的保持時間;
- Tco_max/Tco_min:時鐘到數(shù)據(jù)的輸出有效時間。
由圖2的時序圖,我們可以推導出,為了滿足接收芯片的Tsetup和Thold時序要求,即Tsetup'>Tsetup和Thold'>Thold,所以Tft_clk和Tft_data應滿足如下等式:
Tft_data_min>Thold-Tco_min+Tft_clk (公式1)
Tft_data_max<Tcycle-Tsetup-Tco_max+Tft_clk (公式2)
當信號與時鐘傳輸方向相反時,也就是圖1中數(shù)據(jù)由SDRAM向CPU芯片驅(qū)動時,可以推導出類似的公式:
Tft_data_min>Thold-Tco_min-Tft_clk (公式3)
Tft_data_max<Tcycle-Tsetup-Tco_max-Tft_clk (公式4)
如果我們把時鐘的傳輸延時Tft_clk看成是一個帶符號的數(shù),當時鐘的驅(qū)動方向與數(shù)據(jù)驅(qū)動方向相同時,定義Tft_clk為正數(shù),當時鐘驅(qū)動方向與數(shù)據(jù)驅(qū)動方向相反時,定義Tft_clk為負數(shù),則公式3和公式4可以統(tǒng)一到公式1和公式2中。
三.Cadence的時序仿真
在上面推導出了時序的計算公式,在公式中用到了器件手冊中的Tco參數(shù),器件手冊中Tco參數(shù)的獲得,實際上是在某一種測試條件下的測量值,而在實際使用上,驅(qū)動器的實際負載并不是手冊上給出的負載條件,因此,我們有必要使用一種工具仿真在實際負載條件下的信號延時。Cadence提供了這種工具,它通過仿真提供了實際負載條件下和測試負載條件下的延時相對值。
我們先來回顧一下CADENCE的仿真報告形式。仿真報告中涉及到三個參數(shù):FTSmode、SwitchDelay和SettleDelay。其中Cadence時序仿真的結果是通過SwitchDelay和SettleDelay兩個參數(shù)反映出來的。
在解釋FTSmode、SwitchDelay和SwitchDelay前先解釋一下BufferDelay曲線的含義。BufferDelay曲線是Cadence仿真器斷開實際負載,帶上驅(qū)動芯片器件手冊提供的測試負載條件下獲得的一條曲線。測試負載是在IBIS仿真模型庫中設置的。Cadence仿真報告中的延時測量是以BufferDelay為基準曲線,以V Measure為起始測量點獲得的相對延時值。
- FTSmode:定義了當前仿真驅(qū)動器的特性,分為Fast、Type和Slow。該三種特性是在IBIS模型中定義的,F(xiàn)ast是驅(qū)動器沿最快的模式,Slow是驅(qū)動器沿最慢的模式,從而定義了驅(qū)動器在正常工作條件下的兩種極限特性。
- SwitchDelay: 定義為SwitchDelayFall和SwitchDelayRise兩者的最小值。圖3給出了SwitchDelayFall和SwitchDelayRise的圖形解釋。
- SwitchDelayFall:是從BufferDelay下降沿的Vmeasure點開始到接收波形下降曲線第一次穿過高電平閾值時的延時值。
- SwitchDelayRise:是從BufferDelay上升沿的Vmeasure點開始到接收波形上升曲線第一次穿過低電平閾值時的延時值。
- SettleDelay:是SettleDelayFall和SettleDelayRise兩者的最大值。圖3給出了SettleDelayFall和settleDelayRise的圖形解釋。
- SettleDelayFall:是從BuferDelay下降沿的Vmeasure點開始到接收波形上升曲線最后一次穿過高電平閾值時的延時值。
從SwitchDelay和SettleDelay的定義我們可以看出,SettleDelay是一個與輸入端的建立時間(Tsetup)有關的量,SwitchDelay是一個與輸入端保持時間有關的量(Thold)。
公式1和公式2中的Tft_data與Tft_clk在Cadenee仿真工具中是通過仿真獲得的數(shù)據(jù),它與Cadence仿真中fast和slow狀態(tài)下的SwitchDelay與SettleDelay參數(shù)有關。
為了了解Cadence仿真中的SwitchDelay和SettleDelay與時序公式中參數(shù)的關系,我們重新分析一下包含有BufferDelay曲線的時序圖。
在圖4中,時鐘輸出和數(shù)據(jù)輸出使用的是BufferDelay曲線,此時Tco是時鐘BuferDelay曲線和數(shù)據(jù)BufferDelay曲線之間的延時關系,這種定義符合“手冊中的Tco是在特定負載下測得的”說法。
在圖4中,CPU CLK OUT(BuferDelay)和CPU Signals OUT(Buferdelay)是在測試負載條件下的信號輸出波形(對應于圖3中的BuferDelay曲線,而不是驅(qū)動端輸出曲線),SDRAM CLK IN和SDRAM Signals IN是在實際負載條件下輸入端口的仿真波形。
在器件手冊中給出時序關系時,對于時鐘信號,通常以某一測量電壓為時間測量點,如圖4中的Vmeas1和Vmeas2,對于驅(qū)動端測量電壓點為驅(qū)動器件手冊中定義的測量點,對于接收端測量電壓點為接收器件手冊中定義的測量點。在Cadence仿真時,對于接收端電壓測量點的設置,通常在接收器件模型中,把輸人高低門限電平定義成Vmeas2來實現(xiàn)。對于驅(qū)動端電壓測量點的設置,是在驅(qū)動器件模型參數(shù)中設置的。此時對于時鐘仿真的結果是,時鐘信號的SettleDelay和SwitchDelay值相等。
對于數(shù)據(jù)信號的測量點就稍微有點復雜了,這要根據(jù)手冊中Tco的測量方式來確定,有的器件手冊Tco是從時鐘的Vmeas到數(shù)據(jù)的Vmeas來測量的,有的手冊是從時鐘的Vmeas到數(shù)據(jù)的門限電平來測量的。如果采用從時鐘的Vmeas到數(shù)據(jù)的門限電平來測量的,則在Cadence仿真中,要對高低電平門限分別作為測量點仿真,然后取最惡劣的仿真結果。
對于公式中數(shù)據(jù)的延時Tft_data,從Cadence仿真中對SettleDelay和SwitchDelay的定義和圖4中的時序關系可以看出,Tft_data就是仿真結果中的SettleDelay和SwitchDelay參數(shù),并且SettleDelay是與建立時間(Tsetup)有關,SwitchDelay是與保持時間(Thold)有關,因此公式中的Tft_data_min對應仿真結果中的SwitchDelay,Tft_data_max對應仿真結果中的SettleDelay,考慮到通常Slow狀態(tài)的延時比Fast狀態(tài)的延時要大,因此,公式中的Tft_data_min對應仿真結果中Fast狀態(tài)的SwitchDelay,Tft_data_max對應仿真結果中Slow狀態(tài)的SettleDelay。
對于公式中時鐘的延時,從測量方式中可以看出Tft_clk=SettleDelay=SwitchDelay,考慮到同一公式中仿真狀態(tài)的一致,因此,公式中與Thold有關的不等式中的Tfl_clk對應于Fast狀態(tài)的仿真值,與Tsetup有關的不等式中的Tft_clk對應Slow狀態(tài)的仿真值。寫成公式就是:
Tft_data_fast_switchdelay>Thold口Tco_min+Tft_clk_fast (公式5)
Tff_data_slow_settledelay<Tcycle-Tsetup 口Tco_max+Tft_clk_slow (公式6)
在實際仿真中,我們只要保證仿真結果滿足公式5和公式6的時鐘和數(shù)據(jù)關系,也就保證了單板工作時序的正確性。
四.總結
Cadence公司的Allegro SI和SigXplor設計工具為硬件開發(fā)工程師提供了一個功能強大的高速PCB仿真手段,通過仿真設計,可以設計出符合要求的信號時序和信號完整性,從而提高單板和系統(tǒng)的工作穩(wěn)定性,降低開發(fā)風險和開發(fā)成本。