<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > SoPC系統設計的綜合優(yōu)化方案

SoPC系統設計的綜合優(yōu)化方案

作者: 時(shí)間:2010-06-12 來(lái)源:網(wǎng)絡(luò ) 收藏


根據器件內3種存儲器的各自特點(diǎn),結合片內的邏輯資源分布,在片內了5個(gè)同步FIFO,其中4個(gè)長(cháng)度32位、存儲深度256字的FIFO作為64位PCI傳輸的緩存,另一個(gè)長(cháng)度32位,存儲深度為2 048字。M512存儲塊主要用于內部FIFO的,在配置片內FIFO時(shí)選擇M512存儲塊類(lèi)型。1個(gè)32位長(cháng)、存儲深度256字的FIFO占用的邏輯資源為30個(gè)LUT單元、15個(gè)M512存儲塊、134個(gè)REG單元。4個(gè)這樣的FIFO占用60個(gè)M512存儲塊、120個(gè)LUT單元。536個(gè)REG單元。而1個(gè)32位長(cháng)、2 048字存儲深度的FIFO占用的邏輯資源為114個(gè)M512存儲塊、63個(gè)LUT單元、128個(gè)REG單元。這樣,設計中的FIFO總共占用174個(gè)M512存儲塊,相比表1中EP2S60器件329個(gè)M512存儲塊,占用率為52.9%,完全可以在片內設計實(shí)現。

類(lèi)似計算機,軟CPU Nios II也需要配置片上的ROM和片上RAM,如圖2所示。片上ROM設計存儲器類(lèi)型為M4K,數據寬度32位,深度為32 KB,讀延遲1。片上RAM存儲器類(lèi)型同樣為M4K,數據寬度32位,深度設計為16 KB,讀延遲1。



片上ROM主要用于上電后程序從外部存儲器加載完成后的程序存儲,是IDE主程序開(kāi)始執行的地方。在Nios II自動(dòng)分配的地址中,一般起始地址為0x00000000,目的地址為設計ROM容量的大小。片上RAM主要作為程序運行的緩存和程序異常時(shí)的暫存,相當于計算機中的內存。在IDE編程設置中,要對片上ROM和片上RAM的使用進(jìn)行具體的設置,如圖3所示。



對程序存儲器和只讀數據存儲器,設置為使用片上ROM。對讀寫(xiě)數據存儲器、堆存儲器和堆棧存儲器,設置使用片上RAM存儲器。這樣,可以作到有效的存儲器配置。

2.4 針對NiOS II系統的

SOPC系統在沒(méi)有添加Nios II系統時(shí),較容易實(shí)現比較高的頻率,在加入Nios II系統后,系統設計頻率有較明顯的下降。因此在帶Nios II的系統中,對Nios II的設計是制約整個(gè)SOPC系統時(shí)序的一個(gè)瓶頸。

另一方面,在Nios II系統中,多是應用已經(jīng)設計好的軟核CPU和外接器件IP核,在設計時(shí)已經(jīng)進(jìn)行過(guò)并且已經(jīng)封裝集成,進(jìn)一步優(yōu)化的難度很大,因此優(yōu)化主要放在自行開(kāi)發(fā)設計的IP核和軟件的參數配置以及設計NiosII系統時(shí)應當遵循的一些原則上。在Nios II IDE編程環(huán)境中,如圖4所示,選擇最大優(yōu)化,在編譯器參數設置中選擇小的C編譯庫和減少設備驅動(dòng),這樣經(jīng)優(yōu)化后可以縮減硬件代碼,減少器件資源占用。



參考文獻[7]中探討了Nios II系統的優(yōu)化途徑。文中歸納系統優(yōu)化有如下方法:

①運算應采用定點(diǎn)運算。經(jīng)過(guò)測試,浮點(diǎn)加法和乘法運算消耗的時(shí)間為定點(diǎn)運算的5~6倍,如果需要浮點(diǎn)運算,也應該采用自定義指令的方式來(lái)實(shí)現。

②采用C語(yǔ)言和匯編語(yǔ)言混合編程。對計算量大的多次調用的程序模塊采用匯編語(yǔ)言,對主干流程語(yǔ)言采用C語(yǔ)言,這樣可以照顧到程序的可讀性,效率也較高,同時(shí)縮減程序占用資源量。

③使用用戶(hù)自定義指令。將一些復雜的算法由軟件轉而交由硬件來(lái)實(shí)現,可以獲得較高的效率提升。

④使用硬件加速提高軟件性能。通過(guò)添加外部協(xié)處理器來(lái)加速數據功能。

⑤多處理器系統。使用兩個(gè)或多個(gè)處理器來(lái)提高系統的數據處理能力。

通過(guò)上面分析,進(jìn)行系統優(yōu)化似乎是一個(gè)矛盾的過(guò)程:有時(shí)需要優(yōu)化以縮減代碼量并減少資源占用,有時(shí)又通過(guò)增加邏輯和添加處理模塊來(lái)提升數據處理能力。實(shí)際上,評價(jià)一個(gè)系統設計的好壞,除了需要實(shí)現基本的功能外,還要看使用邏輯資源和性能的比較,以更好地利用處理器,達到最好的性能。

3實(shí)驗結論

在系統設計中,應用文中分析的優(yōu)化設計方法,系統最高頻率有了較大提升,從最初的88.24 MHz,優(yōu)化至目前的111.73 MHz。由于在Quartus II編譯器參數沒(méi)置中,要求最高時(shí)鐘設置為132 MHz,因此優(yōu)化后最高時(shí)鐘報告以紅色顯示,表示沒(méi)有達到預先設置的132 MHz時(shí)鐘要求。相比于優(yōu)化前,系統最高頻率提高了26.62%,可見(jiàn)采取的優(yōu)化設計措施比較有效。對于EP2S60器件,在沒(méi)有添加Nios II系統時(shí),可以較容易達到200~300 MHz的最高時(shí)鐘頻率,加入Nios II經(jīng)過(guò)優(yōu)化處理,最高時(shí)鐘頻率目前只實(shí)現111.73 MHz,應該還有進(jìn)一步優(yōu)化空間??梢钥紤]對關(guān)鍵路徑進(jìn)行手工連線(xiàn),采用DSE算法和邏輯鎖定技術(shù)進(jìn)行進(jìn)一步的優(yōu)化,從而提高系統最高頻率.

上一頁(yè) 1 2 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>