日韩欧美自拍在线观看-欧美精品在线看片一区二区-高清性视频一区二区播放-欧美日韩女优制服另类-国产精品久久久久久av蜜臀-成人在线黄色av网站-肥臀熟妇一区二区三区-亚洲视频在线播放老色-在线成人激情自拍视频

基于SystemC的通用嵌入式存儲(chǔ)器模型設(shè)計(jì)

出處:電子技術(shù)設(shè)計(jì) 發(fā)布于:2014-08-21 10:17:24

  1 引言

  建立芯片模型是在早期進(jìn)行芯片架構(gòu)決策的有效方法,通過(guò)建模不僅可以對(duì)芯片的性能做出分析,還可以在硬件沒(méi)有完成之前開(kāi)發(fā)軟件,不僅提高了產(chǎn)品成功率,而且縮短了研發(fā)周期。設(shè)計(jì)人員早期采用C/C++語(yǔ)言進(jìn)行硬件建模。但是隨著軟硬件復(fù)雜度的提高,C/C++語(yǔ)言難以再滿(mǎn)足要求。OSCI適時(shí)推出了SystemC語(yǔ)言來(lái)適應(yīng)新的需求。如今SystemC已經(jīng)被廣泛應(yīng)用于SoC軟硬件建模中。

  目前大部分SystemC建模方面的文獻(xiàn)是作者對(duì)自己所設(shè)計(jì)芯片整體模型的描述,這種針對(duì)特定芯片設(shè)計(jì)的文獻(xiàn)雖然都有參考價(jià)值,但是其模型本身借鑒性有限。另一方面,構(gòu)成SoC硬件的基本組件因?yàn)榭芍赜玫木壒?,其模型設(shè)計(jì)具有更好的可借鑒性。這方面的研究成果相對(duì)較少,而且集中在總線建模方面,也可以看到多核設(shè)計(jì)方面的建模方法。

  除了上述總線、CPU 架構(gòu)外,片內(nèi)或片外存儲(chǔ)器同樣是系統(tǒng)關(guān)鍵模塊,對(duì)系統(tǒng)性能有著至關(guān)重要的影響。文獻(xiàn)[6]對(duì)SystemClick框架做了擴(kuò)展,從而通過(guò)存儲(chǔ)器模型能夠分析共享存儲(chǔ)器對(duì)性能的影響。文獻(xiàn)[7]針對(duì)多通道DRAM 做了建模,并且分析了不同的配置和使用情況對(duì)性能的影響。這兩篇文獻(xiàn)都對(duì)所設(shè)計(jì)的模型做了詳盡的分析,具有很好的參考價(jià)值,但是兩者的通用性欠佳。本文提出了一個(gè)可配置的通用存儲(chǔ)器SystemC模型。

  2 SystemC

  SystemC可被視作C++硬件建模和仿真的擴(kuò)展庫(kù),特別適合集成電路的建模,但它事實(shí)上可以用來(lái)描述更多的系統(tǒng)。SystemC通過(guò)確定仿真(simulation kernel)算法定義了處理并行事件和仿真時(shí)間的機(jī)制。SystemC還定義了模塊、端口、接口、通道等概念來(lái)組成一個(gè)復(fù)雜SoC的連接關(guān)系和層次結(jié)構(gòu)。因此,它解決了標(biāo)準(zhǔn)C++語(yǔ)言用于復(fù)雜硬件建模時(shí)的難題。

  3 存儲(chǔ)器的建模

  3.1 存儲(chǔ)器模型概述

  為了能幫助設(shè)計(jì)人員分析系統(tǒng)性能并選擇合適的存儲(chǔ)器構(gòu)造,存儲(chǔ)器模型需要反映出對(duì)性能造成影響的關(guān)鍵參數(shù),即帶寬、延時(shí)和仲裁機(jī)制。而這些參數(shù)又是由存儲(chǔ)器的結(jié)構(gòu)以及其它參數(shù)決定的。另一方面,本文希望提出一個(gè)通用的存儲(chǔ)器模型,因此會(huì)有更多的參數(shù)用于配置存儲(chǔ)器以模擬某種特定類(lèi)型的存儲(chǔ)器特征,比如多端口SRAM。

  圖1給出了所設(shè)計(jì)的存儲(chǔ)器模型的結(jié)構(gòu)。它包括三個(gè)部分:一是模型接口;二是端口及bank可配置的存儲(chǔ)器;三是由讀寫(xiě)通路及仲裁機(jī)制構(gòu)成的存儲(chǔ)器控制器。接口部分采用了事務(wù)級(jí)建模,而內(nèi)部模塊采用了時(shí)鐘精準(zhǔn)的建模,這樣在保證時(shí)間的同時(shí),方便了接口連接以及提高了仿真速度。

                               圖1 可配置存儲(chǔ)器模型結(jié)構(gòu)

  3.2 存儲(chǔ)器接口

  基于SystemC的存儲(chǔ)器模型接口,由SystemC定義的接口基類(lèi)派生而來(lái)。整個(gè)存儲(chǔ)器模型是一個(gè)SystemC模塊,由于實(shí)現(xiàn)了所定義的存儲(chǔ)器模型接口,它成為SystemC概念中的hierarchal channel。因此,該存儲(chǔ)器模型將如同其它SystemC定義的通道,比如FIFO,一樣作為基本組件來(lái)連接其它的模塊從而構(gòu)造出SoC硬件系統(tǒng)。所設(shè)計(jì)存儲(chǔ)器具有如下所述事務(wù)級(jí)SystemC接口。

  阻塞讀接口:該接口用來(lái)讀取給定地址的給定大小的數(shù)據(jù),當(dāng)數(shù)據(jù)沒(méi)有讀出時(shí),調(diào)用這個(gè)接口的模塊線程將被堵塞,直到數(shù)據(jù)讀出為止。除了地址和數(shù)據(jù),該接口還包含調(diào)用者的標(biāo)志信息。

  非阻塞讀接口:與阻塞讀接口不同的是,如果在調(diào)用時(shí)讀指令不能被接受,則返回失敗。否則,不等待數(shù)據(jù)返回便成功退出。這樣調(diào)用接口的模塊線程可以在等待時(shí)間做其它事情。調(diào)用者通過(guò)監(jiān)聽(tīng)存儲(chǔ)器模型廣播的當(dāng)前讀出數(shù)據(jù)多對(duì)應(yīng)調(diào)用者標(biāo)記來(lái)在之后讀出數(shù)據(jù)。

  阻塞寫(xiě)接口:該接口用來(lái)向存儲(chǔ)器給定地址寫(xiě)入給定大小的數(shù)據(jù)。當(dāng)指令或?qū)憯?shù)據(jù)不能被存儲(chǔ)器模型接收時(shí),調(diào)用的線程被堵塞直到接受為止。除了地址和數(shù)據(jù),該接口還包含調(diào)用者的標(biāo)志信息。

  非阻塞寫(xiě)接口:與阻塞寫(xiě)接口不同的是,當(dāng)指令或數(shù)據(jù)不能被接受時(shí),返回失敗而不等待。否則返回成功。

  復(fù)位接口:用于復(fù)位存儲(chǔ)器模型。

  為了不強(qiáng)制要求外部提供存儲(chǔ)器模型需要的時(shí)鐘,存儲(chǔ)器模型接口中不包含時(shí)鐘輸入。模型內(nèi)部有一個(gè)專(zhuān)門(mén)的時(shí)鐘產(chǎn)生線程。

  3.3 存儲(chǔ)器實(shí)體

  存儲(chǔ)器模型中的存儲(chǔ)器實(shí)體可以由多個(gè)bank組成,并構(gòu)成一個(gè)子模塊。根據(jù)bank的數(shù)量和種類(lèi),該存儲(chǔ)器子模塊具有不同數(shù)量的只讀端口、只寫(xiě)端口和讀寫(xiě)端口。為了能盡可能模擬不同的存儲(chǔ)器類(lèi)型,存儲(chǔ)器子模塊可配置參數(shù)如表1所示。

  表1 存儲(chǔ)器配置參數(shù)

  3.4 存儲(chǔ)器控制器

  存儲(chǔ)器控制器由指令隊(duì)列、數(shù)據(jù)緩存、以及仲裁器構(gòu)成。這一部分對(duì)系統(tǒng)的性能有重要影響。讀指令隊(duì)列和寫(xiě)指令隊(duì)列用來(lái)分別緩存讀寫(xiě)指令。當(dāng)它們寫(xiě)滿(mǎn)時(shí),新的讀寫(xiě)操作將失敗或堵塞。指令隊(duì)列的數(shù)量取決于訪問(wèn)存儲(chǔ)器模型的模塊有幾個(gè)優(yōu)先級(jí)。相同優(yōu)先級(jí)的指令會(huì)被放到同一個(gè)隊(duì)列。讀仲裁器和寫(xiě)仲裁器分別根據(jù)隊(duì)列中的讀地址和寫(xiě)地址,讀寫(xiě)數(shù)據(jù)緩存器的狀態(tài),以及指令優(yōu)先級(jí)來(lái)決定發(fā)送哪個(gè)指令到哪個(gè)端口。而如果讀指令和寫(xiě)指令指向了相同的讀寫(xiě)端口,讀寫(xiě)仲裁器將再做出仲裁。這里的每個(gè)仲裁器除了上述功能外,具體的仲裁機(jī)制以虛函數(shù)的形式由具體的實(shí)現(xiàn)來(lái)決定。在該存儲(chǔ)器模型中實(shí)現(xiàn)了默認(rèn)的基于優(yōu)先級(jí)的輪詢(xún)算法。存儲(chǔ)器控制器的配置參數(shù)如表2所示。

  表2 存儲(chǔ)器控制器的配置參數(shù)

  3.5 參數(shù)配置

  存儲(chǔ)器模型的眾多參數(shù)需要在構(gòu)造函數(shù)中配置完成。在運(yùn)行階段,不能再更改配置。運(yùn)行階段的配置更改將是我們下一步的研究?jī)?nèi)容,可以用于類(lèi)似于文獻(xiàn)[8]的自演化系統(tǒng)。

  4 應(yīng)用實(shí)例

  圖2所示為一個(gè)H.264解碼器模塊框圖。該解碼器共包括四個(gè)模塊以流水線方式工作在宏塊級(jí)別。其中熵解碼產(chǎn)生運(yùn)動(dòng)矢量,變換系數(shù)等信息。殘差恢復(fù)模塊通過(guò)反量化、反變換操作得到殘差。宏塊預(yù)測(cè)模塊進(jìn)行幀內(nèi)或幀間預(yù)測(cè)并和殘差一起重建出宏塊數(shù)據(jù)。去快效應(yīng)模塊實(shí)現(xiàn)H.264去塊效應(yīng)濾波。這四個(gè)模塊通過(guò)一個(gè)共享的SRAM 來(lái)交換數(shù)據(jù)。RTL設(shè)計(jì)人員根據(jù)設(shè)計(jì)指標(biāo)率先完成了各模塊微架構(gòu)的設(shè)計(jì),平均解碼每個(gè)模塊所需時(shí)間在指標(biāo)范圍內(nèi)。

                  圖2 H.264解碼器使用共享存儲(chǔ)器在解碼模塊間交換數(shù)據(jù)

  為了確定共享SRAM 引入的性能損失和確定SRAM 的設(shè)計(jì),采用本文存儲(chǔ)器模型進(jìn)行分析。存儲(chǔ)器的大部分參數(shù)已經(jīng)被確定,需要決定采用幾個(gè)bank(每個(gè)bank是一個(gè)單端口SRAM)。另一方面,各模塊讀寫(xiě)存儲(chǔ)器的時(shí)間也基本確定從而有了可靠地負(fù)載模型。通過(guò)改變存儲(chǔ)器模型的bank數(shù),得到結(jié)果如圖3所示。

                    圖3 不同bank數(shù)所對(duì)應(yīng)的單個(gè)宏塊平均解碼時(shí)間占允許時(shí)間的比例

  由于bank的增加可以減少訪問(wèn)存儲(chǔ)器的沖突,模型仿真得到的處理時(shí)間隨bank數(shù)量的增加而減少。但是可以看到bank數(shù)量對(duì)所消耗的時(shí)間影響不大,這說(shuō)明各解碼模塊訪問(wèn)存儲(chǔ)器的時(shí)間分布已經(jīng)比較均勻。由于一個(gè)bank的情況已經(jīng)可以滿(mǎn)足要求,所以確定bank數(shù)為1。RTL全部完成后的仿真結(jié)果所消耗的時(shí)間比模型所給出的略少一些,原因是RTL設(shè)計(jì)對(duì)訪問(wèn)共享SRAM 的時(shí)間安排做了進(jìn)一步細(xì)化的工作。

  5 結(jié)束語(yǔ)

  本文提出了一個(gè)通用的存儲(chǔ)器SystemC模型,該模型采用統(tǒng)一的事務(wù)級(jí)接口,和可配置的時(shí)鐘精準(zhǔn)的內(nèi)部控制邏輯以及存儲(chǔ)器構(gòu)成。通過(guò)一系列的參數(shù)配置,該模型能夠幫助設(shè)計(jì)人員快速實(shí)現(xiàn)系統(tǒng)建模并在存儲(chǔ)器設(shè)計(jì)和選擇上做出合理判斷。借助其通用性,它還可以幫助保持一致性和減少重復(fù)勞動(dòng)。該模型被應(yīng)用于視頻解碼中,成功預(yù)測(cè)了共享SRAM 的bank數(shù)對(duì)性能的影響,證明了其有效性。

  參考文獻(xiàn):

  [1] Ghosh A.System modeling with SystemC[C]∥ ASIC,2001.Proceedings.4th International Conference on.China:Shanghai,2001:18-20.

  [2] Mahfuzul S M,Tran J M D.Modeling for performance:SystemC model of a communication bus in a distributed network[C]∥International Conference on Information and Communication Technology.Dhaka,2007:231-234.

  [3] Srinivasan S,Li L,Ruggiero M,.Dnaka,et al.Exploring architectural solutions for energy optimizationsin bus-based system-on-chip[J].Computers &Digital Techniques,IET,2008,2(5):347-354.

  [4] Chen Lin,Sun Wanzhong,Wang Zhixin,et al.A SystemC-based transaction level modeling of on-chipbus[C]∥International Conference on Computer Science and Software Engineering.China:Wuhan,2008:146-149.

  [5] 奚杰,陳杰,朱玥。利用SystemC實(shí)現(xiàn)多核系統(tǒng)的快速建模[J].微電子學(xué)與計(jì)算機(jī),2010,27(7):220-223.

  [6] Loeb H P,Sauer C.Exploration of embedded memomemories in SoCs using SystemC-based functional performance models[C]∥Forum on Specification & DesignLanguages.Sophia Antipolis,2009:1-6.

  [7] Nikara J,Aho E,Tuominen P A,et al.Performanceanalysis of multi-channel memories in mobile devices.System-on-Chip.Tampere,2009:128-131.

  [8] 王曉艷,姚睿。使用SystemC設(shè)計(jì)片上自演化系統(tǒng)[J].微電子學(xué)與計(jì)算機(jī),2011,28(6):28-31.

  [9] 鐘輝捷,雷航。基于Petri網(wǎng)和systemC的SoC系統(tǒng)描述[J].計(jì)算機(jī)應(yīng)用,2007,27(2):147-149.

