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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 使用先進技術(shù)來加速SoC驗證

          使用先進技術(shù)來加速SoC驗證

          ——
          作者:李響 時間:2013-11-27 來源:電子產(chǎn)品世界 收藏

            增量編譯

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

            在編譯過程中,會創(chuàng)建設(shè)計/驗證的層次結(jié)構(gòu),當(dāng)你重新編譯的時候,只會就那些更改的設(shè)計單元進行重新編譯,這樣可以縮短編譯時間。現(xiàn)在增量編譯選項已經(jīng)成為的默認(rèn)選項。

            分區(qū)編譯 (Partition Compile)

            分區(qū)編譯是VCS提供的一個比較新的特性。這個特性可以讓我們把設(shè)計/驗證中的實例/模塊分成不同的大得區(qū)塊來編譯。這樣如果之后只對其中一部分區(qū)塊相關(guān)的文件進行了修改,那么可以重用之前分區(qū)編譯的數(shù)據(jù)庫來減少其它區(qū)塊編譯的時間,只對修改的區(qū)塊進行重新編譯即可。同時針對驗證環(huán)境中的package,比如像UVM標(biāo)準(zhǔn)庫或者一些算法庫,分區(qū)編譯也可以提前把它們分塊編譯好,然后這樣可以加速驗證環(huán)境的編譯速度。

            運行性能的提升的方法

            在過程中,運行的時間以及內(nèi)存消耗是單次的主要瓶頸,因此本文會關(guān)注在運行過程中如何提升性能,包括如何找到運行過程的瓶頸以及使用多核技術(shù)來加速。

            運行性能分析工具

            VCS提供了用于分析性能的Profile工具Simprofile,使用在仿真過程中生成時間/內(nèi)存消耗的報告,然后可以通過對于報告的分析來找到限制當(dāng)前仿真性能的瓶頸。使用方式:
            編譯:%VCS –simprofile –lca –f filelist.f …
            運行:%simv –simprofile time|mem

            一般在運行后會自動生成名為simprofile_dir的報告目錄,也可以后處理生成報告:
            %profrpt –output_dir simprofile_dir –view time_all|mem_all

            Simprofile會默認(rèn)生成基于HTML的報告,然后可以進行選擇查看相關(guān)的性能選項(支持模塊/功能/DPI/PLI/約束/覆蓋率等),同時支持對多次仿真的報告進行比較。

            多核仿真技術(shù)

            VCS提供了多核仿真技術(shù)用于使用服務(wù)器的物理多核來加速仿真。使用多核技術(shù)可以把一次仿真的不同部分分配到多個物理運算單元上以達(dá)到加速仿真的目的。現(xiàn)在提供了兩種多核模式:應(yīng)用級并行技術(shù)(ALP)和設(shè)計級并行技術(shù)(DLP),ALP/DLP以及二者的組合通過多核CPU來優(yōu)化仿真進程。

            應(yīng)用級多核技術(shù)(ALP)

            應(yīng)用級多核技術(shù)(ALP)是把按照應(yīng)用把驗證的不同部分(Testbench、SystemVerilog斷言、覆蓋率統(tǒng)計、波形保存等等)放到多個處理核上去做并行運行。

            例如:在一個4核服務(wù)器上我們可以把覆蓋率統(tǒng)計放到第一個核上,把斷言檢測放到第二個核上,把波形保存放到第三個核上,剩下的仿真放到最后一個核上。結(jié)果會看到仿真性能可以得到很大提升。表1是ALP支持的開關(guān)參數(shù)以及推薦的使用示例

            如果VCS使用了ALP+fsdb多核(+mtfsdb),那么會在控制臺看到如下打?。?br />   *Novas* : Multi-Thread VCS dumping is enabled

            同時Verdi3自動支持對FSDB進行并行保存,如果使能了并行保存,那么會有如下信息:
            *Novas* : Enable parallel dumping

            設(shè)計級多核技術(shù)(DLP)

            DLP允許我們可以把一個大的設(shè)計分成多個區(qū)塊,然后把不同的區(qū)塊放入不同的計算核去運行。DLP的一般會根據(jù)profiler的報告結(jié)果以及設(shè)計部件之間的相關(guān)性分析來做劃分。把劃分寫入一個配置文件中,然后把這個配置文件讀入VCS進行仿真,比如:
            %vcs test.v –parallel+design=partition_cfg.cfg

            同時DLP還支持自動分區(qū)劃分。考慮到DLP的適用情況以及進度,我們的項目上暫時沒有使用,會在后繼的項目中進行嘗試。

            其他進行性能加速的模式

            Debug參數(shù)

            VCS支持-debug_pp/–debug/–debug_all參數(shù),其中-debug_pp用于只進行波形保存后處理模式,而debug用于交互式,debug_all交互式仿真同時可以開啟單步調(diào)試模式,不同的調(diào)試粒度帶來更多方便的同時,也會帶來性能的消耗。

            對于前期testbench開發(fā),建議開啟debug_all/debug參數(shù),用于我們自己的驗證環(huán)境的調(diào)試以及單步/斷點調(diào)試等;當(dāng)驗證環(huán)境已經(jīng)穩(wěn)定以后,目的是進行DUT的驗證一般就只開啟debug_pp/debug來進行波形保存之后再調(diào)試。進入回歸測試后,主要依賴驗證環(huán)境中的檢查器來做檢查,當(dāng)發(fā)現(xiàn)錯誤的時候才會打開debug_pp或者debug/debug_all來進行進一步的調(diào)試。

            波形保存的方法

            在影響仿真的性能參數(shù)中,文件I/O是占很大比重的一部分,所以對于性能的提升,可以從減少磁盤I/O讀取來入手,比較多的磁盤I/O訪問操作就是波形保存的動作。



          關(guān)鍵詞: SoC Synopsys GPU VCS 仿真 201312

          評論


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