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

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

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

MCU芯片設(shè)計了mbist、scan chain之后,功能仿真失敗?

全棧芯片工程師 ? 來源:全棧芯片工程師 ? 2023-02-20 09:35 ? 次閱讀

接著上文,MCU芯片設(shè)計了mbist、scan chain之后,功能仿真失???

有同學問,假設(shè)我們只是force ilm_sram時鐘使之偏斜可以不?答:仿真cpu必掛死,dlm也會有問題的,不信證明給你看。

定位到CPU指令預測跳轉(zhuǎn),該預測為跳轉(zhuǎn)的指令進入到執(zhí)行階段時候,需要根據(jù)操作數(shù)據(jù)a、b是否相等來決定是否真正跳轉(zhuǎn),若預測錯誤即不跳轉(zhuǎn)則flush pipieline,重新取跳轉(zhuǎn)地址的指令。跳轉(zhuǎn)則繼續(xù)commit。

但是操作數(shù)a從cpu regfile取出來是x態(tài),追蹤發(fā)現(xiàn)操作數(shù)a是長指令回寫到regfile的,是lsu長指令。

6a3fefae-b077-11ed-bfe3-dac502259ad0.png

繼續(xù)追蹤到dlm_sram輸出x態(tài),顯然dlm_sram也需要force一下時鐘。又有同學問,和ilm_sram一起簡單粗暴force為同一個時鐘可以不?來吧,這樣就又有新問題了。
?

6a726038-b077-11ed-bfe3-dac502259ad0.png

發(fā)現(xiàn)dlm_sram想把ffc ffd ffe三地址寫0,fff想寫0x8000, 卻只有ffc ffd寫入0,ffe fff皆寫失敗,因為時鐘被force偏離了dlm_sram的要求,盡管滿足了ilm_sram。為什么不滿足dlm sram?因為各個sram的控制信號延時也不一樣啊。

因此,下圖看到sram讀出ffc的值0,其他讀出來都是x,導致pc值變成x態(tài),取指令失敗,cpu掛起。

6a94d76c-b077-11ed-bfe3-dac502259ad0.png

因此,ilm sram和dlm sram被force為統(tǒng)一時鐘后,也可能錯誤的,因為force的時鐘滿足了ilm sram的偏斜,卻沒能滿足dlm sram的傾斜,因為cs/we等信號延時也不一樣的。

如下圖,黃線是ilm_sram,行為ok,紅線是dlm_sram,行為fail。

6abdc99c-b077-11ed-bfe3-dac502259ad0.png

實際上,解決辦法不是force,我們應(yīng)該刪除force語句,具體方法參見知識星球。???????????

審核編輯:湯梓紅

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

    關(guān)注

    455

    文章

    50816

    瀏覽量

    423663
  • mcu
    mcu
    +關(guān)注

    關(guān)注

    146

    文章

    17148

    瀏覽量

    351212
  • cpu
    cpu
    +關(guān)注

    關(guān)注

    68

    文章

    10863

    瀏覽量

    211779
  • 仿真
    +關(guān)注

    關(guān)注

    50

    文章

    4082

    瀏覽量

    133612
  • 指令
    +關(guān)注

    關(guān)注

    1

    文章

    607

    瀏覽量

    35714

原文標題:MCU芯片設(shè)計了mbist、scan chain之后,功能仿真失敗(二)

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

