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

          新聞中心

          EEPW首頁 > EDA/PCB > 設(shè)計應(yīng)用 > 基于多IP核復(fù)用SoC芯片的可靠性研究

          基于多IP核復(fù)用SoC芯片的可靠性研究

          作者: 時間:2013-04-19 來源:網(wǎng)絡(luò) 收藏

          2. 2 多間通信的

          間通信總線的穩(wěn)定性直接關(guān)系到整個系統(tǒng)的可靠性。我們對間的通信進行了研究, 加入一些檢錯模塊, 保證通信時數(shù)據(jù)的正確性, 進而提高整個系統(tǒng)的可靠性。

          基于多IP核復(fù)用SoC芯片的可靠性研究

          圖4

          IP核間通信采用AMBA 2. 0 AHB 和APB 片上總線協(xié)議, 增加一個AMBA Controller模塊對整個AMBA 片上通信進行監(jiān)控,通過檢錯信號反饋信息對該模塊采取進一步的保護措施, 當(dāng)出錯時, 使整個流水線重啟, 保證通信數(shù)據(jù)正確, 錯誤數(shù)據(jù)被拋棄。檢錯算法采用2位奇偶校驗。

          IP核間可靠性通信原理如圖4所示。

          2. 3 嵌入BIST電路, 檢測IP核的工作狀態(tài)

          B IST ( Built- In SelfTest) 是一種內(nèi)建自測試, 即在上集成一種自我檢測的電路。基于DFT思想, 在片上集成了一種B IST模塊來提高系統(tǒng)的可靠性。在內(nèi)增加產(chǎn)生激勵和做測試分析的電路, 使芯片不但能完成邏輯功能, 還能在外部給定測試方式命令時進行自我測試分析, 并輸出結(jié)果。這種結(jié)構(gòu)的電路既不需要準(zhǔn)備測試碼, 也不需要專門的測試設(shè)備。電路中包含有測試碼生成部件、掃描測試電路和測試結(jié)果輸出部件, 如圖5 所示。

          基于多IP核復(fù)用SoC芯片的可靠性研究

          圖5

          芯片在上電運行中自動對自己的運行狀態(tài)進行監(jiān)控, 并通過掃描輸出信號即時返回該IP功能模塊的狀態(tài)信息, 在其它控制模塊中再根據(jù)這些狀態(tài)信息采取相應(yīng)策略保證 的可靠運行。

          3 結(jié)束語

          對于 芯片, 可靠性是首要考慮的問題, 基于多IP復(fù)用SoC 的設(shè)計技術(shù), 重點解決處理器的可靠性、多IP核間通信的可靠性、IP核工作異常狀態(tài)研究, 可以進一步提高SoC 芯片的可靠性。

          近幾年來本單位根據(jù)智能終端產(chǎn)品特點, 進行智能終端專用SoC 芯片研發(fā), 在SoC的設(shè)計過程中充分考慮了其可靠性, 加入了非常全面的可靠性算法, 采用奇偶校驗、TMR(三模冗余)寄存器、片上EDAC、流水線重啟和強迫CACHE 不命中等多層次容錯機制來提高SoC的可靠性, 已在FPGA 驗證平臺上得到驗證, 并進行SoC 芯片流片和批量生產(chǎn)驗證, SoC 芯片的可靠性得到大幅度提高, 驗證本方法可行, 具有很好的推廣價值。


          上一頁 1 2 下一頁

          關(guān)鍵詞: SoC IP核 芯片 可靠性研究

          評論


          相關(guān)推薦

          技術(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); })();