基于SystemC/TLM方法學(xué)的IP開(kāi)發(fā)及FPGA建模
隨著(zhù)系統級芯片技術(shù)的出現,設計規模正變得越來(lái)越大,因而變得非常復雜,同時(shí)上市時(shí)間也變得更加苛刻。通常RTL已經(jīng)不足以擔當這一新的角色。上述這些因素正驅使設計師開(kāi)發(fā)新的方法學(xué),用于復雜IP(硬件和軟件)以及復雜系統的驗證。ST公司建立了一個(gè)設計流,它從高級抽象開(kāi)始,易于將模型寫(xiě)入IP的精密周期或RTL模型中。當轉入低級抽象時(shí),建模變得復雜,故IP驗證也復雜。我們的方案最適合于這種應用場(chǎng)景,因為它允許人們在各地相似的環(huán)境中運行相同的測試平臺和測試場(chǎng)景,因而允許在整個(gè)開(kāi)發(fā)周期里高效地復用所有的測試范例和環(huán)境。
在半導體領(lǐng)域,開(kāi)發(fā)產(chǎn)品的第一步就是以高級抽象開(kāi)發(fā)規范的模型,通常用C/C++來(lái)實(shí)現。這里,SystemC和C++庫提供了很大幫助。它簡(jiǎn)化了共存的硬件和軟件設計的概念化。再加上實(shí)現事務(wù)級模型間對口連接的TLM傳送庫,SystemC加速了整個(gè)驗證過(guò)程。另一個(gè)重要方面是所有不同抽象架構中經(jīng)過(guò)增強的可移植性。同一測試配置可以無(wú)縫地用于不同抽象級的設計。
本文將討論一種此類(lèi)的方法學(xué)。最終的目標是設計和實(shí)現UWBMAC(媒體訪(fǎng)問(wèn)層)IP。出于架構開(kāi)發(fā)的目的,決定用SystemC來(lái)實(shí)現整個(gè)IP。還開(kāi)發(fā)了抽象級具有不同程度變化的不同架構。所付出的努力比較少,最后得到的仿真速度很快,軟件的實(shí)際編寫(xiě)也可以在設計周期非常早的階段開(kāi)始。該IP的RTL結果被移植到了SPEAr系列的FPGA中。除了ARM內核和相應的一系列IP,SPEAr還提供一個(gè)可配置邏輯塊,這為用戶(hù)在實(shí)現其邏輯功能時(shí)提供了無(wú)與倫比的靈活性。從而縮短了上市時(shí)間,同樣也實(shí)現了空前的成本節省。
設計開(kāi)發(fā)方法學(xué)
圖1所示的該方法學(xué)實(shí)現了開(kāi)發(fā)的內核中的事務(wù)級建模(TLM)。TLM是一種對數字系統進(jìn)行建模的高級方案,這里將模塊之間的具體通信與功能單元或通信架構的具體實(shí)現分離開(kāi)。把總線(xiàn)或FIFO這類(lèi)通信機制模型化成信道,用SystemC接口類(lèi)將這些信道提供給模塊和部件。這些信道模型的信令接口功能將取代事務(wù)請求,這將減少具體的低級信息交換。
圖1:IP開(kāi)發(fā)方法學(xué)流程。
在事務(wù)級建模時(shí),
*更加注重數據轉移的功能-即轉移的是什么數據,從那里來(lái),到那里去
*不太關(guān)注實(shí)際的實(shí)現-即不太關(guān)注數據轉移所用的實(shí)際協(xié)議
該方案使得系統設計師的實(shí)驗變得更加容易,例如,可以利用不同的總線(xiàn)架構(所有都支持公共的抽象接口),不一定需要對與任意總線(xiàn)進(jìn)行交互的模型進(jìn)行重新編碼,只要這些模型能夠通過(guò)公用接口與總線(xiàn)進(jìn)行交互即可。
在我們的方法中,起始點(diǎn)是對整個(gè)功能系統平臺進(jìn)行建模。這是利用SystemC并通過(guò)scfifo接口實(shí)現的。為了描述通信接口間的數據流,采用了各種架構。這些架構基本上都是協(xié)議需要遵守的參數和幀格式信息。圍繞IP創(chuàng )建了一個(gè)測試環(huán)境,環(huán)境中開(kāi)發(fā)了測試平臺,來(lái)傳輸分別來(lái)自?xún)蓚鹊妮斎?,即發(fā)送和接收。在這兩種范例中,利用這種配置產(chǎn)生了預期的結果或參考。在抽象層,與平臺一起使用來(lái)進(jìn)行修改,快速并有效地做試驗時(shí)將變得很容易,不過(guò)精度會(huì )降低一些。
評論