關 閉

        新聞中心

        EEPW首頁 > 工控自動化 > 設計應用 > PCI Express協議實現與驗證

        PCI Express協議實現與驗證

        作者: 時間:2012-12-17 來源:網絡 收藏

        2.2 接口設計
        接口設計主要包括本地接口設計、配置寄存器擴展接口設計和電源管理接口設計3部分。
        本地接口用于用戶邏輯與遠端 設備之間傳輸TLP,在本地接口總線上所傳輸的TLP均需滿足標準的 數據包格式。本地接口又分為發送接口和接收接口, IP核通過發送接口在PCI Express鏈路上發送PCI Express包,通過接收接口從PCI Exp ress鏈路上接收PCI Express包。
        配置寄存器擴展接口主要用于實現額外的PCI能力項和配置寄存器。根據PCI Express規范,原則上只有跟PCI Express配置相關的寄存器才可以放入配置空間。本文設計的PCI Express IP核是PCI Express端點(Endpoint),故使用標準Type0配置空間,該空間占用了0x000~0x0 BF地址范圍,配置寄存器擴展接口可使用空間的地址范圍從0x0C0~0xFFF。

        3 PCI Express IP核功能驗證
        驗證是比設計更重要的一個環節,它穿越了整個設計流程,以便盡早發現設計中可能存在的錯誤和缺陷。功能驗證指驗證RTL代碼是否符合原始的設計需求和規格,在這里指驗證設計的PCI Express IP核是否符合PCI Express規范。本文采用基于虛擬平臺的驗證方法對設計的PCI Express IP核進行層驗證和應用層驗證。
        3.1 層驗證
        本文采用Denali公司的PureSuite測試工具對PCI Express IP核的層進行驗證。PureSuite可以測試PCI Express設計的兼容性,包含完整的測試用例,且與PCI-SIG的兼容性驗收列表完全匹配。PureSuite覆蓋了物理層、數據鏈路層、事務層以及配置空間,包括定向測試和隨機測試,使用PureSpec總線功能模型對待測設計施加合適的激勵,該功能模型使用SOMA配置文件來約束功能模型的行為和特性。PureSu ite充分發揮了Denali的先進特性,自動產生測試激勵,并報告測試結果。使用PureSuite對PCI Express IP核進行兼容性測試主要需要四個步驟,測試平臺搭建、測試用例選擇、運行仿真、查看結果。
        測試平臺搭建主要包括對DUT的實例化以及創建約束DUT特性的SOMA文件。首先,編寫Testbench文件,把Denali的模型和監視器以及DUT連接起來,并指定對應的SOMA文件,分別對上述3個模塊進行特性約束。其次,使用Denali的圖形化工具PureView創建DUT監視器模塊及其SOMA文件,需要把PCI Express IP核的特性全部寫入該SOMA文件中。
        由于Denali的PureSuite包含了一套完整的測試用例,其中有許多是DUT所不具備的能力,故在運行仿真前需要選擇與DUT配套的測試用例,當然也可以指定一些測試用例進行單獨測試,以禁止運行DUT所不具有的特性的測試用例。PureSuite提供5大類測試,包括事務層測試、PHY測試、數據鏈路層測試、配置空間測試和虛通道測試,本文的設計不包括PHY部分,故僅對DUT進行了其余4類測試。
        在進行協議層仿真時,本文使用NC-SIM仿真工具在Linux系統下進行。仿真平臺搭建好后,需要編寫運行腳本文件。在編寫腳本文件中,主要包括對代碼進行編譯、指定編譯器及其參數、指定仿真頂層等。一切準備就緒后,便可以運行仿真。在仿真過程中需要查看仿真波形,要在仿真頂層文件“tb.v”中把保存波形數據庫,在仿真過程中或仿真結束后用SimVision工具打開波形數據庫查看波形。
        仿真過程結束后,PureSuite會生成一個測試結果文件puresuite.status,該文件包含了仿真運行的詳細結果及統計結果,整個設計的4類測試項均測試成功。


        關鍵詞: Express PCI 協議

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 皋兰县| 旌德县| 板桥市| 平顶山市| 禄丰县| 大悟县| 漾濞| 明光市| 石家庄市| 郸城县| 宜君县| 农安县| 宜春市| 大关县| 阆中市| 长顺县| 昭苏县| 札达县| 弥勒县| 六枝特区| 通城县| 平顶山市| 长沙市| 松溪县| 肃南| 合川市| 南康市| 赤峰市| 额尔古纳市| 河津市| 红河县| 阿拉善盟| 迁安市| 崇阳县| 九龙城区| 吉林市| 莱州市| 黄石市| 隆安县| 北碚区| 长武县|