新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 快速實現(xiàn)基于AMBA 3 AXI協(xié)議的設計

快速實現(xiàn)基于AMBA 3 AXI協(xié)議的設計

作者: 時間:2007-03-01 來源:網(wǎng)絡 收藏

要想正確領會工程師在 3 中所面臨的挑戰(zhàn)復雜性,必須首先了解 3 自身的技術特點。 3 由30多家公司協(xié)作開發(fā),用于滿足下一代的需要。AMBA 3 AXI協(xié)議定義了一個單向的通道架構,能夠有效地使用寄存器分段更高速度的管道連接。憑借對多事務處理和亂序事務處理的支持,再加上對讀、寫和地址/控制通道的有效利用,它能使系統(tǒng)獲得更高的性能和效率,系統(tǒng)性能僅受限于其外圍設備的自身性能。
  
AMBA 3 AXI協(xié)議:
通道能力
通道概念的引入使AMBA 3 AXI架構與以前的AMBA協(xié)議有很大的不同。5個獨立通道的每一個都由一組信息信號組成,并使用雙向VALID和READY握手機制。信息源使用VALID信號表明通道上的數(shù)據(jù)和控制信息何時有效,目的端使用READY信號表明何時能夠接收數(shù)據(jù)。讀數(shù)據(jù)通道和寫數(shù)據(jù)通道都包含一個LAST信號,以顯示事務處理中最后一個數(shù)據(jù)項的傳遞何時發(fā)生。每一個讀事物處理和寫事物處理都有自己的地址通道,地址通道中包含了事物處理所需的所有地址和控制信息。讀數(shù)據(jù)通道傳送讀數(shù)據(jù)和任何由從設備返回到主設備的讀響應信息,其數(shù)據(jù)總線寬度可以是8位~1024位,讀響應信息表明讀事物處理的完成狀態(tài)。寫數(shù)據(jù)通道傳送主設備到從設備的寫數(shù)據(jù),其數(shù)據(jù)總線寬度可以是8位~1024位。寫數(shù)據(jù)通道還包括1個字節(jié)的狹窄通道,對每8個數(shù)據(jù)位進行過濾,表明數(shù)據(jù)總線上哪些字節(jié)是有效的。對獨立數(shù)據(jù)傳送的支持使總線得到了更有效的使用,能獲得更高的性能、更低的時延和增強的帶寬操作。

針對AMBA 3 AXI的DesignWare IP 解決方案
AMBA 3 AXI協(xié)議的復雜性,設計和驗證一個該標準的子系統(tǒng)變成一項主要工作,并需要大量的專門技術。通過提供給工程師公共的設計和驗證IP模塊,從模塊級到子系統(tǒng)級的和確認,針對AMBA 3 AXI的DesignWare IP 解決方案使設計變得輕松。另外,coreAssembler 工具可實現(xiàn)子系統(tǒng)的自動裝配,并自動產生測試平臺架構。當使用DesignWare IP 解決方案時,設計者能夠裝配、綜合和驗證基于AMBA 3 AXI的設計。

DesignWare綜合IP
DesignWare的綜合IP是三部分解決方案中的第一部分,它實現(xiàn)了基于AMBA 3 AXI協(xié)議的高帶寬、低時延和高性能設計的應用。綜合IP包括3個關鍵的組件:互連總線結構、AXI到AHB子橋、主/從通用接口模塊。這些組件是任何SoC新設計的基本構造模塊,并能使設計者輕松實現(xiàn)基于AMBA 3 AXI協(xié)議的體系架構。這些IP組件也有助于將現(xiàn)有IP和特定應用模塊轉換至AMBA 3 AXI架構,因此確保了更高的資源重用性。

