當(dāng)前,OSCI TLM1.0抽象模型在工業(yè)界的SoC電子系統(tǒng)級設(shè)計中已得到廣泛應(yīng)用,如早期的軟硬件集成、系統(tǒng)性能分析、結(jié)構(gòu)設(shè)計、功能驗(yàn)證等。但隨著抽象層次的提高,采用TLM1.0標(biāo)準(zhǔn)進(jìn)行建模的事務(wù)級模型缺乏實(shí)用性,并且仿真速度無法達(dá)到要求。
其目標(biāo)是規(guī)范化TLM事務(wù)級模型建模標(biāo)準(zhǔn),提出統(tǒng)一的API及數(shù)據(jù)結(jié)構(gòu),提高不同用戶編寫的TLM模型之間的互操作性。TLM2.0標(biāo)準(zhǔn)的體系結(jié)構(gòu)如圖4-28所示。
圖4-28 TLM 2.0標(biāo)準(zhǔn)的體系結(jié)構(gòu)
TLM 2.0支持在發(fā)起者(主設(shè)備)和接收者(從設(shè)備)之間傳遞事務(wù)。主設(shè)備能夠發(fā)起事務(wù),即創(chuàng)建一個新的事務(wù)對象,并通過調(diào)用TLM2.0核心接口定義的方法進(jìn)行傳遞。主設(shè)備與從設(shè)備之間可以直接相連,也可以通過互連單元(總線、片上網(wǎng)絡(luò)等)進(jìn)行相連。
互連單元是一個模塊,它可以訪問事務(wù),但不是事務(wù)的發(fā)起者或接收者,而只是為發(fā)起者和接收者之間提供互連。事務(wù)對象所經(jīng)由的互連單元、事務(wù)對象的發(fā)起者和接收者之間構(gòu)成了事務(wù)對象所經(jīng)過的路徑。如圖4-29所示,前向路徑是主設(shè)備到從設(shè)備,或者互連單元的鏈路,或者鏈路級聯(lián)。
事務(wù)通過主設(shè)備調(diào)用的方法直接返回,或者從設(shè)備通過另外的方法調(diào)用返回事務(wù)稱為反向路徑。為了支持前向、反向路徑,模塊間的每一個鏈接都需要一個端口稱為主設(shè)備套接字或從設(shè)備套接字。
圖4-29 TLM 2.0通信中的前向和反向路徑
為了增強(qiáng)互操作性,TLM2.0中發(fā)起事務(wù)的主設(shè)備和接收事務(wù)并作出響應(yīng)的從設(shè)備必須遵循一定的接口標(biāo)準(zhǔn),稱為事務(wù)處理核心接口,包括阻塞傳輸接口、非阻塞傳輸接口、直接存儲接口(DMI,Memory
Interface)和調(diào)試傳輸接口(Debug Transport Interface)。
其中,阻塞和非阻塞傳輸接口是主設(shè)備、從設(shè)備之間進(jìn)行事務(wù)處理的基本接口。兩者均支持時序標(biāo)注(Timing annotation)和時間解耦(Temporal decoupling)。但阻塞傳輸接口沒有階段(Phase)參數(shù),事務(wù)僅有開始和結(jié)束兩個定時點(diǎn),一個調(diào)用請求發(fā)出后,直到請求被處理完成該調(diào)用才返回。
而非阻塞傳輸接口在事務(wù)的整個生命周期內(nèi)支持多階段,即允許模型描述事務(wù)處理過程中的多個階段細(xì)節(jié)(包括TLM 2.0已經(jīng)與定義的階段UNINITIALIZED_PHASE、BEGIN_REQ、END_REQ、BEGIN_RESP、END_RESP和用戶可擴(kuò)展階段DECLARE_EXTENDED_PHASE),每一個階段都有一個明確的定時點(diǎn),調(diào)用請求可以不必等待事務(wù)處理完成即可返回。直接存儲接口(DMI)允許主設(shè)備使用指針直接訪問從設(shè)備所在的存儲區(qū)域,而不需要使用如前所述的阻塞或非阻塞傳輸接口進(jìn)行訪問。
DMI避免了對阻塞和非阻塞傳輸接口函數(shù)的多次調(diào)用,能夠顯著提高模型仿真速度。調(diào)試傳輸接口為主設(shè)備提供了一個對從設(shè)備進(jìn)行讀寫的方法,可以使主設(shè)備在仿真過程中對存儲器、寄存器的內(nèi)容進(jìn)行掃描,可用于實(shí)現(xiàn)指令集仿真器ISS的單步、斷點(diǎn)等調(diào)試功能。
總線是當(dāng)前電子系統(tǒng)不同模塊間進(jìn)行交互的基本通道接口,對于總線的事務(wù)級建模至關(guān)重要。通常,事務(wù)級建模采用C++的類對事務(wù)進(jìn)行描述,然而對于不同總線,總線讀寫事務(wù)類定義不同。
對于同一總線,不同設(shè)計者所編寫的總線事務(wù)類也可能不同。這就導(dǎo)致了不同的TLM模型之間互操作性差,不利于系統(tǒng)集成。TLM2.0標(biāo)準(zhǔn)針對總線建模提出了通用Payload類,用于提高總線模型的互操作性。
通用Payload類提供了定義總線模型所需的基本屬性(如地址、數(shù)據(jù)、字節(jié)使能、單字傳輸、突發(fā)傳輸、響應(yīng)等),可方便、快捷地對當(dāng)前已有的多數(shù)總線進(jìn)行建模。同時,通用Payload還提供了擴(kuò)展機(jī)制,以滿足某些總線標(biāo)準(zhǔn)的特定需求。
為了進(jìn)一步增強(qiáng)不同事務(wù)級模型之間的互操作性,TLM2.0標(biāo)準(zhǔn)對采用SystemC/C++進(jìn)行高抽象層次建模的編碼風(fēng)格進(jìn)行了規(guī)范,提出了松散時序(Loosely-timed)和近似時序(Approximately-timed)的編碼風(fēng)格(注意:編碼風(fēng)格只是規(guī)定了編程語言的規(guī)范形式,并不是指某一抽象層次或API)。
松散時序的編碼風(fēng)格主要使用阻塞傳送接口,使用此種編碼風(fēng)格的模型對應(yīng)了兩個時間點(diǎn),即事務(wù)處理的開始點(diǎn)和結(jié)束點(diǎn)。松散時序的編碼風(fēng)格支持如上提到的“時間解耦”,即模型的某部分功能可以在當(dāng)前仿真時間之前運(yùn)行,直到一個需要與其他部分進(jìn)行同步的同步點(diǎn)。時間解耦能夠有效地提高仿真速度,但降低了仿真精度。
松散時序編碼風(fēng)格非常適用于構(gòu)建對硬件細(xì)節(jié)要求不多的嵌入式軟件驗(yàn)證虛擬平臺,如嵌入式操作系統(tǒng)等。近似時序編碼風(fēng)格主要通過非阻塞傳送接口進(jìn)行支持,主要用于體系結(jié)構(gòu)的設(shè)計空間探測和性能分析。
在非阻塞傳輸接口中,一個事務(wù)往往被精確地劃分為多個執(zhí)行階段,由不同的定時點(diǎn)進(jìn)行分割,這些定時點(diǎn)包括請求的開始與結(jié)束、應(yīng)答的開始與結(jié)束。為了提高仿真的精度,近似時序編碼風(fēng)格一般不使用時間解耦。
在實(shí)際應(yīng)用中,松散時序編碼風(fēng)格和近似時序編碼風(fēng)格可以根據(jù)需要同時使用。此外,TLM2.0標(biāo)準(zhǔn)不提供對于無時序(Untimed)編碼風(fēng)格的支持,但無時序模型可以由TLM1.0標(biāo)準(zhǔn)提供支持(注意:無時序模型并不是指沒有任何時序信息,而是僅包含有限時序信息的模型,在TLM 2.0標(biāo)準(zhǔn)中通常被歸為松散時序的編碼風(fēng)格)。
同樣,TLM 2.0也不提供對于周期精確(Cycle-accurate)編碼風(fēng)格的支持,設(shè)計者可借助SystemC和TLM1.0完成周期精確模型的建模。但OSCI將在未來的工作中對近似時序編碼風(fēng)格進(jìn)行擴(kuò)展提出規(guī)范化的周期精確的編碼風(fēng)格。各種編碼風(fēng)格的應(yīng)用場合如表4-3所示。
表4-3 OSCI TLM標(biāo)準(zhǔn)不同編碼風(fēng)格的應(yīng)用
與TLM 1.0相比,TLM 2.0的改進(jìn)如下。
? ① TLM 1.0沒有標(biāo)準(zhǔn)的事務(wù)處理類,每一個應(yīng)用根據(jù)需要創(chuàng)建專門的事務(wù)處理類,因此不同的模型之間的互操作性很差。TLM2.0中針對這一問題,增加了通用Payload類。
? ② TLM 1.0不支持時序標(biāo)注,因此不同的模型之間缺乏標(biāo)準(zhǔn)的交換時序信息的方法。TLM1.0中一般通過調(diào)用wait函數(shù)實(shí)現(xiàn)延遲,仿真速度較慢。TLM 2.0中通過在阻塞和非阻塞傳輸接口中增加了時序標(biāo)注,提高了仿真速度。
? ③ TLM 1.0要求通過值或常量引用來交換所有的事務(wù)處理對象和數(shù)據(jù),影響了仿真速度。TLM2.0針對這一問題,在傳輸接口中允許擴(kuò)展事務(wù)處理對象的生命周期到不同的傳輸調(diào)用中。
-
soc
+關(guān)注
關(guān)注
38文章
4305瀏覽量
221154 -
ESL
+關(guān)注
關(guān)注
1文章
74瀏覽量
21589 -
模型
+關(guān)注
關(guān)注
1文章
3469瀏覽量
49851 -
TLM
+關(guān)注
關(guān)注
1文章
33瀏覽量
24889
發(fā)布評論請先 登錄
電氣與電子系統(tǒng)實(shí)驗(yàn)指導(dǎo)書
一種電子系統(tǒng)測試性模型的研究
電子系統(tǒng)仿真與MATLAB
FPGA在車載電子系統(tǒng)的應(yīng)用
電子系統(tǒng)模型分析與SYSTEMVIEW

航空電子系統(tǒng)檢測
汽車電子常見的電子系統(tǒng)盤點(diǎn)分析
FPGA電子系統(tǒng)設(shè)計項(xiàng)目實(shí)戰(zhàn)

評論