基于AMBA架構(gòu)的SoC系統(tǒng)事務(wù)級(jí)建模簡(jiǎn)介
1.引言
本文引用地址:http://m.butianyuan.cn/article/148368.htm隨著集成電路制造技術(shù)的發(fā)展,VLSI 已經(jīng)進(jìn)入了SoC(System-on-Chip )片上系統(tǒng)時(shí)代。對(duì)于復(fù)雜的片上系統(tǒng)而言,系統(tǒng)驗(yàn)證占整個(gè)設(shè)計(jì)時(shí)間的60%-70%,其中涉及到軟件與硬件的協(xié)同工作等等。傳統(tǒng)的系統(tǒng)驗(yàn)證在RTL 級(jí)進(jìn)行,RTL 提供更精確接近實(shí)現(xiàn)的同時(shí),也加長(zhǎng)了驗(yàn)證時(shí)間以及此時(shí)發(fā)現(xiàn)問(wèn)題再修改帶來(lái)的成本增加,所以非常有必要地在盡可能早地進(jìn)行有效的系統(tǒng)驗(yàn)證。
SystemC 作為一種系統(tǒng)描述語(yǔ)言應(yīng)運(yùn)而生,它支持從系統(tǒng)級(jí)到門級(jí)的描述,解決了傳統(tǒng)片上系統(tǒng)設(shè)計(jì)方法中不同級(jí)別使用不同描述語(yǔ)言帶來(lái)的過(guò)渡問(wèn)題,而其事務(wù)級(jí)(TransacTIon-Level,TL)建模仿真方法可以在早期有效地進(jìn)行系統(tǒng)驗(yàn)證,同時(shí)速度較RTL 級(jí)仿真更快。
目前,事務(wù)級(jí)建模得到廣泛的使用和認(rèn)同,Synopsys 公司現(xiàn)已提供關(guān)于AMBA 架構(gòu)的事務(wù)級(jí)模型,以供進(jìn)行由AMBA 架構(gòu)組成的SoC 系統(tǒng)的事務(wù)級(jí)建模仿真所用。
2.SystemC 事務(wù)級(jí)建模
SystemC 由C++衍生而來(lái),在C++基礎(chǔ)上添加硬件擴(kuò)展庫(kù)和仿真庫(kù)構(gòu)成,從而使SystemC 可以建模不同抽象級(jí)別的包括軟件和硬件的復(fù)雜電子系統(tǒng),既可以描述純功能模型和系統(tǒng)體系結(jié)構(gòu),也可以描述軟硬件的具體實(shí)現(xiàn)。
在使用SystemC 進(jìn)行高層次建模時(shí),引出一個(gè)新的概念——TLM(Transaction-Level Model )事務(wù)級(jí)模型,該建模方法創(chuàng)建一可執(zhí)行平臺(tái)模型,對(duì)系統(tǒng)進(jìn)行仿真,但其不僅僅是功能級(jí)描述,仿真也具有一定時(shí)序。
事務(wù)級(jí)模型建模因不考慮很多底層細(xì)節(jié),所以進(jìn)行建模時(shí)間短,并且可以將重點(diǎn)放在如何通信,而不是通信在更底層如何實(shí)現(xiàn);事務(wù)級(jí)建??梢允褂檬录?qū)動(dòng),由一事件可以驅(qū)動(dòng)一系列行為,因此建??梢栽谠缙谶M(jìn)行。所以,SystemC 事務(wù)級(jí)模型具有建模效率高和仿真速度快的優(yōu)點(diǎn)。另外,SystemC 事務(wù)級(jí)建模作為高層次建模方法,還具有如下特點(diǎn):
–模型之間依靠時(shí)鐘和(動(dòng)態(tài))事件同步;
–模型內(nèi)部是周期精確的;
–模塊pin 沒(méi)有明確進(jìn)行建模實(shí)現(xiàn),但可通過(guò)適配器外部實(shí)現(xiàn);
–模塊之間通過(guò)端口(port)和層次化通道(hierarchy channel )進(jìn)行通信。
上述特點(diǎn)描述中,端口(port)和層次化通道(hierarchy channel )概念為SystemC 事務(wù)級(jí)建模引入的新概念:
. 接口(inteRFace):定義一組方法來(lái)實(shí)現(xiàn)設(shè)計(jì)目標(biāo),但不實(shí)現(xiàn)這些方法;
. 通道(channel): 實(shí)現(xiàn)接口定義的方法;根據(jù)通道內(nèi)部所實(shí)現(xiàn)方法的情況,又分為基本 通道和層次化通道;基本通道中沒(méi)有可見(jiàn)的結(jié)構(gòu),不包括進(jìn)程,也不能直接訪問(wèn)其他的基本通道;層次化通道則包括模塊、進(jìn)程等,可以直接訪問(wèn)其他的通道;
. 端口(port):總是與一定的接口類型相關(guān)聯(lián),端口也只能連接到實(shí)現(xiàn)了該類接口的通道上,通過(guò)端口模塊和進(jìn)程來(lái)訪問(wèn)通道內(nèi)定義的接口方法; 通過(guò)接口又引出接口方法調(diào)用(interface-method-call,IMC) 的概念,是指一個(gè)進(jìn)程通過(guò)端口調(diào)用通道內(nèi)實(shí)現(xiàn)的接口方法。方法在接口中定義,在通道內(nèi)實(shí)現(xiàn),但在進(jìn)程內(nèi)執(zhí)行。基于以上概念,提出一種事務(wù)級(jí)建模思想:
①設(shè)備若僅作為被訪問(wèn)者,如存儲(chǔ)器、FIFO 等,那么只需要定義接口,以備被訪問(wèn),實(shí)現(xiàn)接口方法,此設(shè)備作為基本通道存在;
②設(shè)備若僅作為訪問(wèn)者,如CPU,那么只需要定義端口,來(lái)訪問(wèn)其他設(shè)備;
③設(shè)備若既可作為訪問(wèn)者和被訪問(wèn)者,如總線,那么它就需要同時(shí)定義端口和接口,同時(shí)也要實(shí)現(xiàn)接口,這也就是層次化通道,接口用來(lái)被訪問(wèn),端口用來(lái)發(fā)起訪問(wèn)。
對(duì)于SoC 設(shè)計(jì)而言,事務(wù)級(jí)建模屬于架構(gòu)型設(shè)計(jì)。在架構(gòu)的事務(wù)級(jí)建模中,模塊在共享的通信通道(如總線)彼此進(jìn)行交易。同時(shí)在進(jìn)行系統(tǒng)的SystemC 事務(wù)級(jí)建模中,可以有效地對(duì)軟件部分進(jìn)行描述,結(jié)合其進(jìn)行協(xié)同仿真。所以,對(duì)所設(shè)計(jì)的系統(tǒng)使用事務(wù)級(jí)模型進(jìn)行仿真時(shí),不僅系統(tǒng)架構(gòu)可以找到系統(tǒng)級(jí)的瓶頸并能有效解決,而且軟件開(kāi)發(fā)者也可以評(píng)估軟件的運(yùn)行吞吐量,同時(shí)也可以研究在系統(tǒng)背景下軟件和硬件模型之間的交互。
評(píng)論