RM新时代网站-首页

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

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

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

什么是DFT友好的功能ECO呢?

roborobo_0706 ? 來源:NanDigits ? 2023-03-06 14:47 ? 次閱讀

DFT是確保芯片在制造過程中具有可測試性的一種技術(shù)。DFT友好的ECO是指在進(jìn)行ECO時(shí), 不會破壞芯片的DFT功能或降低DFT覆蓋率的設(shè)計(jì)方法。DFT不友好的ECO會對芯片的測試和調(diào)試帶來很大的困難,可能導(dǎo)致芯片測試效率降低甚至無法測試。

因此,在進(jìn)行功能性ECO時(shí),需要特別注意DFT功能的保護(hù)。一般來說,可以將DFT邏輯設(shè)置為非活動(dòng)模式,以防止任何功能性更改對其產(chǎn)生影響。但是,在進(jìn)行ECO時(shí)需要特別注意,涉及DFT路徑的ECO是否會對DFT邏輯產(chǎn)生影響。如果ECO涉及DFT路徑,可能需要重新評估ECO的影響,以確保DFT邏輯不受影響。

此外,DFT友好的ECO應(yīng)確保掃描鏈完整,時(shí)鐘和復(fù)位信號可控。這是為了確保芯片在測試和調(diào)試過程中可以正確地工作。因此,在進(jìn)行ECO時(shí),需要注意這些方面的設(shè)計(jì)和實(shí)現(xiàn)。如果一個(gè)功能ECO破壞了DFT功能或降低了DFT覆蓋率,則稱其為DFT不友好的ECO。而DFT友好的ECO應(yīng)確保DFT功能不受影響,掃描鏈完整,時(shí)鐘和復(fù)位信號可控。

一、在相鄰寄存器中插入ECO

其中一個(gè)例子是在部分掃描鏈中在相鄰寄存器上執(zhí)行ECO插入,例如從A_REG到D_REG所示的鏈路,其中B_REG和C_REG形成相鄰路徑。在這種情況下,ECO之前, C_REG可以是非掃描寄存器, 而DFT是完好的。

5688863e-bbe8-11ed-bfe3-dac502259ad0.png

圖1

如果ECO在從A_REG到D_REG的掃描鏈中的B_REG和C_REG之間插入組合邏輯,并且C_REG是非掃描寄存器,則掃描鏈將被打破,如圖 2 所示。Conformal ECO會通過在此類ECO中直接插入后續(xù)路徑中的邏輯,而不考慮保持掃描鏈的需要,從而破壞DFT。

56b553da-bbe8-11ed-bfe3-dac502259ad0.png

圖2

為了解決ECO引起的掃描鏈斷裂問題,GOF的解決方案涉及將C_REG的類型從非掃描寄存器更改為掃描寄存器,并根據(jù)圖 3 所示的方式正確連接掃描鏈。

56c49d22-bbe8-11ed-bfe3-dac502259ad0.png圖3

二、選擇適合的DFT信號

為確保在功能ECO期間DFT邏輯保持不活動(dòng)狀態(tài),需要將DFT_MODE信號設(shè)置為零。然而,有些信號可能是等效的,但不適合用于DFT,這可能會導(dǎo)致DFT失效。例如,在圖 4 中,一個(gè)ECO必須選擇mux_in或mux_out信號來驅(qū)動(dòng)寄存器的復(fù)位引腳。雖然這兩個(gè)信號是等效的,但是Conformal ECO選擇了mux_in,這破壞了DFT。相比之下,GOF可以識別MUX并選擇mux_out作為復(fù)位引腳的正確信號,從而保持DFT邏輯的完整性。

56e1c97e-bbe8-11ed-bfe3-dac502259ad0.png

圖4

三、可重置和可設(shè)置型寄存器交換

