新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 浮點(diǎn):用 FPGA 嵌入式處理器實(shí)現(xiàn)您的構(gòu)想

浮點(diǎn):用 FPGA 嵌入式處理器實(shí)現(xiàn)您的構(gòu)想

作者:Glenn Steiner, 賽靈思公司高級經(jīng)理 Ben Jones,賽靈思公司高級DSP設(shè)計(jì)工程師 Peter Alfke,賽靈思公司杰出工程師 時(shí)間:2009-10-23 來源:電子產(chǎn)品世界 收藏

  讓浮點(diǎn)盡在掌握之中

本文引用地址:http://2s4d.com/article/99212.htm

  -5 APU-FPU 提供免費(fèi)的 Platform Studio,支持浮點(diǎn)定制。您可分別采用約 2500 個(gè)或約 4900 個(gè) LUT 寄存器對來實(shí)現(xiàn)單或雙精度 FPU,也可在無需添加 邏輯的情況下運(yùn)行具有浮點(diǎn)仿真功能的軟件應(yīng)用。

  性能水平可預(yù)先選擇:選擇適當(dāng)?shù)?FPU,或?qū)嵤┰O(shè)計(jì)并確定軟件仿真是否滿足要求;如未滿足,可升級軟 FPU。

  顯而易見,如果能從軟件仿真中獲得足夠的性能,則無需 FPU。但如果需要更高的性能,可使用 APU-FPU。如果應(yīng)用需要 FPU 或正在使用與之配套的編譯器,可選擇雙精度 FPU。如果應(yīng)用僅需單精度運(yùn)算且您正在使用賽靈思 GNU 編譯器,則單精度 FPU 會(huì)降低邏輯要求。謹(jǐn)記,如果選擇雙精度 FPU,它將執(zhí)行單精度運(yùn)算,然后將運(yùn)算結(jié)果進(jìn)行四舍五入,以提供單精度 FPU 的精確度。

  典型性能增益

  當(dāng)您在評估是需要硬 FPU 還是軟 FPU 時(shí),應(yīng)首先確定代碼的浮點(diǎn)密集程度。代碼通常包括不同浮點(diǎn)、整數(shù)、存儲(chǔ)器以及邏輯運(yùn)算等。因此,盡管基準(zhǔn)可作為潛在性能提升的指示器,但運(yùn)行您自己的代碼會(huì)更好。

  表 1 列出了 400 MHz -5 FXT 440 處理器、軟件仿真以及與該處理器相連的 200 MHz 雙精度 APU-FPU 的基準(zhǔn)數(shù)據(jù),透過該表可清晰了解 APU-FPU 執(zhí)行浮點(diǎn)密集代代碼的性能表現(xiàn)。

  表中所列數(shù)據(jù)是賽靈思用于評估處理器浮點(diǎn)單元性能的一組基準(zhǔn)數(shù)據(jù)的子集。平均而言,軟 FPU 可比軟件仿真快 6 倍,而單精度 FPU 可比雙精度 FPU 快 13%。

  在浮點(diǎn)占主導(dǎo)地位的情況下,可通過優(yōu)化代碼來提高軟 FPU 的性能,以充分利用 FPU 管線。FIR 濾波器基準(zhǔn)就是一例很好的潛在性能增益。未經(jīng)優(yōu)化的代碼是典型的“教科書代碼”,雖便于閱讀,但大多數(shù) FPU 執(zhí)行時(shí)往往效率低下。然而,通過實(shí)施循環(huán)展開、最大限度地延長 FPU 寄存器中常數(shù)的保留時(shí)間,以及交叉存取其他代碼與浮點(diǎn)指令,設(shè)計(jì)方案的性能可得到顯著提高。在本例中,優(yōu)化濾波器代碼比未經(jīng)優(yōu)化的代碼快 3.8 倍,比軟件仿真快 30 倍。

  總之,-5 FXT 借助其 440 處理器可為嵌入式應(yīng)用提供眾多選擇。您可在有無 FPU 的情況下執(zhí)行設(shè)計(jì)方案、用性能較高的 FPU來替代軟件仿真技術(shù)、為 Virtex-5 FXT 量身定制處理能力資源,所有這些都是為了滿足您的最佳設(shè)計(jì)需求,讓“一切盡在您的掌握之中” 。

  * EDK 10.1 SP2 GNU 帶標(biāo)志的編譯器:-O3 -funroll-循環(huán)

  表 1——400 MHz 處理器與 200-MHz FPU 的典型浮點(diǎn)性能


上一頁 1 2 3 4 下一頁

關(guān)鍵詞: xilinx FPGA Virtex PowerPC

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