欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種掃描鏈重定序方法與流程

文檔序號:12720506閱讀:338來源:國知局

本發(fā)明涉及集成電路測試技術領域,尤其涉及一種掃描鏈重定序方法。



背景技術:

插入掃描鏈是集成電路可測性設計的重要方法,它將集成電路中的普通寄存器替換成掃描寄存器,并將掃描寄存器首尾連接,構成串行的掃描鏈,以實現(xiàn)附加的掃描測試功能。掃描鏈的插入會增加集成電路的面積和功耗開銷,并且在測試模式下,掃描鏈的數(shù)據(jù)通路還必須滿足建立時間、保持時間等時序檢查約束,由此所引入的緩沖器進一步增加了集成電路的面積和功耗開銷。

對掃描鏈進行重定序是降低集成電路的面積和功耗的一種途徑,掃描鏈重定序方法是將掃描鏈上的掃描寄存器按照一定的順序,在不影響邏輯功能的前提下,進行重新連接,從而減少掃描鏈占用的面積及功耗。雖然現(xiàn)有的重定序方法在降低電路功耗方面取得了一定的成果,但是卻帶來了另外一個問題,即布線擁塞,而且隨著集成電路技術的發(fā)展,電路集成度越來越高,當集成電路設計的工藝節(jié)點縮小到65nm以下時,為滿足掃描鏈的建立時間、保持時間約束,掃描鏈上所需的緩沖器單元越來越多,導致的面積和功耗額外開銷越來越大,引起的布局布線擁塞問題越來越嚴重,從而對芯片的性能、功耗和面積造成不利影響。



技術實現(xiàn)要素:

本發(fā)明從滿足掃描鏈的建立時間、保持時間等時序約束出發(fā),提出一種掃描鏈重定序方法,這種方法可大幅度減少掃描鏈上所插入的緩沖器單元數(shù)量,達到減少布局布線擁塞以及降低面積和功耗開銷的目的。

有鑒于此,本發(fā)明第一方面提供一種掃描鏈重定序方法,可包括:

將掃描鏈中的所有寄存器按照在測試時鐘下的時鐘樹延遲從大到小排序,組成寄存器第一序列;

以為單位長度將所述第一序列分為多段,序列中最后長度不足的部分作為一段,其中n為寄存器的個數(shù),為對取整;

依次從每段中取第i個寄存器順序組成第i組,直至取完第一段中的寄存器,將i組寄存器按照組成的先后順序依次排列組成第二序列;

記所述第二序列中的第二個寄存器為當前寄存器,執(zhí)行定序流程,所述定序流程包括:

查找當前寄存器之后與當前寄存器的時鐘樹延遲相等的第一個寄存器,若找到,則記為第一寄存器;計算當前寄存器與第一寄存器交換位置之前與交換之后的掃描鏈的鏈長,如果交換之后的掃描鏈鏈長較短,則交換當前寄存器與第一寄存器的位置;更新第二序列;在更新的第二序列中繼續(xù)查找當前寄存器之后與當前寄存器的時鐘樹延遲相等的第一個寄存器,若未找到,將更新后的第二序列中的第三個寄存器作為當前寄存器,返回執(zhí)行定序流程直至最后一個寄存器執(zhí)行完定序流程;若在更新的第二序列中找到,則仍記為第一寄存器,返回執(zhí)行計算當前寄存器與第一寄存器交換位置之前與交換之后的掃描鏈的鏈長的步驟。

優(yōu)選的,掃描鏈的鏈長以曼哈頓距離表示,計算公式如下:

其中,D1為以曼哈頓距離表示的掃描鏈鏈長,(xi,yi)為寄存器組成的序列中第i個寄存器的坐標。

優(yōu)選的,轉(zhuǎn)換掃描鏈中兩個寄存器位置之后掃描鏈的總線長以曼哈頓距離的計算公式如下:

其中,交換位置的為第p個寄存器與第q個寄存器,D2為第p個寄存器與第q個寄存器交換位置之后的掃描鏈鏈長。

從以上技術方案可以看出,本發(fā)明實施例具有以下優(yōu)點:

在掃描鏈中,相鄰的寄存器之間需要滿足保持時間的要求,往往需要插入緩沖器,而本發(fā)明將寄存器之間的時鐘偏差考慮進來,可以在滿足相鄰寄存器之間的保持時間約束的情況下,盡量減少插入緩沖器的數(shù)目,可以減小掃描鏈占用的面積,以及電路的整體功耗。由于插入的緩沖器的數(shù)目較少,緩解了布線擁塞的問題,而且本方法對掃描鏈的測試時間和掃描覆蓋率沒有副作用,對設計的流程影響比較小。