在執(zhí)行功能性網(wǎng)表 ECO 時(shí),常常需要在可重置和可設(shè)置型寄存器之間進(jìn)行交換。這個(gè)操作被認(rèn)為是一種簡單和直接的方式,只需交換相同的寄存器實(shí)例。然而,在圖 5 中,Cadence Conformal 引入了一種冗余的方法,使用了一個(gè)新的可設(shè)置型寄存器 reg1_1,而不是直接將原始的寄存器轉(zhuǎn)換為可設(shè)置型。新的寄存器 reg1_1 驅(qū)動(dòng)原始的功能電路,而舊的寄存器 reg1 驅(qū)動(dòng)掃描鏈扇出 reg2。這種方法存在兩個(gè)主要問題。

首先,新的寄存器 reg1_1 沒有包含在掃描鏈中。在存在許多這樣的重置/設(shè)置型寄存器交換的情況下(約占所有寄存器數(shù)量的 0.2%),將會導(dǎo)致 ATPG at-speed覆蓋率約 0.2% 的損失。其次,Conformal LEC 未將新的寄存器 reg1_1 視為寄存器 reg1 的等效關(guān)鍵點(diǎn),在 ECO 后的等效性報(bào)告中會出現(xiàn)大量的非等效點(diǎn)。

570487ac-bbe8-11ed-bfe3-dac502259ad0.png

圖5

圖 6 所示的ECO中,GOF采用了一種直接的方法,將寄存器類型從可復(fù)位更改為可設(shè)置,從而保留了掃描鏈并確保DFT覆蓋率不受影響。

571ef33a-bbe8-11ed-bfe3-dac502259ad0.png

圖6

Cadence Conformal ECO中常見的一個(gè)錯(cuò)誤是 "Error: Duplicate fanout branch # for net 'IN#'"。

這個(gè)問題通常出現(xiàn)在一個(gè)場景中,其中一個(gè)寄存器(REG1)的Q輸出連接到父級,而相同的輸出也連接到另一個(gè)寄存器(REG2)的掃描輸入(SI)引腳。當(dāng)對REG1執(zhí)行ECO(例如將其類型更改為可設(shè)置寄存器)時(shí),可能會導(dǎo)致Conformal ECO出現(xiàn)錯(cuò)誤,從而可能導(dǎo)致工具停止操作。

5730ff80-bbe8-11ed-bfe3-dac502259ad0.png

圖7

四、將新的寄存器插入掃描鏈中

ECO中插入的新寄存器應(yīng)該被縫合到現(xiàn)有的掃描鏈中,以避免DFT覆蓋率的損失。從工業(yè)數(shù)據(jù)來看,在具有100K個(gè)寄存器的設(shè)計(jì)中,100個(gè)新的非掃描寄存器可能會導(dǎo)致超過0.1%的DFT覆蓋率損失。對于像汽車IC這樣的高可靠性芯片,DFT覆蓋率的損失是不可接受的。因此,如果在功能ECO中有新的寄存器,則應(yīng)重新設(shè)計(jì)掃描鏈以包括新的寄存器。

5744afee-bbe8-11ed-bfe3-dac502259ad0.png

圖8

GOF提供了幾種將新寄存器插入掃描鏈的方法。可以使用API "stitch_scan_chain" 自動(dòng)縫合掃描鏈來插入新寄存器。還可以通過使用多個(gè)網(wǎng)表處理API來手動(dòng)執(zhí)行。

4.1 自動(dòng)模式將寄存器插入本地模塊的掃描鏈中

可以使用自動(dòng)方法將寄存器集成到本地模塊的掃描鏈中。在以下示例腳本中,假設(shè)'fix_design'命令添加了名為'state_new_reg_0'到'state_new_reg_7'的8個(gè)新寄存器。要將這些寄存器集成到本地模塊的掃描鏈中,請執(zhí)行以下步驟:

# API stitch_scan_chain without any argument to insert new flops in the local modules
stitch_scan_chain();
4.2 自動(dòng)模式在一個(gè)寄存器之前插入新的寄存器