關(guān)鍵詞:基于SystemC的通用嵌入式存儲(chǔ)器模型設(shè)計(jì)SystemC 建模 存儲(chǔ)器 SoC

版權(quán)與免責(zé)聲明

凡本網(wǎng)注明“出處:維庫(kù)電子市場(chǎng)網(wǎng)”的所有作品,版權(quán)均屬于維庫(kù)電子市場(chǎng)網(wǎng),轉(zhuǎn)載請(qǐng)必須注明維庫(kù)電子市場(chǎng)網(wǎng),http://www.hbjingang.com,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類(lèi)作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。

如涉及作品內(nèi)容、版權(quán)等問(wèn)題,請(qǐng)?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。

開(kāi)源3D建模鼠標(biāo)
廣告
OEM清單文件: OEM清單文件
*公司名:
*聯(lián)系人:
*手機(jī)號(hào)碼:
QQ:
有效期:

掃碼下載APP,
一鍵連接廣大的電子世界。

在線人工客服

買(mǎi)家服務(wù):
賣(mài)家服務(wù):
技術(shù)客服:

0571-85317607

網(wǎng)站技術(shù)支持

13606545031

客服在線時(shí)間周一至周五
9:00-17:30

關(guān)注官方微信號(hào),
第一時(shí)間獲取資訊。

建議反饋

聯(lián)系人:

聯(lián)系方式:

按住滑塊,拖拽到最右邊
>>
感謝您向阿庫(kù)提出的寶貴意見(jiàn),您的參與是維庫(kù)提升服務(wù)的動(dòng)力!意見(jiàn)一經(jīng)采納,將有感恩紅包奉上哦!