DesignWare互連架構(DW_axi)是基于AMBA 3 AXI 協(xié)議設計中標準互連架構的最佳解決方案。DW_axi的配置靈活性提供給工程師一組功能集合,以滿足他們具有優(yōu)先級的設計需求。DW_axi是一個AMBA 3 AXI協(xié)議的RTL互連實現(xiàn),在那里不同的主、從設備之間會發(fā)生同時的數(shù)據(jù)傳輸。組件可以被配置成支持高達16個主設備和從設備,它們都支持所有指定了地址和數(shù)據(jù)寬度的協(xié)議。DW_axi基于一個多地址、多數(shù)據(jù)的總線架構,并帶有一個可選的內建系統(tǒng)解碼器。每一個事物處理在地址通道上都有地址和控制信息,以描述數(shù)據(jù)被傳送的特性。數(shù)據(jù)在主設備和從設備之間傳送,可通過寫數(shù)據(jù)通道傳送至從設備,或通過讀數(shù)據(jù)通道傳送至主設備。在寫事物處理中,AMBA 3 AXI協(xié)議有一個額外的寫響應通道,允許從設備給主設備發(fā)信號表明寫事物處理已完成。這種多層互連的體系結構允許在所有5個AMBA 3 AXI通道的不同主、從設備對之間進行并行數(shù)據(jù)傳輸。因此,系統(tǒng)帶寬不受DW_axi的限制,而是受限于外部的主、從設備。

除了提供組合的內建地址和數(shù)據(jù)通道控制外,DW_axi通過提供內部和外部的流水線操作功能,即所謂的寄存器分段,還實現(xiàn)了增強和優(yōu)化的工作頻率、帶寬和性能??膳渲玫膬炔亢屯獠考拇嫫鞣侄文鼙粦玫饺窂交蛑皇乔跋蚩刂坡窂降膯为毻ǖ溃峁Χ〞r選擇的最大靈活性,并產生最佳的性能。為了優(yōu)化DW_axi以達到最佳的性能同時還保證最小的面積,DW_axi中包括了從設備可見功能,當不是所有的子設備對所有主設備都可見的時候予以使用。它定制了正常模式和啟動模式下主設備訪問每一個子設備的可見性,從而減少了仲裁邏輯的復雜性,能夠用最少的邏輯達到最佳的性能。



圖1 使用DesignWare驗證IP創(chuàng)建一個子系統(tǒng)驗證環(huán)境


為了實現(xiàn)AMBA 3 AXI協(xié)議與現(xiàn)有AMBA 2.0技術的互操作能力,DesignWare IP 解決方案包括一個AMBA 3 AXI到AMBA 2.0 AHB 的橋接(DW_axi_x2h)。DW_axi_x2h可支持同基于AMBA 2.0 AHB子系統(tǒng)的連接,提供對現(xiàn)有基于AHB子系統(tǒng)的可重用支持。 在Lite模式下,獨立的從設備組件能夠直接連接到基于AMBA 3 AXI協(xié)議的總線上。這種互操作能力的優(yōu)勢是,工程師可以訪問大量針對AMBA 2.0 AHB和APB 協(xié)議、已經(jīng)過硅驗證的現(xiàn)有DesignWare綜合和驗證IP 。這增加了模塊重用的機會,使工程師可以效力于開發(fā)具有差異性的新型子系統(tǒng),而不必在創(chuàng)建和確認普通子系統(tǒng)上花費過多時間。DesignWare綜合IP解決方案還包括其它普通的基于AMBA 2.0 的設計模塊,比如AHB總線架構、DW_ahb、APB橋、APB結構、DW-apb,以及很多外圍模塊如DMA、內存控制器、I2C、SSI、GPIO 、RTC 、定時器和中斷控制器。

另外一組可重用架構組件是DesignWare的通用主/從接口模塊DW_axi_gm/gs。DW_axi_gm/gs使用通用接口,降低了把定制IP或特定應用移植到基于AMBA 3 AXI協(xié)議總線時的復雜度。當把定制應用或定制IP連接到基于AMBA 3 AXI協(xié)議的總線上時,工程師不必擔心協(xié)議的細節(jié),因為DW_axi/gs模塊可以處理AMBA 3 AXI的大部分接口細節(jié)。使用通用接口模塊,工程師能夠有更多時間關注連接到AMBA 3 AXI總線后用戶應用的驗證檢查工作。

DesignWare驗證IP
快速實現(xiàn)基于AMBA 3 AXI協(xié)議設計的DesignWare IP解決方案的第二部分是針對AMBA 3 AXI的Synopsys DesignWare驗證IP(VIP),它提供了一種快速并有效地驗證基于AMBA 3 AXI 的SoC設計的方法。針對AMBA 3 AXI的DesignWare驗證IP包括以下的組件:主設備、從設備、監(jiān)視器和驗證互連。每一個組件都支持所有的AMBA 3 AXI地址和數(shù)據(jù)寬度,以及所有的協(xié)議轉換和響應類型。主/從設備驗證IP用來產生事務處理,并對事物處理作出響應。驗證互連實現(xiàn)了一個全互連功能子系統(tǒng)的創(chuàng)建,可以對多模塊交互的模塊級集成進行測試。驗證IP包括一個全功能的命令集,可實現(xiàn)直接的事務處理和基于命令的測試。驗證IP能夠快速清除互連錯誤、功能錯誤,并完成很多邊界情況的測試。



