深入淺出FPGA 9 DFT之SCAN

2021-06-08 12:54:45 字數 1575 閱讀 1356

引言

基於掃瞄路徑法的可測性設計技術是可測性設計(dft)技術的乙個重要的方法,這種方法能夠從晶元外部設定電路中各個觸發器的狀態,並通過簡單的掃瞄鏈的設計,掃瞄觀測觸發器是否工作在正常狀態,以此來檢測電路的正確性。但隨著數位電路朝著超大規模的方向發展,設計電路中使用的觸發器的數目也日趨龐大,怎樣採用合適的可測性設計策略,檢測到更多的觸發器,成為基於掃瞄路徑法的乙個關鍵問題。

本文採用基於掃瞄路徑法的可測性設計技術,對一款約750萬門級雷達晶元的實際電路進行可測性設計。在設計中通過使用時鐘復用技術、時鐘電路處理技術以及ip隔離技術等幾種有效的設計策略,大大提高了晶元的故障覆蓋率,最終達到可測性設計的目的。

1 掃瞄鏈設計原理

數位電路由大量的組合元件和時序元件組成,時序元件具體體現為單個的觸發器(dff)。數位電路基本組成如圖1所示。其中系統時鐘(cp)來控制各個觸發器的資料埠相應資料的輸入輸出。

基於掃瞄路徑法的可測性設計就是將電路中的時序元件觸發器替換為相應的可掃瞄的時序元件掃瞄觸發器(sdff);然後將上一級掃瞄觸發器的輸出端(q)連線到下一級的資料輸入端(sdi),從而形成乙個從輸入到輸出的測試序列移位暫存器,即掃瞄鏈(scanchain);通過cp端時鐘的控制,實現對時序元件和組合邏輯的測試。實現掃瞄鏈設計後的電路如圖2所示。

採用掃瞄設計技術後,在掃瞄控制端(sen)和時鐘端的控制下,通過掃瞄資料輸入端,可以把需要的資料序列地移位到掃瞄暫存器單元中,序列地控制各個單元;同時也可以通過掃瞄輸出端(scan_out)序列地觀測它們。這樣就增加了時序電路的可控制性和可觀測性。

2 掃瞄鏈策略設計

圖2中虛線部分為掃瞄觸發器,即掃瞄鏈的基本組成單元,其構成原理如圖3所示。

掃瞄鏈設計前,電路中的觸發器都是通過系統時鐘埠控制資料的變化,因而在做掃瞄設計時可以通過系統時鐘復用檢測到更多的觸發器,以此達到控制掃瞄觸發器的目的。

同樣的道理,一些特殊電路中的觸發器也是採用手動或者軟體的方法將它們串聯到掃瞄鏈中,以此增加可掃瞄的觸發器數,最終使故障覆蓋率得以提高。但需要注意的是,這些可測性設計策略應用的前提是不能改變原始設計的功能。

3 設計中採用的策略

在進行dft設計並插入掃瞄鏈的時候,最為重要的乙個問題就是測試覆蓋率,而它的最終值是由觸發器的總數和最終能夠測試到的觸發器的數目的比值決定的,因此是否能夠盡可能多地測試到本雷達晶元電路中的觸發器,成為掃瞄路徑法設計的乙個關鍵問題。針對實際的設計電路提出了以下三種有效的設計策略,由最終測試結果可知,採用此設計策略後可大大提高測試覆蓋率,滿足設計指標需要。

3.1 時鐘復用技術

每個觸發器都受系統時鐘控制,系統時鐘能夠覆蓋本設計中大部分的觸發器元件,因而考慮使用時鐘復用技術,在插入掃瞄鏈進行測試時,把測試時鐘引入到系統時鐘上,這樣測試時鐘就能覆蓋盡可能多的觸發器,並在插入掃瞄鏈後,替換成掃瞄觸發器。其實現原理如圖4所示。

深入淺出WPF9

依然是依賴性屬性相關 比如介面上有 ab兩個,大小一樣,我們需要在改變a大小的時候,同時也改變b的大小,讓他們的大小總保持一致 解決方案 我們需要在a的sizachanged事件中新增處理b的方法。把a的size賦給b,這麼乙個簡單的功能需要這麼一段 來寫是不是有點繁瑣,若此類需求更多,則你需要處理...

深入淺出FPGA 3 verilog HDL

文章出處 引言fpga最初階段的學習可以分為兩部分。一是hdl的語法,二是相關工具的使用。這第一部分,就是verilog hdl或者vhdl,國內用verilog的佔得比例多一些。對於第二部分,這要看具體的fpga開發過程,一般過程如下 3.1 fpga開發flow 1 進行需求分析,演算法設計,模...

深入淺出之STL

c stl 標準模板庫 是一套功能強大的 c 模板類,提供了通用的模板類和函式,這些模板類和函式可以實現多種流行和常用的演算法和資料結構,如向量 鍊錶 佇列 棧。c 標準模板庫的核心包括以下三個元件 元件描述 容器 containers 容器是用來管理某一類物件的集合。c 提供了各種不同型別的容器,...