當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式軟件
[導(dǎo)讀]SoPC系統(tǒng)設(shè)計(jì)的綜合優(yōu)化方案

為了提高設(shè)計(jì)性能(有時(shí)甚至只是為了達(dá)到設(shè)計(jì)要求),對(duì)所設(shè)計(jì)的SOPC系統(tǒng)進(jìn)行綜合優(yōu)化是非常必要的。論文結(jié)合具體工程,以Altera公司的FPGA EP2S60為例,探討了SOPC系統(tǒng)設(shè)計(jì)的綜合優(yōu)化方法。

1 綜合優(yōu)化設(shè)計(jì)的一般流程和方法

在FPGA處理器沒(méi)有選定前,可以進(jìn)行SOPC系統(tǒng)的開(kāi)發(fā)。根據(jù)編譯和優(yōu)化的效果指導(dǎo)處理器芯片的選型,選擇合適的處理器型號(hào)、速度等級(jí)和封裝。當(dāng)硬件系統(tǒng)設(shè)計(jì)好后,就只能在已選擇好的處理器芯片上進(jìn)行優(yōu)化。一般的優(yōu)化方法有Verilog程序代碼優(yōu)化、編譯和布線優(yōu)化設(shè)置,在添加Nios II系統(tǒng)后也涉及對(duì)Nios II系統(tǒng)的優(yōu)化。在設(shè)計(jì)過(guò)程中應(yīng)遵循模塊化設(shè)計(jì)思想,如果前面的優(yōu)化都不能達(dá)到滿(mǎn)意的效果,則需要使用邏輯鎖定技術(shù)和應(yīng)用DSE算法進(jìn)行優(yōu)化。

2 綜合優(yōu)化設(shè)計(jì)策略

2.1 Quartus II軟件優(yōu)化設(shè)置

在進(jìn)行綜合前,對(duì)軟件編譯和布線進(jìn)行優(yōu)化設(shè)置是優(yōu)化設(shè)計(jì)的一個(gè)重要步驟,不同設(shè)置對(duì)綜合布線的結(jié)果有較大影響。幾個(gè)比較重要的設(shè)置包括時(shí)間要求設(shè)置、編譯器設(shè)置,最重要的是布線器的設(shè)置,如圖1所示。



設(shè)計(jì)中設(shè)置對(duì)所有路徑進(jìn)行優(yōu)化,并設(shè)置布線器盡最大努力滿(mǎn)足設(shè)計(jì)的時(shí)序要求。在進(jìn)一步的布線器參數(shù)設(shè)置中,選擇全局時(shí)鐘有效,這樣雖然可能增加實(shí)際布線后延時(shí),但是可以減少時(shí)鐘偏斜,為系統(tǒng)整體時(shí)序設(shè)計(jì)的穩(wěn)定性提供保障,同時(shí)也可以增強(qiáng)網(wǎng)絡(luò)的驅(qū)動(dòng)能力。

另外,中心處理器EP2S60支持多種電平模式,而各個(gè)bank支持的模式不盡相同。在最初的硬件電路設(shè)計(jì)中已經(jīng)考慮到這一點(diǎn),將外接PCI接口的引腳分配在器件的bank7和bank8上,這樣可以充分利用器件設(shè)計(jì)好的優(yōu)化路徑,達(dá)到比較好的設(shè)計(jì)性能。在引腳分配中,需要對(duì)引腳的特性進(jìn)行更詳細(xì)的設(shè)置,具體應(yīng)根據(jù)實(shí)際系統(tǒng)引腳分配的功能要求選擇相應(yīng)的電平標(biāo)準(zhǔn),如PCI核接口選擇3.3 V PCI電平標(biāo)準(zhǔn)。

2.2 程序代碼的優(yōu)化設(shè)計(jì)

Verilog語(yǔ)言是一種類(lèi)C語(yǔ)言的硬件描述語(yǔ)言,在設(shè)計(jì)中首先要對(duì)所需實(shí)現(xiàn)的硬件電路結(jié)構(gòu)和連接都十分清晰,然后再用適當(dāng)?shù)恼Z(yǔ)言進(jìn)行描述。在具體實(shí)現(xiàn)上,應(yīng)綜合考慮以下基本設(shè)計(jì)原則:

①面積和速度的平衡互換原則。如設(shè)計(jì)時(shí)序余量大,可以通過(guò)功能模塊復(fù)用來(lái)減少消耗的芯片面積;如設(shè)計(jì)時(shí)序要求高,可采用“串并轉(zhuǎn)換”和“乒乓操作”以面積換速度。

②硬件原則。從硬件角度進(jìn)行程序開(kāi)發(fā)。

③系統(tǒng)原則。以系統(tǒng)的眼光進(jìn)行模塊劃分和各模塊任務(wù)的分配。

④同步設(shè)計(jì)原則。同步設(shè)計(jì)易于提高設(shè)計(jì)的頻率和設(shè)計(jì)的穩(wěn)定性,當(dāng)前的優(yōu)化工具也多是針對(duì)同步時(shí)序的優(yōu)化。

硬件程序設(shè)計(jì)的另一個(gè)重要方面是狀態(tài)機(jī)的設(shè)計(jì)。課題中涉及4個(gè)狀態(tài)機(jī)的設(shè)計(jì)。遵循好的狀態(tài)機(jī)設(shè)計(jì)原則也是硬件程序開(kāi)發(fā)中不可忽視的一方面。