圖2 DesignWare驗證IP的系統(tǒng)級驗證


驗證IP已經(jīng)獲得了AMBA 3 的標識認證,這說明DesignWare驗證IP已被證明正確實現(xiàn)了AMBA 3 AXI的相關規(guī)范,該規(guī)范的定義來自ARM基于聲明的AXI協(xié)議規(guī)則集合。當在模塊級使用驗證IP時,模塊接口將被測試以證明其符合AMBA 3 AXI協(xié)議規(guī)范,這使得從模塊級到最終子系統(tǒng)的集成工作變得輕松。DesignWare驗證IP也可以用在子系統(tǒng)級,測試主/從模塊的交互,同時創(chuàng)建真實的應用數(shù)據(jù)流量。這時,得到了AMBA 3 認證的DesignWare驗證IP可確保AMBA 3 AXI協(xié)議規(guī)范沒有被違犯。

DesignWare的驗證IP和參考驗證方法學
DesignWare驗證IP支持一個可重用分層的、覆蓋驅動的、受約束的隨機驗證方法學,用來快速產生數(shù)以千計的事物處理。

受約束的隨機驗證產生由Synopsys參考驗證方法學(RVM)定義。該方法學定義了一個強有力的方法用來自動產生事物處理,實現(xiàn)最大數(shù)目的協(xié)議組合。對于大型的復雜設計,受約束隨機的、覆蓋驅動的方法學與傳統(tǒng)的直接測試方法學相比提供了更高的生產力和質量驗證。在直接測試方法中,工程師編寫獨立的測試向量來驗證特定的設計功能。這種處理方法非常耗費時間,特別是對有大量關聯(lián)功能的復雜設計。

在受約束的隨機、覆蓋驅動方法中,工程師編寫由高級約束描述的真實輸入。先進的驗證工具和驗證IP將使用這些約束自動產生幾千種測試向量對設計進行驗證。功能覆蓋用來指導驗證和測量的過程。結果是驗證質量目標能夠更容易地在投片前得到滿足,甚至對大多數(shù)復雜設計也是如此。用來實現(xiàn)受約束隨機驗證環(huán)境的參考驗證方法學建立在一個可重用的基礎架構之上,它使得在一個模塊級的測試可以在模塊級、子系統(tǒng)級,甚至跨越多項目進行重用。RVM驅動的驗證IP意味著設計工程師僅需編寫最少量的測試向量,然后依次產生幾千種測試向量,全面地將實際的總線流量加載到模塊或子系統(tǒng)中。Synopsys 基于RVM的環(huán)境提供了一個對所有驗證組件的統(tǒng)一接口,因此更容易理解并能夠快速地跨越其它項目被重用。




要加速基于AMBA 3 AXI協(xié)議的系統(tǒng)驗證,DesignWare驗證IP應當被用來驗證單獨的組件接口,并在子系統(tǒng)使用,最后在全系統(tǒng)級使用。在模塊級,驗證IP用來產生有效和精確的激勵源測試AMBA 3 AXI接口應用。如果測試向量是按照RVM的規(guī)則編寫的,那么在這一級創(chuàng)建的測試向量將能夠在子系統(tǒng)級重新運行。

最初的基于AMBA 3 AXI 子系統(tǒng)的有效驗證通過用DesignWare驗證IP替換許多松散耦合的IP和設計模塊來完成。這使得內部連接、事物處理和功能能夠被快速驗證,并創(chuàng)建了一組魯棒性強的高覆蓋率測試向量。DesignWare驗證IP的主設備和從設備用來替代組件,主設備VIP用來創(chuàng)建直接的和受約束的隨機驗證事物處理。這種方法允許快速創(chuàng)建子系統(tǒng)激勵源和響應,能夠迅速清除任何設計內部的連接問題。DesignWare驗證IP中的監(jiān)視器用來檢查AMBA規(guī)范的遵守情況,并提供與基于測試平臺的評分表(Scoreboard)的直接連接(見圖1)。

