SigXplorer設置延時及Local_Global

經過SigXplorer設置絕對延時和相對延時及對Local-Global的理解網絡

 

1、基本理解工具

(感受可能有誤差)spa

在於博士的教程第44和45講中,分別對絕對延時和相對延時進行了設置,經過SigXplorer。blog

 

一、當前對絕對延時和相對延時的理解爲:(用length來衡量的話)教程

絕對延時:絕對走線長度,爲走線限定一個大致範圍;(delta(min,max)<800mil,2cm)路由

相對延時:一組走線之間的誤差,即走線的等長設置。(tolerance<400mil,常規DDR)io

 

二、設置絕對延時時,不存在local和global之分,實際系統已將其定義爲global,即針對一組線的全局絕對延時。進階

 

三、設置相對延時時有local和global之分。(參見教程第45講)方法

Local:平面內im

Global:縱向,不一樣平面內(參見進階部分,將Global理解爲全局的:包含橫向和縱向,應該更準確)

 

在設置同一XNet內T型鏈接2個分支之間互相等長時,用Local含義爲:

同一XNet內T型鏈接的2個分支之間互相等長(橫向),相同拓撲結構的同一個XNet內(其它XNet)T型線的2個分支也要等長(否則變成設置單根線了,還要拓撲幹什麼!)。不表示不一樣XNet中具備相同拓撲結構的支線之間的縱向等長。話句話說,Local表式每一個XNet內的平面等長。

 

須要設置不一樣XNet、具備相同拓撲結構支線之間的縱向等長,用Global。

畫圖以下:

 

舉個例子吧:

A有2把尺子:A1(1#),A2(2#);

B有2把尺子:B1(1#),B2(2#);

C有2把尺子:C1(1#),C2(2#)。

 

Local:(約束名要相同,參見博士的第45講),須要知足:

A的2把尺子要知足長度關係:A1=A2

B的2把尺子要知足長度關係:B1=B2

C的2把尺子要知足長度關係:C1=C2

不須要知足:A1=B1=C1=…,A2=B2=C2=…

此即平面等長

 

用Global:

須要知足(只有一個拓撲約束時):

A1=B1=C1=…(設置1號尺子縱向等長時)

A2=B2=C2=…(設置2號尺子縱向等長時)

而不須要知足:

A1=A2,B1=B2,…

此即縱向等長。

注:若設置了2條Global等長,並用同一個名字(rule name) ,即在同一個match group中,分別設置1號等長和2號等長,則須要知足的等式增長爲:

A1=B1=C1=…(設置1號尺子縱向等長時)

A2=B2=C2=…(設置2號尺子縱向等長時)

A1=A2,B1=B2,C1=C2…(同一個match group內的全局等長)

上面3個組式子又能夠等效爲:A1=B1=C1= A2=B2=C2=。。。;即全部走線均要等長。

========================

2、理解進階

(此次感受應該差很少了)

實際上SigXplorer中的topology constraints是一個很是靈活的約束設置工具。

 

圖1 拓撲結構圖

2 設置的相對延時

註解:

AB_DDR2_M1:圖中設置了T型點到U1三、U14(兩片一樣的三星16位DDR2 SDRAM拼成32位)的相對延時:同一個XNet內,T型點到U13和T型點到U14,這兩條分支線儘可能相等,此時信號干擾最小,圖2中設置tolerance爲200mil。由於是同一個XNet內的等長,故此處用Local。(不須要本XNet內T型點到U13與其它XNet 的T型點到U13等長)。

AB_DDR2_M2:同時,整體上還要保證3512芯片的引腳出來,經T型點分開以後,到DDR2芯片引腳的走線距離相等。3512芯片引出的地址線通過T型點分支成爲2簇,簇內和簇間都要相等。這經過AB_DDR2_M2約束來實現(AB_DDR2_M2實際在CM中爲match group),不一樣的拓撲(線路)要進行相對延時比對必須添加爲一個match group,故在此match group中存在2項(分別對應不一樣的路由)

Global的含義爲:不一樣XNet之間均要進行線長的相對延時控制。

設置完成後:

 

圖3 Match group:AB_DDR2_M1

圖4 Match group:AB_DDR2_M2

經過上面的設置能夠總結以下幾點:(主要是對Local和Global的理解)

一、                圖2中的rule name在CM中對應match group

因此,須要有多少種拓撲支路參與相對延時控制,就須要在同一個rule name中添加多少個拓撲支路;前述的AB_DDR2_M一、AB_DDR2_M2均有2個支路;

二、                Local和Global:

Local表明同網絡內進行相對比對(相對延時控制),實際上,SigXplorer提取的拓撲結構也是在一個網絡內的(包含XNet),舉例來講,圖3中設定爲Local的相對延時設置,只會在同一個XNet中進行比對,如只會分別在AB0_DDR2內,分別在AB1_DDR2內、等等中進行比對。不會拿AB0_DDR2和AB1_DDR2中拓撲相同的走線相比對。即前面所說的在一個NET內的橫向比對。

Global:全局比對,即:將AB0_DDR2和AB1_DDR2中拓撲相同的走線相比對(縱向)。若在一個約束(如AB_DDR2_M1)中設置了不止1條拓撲支線,則同一網絡內,不一樣支線之間的走線長度也要比對(此時完成的實際是local功能)。

所以:能夠說Local是Global的特例。

AB_DDR2_M1和AB_DDR2_M2均有2項,分別各自對應2個不一樣拓撲支線。

AB_DDR2_M1中對2條拓撲支線進行了設置,代表這2條支線是必定要進行互相比對的(由於已經被加到一個rule name中了,也即被加到一個match group中了),接下來須要選擇比對的方式,是僅僅同個網絡內的橫向比對(Local),仍是去全局比對(同一網絡內橫向,不一樣網絡間縱向)(修正一下:說Global是全局應該更加貼切,由於Global不只能夠指縱向還包括橫向)。舉例來講,圖4中AB_DDR2_M2內全部的走線長度均會互相比對,不論是同一個NET(橫向)仍是不一樣NET(縱向)。

2點疑問:

1)既然Global既包括縱向(網絡間)又包括橫向(同一網絡內),爲何還須要Local(只能在同一網絡內)?

²  由於並非在全部NET(或者是XNet)內的走線長度都須要與其它NET進行匹配。對不少T型分支線,只須要保證在同一個NET內的2條分支儘可能等長便可。

2)既然設置爲Local的相對延時比對方法只限定爲同一NET內?就是一個NET內不一樣拓撲支線的走線長度互相比較,爲何設置相對延時時能夠將tolerance設置得不同?

²  即便是同一個網絡,當分支較多時,可能須要比對的不止2條支線,例如

A支線,tolerance:500mil

B支線,tolerance:200mil

C支線,tolerance:500mil

這樣,A與B、C與B之間tolerance均只能按照200mil走線,可是A和C之間能夠按照500mil的tolerance走線。

相關文章
相關標籤/搜索