《23-d3s4-1-PM史青昊-RISC-V中國峰會-共建兼容生態, RISC-V 架構兼容性測試(1).pdf》由會員分享,可在線閱讀,更多相關《23-d3s4-1-PM史青昊-RISC-V中國峰會-共建兼容生態, RISC-V 架構兼容性測試(1).pdf(16頁珍藏版)》請在三個皮匠報告上搜索。
1、共建兼容生態,RISC-V 架構兼容性測試阿里巴巴 平頭哥史青昊RISC-V 架構兼容性測試背景、原理、架構 RISC-V 是一種開放的指令集架構,有著數量眾多的實現和變體 開放性帶來多樣性和活力,同時也帶來碎片化的風險,不同的RISC-V硬件實現之間保持兼容性變得至關重要 基金會致力于RISC-V ISA架構標準的制定.如果一個ISA 標準沒有方法去驗證和衡量,這是不完備的.保持兼容性是RV生態的核心需求 需要一個開放、有效、支持多類型DUT,并且可擴展的測試系統與框架,來驗證各個實現版本是否符合ISASpecification RISC-V ACT(Architectural Compat
2、ibility Test)基金會官方認可的兼容性測試框架與測試集*Source from:Prof.Krste Asanovi EECS keynote ACT 通過對 CSR行為/指令操作行為/Profile 幾方面的驗證來保證架構的兼容性的一致 ACT通過Positive Test的方式(只測試ISA Spec 明確定義的行為),不對任何Negative Test(即不對任何未定義的行為做假設)ACT 通過將編譯出的一致的二進制文件分別加載到DUT 與 SAIL Golden Model上執行,并獲取Test Signature.通過對兩份Signature的比對來確認測試是否通過 ACT
3、只用于驗證CPU實現和ISA標準的兼容性,并不能保證CPU設計bug free.ACT不是DV驗證的替代,可以作為DV的有效補充DUT pluginGCC 具鏈arch-test 例集SAIL GoldenModelRiscof 測試框架+ACT toolsRISC-V ACT 基本原理與組成ACT 依賴于:RiscV SAIL Golden Model/GCC 工具鏈/DUT Plugin(cSIM/Spike/gdb etc.)ACT 包含:riscv-arch-test(測試用例集)+riscof(測試框架)+Tools:riscv-config(ISA配置驗證具)riscv-ctg(測
4、試例成具)riscv-isac(測試覆蓋率具)ACT RISCOF 架構圖成測試例測試報告覆蓋報告DUT ISA String&CSR定義戶 DUT 插件預成測試例集如何使用架構兼容性測試 降低技術門檻,簡化使用流程 發布docker鏡像,預先集成整合的SAIL model,工具鏈及RISCOF 計劃引入Reference Signatureas a Service 服務 通過平頭哥云上實驗室架構兼容性測試 ACT StakeholdersTest Users通過執行ACT 來驗證CPU設計是否符合RISCV ISA 規范,設計和研發中規避兼容性問題,并獲取基金會兼容性認證Test Devel
5、opersRISC-V基金會 SIG/TG成員,為基金會制定新的ISA Spec規范,提供Spec的測試方法Results Readers解決方案集成商,底層軟件開發者,給方案選型做對比參考,為軟硬件做協同開發、適配和優化 提供詳細文檔及教程指導添加用例 與RISCV 基金會 SIG/TG heSAIL Golden Model SIG 合作 收集整理測試報告 通過基金會官方途徑發布報告 以直觀的方式展示兼容性測試結果Test Users 基金會認證流程 待審核完成,獲得認證 提交測試結果到官指定Repo,等待評估結果上傳詳細測試報告針對失敗例提交waiver執ACT,檢查測試結果ACT執結果
6、ACT覆蓋率結果確認 ISA Spec編輯 isa.yaml 配置問題編輯 platform.yaml 配置件配置DUT 及 對應DUT pluginRTL EmulatorFPGASilicon/SoCSAIL/Spike/Qemu安裝依賴具rscof 框架及具SAIL Golden ModelGCC 具鏈基會兼容性測試使說明基會兼容性logo商標使指導https:/riscv.org/about/risc-v-branding-guidelines/平頭哥云上實驗室已對外提供 架構兼容性測試服務https:/xuantie.t- 全面支持 RISCV 基金會 ACT 架構兼容性測試,集成S
7、AIL-Model,GCC 工具鏈,無需額外安裝 集成FPGA類型DUT,具備可擴展性,可適配多種CPU WebUI 操作界面,降低上手難度,登陸可用平頭哥云上實驗室架構兼容性測試服務云上實驗室服務可拓展性架構兼容性測試現狀與挑戰 RISC-V 架構中extension擴展的種類數量多,每種擴展涉及的行為不同導致匹配復雜度高 RISC-V中定義的profile 多,每種profile所包含的強制的和可選的擴展也不同 ACT目前對基礎擴展(M/C/D/F)都有良好的覆蓋,Vector 擴展測試用例接近完成 對于SAIL Model無法支持的功能暫時還無法有效測試 尚未Ratified的ISA擴展
8、,覆蓋率還有待提高ACT 架構兼容性測試的現狀 ACT的技術局限:對SAIL Golden-Model 高度依賴,SAIL不支持的行為和功能變得不可測或測試難度提高,例如:Atomic指令/concurrent access/Timing Related/IO interrupts etc non-ISA 行為與標準(e.g.Caches&TLBs 行為)執行結果的不確定性(e.g.misaligned load/store/branch)預生成測試用例 vs 動態/隨機生成測試用例 ACT可用性的挑戰 需對多操作系統,多種運行環境,多DUT進行適配 兼容性的版本管理 與RV Profile匹
9、配,及可視化的報告ACT架構兼容性測試的挑戰共建架構兼容性測試共建兼容性生態 開放的生態和ISA規范需要ACT來維護指令集架構兼容性.ACT已發展成為RISCV必要標準之一 ACT的建設已經取得階段性的進展,但還有缺口需要被填補,技術和架構層面也有不少挑戰,希望眾多生態合作伙伴的積極參與到兼容性建設.感謝以下合作伙伴對ACT做出的貢獻 Incore semi RIOS-Lab PLCT 10 xEnginers 歡迎加入討論RISC-V 架構兼容性測試 ACT SIGhttps:/lists.riscv.org/g/sig-arch-testFind MoreXuantie GitHubThank you