on chip clock的由來在工藝節(jié)點(diǎn)在130nm以下的時候,很多情形下的物理缺陷都是由于延時來引起的。因此在對這種類型的chip做dft的時候,需要建立一個新的故障模型,業(yè)內(nèi)稱之為延時故障模型(time delay model)。解決的方法就是at-speed test,所謂的at-speed test就是讓芯片工作在自己高倍時鐘頻率上,這個頻率往往是要高過ATE的時鐘的。這樣對掃描模型的建立就提出了新的要求。 大家工作中接觸的一般的dft時鐘是不是頻率不高。 片上時鐘控制器 (On-chip Clock Controllers ,OCC) ,也稱為掃描時鐘控制器 (Scan Clock Controllers,SCC)。OCC 是插入 SOC 的邏輯,用于在 ATE(自動測試設(shè)備)上進(jìn)行回片測試期間控制時鐘。由于 at-speed test在capture mode下需要兩個時鐘脈沖,其頻率續(xù)等于func mode下的最高時鐘頻率,因此在沒有 OCC 的情況下,我們需要通過 I/O pad提供這些at-speed clock脈沖。但是這些I/O pad它們在可以支持的最大頻率方面存在限制;另一方面,OCC 使用內(nèi)部 PLL clock來生成時鐘脈沖進(jìn)行測試。在 stuck-at test期間,OCC 確保在capture階段僅生成一個時鐘脈沖。同樣,在at-speed test期間,OCC 確保在capture階段生成兩個時鐘脈沖,其頻率等于功能時鐘的頻率。 因此,在scan做的比較好的design中所有的test clock都通過 OCC 進(jìn)行通路控制, OCC 控制scan mode下的時鐘操作(在stuck-at test和at-speed test中)并繞過func mode下的功能時鐘。 基本OCC結(jié)構(gòu)本文我們將討論一個非常基本的 OCC 設(shè)計(jì),其唯一目的是演示它是如何工作的。與此處討論的 OCC 相比,行業(yè)標(biāo)準(zhǔn) OCC 更先進(jìn),更能抵御時鐘毛刺。 圖1 基本片上時鐘控制器結(jié)構(gòu)示意圖(具有 n 位移位寄存器) 當(dāng)電路處于func mode(Test Mode = 0)時,OCC 會傳播功能時鐘(參見圖 1)。但在shift階段(Shift Enable = 1),scan clock在 OCC 的輸出端propagate。在capture階段(Shift Enable = 0),移位寄存器開始shift“1”并啟用Clock Gate,以根據(jù)test type來允許單脈沖或雙脈沖。OCC 在stuck-at test(At-speed Mode = 0)中生成一個時鐘脈沖,在at-speed test(At-speed Mode = 1)中生成兩個時鐘脈沖。 此 OCC(具有 5 位移位寄存器)在at-speed test的行為如圖 2 所示。兩個捕獲脈沖出現(xiàn)在功能時鐘的 5 個正沿之后(因?yàn)槲覀兪褂玫氖?5 位移位寄存器) . 注意:一旦 Shift Enable 置為低電平,n 位移位寄存器根據(jù)功能時鐘的上升沿?cái)?shù)量決定延遲,之后功能時鐘在 OCC 的輸出端propagate。 圖 2 圖 1 中所示 OCC 結(jié)構(gòu)的仿真波形(具有 5 位移位寄存器) Systemverilog code of the OCCmodule occ always @(func_clk or cg_en) begin always_ff @(posedge scan_clk) begin always_ff @(posedge func_clk) begin assign occ_out_clk = test_mode ? (shift_en ? scan_clk : cg_out_clk) : func_clk; assign cg_en = atspeed_mode ? (~shift_reg[SHIFT_REG_BITS-1] & shift_reg[SHIFT_REG_BITS-3]) : (~shift_reg[SHIFT_REG_BITS-1] & shift_reg[SHIFT_REG_BITS-2]); endmodule END |
|