• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統 > 設計應用 > 嵌入式系統芯片的軟硬件協同仿真環境設計

    嵌入式系統芯片的軟硬件協同仿真環境設計

    作者: 時間:2011-11-15 來源:網絡 收藏

    驗證的總體架構是分層次的,層次化的驗證環境具有很好的擴展性和重用性,各個層次完成自己特定的功能。Test層又叫TC層,主要完成數據激勵的定義、環境的控制工作。Generator層定義的數據“模板”,產生各種數據激勵。Function Layer層完成輸入和輸出數據激勵的收集,進行自動比對。Command Layer層主要按接口時序收發數據,同時將一些底層方法(如數據讀寫等)進行封裝。Signal Layer層主要是完成接口信號連接工作。不同的人關注不同層次,一般的驗證人員只需要在Test層工作,編寫測試向量。只有搭建環境的驗證人員才需了解各個層次。驗證架構的層次化降低了驗證環境復雜度和環境維護成本,提升了驗證效率。

    本文引用地址:http://www.czjhyjcfj.com/article/150062.htm

    g.jpg


    本文基本采用圖4的驗證環境架構的思路,并在其基礎上進行修改,添加相應組件。VMM驗證環境架構如圖5所示,環境數據流從測試用例Test Case開始,經過數據包產生器Generator和數據處理器Transactor送給BFM處理,BFM把驗證環境的抽象層次從信號級抽象到Transaction級,在實現上只做時序轉換功能,利于重用。從發送方向看,BFM只負責將接收到的數據發送給DUT;從接收方向看,BFM只負責將接收到的數據發給Transactor,實現任何數據的解析。Monitor抓取接口上的信號,并分析各組控制信號之間的邏輯時序關系,檢查其是否滿足協議所規定的邏輯時序關系,同時把監測到的數據信號轉化為數組送到RM解析。與BFM一樣,Monitor只實現時序轉換功能,不做數據解析。從Monitor上采樣數據再送入RM,是基于重用的角度考慮。參考模型(RM)用于預測數據響應,Check組件將RM的輸出數據與被觀測響應進行比較。
    該驗證環境架構還添加斷言(Assertion)來提高觀察和定位設計問題的能力。斷言是檢查DUT中信號行為是否正確的觀察器,用來描述被預期的特定性質。本文采用的斷言為SVA斷言語言,可以應用到設計過程的各個階段,還可以統計功能覆蓋率。

    5 基于DSM的調試
    由于DSM模型在過程中,會將ARM執行的每一步動作打印出來,生成一個log.eis文件,由該文件給出的信息定位問題非常方便,如圖6所示。

    h.jpg


    圖中第1列表示程序執行到ARM的第幾個時鐘周期。第2列是ARM執行的指令類型。第3列的CCFAIL表示條件執行時是否執行,如果條件執行了,則不打印CCFAIL,反之則打印出CCFAIL。第4列是ARM執行的機器碼。最后幾列是詳細的ARM執行的動作,從圖中可以看出ARM執行哪一步指令,將哪些數據讀寫到哪些地址。對應的波形圖如圖7所示。可以看出,log.eis完整無誤地將ARM執行的動作打印了出來。

    結語
    設計驗證是SoC設計的關鍵技術之一,貫穿整個SoC設計過程。隨著SoC技術的發展,驗證的效率和正確性對整個SoC設計的影響也越來越大。相比傳統的環境,本文介紹的環境速度快,更真實,調試也更加容易。該環境可繼承性好,能夠為各種SOC項目開發驗證所用。

    linux操作系統文章專題:linux操作系統詳解(linux不再難懂)

    上一頁 1 2 3 4 5 下一頁

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 山阳县| 霞浦县| 乐至县| 秭归县| 左云县| 昌图县| 锡林浩特市| 珲春市| 井研县| 扎兰屯市| 西平县| 龙陵县| 沂源县| 芦山县| 泰兴市| 隆化县| 横山县| 宁南县| 夏邑县| 洮南市| 简阳市| 南宁市| 稷山县| 攀枝花市| 嘉祥县| 江口县| 涞源县| 辉县市| 蒙山县| 盈江县| 吴江市| 应城市| 怀仁县| 吉木萨尔县| 秦皇岛市| 台中县| 南阳市| 康乐县| 邵阳市| 元谋县| 宝坻区|