0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

時(shí)序分析基本概念介紹——花一樣的“模式”

數(shù)字后端IC芯片設(shè)計(jì) ? 來源:未知 ? 作者:李倩 ? 2018-03-26 10:43 ? 次閱讀

在Coarse Placement和Legalization之間,其實(shí)還有很重要的一個(gè)步驟, 就是對Scan Chain(掃描鏈)的處理。英文名Scan Reorder,直譯為掃描鏈重組。

那講Scan Reorder之前,有必要對Scan Chain的基本知識做一定普及。Scan chain其實(shí)是可測試性設(shè)計(jì)(DFT)中的內(nèi)容。DFT,Design for test,其實(shí)是探測錯(cuò)誤序列的一種設(shè)計(jì)方法學(xué),由于芯片內(nèi)部是一個(gè)黑盒子,在外部難以控制。測試人員通過DFT技術(shù),可以從外部控制和觀測電路內(nèi)部觸發(fā)器的信號值。DFT通常需要單獨(dú)的一個(gè)部門來完成,很復(fù)雜,有專門的書籍可以參考?;靖拍羁梢詤⒖迹?/p>

【時(shí)序分析基本概念介紹——花一樣的“模式”】

而在后端PR中,我們更關(guān)注的是DFT中的Scan Chain,有了它,我們的芯片就更加具有測試性。Scan Chain將芯片中的所應(yīng)用的普通寄存器替換成帶有掃描功能的掃描寄存器,首尾相連成串,從而可以實(shí)現(xiàn)附加的測試功能。那掃描寄存器特殊在什么地方呢?我們從它的結(jié)構(gòu)圖來看一下:

從上圖中可以看出,它比普通存儲器多了SI,SE,SO這3個(gè)端口。

1. 其中SI,SO也就是scan_in與scan_out端,定義了一條scan chain的input和output端。通常情況下,每一個(gè)input會(huì)驅(qū)動(dòng)一條scan chain,一個(gè)ouput也是用來觀察一條scan chain的。

2. SE是scan enable信號,它控制著scan cell的工作模式。從圖中可以看出,SE,SI,D端通過一個(gè)Mux實(shí)現(xiàn)工作模式的切換。當(dāng)SE輸入為0時(shí),scan cell工作在普通模式下,相當(dāng)于是普通的flop;當(dāng)SE輸入為1時(shí),scan cell就進(jìn)入scan模式,相當(dāng)于一個(gè)移位寄存器。

scan cell通常定義在lib庫中直接導(dǎo)入,可以通過get_cells_of_scan_chain來做一些檢查。

用圖片說明可能會(huì)更加形象,對整個(gè)邏輯電路來說,未插入scan chain時(shí),電路圖如下:

插入scan chain以后,軟件會(huì)自動(dòng)地用scan flip flop(SFF)替換掉普通的flip flop,并且連接SFF到scan chain上,這樣就實(shí)現(xiàn)了移位掃描的功能,如下圖所示:

而后端對于掃描鏈的定義,通常使用DEF文件來定義,我們一般稱它為scan def,配合下圖,我們寫出scan DEF語句來說明:

SCANCHAINS 1 ; scan chain數(shù)量

- chain0 scan chain名字+ START PIN scan_in scan chain起點(diǎn)+ FLOATING 代表著單獨(dú)的寄存器單元,上圖中out_reg_0,_1,_2,_3都是floating單元out_reg_0 ( IN SI ) ( OUT Q ) out_reg_1 ( IN SI ) ( OUT Q )

out_reg_2 ( IN SI ) ( OUT Q )out_reg_3 ( IN SI ) ( OUT Q )

+ ORDERED 需要放在一起的單元,上圖中out_reg_4與u_buf就是ORDERED單元,用方框圈出out_reg_4 ( IN SI ) ( OUT Q )u_buf ( IN A ) ( OUT Y )+ STOP PIN scan_out ; scan chain終點(diǎn)END SCANCHAINS

概念都了解完以后,那我們后端到底需要對scan chain做些什么呢?

其實(shí),在做完coarse placement后,Scan Cell大部分是按照連接的順序隨機(jī)的亂放的。這樣其實(shí)會(huì)極大地占用繞線資源。因此,在后續(xù)步驟開始之前,我們希望對掃描鏈的連線進(jìn)行處理,在不影響邏輯功能的前提下,重新進(jìn)行連接,從而減少走線長度。那這個(gè)重組的過程,我們就稱之為掃描鏈重組(Scan Reorder)。整個(gè)過程,可以用下面兩張圖來形象地說明:

Scan Reorder之前:可以看到,每個(gè)scan cell的連接得亂七八糟,專業(yè)術(shù)語叫做detour

Scan Reorder之后:仔細(xì)看,走線少了很多,也規(guī)整了不少吧!那這就是我們希望得到的結(jié)果~~(當(dāng)然前提是不能影響邏輯功能)

如果用前文DEF的例子解釋:

經(jīng)過Scan Reorder之后,變成如下的電路連接:

可以看到,被方框圈住的out_reg_4和u_buf就類似一個(gè)整體一樣,位置重新進(jìn)行了排列。

那對應(yīng)的Scan DEF信息變化就是:

左邊的DEF格式前文已經(jīng)說明,那右邊reorder之后的大家能看懂嘛?

右邊就多了一個(gè)#符號,這里可以理解為標(biāo)志位,與著下面的#ORDERED segment 1相關(guān)聯(lián),就是為了說明它在FLOATING信息里的排列位置。

最后,我們可以使用report_scan_chains來報(bào)出scan chain的組成,使用check_scan_chain來檢查其合理性

Checking Scan Chain scan_segment_88

STOP: u__noram/u_etm/u_fifo/ts_0_lockLD_865264

....

thru: u_noram/uersistent_cell_0_buf_intsi54506_i/Z

STATUS: VALIDATED, Sequential Length = 524, Instance Count = 524, Partition = partition_1

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • DFT
    DFT
    +關(guān)注

    關(guān)注

    2

    文章

    224

    瀏覽量

    22654
  • 時(shí)序
    +關(guān)注

    關(guān)注

    5

    文章

    384

    瀏覽量

    37247

原文標(biāo)題:剪斷了,理就不會(huì)亂——Scan Reorder