收藏 人收藏

    評論

    相關(guān)推薦

    為什么diable dcache能讓mcu恢復正常?

    通過 3 次測試注釋掉了 gang1 并且只運行了 gang0 測試時,出現(xiàn)一個問題。通過 WinIdea 調(diào)試發(fā)現(xiàn),在 gang0 的 mbist 測試完成并啟用 dcache 之后,mc
    發(fā)表于 01-23 07:18

    請教Chipscope和boundary chain問題

    新手請教:virtex5中有4條boundary scan chain(USER1,USER2,USER3,USER4),創(chuàng)建chipscope ICON時只能使用一條chain。那么做了4條為什么只能用一條,4條
    發(fā)表于 02-13 09:21

    幫你理解DFT中的scan technology

    。Scan stitching 是把上一步中得到的SDFF的Q和SI連接在一起形成scan chain。在芯片的頂層有全局的SE信號,以及scan
    發(fā)表于 06-14 14:20

    什么是MBIST看了就知道

    MBIST概述MBIST的架構(gòu)
    發(fā)表于 12-10 07:00

    Arm PMC-100可編程MBIST控制器技術(shù)參考手冊

    執(zhí)行模式將嵌入式內(nèi)存內(nèi)容轉(zhuǎn)儲到調(diào)試器,使其適用于芯片啟動和調(diào)查軟件故障,如高速緩存一致性錯誤。 它允許快速測試內(nèi)存和內(nèi)存保護邏輯。 因此,MBIST事務(wù)是使用IP核時鐘連續(xù)執(zhí)行的,因此,可以通過以全功能
    發(fā)表于 08-17 07:10

    DS26522 JTAG Scan Chain Mappin

    Abstract: This application note describes the JTAG hardware boundary scan chain for the DS26522
    發(fā)表于 04-18 11:45 ?871次閱讀
    DS26522 JTAG <b class='flag-5'>Scan</b> <b class='flag-5'>Chain</b> Mappin

    一文讀懂DC/AC SCAN測試技術(shù)

    1 讀入沒有插入scan的網(wǎng)表 2 使用Design compiler 插入scan chain和OCC (on chipclocking)模塊,同時插入mux, fix DRC 3
    發(fā)表于 10-26 16:01 ?3.7w次閱讀
    一文讀懂DC/AC <b class='flag-5'>SCAN</b>測試技術(shù)

    Proteus軟件仿真失敗的原因有哪些

    Proteus 因其強大的仿真能力,在單片機項目數(shù)學中得到了廣泛的使用。然而即使Proteus 仿真電路模型完全正確,也會引起仿真失敗。本文通過兩個
    發(fā)表于 10-17 16:56 ?20次下載
    Proteus軟件<b class='flag-5'>仿真</b><b class='flag-5'>失敗</b>的原因有哪些

    MCU】MDK錯誤:error in include chain (cmsis_armcc.h):expected identifier or ‘(‘

    MCU】MDK錯誤:error in include chain (cmsis_armcc.h):expected identifier or ‘(‘
    發(fā)表于 11-30 19:51 ?18次下載
    【<b class='flag-5'>MCU</b>】MDK錯誤:error in include <b class='flag-5'>chain</b> (cmsis_armcc.h):expected identifier or ‘(‘

    MCU芯片設(shè)計添加mbist、scan chain之后仿真失敗如何解決

    由于增加了大量的mux來完成時鐘、復位可控,導致中端網(wǎng)標中的cell有工藝庫文件指定的delay參數(shù),默認是1ns,那么會造成clk delay,比如插入兩級mux就會形成2ns延時
    發(fā)表于 02-19 10:11 ?1552次閱讀

    怎么配置DFT中常見的MBIST以及SCAN CHAIN

    今天這期小編將繼續(xù)與大家一起學習DFT的相關(guān)知識和流程代碼,在開始之前,先解決一下上期DFT學習的章節(jié)最后留下的問題—DFT工程師在收斂時序timing的時候經(jīng)常遇到的hold的問題,即不同時鐘域的兩個SDFF(掃描單元的SI端hold違例問題。
    的頭像 發(fā)表于 04-16 11:34 ?7378次閱讀

    是否需要補插scan chain的isolation cell?怎么插呢?

    當然最顯而易見的辦法就是vclp檢查哪兒需要補插isolation cell,那么是否需要補插scan chain的isolation cell, 怎么插呢?
    的頭像 發(fā)表于 05-10 09:18 ?1470次閱讀
    是否需要補插<b class='flag-5'>scan</b> <b class='flag-5'>chain</b>的isolation cell?怎么插呢?

    芯片設(shè)計測試中scan和bist的區(qū)別

    Scan stitching 是把上一步中得到的Scan DFF的Q和SI連接在一起形成scan chain。在芯片的頂層有全局的SE信號,
    發(fā)表于 10-09 16:53 ?4315次閱讀
    <b class='flag-5'>芯片</b>設(shè)計測試中<b class='flag-5'>scan</b>和bist的區(qū)別

    數(shù)?;旌?b class='flag-5'>芯片scan chain問題解析

    模擬到數(shù)字的信號不可控,需要和數(shù)字registered outputs mux一下提高test coverage。關(guān)鍵詞是registered output! 這個技巧俗稱scan loopback。
    的頭像 發(fā)表于 12-08 11:24 ?1855次閱讀
    數(shù)模混合<b class='flag-5'>芯片</b><b class='flag-5'>scan</b> <b class='flag-5'>chain</b>問題解析

    芯片仿真要點

    INNOVUS/ICC2吐出的netlist經(jīng)過Formal/LEC驗證后,Star-RC/QRC抽取RC寄生參數(shù)文件并讀入到Tempus/PT分別做func/mbist/scan時序
    的頭像 發(fā)表于 10-23 09:50 ?568次閱讀
    <b class='flag-5'>芯片</b>后<b class='flag-5'>仿真</b>要點