GOF提供了一種自動(dòng)方法,可以在指定寄存器實(shí)例之前插入新的寄存器。用戶可以標(biāo)識一個(gè)寄存器實(shí)例的名稱,然后GOF將在該實(shí)例之前將所有新寄存器插入到掃描鏈中。

例如,假設(shè)需要將所有新寄存器插入到名稱為'u_pixel_ctrl/pulse_reg'的寄存器實(shí)例之前,請執(zhí)行以下步驟:

# API stitch_scan_chain with -to option
stitch_scan_chain('-to', 'u_pixel_ctrl/pulse_reg');
4.3 手動(dòng)模式連接所有新寄存器

掃描鏈可以通過ECO APIs手動(dòng)重新連接,并且可以創(chuàng)建新的掃描輸入/輸出端口

# GofCall ECO script, run_manual_stitch_scan_chain_example.pl
use strict;
undo_eco; # Discard previous ECO operations
setup_eco("eco_manual_stitch_scan_chain_example");# Setup ECO name
read_library("art.5nm.lib");                 # 讀lib庫
read_svf("-ref", "reference.svf.txt");       # 可選讀入svf
read_svf("-imp","implementation.svf.txt");#可選讀入svf
read_design("-ref","reference.gv");         #讀參考網(wǎng)表
read_design("-imp","implementation.gv");    #讀實(shí)現(xiàn)網(wǎng)表,ECO目標(biāo)
set_top("topmod");                          #設(shè)置頂層名字
set_ignore_output("scan_out*");
set_pin_constant("scan_enable", 0);
set_pin_constant("scan_mode", 0);
fix_design;
save_session("current_eco_name"); # Save a session for future restoration
set_error_out(0); # Don't exit if finds error
my @flops = get_cells("-hier", "-nonscan"); # Find all new flops that are not in scan chain yet
# @flops can be defined by reading a list file
if(scalar(@flops)){ # If there are new flops, start the work
  new_port("so1", "-output"); # New a scan out port so1
  new_port("si1", "-input"); # New a scan in port si1
  my $cnt = 0;
  my $now_si;
  foreach my $flop (@flops){
    $cnt++;
    if(is_scan_flop($flop)==0){
      my $flop_name = get_ref($flop);
      my $scanflop = get_scan_flop($flop_name); # If the flop is not scan type, change to scan type flop
      change_gate($flop, $scanflop);
    }
    if($cnt==1){
      change_port("so1", "$flop/Q"); # The first flop drives the new scan out port
    }else{
      change_pin($now_si, "$flop/Q");
    }
    $now_si = "$flop/SI";
    change_pin("$flop/SE", "te"); # All scan enable pin is connected to scan enable signal
  }
  change_pin($now_si, "si1"); # The last flop has the new scan in port driving SI pin
}
write_verilog("eco_verilog.v");# Write out ECO result in Verilog
exit;

五、結(jié)論

總之,DFT友好的ECO是電子設(shè)計(jì)自動(dòng)化(EDA)流程中非常理想的解決方案,因?yàn)樗葌鹘y(tǒng)方法提供了多種好處。其中最顯著的優(yōu)點(diǎn)之一是能夠確保生成的設(shè)計(jì)是DFT友好的,這簡化了測試和驗(yàn)證過程。在現(xiàn)代復(fù)雜集成電路的時(shí)代,確保DFT兼容性對于有效和可靠的測試至關(guān)重要。

DFT友好的ECO的一個(gè)關(guān)鍵特征是它能夠在優(yōu)化改變設(shè)計(jì)功能的情況下不影響可測試性。這是通過考慮設(shè)計(jì)的特定DFT要求的先進(jìn)算法和方法實(shí)現(xiàn)的。相比之下,傳統(tǒng)的EDA流程可能不會為DFT進(jìn)行優(yōu)化,從而導(dǎo)致測試和驗(yàn)證方面的重大挑戰(zhàn)。