狀態(tài)機(jī)編碼方式的選擇:由于FPGA中提供較多的觸發(fā)器資源,F(xiàn)PGA設(shè)計(jì)中多采用熱鍵編碼方式,綜合器的綜合約束屬性界面下可以方便地改變狀態(tài)編碼方式。

初始化狀態(tài)和默認(rèn)狀態(tài):為避免上電不能正確進(jìn)入初始狀態(tài),設(shè)計(jì)中初始狀態(tài)編碼為全零;同時(shí)為保證邏輯不會(huì)陷入死循環(huán),設(shè)計(jì)語(yǔ)句中應(yīng)注意完備化設(shè)計(jì)。

采用兩段式狀態(tài)機(jī)設(shè)計(jì)方法:將狀態(tài)轉(zhuǎn)移單獨(dú)寫(xiě)成一個(gè)模塊,將狀態(tài)的操作和判斷寫(xiě)到另一個(gè)模塊中,這樣可以將同步時(shí)序和組合邏輯分別放置于不同的邏輯塊,利于綜合器優(yōu)化代碼和布線器實(shí)現(xiàn)設(shè)計(jì)。

2.3 片上存儲(chǔ)器分配策略

在Stratix II系列的FPGA中包含3種不同類(lèi)型的內(nèi)部存儲(chǔ)塊:M-RAM塊、M512 RAM塊和M4K RAM塊。設(shè)計(jì)中,應(yīng)用不同的存儲(chǔ)塊設(shè)計(jì)不同的存儲(chǔ)器,可以達(dá)到較優(yōu)化的系統(tǒng)性能。

M-RAM完全支持雙端口模式,由512 Kb RAM加上校驗(yàn)位組成,主要用于大數(shù)據(jù)包的緩存,如以太網(wǎng)幀、IP包等大到幾KB的數(shù)據(jù)包,以及視頻圖像幀的緩存和NiosII嵌人式軟核的存儲(chǔ);M512 RAM塊由512位模塊加上校驗(yàn)的RAM組成,主要用于接口速率適配的內(nèi)部FIF0、移位寄存器和時(shí)鐘域隔離等;M4K塊由4 096×1位到128×36位的4 Kb模塊加校驗(yàn)組成,主要用于小型數(shù)據(jù)塊存儲(chǔ)和多通道I/O協(xié)議中,另外M4K RAM也完全支持雙端口模式。

設(shè)計(jì)中采用的中心處理器FPGA芯片EP2S60包含豐富的存儲(chǔ)器邏輯資源,和上一代Stratix系列相比,運(yùn)行速度提高了50%,邏輯容量增加了1倍,具有達(dá)180 Kb的等效邏輯元件和9 Mb的RAM,大大增加了集成度,為高度集成的應(yīng)用提供了實(shí)現(xiàn)基礎(chǔ),而成本比上一代還要低。設(shè)計(jì)采用的EP2S60器件邏輯資源如表1所列。

[!--empirenews.page--]

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

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



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



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

2.4 針對(duì)NiOS II系統(tǒng)的優(yōu)化

SOPC系統(tǒng)在沒(méi)有添加Nios II系統(tǒng)時(shí),較容易實(shí)現(xiàn)比較高的頻率,在加入Nios II系統(tǒng)后,系統(tǒng)設(shè)計(jì)頻率有較明顯的下降。因此在帶Nios II的系統(tǒng)中,對(duì)Nios II的優(yōu)化設(shè)計(jì)是制約整個(gè)SOPC系統(tǒng)時(shí)序的一個(gè)瓶頸。

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



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

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

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

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

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

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

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

3 實(shí)驗(yàn)結(jié)論

系統(tǒng)設(shè)計(jì)中,應(yīng)用文中分析的綜合優(yōu)化設(shè)計(jì)方法,系統(tǒng)最高頻率有了較大提升,從最初的88.24 MHz,優(yōu)化至目前的111.73 MHz。由于在Quartus II編譯器參數(shù)沒(méi)置中,要求最高時(shí)鐘設(shè)置為132 MHz,因此優(yōu)化后最高時(shí)鐘報(bào)告以紅色顯示,表示沒(méi)有達(dá)到預(yù)先設(shè)置的132 MHz時(shí)鐘要求。相比于優(yōu)化前,系統(tǒng)最高頻率提高了26.62%,可見(jiàn)采取的綜合優(yōu)化設(shè)計(jì)措施比較有效。對(duì)于EP2S60器件,在沒(méi)有添加Nios II系統(tǒng)時(shí),可以較容易達(dá)到200~300 MHz的最高時(shí)鐘頻率,加入Nios II經(jīng)過(guò)優(yōu)化處理,最高時(shí)鐘頻率目前只實(shí)現(xiàn)111.73 MHz,應(yīng)該還有進(jìn)一步優(yōu)化空間??梢钥紤]對(duì)關(guān)鍵路徑進(jìn)行手工連線,采用DSE算法和邏輯鎖定技術(shù)進(jìn)行進(jìn)一步的優(yōu)化,從而提高系統(tǒng)最高頻率.
本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專(zhuān)欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車(chē)的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車(chē)技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車(chē)工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車(chē)。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車(chē) 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶(hù)希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱(chēng),數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱(chēng)"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