chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于SystemC的存儲器模型設(shè)計與性能分析

電子設(shè)計 ? 來源:郭婷 ? 作者:電子設(shè)計 ? 2018-12-05 07:43 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1 引言

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

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

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

2 SystemC

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

3 存儲器的建模

3.1 存儲器模型概述

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

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

基于SystemC的存儲器模型設(shè)計與性能分析

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

3.2 存儲器接口

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

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

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

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

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

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

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

3.3 存儲器實體

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

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

基于SystemC的存儲器模型設(shè)計與性能分析

3.4 存儲器控制器

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

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

基于SystemC的存儲器模型設(shè)計與性能分析

3.5 參數(shù)配置

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

4 應(yīng)用實例

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

基于SystemC的存儲器模型設(shè)計與性能分析

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

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

基于SystemC的存儲器模型設(shè)計與性能分析

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

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

5 結(jié)束語

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

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 芯片
    +關(guān)注

    關(guān)注

    460

    文章

    52520

    瀏覽量

    440955
  • soc
    soc
    +關(guān)注

    關(guān)注

    38

    文章

    4392

    瀏覽量

    222771
  • C++
    C++
    +關(guān)注

    關(guān)注

    22

    文章

    2119

    瀏覽量

    75319
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    鐵電存儲器SF24C64對標(biāo)FM24C64性能、應(yīng)用和成本分析

    鐵電存儲器SF24C64對標(biāo)FM24C64性能、應(yīng)用和成本分析
    的頭像 發(fā)表于 03-03 10:25 ?732次閱讀
    鐵電<b class='flag-5'>存儲器</b>SF24C64對標(biāo)FM24C64<b class='flag-5'>性能</b>、應(yīng)用和成本<b class='flag-5'>分析</b>

    鐵電存儲器SF24C64對標(biāo)MB85RC64性能、應(yīng)用深度分析

    鐵電存儲器SF24C64對標(biāo)MB85RC64性能、應(yīng)用深度分析
    的頭像 發(fā)表于 02-25 09:40 ?473次閱讀
    鐵電<b class='flag-5'>存儲器</b>SF24C64對標(biāo)MB85RC64<b class='flag-5'>性能</b>、應(yīng)用深度<b class='flag-5'>分析</b>

    閃速存儲器屬于RAM還是ROM,閃速存儲器一般用來做什么的

    在數(shù)字存儲技術(shù)的快速發(fā)展中,閃速存儲器(Flash Memory)以其獨特的性能和廣泛的應(yīng)用領(lǐng)域,成為了連接隨機存取存儲器(RAM)與只讀存儲器
    的頭像 發(fā)表于 01-29 16:53 ?1006次閱讀

    EMMC存儲器應(yīng)用場景分析

    的可靠性和更低的功耗。 應(yīng)用場景分析 1. 移動設(shè)備 智能手機和平板電腦: EMMC存儲器因其高速讀寫能力和緊湊的尺寸,成為智能手機和平板電腦的理想選擇。它們需要快速訪問大量數(shù)據(jù),同時保持設(shè)備的輕薄設(shè)計。 優(yōu)勢: 高速數(shù)據(jù)傳輸、低功耗、緊湊的尺寸。 挑戰(zhàn):
    的頭像 發(fā)表于 12-25 09:26 ?2748次閱讀

    什么是ROM存儲器的定義

    一、ROM存儲器的定義 ROM存儲器是一種在計算機和電子設(shè)備中用于存儲固定數(shù)據(jù)的存儲器。與RAM(隨機存取存儲器)不同,ROM
    的頭像 發(fā)表于 11-04 09:59 ?3389次閱讀

    內(nèi)存儲器主要用來存儲什么

    內(nèi)存儲器(內(nèi)部存儲器)是計算機硬件的重要組成部分,它直接與中央處理(CPU)相連,用于存儲正在運行的程序和當(dāng)前處理的數(shù)據(jù)。內(nèi)存儲器的容量、
    的頭像 發(fā)表于 10-14 09:55 ?2494次閱讀

    內(nèi)存儲器分為隨機存儲器和什么

    內(nèi)存儲器是計算機系統(tǒng)中用于臨時存儲數(shù)據(jù)和程序的關(guān)鍵部件,它直接影響到計算機的運行速度和性能。內(nèi)存儲器主要分為兩大類:隨機存儲器(RAM,Ra
    的頭像 發(fā)表于 10-14 09:54 ?2898次閱讀

    鐵電存儲器和Flash的區(qū)別

    鐵電存儲器(Ferroelectric RAM, FRAM)與閃存(Flash)是兩種不同類型的非易失性存儲器,它們在工作原理、性能特點、應(yīng)用場景等方面存在顯著的差異。
    的頭像 發(fā)表于 09-29 15:25 ?3235次閱讀

    存儲器的層次結(jié)構(gòu)包括哪些

    存儲器的層次結(jié)構(gòu)是計算機系統(tǒng)中一個關(guān)鍵且復(fù)雜的部分,它決定了數(shù)據(jù)的存儲、訪問和處理效率。存儲器的層次結(jié)構(gòu)主要包括多個層次,每個層次都有其特定的功能、性能特點和應(yīng)用場景。
    的頭像 發(fā)表于 09-10 14:28 ?1567次閱讀

    PLC主要使用的存儲器類型

    PLC(可編程邏輯控制)中的存儲器是其重要組成部分,用于存儲程序、數(shù)據(jù)和系統(tǒng)信息。PLC的存儲器主要分為兩大類:系統(tǒng)存儲器和用戶
    的頭像 發(fā)表于 09-05 10:45 ?5772次閱讀

    內(nèi)部存儲器有哪些

    內(nèi)部存儲器,也稱為內(nèi)存(Memory),是計算機系統(tǒng)中用于暫時存儲程序和數(shù)據(jù)的重要組件。它直接與CPU相連,是CPU處理數(shù)據(jù)的主要來源。內(nèi)部存儲器主要由隨機存取存儲器(RAM)和只讀
    的頭像 發(fā)表于 09-05 10:42 ?4518次閱讀

    季豐對存儲器芯片的失效分析方法步驟

    由于存儲器中包括結(jié)構(gòu)重復(fù)的存儲單元,當(dāng)其中發(fā)生失效點時, 如何定位失效點成為存儲器失效分析中的最為重要的一步。存儲器芯片的集成度高,字線(W
    的頭像 發(fā)表于 08-19 15:48 ?1401次閱讀
    季豐對<b class='flag-5'>存儲器</b>芯片的失效<b class='flag-5'>分析</b>方法步驟

    ram存儲器和rom存儲器的區(qū)別是什么

    定義: RAM(Random Access Memory):隨機存取存儲器,是一種易失性存儲器,主要用于計算機和其他設(shè)備的臨時存儲。 ROM(Read-Only Memory):只讀存儲器
    的頭像 發(fā)表于 08-06 09:17 ?1407次閱讀

    EEPROM存儲器如何加密

    EEPROM(Electrically Erasable Programmable Read-Only Memory,電可擦可編程只讀存儲器)是一種非易失性存儲器,它在斷電后仍能保持?jǐn)?shù)據(jù)。由于其可
    的頭像 發(fā)表于 08-05 18:05 ?2184次閱讀

    存儲器的組成和作用

    存儲器作為計算機系統(tǒng)的核心組成部分之一,其重要性不言而喻。它不僅負(fù)責(zé)存儲程序和數(shù)據(jù),還直接影響著計算機的性能和效率。為了全面而深入地探討存儲器的組成和作用,本文將從多個角度進(jìn)行詳細(xì)闡述
    的頭像 發(fā)表于 07-24 17:52 ?6275次閱讀