此外,使用DFT友好的ECO可以在市場上提供競爭優(yōu)勢。這是因?yàn)樗梢詫?shí)現(xiàn)更快的上市時(shí)間,減少設(shè)計(jì)迭代,并提高整體產(chǎn)品質(zhì)量。相比之下,沒有使用DFT友好方法的競爭對手可能難以實(shí)現(xiàn)類似的結(jié)果,導(dǎo)致延遲、成本增加和產(chǎn)品競爭力降低。

總的來說,DFT友好的ECO是現(xiàn)代EDA流程的一種非常有效的解決方案,比傳統(tǒng)方法提供了重要的優(yōu)勢。它優(yōu)化設(shè)計(jì)以實(shí)現(xiàn)DFT兼容性,可以實(shí)現(xiàn)更快的上市時(shí)間、減少設(shè)計(jì)迭代并提高產(chǎn)品質(zhì)量,從而在市場上提供競爭優(yōu)勢。





審核編輯:劉清

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

    關(guān)注

    31

    文章

    5336

    瀏覽量

    120230
  • EDA工具
    +關(guān)注

    關(guān)注

    4

    文章

    267

    瀏覽量

    31785
  • DFT
    DFT
    +關(guān)注

    關(guān)注

    2

    文章

    231

    瀏覽量

    22712
  • ECO
    ECO
    +關(guān)注

    關(guān)注

    0

    文章

    52

    瀏覽量

    14885
  • 時(shí)鐘信號
    +關(guān)注

    關(guān)注

    4

    文章

    448

    瀏覽量

    28542

原文標(biāo)題:什么是DFT友好的功能ECO?

