SoPC系統(tǒng)的綜合優(yōu)化設(shè)計策略

相關(guān)專題: 芯片

引 言

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

作者:楊進(jìn),邱兆坤,楊德貴 來源:維庫開發(fā)網(wǎng)


微信掃描分享本文到朋友圈
掃碼關(guān)注5G通信官方公眾號,免費領(lǐng)取以下5G精品資料
  • 1、回復(fù)“YD5GAI”免費領(lǐng)取《中國移動:5G網(wǎng)絡(luò)AI應(yīng)用典型場景技術(shù)解決方案白皮書
  • 2、回復(fù)“5G6G”免費領(lǐng)取《5G_6G毫米波測試技術(shù)白皮書-2022_03-21
  • 3、回復(fù)“YD6G”免費領(lǐng)取《中國移動:6G至簡無線接入網(wǎng)白皮書
  • 4、回復(fù)“LTBPS”免費領(lǐng)取《《中國聯(lián)通5G終端白皮書》
  • 5、回復(fù)“ZGDX”免費領(lǐng)取《中國電信5GNTN技術(shù)白皮書
  • 6、回復(fù)“TXSB”免費領(lǐng)取《通信設(shè)備安裝工程施工工藝圖解
  • 7、回復(fù)“YDSL”免費領(lǐng)取《中國移動算力并網(wǎng)白皮書
  • 8、回復(fù)“5GX3”免費領(lǐng)取《R1623501-g605G的系統(tǒng)架構(gòu)1
  • 本周熱點本月熱點

     

      最熱通信招聘

      最新招聘信息