基于SystemC/TLM方法學的IP開發(fā)及FPGA建模
圖中所示為用于開發(fā)中下一級輸入的配置平臺。這里的核心思想是確定系統(tǒng)的瓶頸并執(zhí)行軟硬件劃分。該方案在進行軟硬件劃分方面是有效并安全的,因為平臺提供能夠用來識別出整個系統(tǒng)瓶頸的原始統(tǒng)計信息。該階段中,實現(xiàn)了IP的功能模型,使其具備了具體的接口,并嵌入了功能性。而在軟硬件劃分階段將對該方法學中所用的方案進行具體化。附加到該平臺上的另一個是DMA-PL080的TLM模型,下一步是用MACHWRTL替代整個MACHWSystemC功能模型,如圖2所示。整個周邊環(huán)境是一樣的,因此測試注入與其他步驟中的注入一樣。與之前環(huán)境的變化是采用了負責到信號變換的事務處理適配器。由于該系統(tǒng)基于ARM,適配器的書寫必須遵從信號級AHB總線接口。實際上,該平臺將相同的環(huán)境表征為現(xiàn)實系統(tǒng),不過與此同時,開始面對仿真性能方面的問題。顯然,我們還不能用該配置來執(zhí)行廣泛的調(diào)試/驗證,不過可以運行簡單的測試(具有較短的仿真時間)。
圖2:從SystemCMACHW向VHDLRTLMACHW適配器的轉換。
由于在當前仿真環(huán)境中發(fā)現(xiàn)瓶頸,我們對基于硬件模擬XTREME服務器的平臺進行評估,該平臺基本提供了硬件所需的FPGA塊,并提供了軟件與整個環(huán)境的無縫集成。基于XTREME服務器中早期平臺的移植只需要很少工作量,并且相對于基于ncsim的仿真環(huán)境,實現(xiàn)了5倍的仿真速度。很顯然,這使得我們能夠調(diào)試并執(zhí)行VHDLRTL設計的驗證,否則將會浪費過多時間。同時,基于Xtreme服務器的平臺還提供了同等調(diào)試能力。
硬件/軟件劃分
系統(tǒng)中軟硬件劃分決策是最為重要的一個方面。之所以硬件/軟件劃分變得如此關鍵,是因為如下一些因素,如系統(tǒng)的實時處理需求,應用軟件的存儲限制以及其他因素。許多時候,設計開發(fā)階段一些決策依賴于直覺判斷或者先前的經(jīng)驗。但當某些事情發(fā)生錯誤時這將蘊含一個風險。隨著系統(tǒng)復雜度以及流片成本的增加,這種決策方法可能會鑄成大錯。強調(diào)需要一種有助于實現(xiàn)更好軟硬件劃分決策的方法學具有許多原因。
在UWBMAC系統(tǒng)開發(fā)范例中,具有很多必須很好遵守的時間約束,這是因為應用層完全依賴于空中——即來自射頻天線的全局廣播定時。實現(xiàn)決策的方案建立在我們從具體的系統(tǒng)級平臺的執(zhí)行中所獲取的經(jīng)驗。我們能夠分析流水線數(shù)據(jù)通道中的數(shù)據(jù)流,能夠有效地發(fā)現(xiàn)它們是否將對系統(tǒng)構成任何瓶頸。通常,當系統(tǒng)中的數(shù)據(jù)流發(fā)送時,數(shù)據(jù)幀必須從MAC發(fā)送到PHY,而對于接收,所產(chǎn)生的數(shù)據(jù)幀則從PHY到MAC,并存入到存儲器中由軟件進行進一步的分析。在仿真場景分析過程中,能夠識別出是否需要在硬件中進行一些協(xié)議解析以采取及時的措施。
圖3:系統(tǒng)中著重硬件支持需求的應用場景。
圖3中詳細給出了一個決策范例。根據(jù)協(xié)議的需求,接收數(shù)據(jù)中有一個控制包,它通知下次發(fā)送事件的通用定時,即何時發(fā)送下一個數(shù)據(jù)包。考慮到MAC硬件是一個典型的數(shù)據(jù)通道,并將控制幀傳送到存儲器中,軟件對控制幀進行處理并決定打開發(fā)送窗口。在發(fā)送窗口打開出現(xiàn)問題時,用這種方案就能發(fā)現(xiàn)瓶頸。系統(tǒng)平臺結果被用來確認這一理解,于是能夠做出更好決策來實現(xiàn)效率更高的系統(tǒng)。圖3中的另一個場景顯示了軟硬件劃分后的結果。
第一個范例中,當軟件處理控制幀時,全局定時如下:
窗口編程時間=T+tRP+tPM+tintr+tsw_lat>T+texp,故在系統(tǒng)中,SW沒有對及時打開發(fā)送窗口的指令進行編程。
在第二個范例中,當MACHW處理控制幀時,全局定時為:
窗口編程時間=T+tprg_winexp,故系統(tǒng)中,HW對及時打開發(fā)送窗口的指令進行編程。
與此同時,現(xiàn)有的SPEAr板起到了很大的幫助作用,因為在板上測出了AES-CCM引擎的性能。因此能夠推斷出硬件中存在AES-CCM,因為AES-CCM軟件算法給不出所需要的性能。
評論