評分表本質上是一個測試平臺代碼模塊,它能以自動且智能的方式跟蹤事物處理、覆蓋和數(shù)據(jù)流程。對于數(shù)據(jù),它能夠跟蹤源數(shù)據(jù),并將其與目的數(shù)據(jù)比較,針對被測試數(shù)據(jù)路徑創(chuàng)建一個是否通過測試的標準。評分表直接與DesignWare驗證IP監(jiān)視器連接,使得所有的事物處理和覆蓋數(shù)據(jù)能夠被提取、捕獲和驗證。使用DesignWare驗證IP監(jiān)視器的好處之一是:當主設備和從設備的驗證IP模塊被刪除,并用實際的系統(tǒng)級測試RTL替換時,相同的基于評分表的驗證環(huán)境繼續(xù)起作用。當監(jiān)視器是被動組件時,能貫穿整個驗證周期而被使用。

要進一步加速驗證工作,聲明IP也應當被包含到模塊級和子系統(tǒng)級環(huán)境中,以便使用形式和混合形式驗證工具,如Synopsys Magellan工具。驗證IP和聲明IP都應當被包含在驗證環(huán)境中。驗證IP監(jiān)視器提供了先進的仿真功能,如支持跨端口的覆蓋和評分表通知。因為ARM提供并定義了AMBA 3 協(xié)議聲明IP作為可執(zhí)行的規(guī)范,它可以用來作為參考。所有的DesignWare驗證IP組件已經(jīng)被ARM提供的聲明IP驗證,作為AMBA認證過程的一部分。另外,DesignWare驗證IP監(jiān)視器通過跟蹤和登記每一個事物處理、提供覆蓋信息、給出違反協(xié)議的錯誤和警告信息,從而幫助確定驗證任務何時完成。

最后的驗證步驟是全系統(tǒng)級驗證(見圖2)。在這個步驟中,應該包括針對松散耦合應用組件和IP的RTL驗證。外部接口也必須被驗證,其它的DesignWare驗證IP此時也被使用,以減少系統(tǒng)級測試的工作。工程師能夠使用DesignWare驗證IP 的大量文件,它們被作為VCS驗證庫的一部分。DesignWare的庫產品包括:PCI Express 、串行IO 、I2C、以太網(wǎng)、USB、USB-OTG和數(shù)以千計基于設備的內存模型。針對AMBA 3 AXI的DesignWare驗證IP主設備仍然應被用于產生激勵源,最初的子系統(tǒng)測試能夠立刻被重新使用。其它的DesignWare驗證IP也能夠直接與評分表連接,提供一個閉環(huán)的智能驗證平臺。

驗證工程師也想盡可能快速地對設計、測試平臺、驗證IP和聲明IP進行仿真。使用Synopsys VCS仿真器能夠完成高性能的仿真。VCS把全部的設計環(huán)境、設計、測試平臺、驗證IP和聲明IP優(yōu)化到單個的統(tǒng)一內核中。這種單個的被編譯的內核刪除了在傳統(tǒng)仿真環(huán)境中出現(xiàn)的通信和同步開銷,使設計者獲得了5倍以上的仿真性能。對驗證工程師來說,這意味著以前運行5天的回歸驗證,現(xiàn)在不到1天就可以完成。

帶有coreAssembler工具的DesignWare IP
快速實現(xiàn)基于AMBA 3 AXI協(xié)議設計的DesignWare IP解決方案的第三部分是coreAssembler工具。當DesignWare庫IP與coreAssembler工具一起使用時,工程師能在更短的時間內自動裝配、仿真和綜合基于AMBA的子系統(tǒng)。coreAssembler工具使得子系統(tǒng)設計創(chuàng)建以及AMBA 3 AXI和AMBA 2.0 AHB/APB組件的模塊集成實現(xiàn)了自動化,它減少了花費在創(chuàng)建包含DesignWare IP的特定應用子系統(tǒng)的時間,允許設計者關注額外的產品測試或差異化工作。coreAssembler工具全面支持SPIRIT格式,因此,符合SPIRIT規(guī)范的第三方和用戶定制的IP模塊能夠輕松地封裝到集成的子系統(tǒng)中。

