<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ò ) 收藏
為了提高性能(有時(shí)甚至只是為了達到要求),對所的SOPC進(jìn)行是非常必要的。論文結合具體工程,以Altera公司的FPGA EP2S60為例,探討了SOPC設計的方法。

1 設計的一般流程和方法

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

2 綜合優(yōu)化設計策略

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

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



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

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

2.2 程序代碼的優(yōu)化設計

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

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

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

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

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

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

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

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

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

2.3 片上存儲器分配策略

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

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

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


上一頁(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>