文章出處:【微信號:IC_Physical_Design,微信公眾號:數(shù)字后端IC芯片設(shè)計(jì)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    時(shí)序分析中的基本概念

    時(shí)序分析是FPGA設(shè)計(jì)中永恒的話題,也是FPGA開發(fā)人員設(shè)計(jì)進(jìn)階的必由之路。慢慢來,先介紹時(shí)序分析中的
    發(fā)表于 10-21 09:28 ?1993次閱讀

    時(shí)序分析中的基本概念

    時(shí)序分析時(shí)FPGA設(shè)計(jì)中永恒的話題,也是FPGA開發(fā)人員設(shè)計(jì)進(jìn)階的必由之路。慢慢來,先介紹時(shí)序分析中的
    發(fā)表于 02-11 19:08 ?4237次閱讀
    <b class='flag-5'>時(shí)序</b><b class='flag-5'>分析</b>中的<b class='flag-5'>一</b>些<b class='flag-5'>基本概念</b>

    時(shí)序分析基本概念介紹——時(shí)序庫Lib,除了這些你還想知道什么?

    時(shí)序分析基本概念介紹——時(shí)序庫Lib。用于描述物理單元的時(shí)序和功耗信息的重要庫文件。lib庫是最
    的頭像 發(fā)表于 12-15 17:11 ?1.2w次閱讀
    <b class='flag-5'>時(shí)序</b><b class='flag-5'>分析</b><b class='flag-5'>基本概念</b><b class='flag-5'>介紹</b>——<b class='flag-5'>時(shí)序</b>庫Lib,除了這些你還想知道什么?

    詳細(xì)介紹時(shí)序基本概念Timing arc

    時(shí)序分析基本概念介紹——Timing Arc
    的頭像 發(fā)表于 01-02 09:29 ?2.4w次閱讀
    詳細(xì)<b class='flag-5'>介紹</b><b class='flag-5'>時(shí)序</b><b class='flag-5'>基本概念</b>Timing arc

    時(shí)序分析時(shí)序約束的基本概念詳細(xì)說明

    時(shí)序分析時(shí)FPGA設(shè)計(jì)中永恒的話題,也是FPGA開發(fā)人員設(shè)計(jì)進(jìn)階的必由之路。慢慢來,先介紹時(shí)序分析中的
    發(fā)表于 01-08 16:57 ?28次下載
    <b class='flag-5'>時(shí)序</b><b class='flag-5'>分析</b>和<b class='flag-5'>時(shí)序</b>約束的<b class='flag-5'>基本概念</b>詳細(xì)說明

    FPGA設(shè)計(jì)中時(shí)序分析基本概念

    時(shí)序分析時(shí)FPGA設(shè)計(jì)中永恒的話題,也是FPGA開發(fā)人員設(shè)計(jì)進(jìn)階的必由之路。慢慢來,先介紹時(shí)序分析中的
    的頭像 發(fā)表于 03-18 11:07 ?2617次閱讀

    介紹時(shí)序分析基本概念lookup table

    今天要介紹時(shí)序分析基本概念是lookup table。中文全稱時(shí)序查找表。
    的頭像 發(fā)表于 07-03 14:30 ?1414次閱讀
    <b class='flag-5'>介紹</b><b class='flag-5'>時(shí)序</b><b class='flag-5'>分析</b>的<b class='flag-5'>基本概念</b>lookup table

    時(shí)序分析基本概念介紹&lt;Latency&gt;

    今天要介紹時(shí)序分析基本概念是Latency, 時(shí)鐘傳播延遲。主要指從Clock源到時(shí)序組件Clock輸入端的延遲時(shí)間。
    的頭像 發(fā)表于 07-04 15:37 ?2293次閱讀
    <b class='flag-5'>時(shí)序</b><b class='flag-5'>分析</b><b class='flag-5'>基本概念</b><b class='flag-5'>介紹</b>&lt;Latency&gt;

    介紹時(shí)序分析基本概念MMMC

    今天我們要介紹時(shí)序分析基本概念是MMMC分析(MCMM)。全稱是multi-mode, multi-corner, 多
    的頭像 發(fā)表于 07-04 15:40 ?2411次閱讀
    <b class='flag-5'>介紹</b><b class='flag-5'>時(shí)序</b><b class='flag-5'>分析</b><b class='flag-5'>基本概念</b>MMMC

    時(shí)序分析基本概念介紹&lt;Skew&gt;

    今天要介紹時(shí)序分析基本概念是skew,我們稱為偏差。
    的頭像 發(fā)表于 07-05 10:29 ?3334次閱讀
    <b class='flag-5'>時(shí)序</b><b class='flag-5'>分析</b><b class='flag-5'>基本概念</b><b class='flag-5'>介紹</b>&lt;Skew&gt;

    時(shí)序分析Slew/Transition基本概念介紹

    今天要介紹時(shí)序分析基本概念是Slew,信號轉(zhuǎn)換時(shí)間,也被稱為transition time。
    的頭像 發(fā)表于 07-05 14:50 ?2953次閱讀
    <b class='flag-5'>時(shí)序</b><b class='flag-5'>分析</b>Slew/Transition<b class='flag-5'>基本概念</b><b class='flag-5'>介紹</b>

    時(shí)序分析基本概念介紹—Timing Arc

    今天我們要介紹時(shí)序基本概念是Timing arc,中文名時(shí)序弧。這是timing計(jì)算最基本的組成元素,在昨天的lib庫介紹中,大部分
    的頭像 發(fā)表于 07-06 15:00 ?3175次閱讀
    <b class='flag-5'>時(shí)序</b><b class='flag-5'>分析</b><b class='flag-5'>基本概念</b><b class='flag-5'>介紹</b>—Timing Arc

    時(shí)序分析基本概念介紹&lt;Virtual Clock&gt;

    今天我們介紹時(shí)序分析基本概念是Virtual Clock,中文名稱是虛擬時(shí)鐘。
    的頭像 發(fā)表于 07-07 16:52 ?1338次閱讀
    <b class='flag-5'>時(shí)序</b><b class='flag-5'>分析</b><b class='flag-5'>基本概念</b><b class='flag-5'>介紹</b>&lt;Virtual Clock&gt;

    時(shí)序分析基本概念介紹&lt;ILM&gt;

    今天我們要介紹時(shí)序分析基本概念是ILM, 全稱Interface Logic Model。是種block的結(jié)構(gòu)模型。
    的頭像 發(fā)表于 07-07 17:26 ?2767次閱讀
    <b class='flag-5'>時(shí)序</b><b class='flag-5'>分析</b><b class='flag-5'>基本概念</b><b class='flag-5'>介紹</b>&lt;ILM&gt;

    時(shí)序分析基本概念介紹一樣的“模式

    今天要介紹時(shí)序基本概念是Mode(模式). 這是Multiple Scenario環(huán)境下Sign off的個(gè)重要
    的頭像 發(fā)表于 07-10 17:21 ?3298次閱讀
    <b class='flag-5'>時(shí)序</b><b class='flag-5'>分析</b><b class='flag-5'>基本概念</b><b class='flag-5'>介紹</b>—<b class='flag-5'>花</b><b class='flag-5'>一樣</b>的“<b class='flag-5'>模式</b>”