內嵌的、協(xié)議特定的集成技術使得coreAssembler工具能夠自動地將IP模塊相互連接或融合在一起,支持任何AMBA 3 AXI或AMBA 2.0的單個或多層的子系統(tǒng)配置,還包括AMBALite配置。例如,如果設計中包含了AMBA 3 AXI互連架構,以及AMBA 2 AHB 組件到AMBA 3 AXI的橋接,coreAssembler工具將能把兩種AMBA 3 AXI接口自動地連接在一起。這種自動糾正的能力消除了布線錯誤的機會,所有的DesignWare庫綜合IP組件都封裝了這種設計技術和一組缺省參數(shù)。因此,只需點擊幾下鼠標、下拉菜單選項,并確認幾個子系統(tǒng)級配置參數(shù)的選項即可創(chuàng)建一個初始的子系統(tǒng)設計。

通過支持具有設計參數(shù)和系統(tǒng)級參數(shù)交叉?zhèn)鞑スδ艿姆謱哟卧O計方法, coreAssembler工具避免了多種IP配置丟失問題。比如地址和數(shù)據(jù)寬度參數(shù)能夠在最高級鎖定并能傳播到較低級的IP模塊中,以避免IP配置丟失。這種自動操作和內置的參數(shù)檢查消除了IP配置錯誤的機會,縮短了子系統(tǒng)調試周期。

為了達到最佳的綜合結果,coreAssembler工具能夠自動運行綜合工具,該工具包括物理編譯器和設計編譯器。工程師可以從多種綜合方法學中選擇,比如area_timeing 、timing_area 、ACS 和低功耗優(yōu)化流程,也可以創(chuàng)建用戶定義流程并將其包含在coreAssembler的自動化流程中。

為了減少首次仿真的時間,coreAssembler工具自動創(chuàng)建了一個驗證基礎架構,該架構包含了特別針對集成子系統(tǒng)的DesignWare驗證IP。除了基礎架構的創(chuàng)建,該工具也產生DesignWare驗證IP對子系統(tǒng)進行ping測試的激勵源。目前ping測試很簡單,將數(shù)據(jù)寫入一個IP組件寄存器中,然后讀出來確保內容被正確寫入。這似乎很容易做到,它實際上是很多子系統(tǒng)設計的第一個里程碑,在傳統(tǒng)的子系統(tǒng)開發(fā)中,要花費幾個星期的時間才能完成。使用DesignWare 庫IP和coreAssembler流程,這種子系統(tǒng)ping 測試能夠在大約幾個小時內實現(xiàn)。

自動化流程也使得對以后項目發(fā)生改動時的處理變得非常容易。比如一個子系統(tǒng)設計為32位數(shù)據(jù)總線,首席設計師在最后時刻決定,為了完成目標性能需要改為64位的數(shù)據(jù)總線。在傳統(tǒng)的設計流程中,工程師將不得不重新配置和修改很多RTL文件,花費很多的時間,并可能引入不正確的連接錯誤。在coreAssembler流程中,只需要對高層參數(shù)作簡單的修改就能完成改變,然后將自動向下傳播到更低層的模塊中。新的RTL代碼將和新的測試平臺架構文件一起被自動重新創(chuàng)建。

結語
應用基于AMBA 3 AXI協(xié)議進行高性能SoC設計的最大障礙是綜合IP和驗證IP的可用性,以及在最短的時間里有效創(chuàng)建復雜體系結構的能力。DesignWare庫和coreAssembler工具可以提供這樣的解決方案。DesignWare基于AMBA 3 AXI和AMBA 2.0 AHB/APB協(xié)議的綜合IP包含了針對大多數(shù)下一代子系統(tǒng)設計必需的構造模塊。 DesignWare基于AMBA 3 AXI和AMBA 2.0 AHB/APB協(xié)議的驗證IP足以應對復雜高性能子系統(tǒng)驗證挑戰(zhàn)的需求。最后,coreAssembler工具把綜合和驗證組件集成到一個自動化的流程中,使子系統(tǒng)設計的創(chuàng)建、仿真和綜合達到最優(yōu)化。DesignWare 針對AMBA的 IP 解決方案使得基于AMBA 3 AXI協(xié)議設計的實現(xiàn)變得輕松。



評論


相關推薦

技術專區(qū)

關閉