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