附圖說明

圖1為本發(fā)明實施例的物理設計流程。

具體實施方式

為了使本技術領域的人員更好地理解本發(fā)明方案,下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分的實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都應當屬于本發(fā)明保護的范圍。

本發(fā)明實施例提出的掃描鏈重定序方法,是一種按時鐘樹延遲跳躍式排序的方法,在設計時鐘樹綜合之后實施,參考圖1所示為本發(fā)明物理設計流程,本發(fā)明的主要思想是:傳統(tǒng)物理設計流程為“設計導入→布局→時鐘樹綜合→布線”。掃描鏈重定序過程可以在時鐘樹綜合后實施,并且在設計時鐘樹綜合之后可以得到時序單元的時鐘樹延遲信息以及其物理坐標信息。

下面對本發(fā)明實施例提供的技術方案做詳細公開的描述,如下:

S1、將掃描鏈中的所有寄存器按照在測試時鐘下的時鐘樹延遲從大到小排序,組成寄存器第一序列;

為了便于描述,這里記第一序列為ins(C1,C2,C3,…,Cn);其中,時鐘樹延遲相等的寄存器隨機依次排列。序列中的元素Ck(1≤k≤n)代表一個寄存器,n為掃描鏈中總的寄存器個數(shù)。在序列ins(C1,C2,C3,…,Cn)中具有相等時鐘樹延遲的寄存器則隨機分配先后順序,序列整體保持從大到小的順序。

S2、以為單位長度將所述第一序列分為多段,序列中最后長度不足的部分作為一段;

選擇正整數(shù)m(其中為對進行取整,簡單的理解為對只取整數(shù)部分),則n=a*m+r,其中,a為m除n的商數(shù),r為余數(shù)。

下面具體介紹對序列ins(C1,C2,C3,…,Cn)的分段流程,對于余數(shù)r是否為零,具體執(zhí)行流程不同,當r≠0時,執(zhí)行步驟1.1-步驟1.4,如下:

步驟1.1:當r≠0時,設置參數(shù)i,對i賦初值i=0;

步驟1.2:ins(C1,C2,C3,…,Cn)中Ci*m+1→Ci*m+2→Ci*m+3…→Ci*m+m作為第i+1段;

步驟1.3:令i=i+1;

步驟1.4:如果i值小于a,則返回步驟1.2;否則ins(C1,C2,C3,…,Cn)中Ci*m+1→Ci*m+2…→Ci*m+r作為第i+1段。

舉例說明,假設寄存器的個數(shù)為10,則m=3,a=3,r=1(不為零),寄存器按照時鐘樹延遲從大到小的順序排列得到的序列為ins(C1,C2,C3,C4,C5,C6,C7,C8,C9,C10),假設其中時鐘樹延遲相等的寄存器在序列中的位置為C3、C4、C5,則根據(jù)上述分段過程可得本例中10個寄存器排序后的序列分段結果如下:

第一段:C1→C2→C3;

第二段:C4→C5→C6

第三段:C7→C8→C9

第四段:C10

當r≠0時,執(zhí)行步驟2.1-步驟2.4,如下:

步驟2.1:當r=0時,設置計數(shù)參數(shù)j,對j賦初值j=0;

步驟2.2:ins(C1,C2,C3,…,Cn)中Ci*m+1→Ci*m+2→Ci*m+3…→Ci*m+m作為第j+1段組;

步驟2.3:令j=j+1;

步驟2.4:如果j值小于a,則返回步驟2.2,否則序列分段完畢。

舉個例子,假設寄存器的個數(shù)為9,則m=3,a=3,r=0,寄存器按照時鐘樹延遲從大到小的順序排列得到的序列為ins(C1,C2,C3,C4,C5,C6,C7,C8,C9),假設其中時鐘樹延遲相等的寄存器在序列中的位置為C4,C5,則根據(jù)上述分段過程可得對本例中9個寄存器排序后的序列分段結果如下:

第一段:C1→C2→C3;

第二段:C4→C5→C6

第三段:C7→C8→C9

S3、依次從每段中取第i個寄存器順序組成第i組,直至取完第一段中的寄存器,將i組寄存器按照組成的先后順序依次排列組成第二序列;

