opencore協定簡介
OCP建立了第一個開放授權,面向核心的協定,以應對當代系統集成的挑戰。OCP在片上子系統通信上全面的定義了一個高效的,匯流排獨立的,可配置和高度可擴展的接口。隨著廣泛的業界支持和協作,OCP國際合作(OCP-IP)現在可以提供2.2版本規格,以進一步擴展一些日益重要領域的能力,如非常高性能的多執行緒,同步初始和單請求/多數據事務。OCP數據傳輸模型範圍可以從簡單通過通道請求相應的請求握手到複雜的亂續操作。
傳統IP核已經是和OCP相適應的,這些新的措施可以充分利用這些高級特性:設計師僅僅選擇這些特性和包含核心具體數據的信號,控制和測試配置。核心定義使用OCP壓縮一個完整的系統集成描述,使得代碼和測試代碼復用而無需重複勞動。OCP不僅提供針對於IP核作者和SoC集成者的設計責任的清晰定義,也為驗證工程師和自動化軟體制定了一個關鍵的形式化劃分。
Open Core協定要點
促進IP核的復用,縮短設計時間,減低SoC設計的設計風險和製造成本。它完全集中在IP核接口而不先期占用互連拓撲或者其他的專門套用集成選擇。
· 使得在獨立於系統架構和套用領域的IP設計成為可能;
· 描述所有的核心間通信;
· 通過配置只有核心需要的特性的OCP接口來最佳化核心晶片面積;
· 制定時序目錄以保證核心互操作性;
· 方便快捷,即插即用IP集成。
Open Core協定優勢
· 廣泛業界支持的事實開放標準;
· 無需定義或者再定義正在執行的任務的接口協定,驗證,文檔和支持;
· 已經適應於支持新核心;
· 可移植測試向量簡化簡單再驗證;
· 有限的測試套件改進以加強核心;
· 接駁任何匯流排架構或片上網路;
· 靈活提供工業標準及復用;
· 可直接接駁兩個核心的點對點協定。
Open Core協定能力
能夠容下所有核心特性,而不限制系統仲裁,地址映射等等。
· 無需大量設定強制信號,使用大量的可選擇信號;
· 同步的,單向的信號,允許簡單的套用,繼承和時序分析;
· 可配置的地址和位元組寬度;
· 針對於邊帶信號的結構化方法:高層流程控制,中斷,功耗控制,器件配置暫存器,測試模型等;
· 通過任何深度流水線傳輸來應對流量增加;
· 更高效率的可選擇的突發傳輸;
· 為亂續傳輸使用執行緒標識完成同步傳輸;
· 連線標誌根據不同質量服務提供端對端的通信標識等;
· 同步原型包括原子測試組,懶同步,non-posted 寫命令;
· OCP是VSIA的VCI的一個功能超集,增加的協定包括可配置的邊帶信號和測試利用信號。
Open Core協定關鍵特性
邊帶擴展常規信號· 面向核心的,用戶定義信號:系統事件信號(例如中斷,錯誤提示);兩個同步reset定義,主-從和從-主;協同數據傳輸(例如高層控制流程)。
· 調試和測試接口擴展:支持結構化全面或者部分掃描測試環境;對於先期設計的硬核或者用戶嵌入的軟核,掃描有關的內部掃描技術;用於掃描測試和調試的時鐘控制,包括多時鐘域;IEEE 1149支持含有JTAG測試接入連線埠的核心;針對於MIPS, ARM, TI DSP, SPARC和其他的基於JTAG和JTAG增強型調試。
· 執行緒識別:交叉突發事務、完成無序事務、不同的服務質量;
· 嚴格的執行緒控制流程定義非阻塞保證;
· 連線識別:端對端的系統初始鑑別、系統管理的服務優先權;
· 標籤為無序事務提供了共享的流控制。
· 突發組相關的傳輸,完成一個事務;
· 突發事務支持:序列的(精確的或者不確定的長度)、流(例如FIFO)、核心相關的(例如快取線)、打斷長突發,原子控制、二維模組序列;
· 流水線(cmd/添加位元組頭)寫
· 匹配或者任意位元組使能命令
· 讀或者寫數據流程控制
· 多地址段目標的地址空間定義
· 簡單的請求/複合數據或者每數據狀態指令
· 帶有單方向信號的主/從接口
· 在OCP時鐘上升沿驅動和抽樣
· 完全同步,非多周期時序通路
· 所有信號嚴格限制在點對點(除開clock和reset)
· 簡單的請求/應答協定
· 支持在每個時鐘周期進行數據傳輸
· 允許主動或者被動控制傳輸速率
· 專門的核心數據和地址匯流排定義包括:Byte和面向非byte的數據匯流排,唯讀和只寫、接口,帶內數據標識(奇偶, EDC等),帶內指令標識(協定擴展等);
· 包含non-posted寫的流水線或者阻塞指令
· 安全訪問許可可以作為任何請求的一部分
· 針對核心特性,接口(信號,時序和配置)和性能,明確定義語法格式
· 時序特性:層2–最高性能的接口時序;層1–易於集成的保守時序;層0–沒有特定時序的協定(對於仿真/驗證工具尤其有用)。