新聞中心

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

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

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

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

        本文引用地址:http://www.104case.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 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 大埔县| 德安县| 木兰县| 滕州市| 内黄县| 清水县| 嘉兴市| 宿松县| 灵川县| 麻城市| 顺昌县| 江陵县| 响水县| 六枝特区| 定西市| 石棉县| 闸北区| 富源县| 平潭县| 都匀市| 阜南县| 施秉县| 辽宁省| 麻栗坡县| 保德县| 阳东县| 油尖旺区| 济阳县| 柳江县| 蒲城县| 新和县| 库车县| 嘉峪关市| 博野县| 鸡西市| 翁牛特旗| 江津市| 兰考县| 平阳县| 中西区| 始兴县|