本步驟是對分段之后的寄存器重新分組,具體執(zhí)行過程如下:

對于r≠0的情況,根據(jù)步驟S2中,當r≠0時得到的分段結果,執(zhí)行步驟3.1。所述步驟3.1包括如下步驟:

步驟3.1.1:設置參數(shù)l,對l賦初值l=1;

步驟3.1.2:將每段的第l(1≤l≤m)個寄存器按照分段的先后順序串聯(lián)形成第l條掃描鏈段:

Cl→Cm+l→C2*m+l…→C(a-1)*m+l→Ca*m+l

步驟3.1.3:令l=l+1;

步驟3.1.4:如果l小于r+1,則返回步驟3.1.2,否則進行步驟3.1.5;

步驟3.1.5:將每組的第l個寄存器按照組分段的先后順序串聯(lián)形成掃描鏈段M(l):

Cl→Cm+l→C2*m+l…→C(a-1)*m+l

步驟3.1.6:令l=l+1;

步驟3.1.7:如果l小于m+1,則返回步驟3.1.5,否則進行下一步驟;

步驟3.1.8:對l重新賦初值l=1,將掃描鏈段M(l)賦值給掃描鏈S(l);

步驟3.1.9:將掃描鏈段M(l+1)與掃描鏈S(l)首尾相連形成新的掃描鏈,并賦值給掃描鏈S(l+1);

步驟3.1.10:令l=l+1;

步驟3.1.11:如果l小于m,則返回步驟3.1.9,否則步驟3.1執(zhí)行完畢,得到掃描鏈S(m)。

舉例說明,參考步驟S2中的例子,寄存器的個數(shù)為10,則分段后重新分組如下:

M(1):C1→C4→C7→C10

M(2):C2→C5→C8

M(3):C3→C6→C9

得到的S(3)為ins(C1,C4,C7,C10,C2,C5,C8,C3,C6,C9)。

對于r=0的情況,根據(jù)步驟S2中,當r=0時得到的分段結果,執(zhí)行步驟3.2,所述步驟3.2包括如下步驟:

步驟3.2.1:對e賦初值e=1;

步驟3.2.2:將每組的第e(1≤e≤m)個單元按照組分配的先后順序串聯(lián)形成掃描鏈段N(e):

Ce→Cm+e→C2*m+e…→C(a-1)*m+e

步驟3.2.3:令e=e+1;

步驟3.2.4:如果e小于m+1,則返回步驟3.2.2,否則進行下一步驟;

步驟3.2.5:對e重新賦初值e=1,將掃描鏈段N(e)賦值給掃描鏈S(e);

步驟3.2.6:將掃描鏈S(e)與掃描鏈段N(e+1)尾首相連形成新的掃描鏈,并賦值給掃描鏈S(e+1);

步驟3.2.7:令e=e+1;

步驟3.2.8:如果e小于m,則返回步驟3.2.6,否則終止,最終得到掃描鏈S(m)。

舉例說明,參考步驟S2中的例子,寄存器的個數(shù)為9,則分段后重新分組如下:

第一組:C1→C4→C7

第二組:C2→C5→C8

第三組:C3→C6→C9

得到的S(3)為ins(C1,C4,C7,C2,C5,C8,C3,C6,C9)。

S4、記所述第二序列中的第二個寄存器為當前寄存器,執(zhí)行定序流程。

所述定序流程具體可以包括:查找當前寄存器之后與當前寄存器的時鐘樹延遲相等的第一個寄存器,如果沒找到,則將第二序列中的第三個寄存器作為當前寄存器,返回執(zhí)行定序流程直至最后一個寄存器執(zhí)行完定序流程;如果找到,則記為第一寄存器。然后,計算當前寄存器與第一寄存器交換位置之前與交換之后的掃描鏈的鏈長,如果交換之后的掃描鏈鏈長較短,則交換當前寄存器與第一寄存器的位置,并更新第二序列;如果交換之前的掃描鏈鏈長較短,則保持第二序列不變。

在更新的第二序列中繼續(xù)查找當前寄存器之后與當前寄存器的時鐘樹延遲相等的第一個寄存器,若在更新的第二序列中未找到第一個與當前寄存器的時鐘樹延遲相等的寄存器,則將更新后的第二序列中的第三個寄存器作為當前寄存器,返回執(zhí)行定序流程直至最后一個寄存器執(zhí)行完定序流程;

