<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 網(wǎng)絡(luò)與存儲(chǔ) > 設(shè)計(jì)應(yīng)用 > 效率最好的內(nèi)存測(cè)試電路開發(fā)環(huán)境

          效率最好的內(nèi)存測(cè)試電路開發(fā)環(huán)境

          作者: 時(shí)間:2017-02-14 來源:電子產(chǎn)品世界 收藏

            1.概述:整合性內(nèi)存自我測(cè)試電路產(chǎn)生環(huán)境-

          本文引用地址:http://www.ex-cimer.com/article/201702/343955.htm

            是從整體的芯片設(shè)計(jì)切入,利用硬件架構(gòu)共享的觀念,可以大幅減少測(cè)試電路的門數(shù) (Gate Count),并且讓使用者能輕易產(chǎn)生優(yōu)化的BIST電路。可以自動(dòng)的判讀內(nèi)存并將其分群 (Grouping),從產(chǎn)品設(shè)計(jì)前端大幅提升測(cè)試良率、降低測(cè)試成本,提高產(chǎn)業(yè)競(jìng)爭(zhēng)力。Brains的五級(jí)到七級(jí)的彈性化管線式架構(gòu),可以滿足快速的需求,目前最高測(cè)試的速度已經(jīng)可以達(dá)到1.2GHz,整體BIST電路的門數(shù)平均只需200個(gè)門數(shù)。另外為了簡(jiǎn)化嵌入電路的復(fù)雜度,Brains只需簡(jiǎn)單步驟即可完成電路的設(shè)計(jì)與嵌入。Brains的先進(jìn)功能可以大幅縮減DPPM與降低芯片測(cè)試成本進(jìn)而降低整體芯片成本,增加產(chǎn)品的可靠度以及增加產(chǎn)品的競(jìng)爭(zhēng)力。

            圖1-1. 傳統(tǒng)BIST示意圖

            圖1-2. 傳統(tǒng)Memory Testing解決方案

            圖1-3. 厚翼科技的BIST示意圖

            圖1-4. 厚翼科技的解決方案

            2. Brains架構(gòu)

            Brains是一個(gè)內(nèi)存測(cè)試電路整合性開發(fā)環(huán)境,基本架構(gòu)圖如下:

            圖2-1. BRAINS執(zhí)行架構(gòu)圖

            Brains 輸入檔:

            RTL Verilog : 包含memory models 的Top HDL design檔案

            Memory Modules : Memory models verilog檔案

            UDM Files : 用戶自定義內(nèi)存檔案

            Brains 輸出檔:

            RTL Verilog with BIST : 整入BIST電路的top HDL design檔案

            Synthesis Scripts : 合成相關(guān)scripts檔案

            RTL BIST Verilog : BIST 電路verilog檔案

            Fault Memory : 整入error bit之memory models

            Test Bench : 供BIST 電路仿真用之Testbench

            3. 功能描述

            BRAINS有下列功能:

            n 支持RTL和Gate-level格式

            n 透過BFL (Brains Feature List)設(shè)定BRAINS的功能

            n 自動(dòng)進(jìn)行內(nèi)存判別

            n 自動(dòng)產(chǎn)生Testbench

            n 自動(dòng)嵌入 BIST到原設(shè)計(jì)

            n 自動(dòng)追蹤 Cock Source

            n 透過UDM (User Defined Memory) 檔案支持用戶自行定義的內(nèi)存

            4. 實(shí)作流程

            Brains實(shí)作支援Top-down Flow和Bottom-up Flow,以下針對(duì)Top-down Flow加以介紹。

            Brains BFL Flow – Top-down Flow

            本章節(jié)介紹如何透過BFL檔案,并搭配Top-down 流程,來產(chǎn)生相對(duì)應(yīng)之BIST電路。本章節(jié)提及之example case及相關(guān)文件,使用者若有需求,可與厚翼科技聯(lián)絡(luò),進(jìn)行索取。

            4.1 解壓縮 Example Case

            unix% tar xvfz multi_lab.tgz

            unix% cd multi_lab/top_down_lab

            4.2 建立 File-List 檔案 (*.f file)

            完整的File-List 檔案可讓Brains 的執(zhí)行更加順利,完整的File-List 檔案包含design verilog 檔案所使用的memory model 檔案,相關(guān)的standard cell 和macro檔案如下:

            n Design.v (RTL or netlist)

            n Memory.v

            n Standard_cell.v (when your design is netlist)

            n Parameter, e.g. +define+、+incdir+PATH/DIR …

            圖4-1為 run.f 檔案之范例,用戶可依照此格式來產(chǎn)生相對(duì)應(yīng)的File-List 檔案。

            圖4-1. run.f 檔案范例

            4.3 其它輸入檔案

            n 如果使用者有特殊grouping需求,則可提供相關(guān)輸入檔案。如:*.def檔案或*.meminfo 檔案。*.def檔案可讓Brains依據(jù)實(shí)際memory model 擺放位置來做grouping。*.meminfo 檔案則可讓Brains依據(jù)使用者想要的grouping架構(gòu)來執(zhí)行。

            n Memory model library檔案:此檔案可讓Brains依據(jù)其中所定義之power數(shù)值,來做為grouping的條件。

            4.4 Memory Model 檢查功能 (Optional)

            Brains 可幫助使用者識(shí)別出design 中所包含的memory model。用戶可使用memchecker 指令來檢查所使用到的memory models。詳細(xì)執(zhí)行流程請(qǐng)參考Brains quick start guide文件,附錄A。

            如果design中有memory model無法自動(dòng)被Brains識(shí)別出來時(shí),使用者可自行編寫 UDM 檔案,該檔案用來描述memory models 相關(guān)腳位及讀寫行為。詳細(xì)定義請(qǐng)參考brains_udm_ug.pdf文件。


          上一頁 1 2 3 下一頁

          關(guān)鍵詞: 內(nèi)存測(cè)試 Brains

          評(píng)論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();