文章出處:【微信號:ExASIC,微信公眾號:ExASIC】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    請問一個(gè)關(guān)于DFT的問題,跪求啊

    `其中的分辨率f△代進(jìn)去以后DFT表達(dá)式就變成了x[n]exp(-j2pi*n*k*fs/N),和DSP課本上的DFT公式不一樣啊,為什么和fs有關(guān)?`
    發(fā)表于 05-30 01:02

    讓你徹底理解DFT

    定義階段所定義的功能?回答這一問題之前再讓我們來看看常用的功能驗(yàn)證方法。常用的功能驗(yàn)證的方法之一是邏輯功能仿真。在輸入特定激勵(lì)的情況下,檢
    發(fā)表于 05-25 15:32

    V6 FPGA可以ECO功能嗎?

    你好V6 FPGA可以ECO功能嗎?例如:輸入時(shí)鐘添加逆變器?以上來自于谷歌翻譯以下為原文Hi V6 FPGA can ECO function? e.g: input clock add inverter?
    發(fā)表于 11-13 14:20

    什么是DFT,DFT是什么意思

    DFT:數(shù)字電路(fpga/asic)設(shè)計(jì)入門之可測試設(shè)計(jì)與可測性分析,離散傅里葉變換,(DFT)Direct Fouriet Transformer 可測試性技術(shù)(Design For Testability-
    發(fā)表于 06-07 11:00 ?3.1w次閱讀

    汽車eco模式使用技巧_eco模式真能省油嗎

    ECO由Ecology(環(huán)保)、Conservation(節(jié)能)和Optimization(動(dòng)力)合成而得,ECO可以分為主動(dòng)式ECO駕駛模式和非主動(dòng)式ECO駕駛模式。其區(qū)別主要是智能
    發(fā)表于 12-14 09:50 ?2.9w次閱讀

    如何在Vivado中執(zhí)行工程變更命令 (ECO)

    了解如何在Vivado中執(zhí)行工程變更單(ECO)。 本視頻將向您介紹ECO的常見用例,我們推薦的完成ECO的流程,優(yōu)勢和局限性,并將演示功能設(shè)計(jì)的
    的頭像 發(fā)表于 11-21 06:40 ?5182次閱讀
    如何在Vivado中執(zhí)行工程變更命令 (<b class='flag-5'>ECO</b>)

    詳解Xilinx FPGA的ECO功能

    ECO 指的是 Engineering Change Order ,即工程變更指令。目的是為了在設(shè)計(jì)的后期,快速靈活地做小范圍修改,從而盡可能的保持已經(jīng)驗(yàn)證的功能和時(shí)序。ECO 是從 IC 設(shè)計(jì)領(lǐng)域繼承而來,Vivado上 的
    的頭像 發(fā)表于 08-02 09:18 ?3836次閱讀
    詳解Xilinx FPGA的<b class='flag-5'>ECO</b><b class='flag-5'>功能</b>

    一個(gè)典型設(shè)計(jì)的DFT組件

    在本篇白皮書中,我們介紹了一個(gè)典型設(shè)計(jì)的 DFT 組件,并提出了多種可大幅改善 DFT 項(xiàng)目進(jìn)度的智能 DFT 方法。我們展示了如何將結(jié)構(gòu)化 DFT 和即插即用原則用于
    的頭像 發(fā)表于 11-30 10:15 ?929次閱讀

    NanDigits GOF提供一種快速DFT DRC檢查的功能

    在芯片做功能ECO時(shí),DFT部分的邏輯常常被破壞,這是由于正常工作模式下修改設(shè)計(jì)的原因。
    的頭像 發(fā)表于 02-22 11:37 ?737次閱讀

    一種快速DFT DRC檢查的功能介紹

    在芯片做功能ECO時(shí),DFT部分的邏輯常常被破壞,這是由于正常工作模式下修改設(shè)計(jì)的原因。
    的頭像 發(fā)表于 03-06 09:15 ?1948次閱讀

    Lightelligence使用Cadence Xcelium多核加速DFT仿真

    當(dāng)今片上系統(tǒng)的設(shè)計(jì)復(fù)雜性日益增加,可能導(dǎo)致長達(dá)數(shù)小時(shí)、數(shù)天甚至數(shù)周的可測試性 (DFT) 仿真設(shè)計(jì)。由于這些往往發(fā)生在專用集成電路(ASIC)項(xiàng)目結(jié)束時(shí),當(dāng)工程變更單(ECO)強(qiáng)制重新運(yùn)行這些長時(shí)間
    發(fā)表于 04-20 10:21 ?1897次閱讀
    Lightelligence使用Cadence Xcelium多核加速<b class='flag-5'>DFT</b>仿真

    解析什么是DFT友好功能ECO?

    DFT是確保芯片在制造過程中具有可測試性的一種技術(shù)。DFT友好ECO是指在進(jìn)行ECO時(shí), 不會破壞芯片的
    的頭像 發(fā)表于 05-05 15:06 ?1853次閱讀
    解析什么是<b class='flag-5'>DFT</b><b class='flag-5'>友好</b>的<b class='flag-5'>功能</b><b class='flag-5'>ECO</b>?

    時(shí)序(Timing)對功能ECO有多重要

    功能ECO主要指當(dāng)RTL更新后對后端APR網(wǎng)表做的功能方面的改動(dòng)。
    的頭像 發(fā)表于 07-05 14:06 ?1544次閱讀
    時(shí)序(Timing)對<b class='flag-5'>功能</b><b class='flag-5'>ECO</b>有多重要

    DFT的簡單介紹(上)

    DFT全稱為Design for Test,可測性設(shè)計(jì)。就是說我們設(shè)計(jì)好一個(gè)芯片后,在仿真時(shí)可能99%的用例都通過了,怎么保證流片出來的實(shí)際芯片也能正常工作?
    的頭像 發(fā)表于 12-06 15:02 ?1538次閱讀

    DFT在信號處理中的應(yīng)用 DFT與FFT的區(qū)別

    DFT在信號處理中的應(yīng)用 離散傅里葉變換(Discrete Fourier Transform,DFT)是信號處理中一個(gè)非常重要的工具。它允許我們將信號從時(shí)域轉(zhuǎn)換到頻域,從而分析信號的頻率成分。以下
    的頭像 發(fā)表于 12-20 09:13 ?202次閱讀
    RM新时代网站-首页