若在更新的第二序列中找到了第一個與當前寄存器的時鐘樹延遲相等的寄存器,則仍記為第一寄存器,返回執(zhí)行計算當前寄存器與第一寄存器交換位置之前與交換之后的掃描鏈的鏈長的步驟。

舉例說明如下:為了便于描述,將步驟S3中得到的第二序列統(tǒng)一記為O(R1→R2→…→Rn-1→Rn),確定R1為鏈頭,執(zhí)行掃描鏈重定序流程如下:

步驟4.1:對s賦初值,s=1;

步驟4.2:當掃描鏈O(R1→R2→…→Rn-1→Rn)中前s個寄存器確定之后,對于下一級掃描單元Rs+1,對f賦初值,f=s+2;

步驟4.3:如果Rs+1與Rf的時鐘樹延遲相等,則確定Rs+1與Rf在掃描鏈O中轉(zhuǎn)換位置前后掃描鏈的長度;

為了確定Rs+1與Rf轉(zhuǎn)換前后掃描鏈的長度的變化,首先介紹一下掃描鏈長度的概念,以曼哈頓距離為例,假設一掃描鏈序列為(H1…→Hp…→Hq…→Hn)序列中Hi的坐標為(xi,yi),則(H1…→Hp…→Hq…→Hn)的總線長按照曼哈頓距離計算結果為:

轉(zhuǎn)換掃描鏈序列(H1…→Hp…→Hq…→Hn)中Hp,Hq(1≤p<q≤n)的位置,轉(zhuǎn)換后的總掃描鏈線長為:

轉(zhuǎn)換后的總掃描鏈線長減去原掃描鏈線長為:

Δl=D2-D1=|xp-1-xq|+|yp-1-yq|+|xq-xp+1|+|yq-yp+1|+

|xq-1-xp|+|yq-1-yp|+|xp-xq+1|+|yp-yq+1|-

(|xp-1-xp|+|yp-1-yp|+|xp-xp+1|+|yp-yp+1|+

|xq-1-xq|+|yq-1-yq|+|xq-xq+1|+|yq-yq+1|)

根據(jù)上述公式計算Rs+1與Rf轉(zhuǎn)換位置前后的掃描鏈長度差,如果相應的Δl<0,則轉(zhuǎn)換Rs+1與Rf在掃描鏈中的位置,即更新第二序列,否則掃描鏈順序保持不變。

步驟4.4:令f=f+1;

步驟4.5:如果f的值小于n+1,則返回步驟4.3,否則進行下一步;

步驟4.6:令s=s+1;

步驟4.7:如果s的值小于n,則返回步驟4.2,否則終止,得到最終掃描鏈記為O(Q1→Q2→…→Qn-1→Qn)。

與現(xiàn)有技術相比,本發(fā)明提出的掃描鏈重定序方法有以下優(yōu)點:

將寄存器之間的時鐘偏差考慮進來,可以在滿足相鄰寄存器之間的保持時間約束的情況下,盡量減少插入緩沖器的數(shù)目,一方面可以減小掃描鏈占用的面積,另一方面可以緩解布線擁塞的問題,降低電路的整體功耗。而且本方法對掃描鏈的測試時間和掃描覆蓋率沒有副作用,對設計的流程影響比較小。

以上所述,以上實施例僅用以說明本發(fā)明的技術方案,而非對其限制;盡管參照前述實施例對本發(fā)明進行了詳細的說明,本領域的普通技術人員應當理解:其依然可以對前述各實施例所記載的技術方案進行修改,或者對其中部分技術特征進行等同替換;而這些修改或者替換,并不使相應技術方案的本質(zhì)脫離本發(fā)明各實施例技術方案的精神和范圍。

當前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
丰宁| 马关县| 遂平县| 德惠市| 镇原县| 潍坊市| 天台县| 元氏县| 弋阳县| 陇川县| 永丰县| 平利县| 嘉善县| 弥勒县| 宜良县| 宁河县| 休宁县| 会昌县| 东山县| 策勒县| 滦南县| 湘乡市| 苏尼特右旗| 军事| 汕尾市| 图们市| 汝阳县| 石柱| 长宁县| 峨山| 察雅县| 宁强县| 浠水县| 高陵县| 运城市| 沭阳县| 沾化县| 百色市| 黄山市| 宁国市| 乌拉特中旗|