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

          新聞中心

          EEPW首頁 > EDA/PCB > 設(shè)計應(yīng)用 > 基于C++TCL PLI聯(lián)合仿真下的芯片驗證方法研究

          基于C++TCL PLI聯(lián)合仿真下的芯片驗證方法研究

          作者: 時間:2009-11-05 來源:網(wǎng)絡(luò) 收藏


          0 引 言
          當今社會,芯片技術(shù)與人們的生活密切相關(guān),在各種電子產(chǎn)品中都有芯片的身影,而且,它們往往是電子產(chǎn)品關(guān)鍵的核心技術(shù)。制造芯片的流程非常復(fù)雜而且資源投入巨大,保證芯片的設(shè)計質(zhì)量非常重要。驗證工作是芯片制造過程中及其關(guān)鍵的一個環(huán)節(jié),無缺陷的芯片不是設(shè)計出來的,而是驗證出來的,驗證過程是否準確與完備,在一定程度上決定了一個芯片的命運。
          目前在百萬門級以上的ASIC,IP,SoC設(shè)計時代,驗證約消耗整個設(shè)計工作的70%,需要專職的驗證團隊,而且驗證團隊人數(shù)通常是設(shè)計團隊的1.5~2倍。隨著設(shè)計規(guī)模的擴大,芯片驗證的重要性達到了一個新的高度,但對驗證方法也提出了更多的要求,怎樣搭建高效穩(wěn)定的驗證模型成為目前研究的熱點。本文重點介紹如何搭建一種分層次的驗證模型,以及如何使用這套驗證模型進行仿真。

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


          1 驗證架構(gòu)
          驗證架構(gòu)通常稱為testbench,如圖1所示,可以把驗證架構(gòu)分為激勵源、發(fā)送器、接收器、參考模型和記分牌五個部分。激勵源屬于腳本層,發(fā)送器和接收器屬于時序?qū)?,參考模型和記分牌屬于軟件層?/p>

          激勵源 仿真的數(shù)據(jù)在激勵源中生成,它是一個腳本語言解釋器,激勵代碼采用解釋性腳本語言編寫,激勵生成之后會放到發(fā)送端共享緩存區(qū)中,這個過程在設(shè)計代碼開始仿真之前。
          發(fā)送器 當仿真開始后發(fā)送器會根據(jù)設(shè)計條件把數(shù)據(jù)從發(fā)送端共享緩存區(qū)中取出來,傳遞到設(shè)計模塊和參考模型中,發(fā)送器由Verilog代碼編寫實現(xiàn),需要設(shè)計自己的函數(shù)用來作為與發(fā)送端共享緩存區(qū)傳遞數(shù)據(jù)的接口。
          接收器 接收器用來采集設(shè)計模塊處理后的數(shù)據(jù),并把數(shù)據(jù)放到接收端共享緩存區(qū)中,用于記分牌讀取數(shù)據(jù),接收器由Verilog代碼編寫實現(xiàn),需要設(shè)計自己的函數(shù)用來作為和接收端共享緩存區(qū)傳遞數(shù)據(jù)的接口。
          參考模型分析激勵源的數(shù)據(jù)并產(chǎn)生和設(shè)計模塊用來校驗結(jié)果,由于驗證人員和設(shè)計人員的理解思路不同,參考模型的功能和設(shè)計模塊的功能也不同,但隨著驗證過程的推進,兩者應(yīng)該收斂于需求規(guī)格書,參考模型基于C++語言實現(xiàn)。記分牌記分牌從接收端共享緩存區(qū)取出數(shù)據(jù)和參考模型的分析結(jié)果并進行比較,把每次比較的結(jié)果記錄下來,以便驗證人員定位問題,記分牌基于C++語言實現(xiàn)。


          上一頁 1 2 3 下一頁

          評論


          相關(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); })();