《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 解決方案 > 采用Atmel可定制微控制器來優(yōu)化算法的設(shè)計(jì)

采用Atmel可定制微控制器來優(yōu)化算法的設(shè)計(jì)

2011-05-03

Atmel公司的CAP可定制控制器為這種挑戰(zhàn)提出了一種可行的解決方案。CAP是一塊基于微控制器的系統(tǒng)級(jí)芯片,能提供基本的處理能力,以及高密度的金屬可編程(MP)數(shù)字邏輯塊,這些塊可以進(jìn)行個(gè)性化,提供類似于DSP或其它專用的功能執(zhí)行硬件。CAP同時(shí)具有合理的開發(fā)周期與具有吸引力的單位批量價(jià)格的成本好處。專用CAP的開發(fā)流程包括基于開發(fā)板的仿真步驟,這個(gè)開發(fā)板使用高密度的FPGA來仿真算法執(zhí)行功能,這種功能隨后硬化在金屬可編程模塊中。

    從全球定位系統(tǒng)到音視頻媒體流處理,這些應(yīng)用都需要實(shí)時(shí)地執(zhí)行復(fù)雜的算法,很多這些算法都需要遵從定期更新的行業(yè)標(biāo)準(zhǔn)。工程師開發(fā)這些應(yīng)用面臨的挑戰(zhàn)是在單位成本、外形尺寸和功耗,以及嚴(yán)格的成本和開發(fā)時(shí)間約束下,優(yōu)化這些算法的執(zhí)行,這些產(chǎn)品通常是大批量生產(chǎn)。終端用戶產(chǎn)品必須能以合理的成本對處理算法進(jìn)行升級(jí)。

  硬件/軟件的權(quán)衡

  最佳算法實(shí)現(xiàn)的基本經(jīng)驗(yàn)是,硬件是為了實(shí)現(xiàn)更高的性能,軟件是為了實(shí)現(xiàn)靈活性。實(shí)際上,這種經(jīng)驗(yàn)很難以實(shí)際應(yīng)用。硬件的選擇受限于微控制器內(nèi)核的基本算法函數(shù),以及DSP內(nèi)核的乘法/累加和線性函數(shù)處理,雖然FPGA所具有更高靈活度,但其缺點(diǎn)是外形尺寸、功耗以及批量時(shí)的單位成本??蛇x的標(biāo)準(zhǔn)單元ASIC可以提供更高的性能,但是因?yàn)殚_發(fā)時(shí)間和成本而常常不能采用。

  軟件被移植到選用于硬件實(shí)現(xiàn)的微控制器或者M(jìn)CU/DSP組合上。一旦硬件/軟件的劃分完成以后,再要做出改變將非常難,而且非常耗時(shí),除非是基于FPGA進(jìn)行批量生產(chǎn)。通常,只有在應(yīng)用開發(fā)的最后階段軟件才可以運(yùn)行于目標(biāo)硬件,并確定處理算法的實(shí)現(xiàn)是否為最佳。

  CAP算法實(shí)現(xiàn)流程

  CAP使應(yīng)用開發(fā)工程師能獲得FPGA和ASIC兩者的優(yōu)點(diǎn)。CAP應(yīng)用開發(fā)周期的第一階段使用基于FPGA的庫和工具來實(shí)現(xiàn)算法的初步硬件/軟件劃分,然后將基于硬件的功能映射到類似于DSP的架構(gòu),或者在FPGA中實(shí)現(xiàn)的其他處理單元。同時(shí),微控制器對基于軟件的算法處理進(jìn)行編譯,微控制器可以在其地址空間中看到FPGA/MP模塊,并采用分布式DMA架構(gòu)優(yōu)化功能和存儲(chǔ)器模塊之間的數(shù)據(jù)流。圖1顯示了硬件/軟件劃分以及使用IP模塊庫來實(shí)現(xiàn)算法的整個(gè)步驟,IP模塊包含硬件模塊以及他們相關(guān)的軟件驅(qū)動(dòng)程序。
 

                                                       圖1:CAP算法硬件/軟件劃分和實(shí)現(xiàn)流程。

  在硬件上,首先利用IP庫或FPGA提供商的工具來對算法模塊進(jìn)行綜合;然后這些再與來自FPGA提供商的庫的DSP或類似功能模塊進(jìn)行綜合;最后的步驟是將這些高層的結(jié)構(gòu)映射到基本的FPGA架構(gòu)上,以在CAP開發(fā)板上配置FPGA。

  在軟件上,算法所要求的IP模塊被編譯,然后與Atmel公司的低層器件驅(qū)動(dòng)程序庫鏈接起來,這些器件驅(qū)動(dòng)程序處理多個(gè)外設(shè)阻止的操作以及CAP SoC的外部接口。如果有要求,該代碼可以鏈接到操作系統(tǒng)、用戶界面以及頂層控制模塊來實(shí)現(xiàn)這個(gè)系統(tǒng)的運(yùn)行。全部的代碼組被加載到用于微控制器內(nèi)核的程序存儲(chǔ)器中,微控制器內(nèi)核是CAP的中心架構(gòu)單元。

  CAP開發(fā)板的基本架構(gòu)如圖2所示。設(shè)備的固定部分是在CAP芯片中,它以標(biāo)準(zhǔn)的微控制器加片上存儲(chǔ)器、外設(shè)和接口實(shí)現(xiàn)的,所有這些在圖中顯示為外部連接。各種存儲(chǔ)器都可以連接到外部總線接口(EBI)。


 

圖2:CAP開發(fā)板。

  開發(fā)中算法的硬件部分通過其配置存儲(chǔ)器映射到FPGA中,軟件被加載到微控制器所選擇的外部或內(nèi)部程序存儲(chǔ)器中。這樣,所配置的開發(fā)板以接近運(yùn)行速度仿真最后的CAP器件,包括非常難以進(jìn)行仿真的多任務(wù)處理進(jìn)程間通信和中斷。這種仿真步驟使算法實(shí)現(xiàn)能在真實(shí)使用條件下徹底調(diào)試。它還使可以利用衡量標(biāo)準(zhǔn)來確定最初的硬件/軟件劃分以及之后不同模塊的綜合/編譯是否是最優(yōu)化的。如果要求改進(jìn),這些可以使用前面介紹的相同設(shè)計(jì)流程來實(shí)現(xiàn),除了延長開發(fā)時(shí)間外,并不會(huì)增加額外的成本。可以通過硬件/軟件的分割以及硬件/軟件實(shí)現(xiàn)的多次設(shè)計(jì)迭代來獲得最佳的設(shè)計(jì)。

  CAP金屬編程和制造流程

  一旦所開發(fā)的設(shè)備的功能被固定下來,對FPGA進(jìn)行編程所使用的最終RTL代碼被映射到(由Ateml公司或授權(quán)的第三方設(shè)計(jì)公司)金屬層來對CAP金屬可編程模塊進(jìn)行個(gè)性化。苛刻的布局后仿真能確保金屬編程CAP的功能與仿真版本的功能相同。

  原型很快地生產(chǎn)出來,應(yīng)用開發(fā)人員可以對設(shè)備的硬件/軟件功能進(jìn)行最后的驗(yàn)證,特別是用來檢查算法是否是最佳的。在最糟糕的情況下,如果原型并不令人滿意,從仿真階段的額外返工成本和時(shí)間是合理的,遠(yuǎn)遠(yuǎn)低于標(biāo)準(zhǔn)單元ASIC的完全掩模替代的成本和時(shí)間。在原型得到批準(zhǔn)后,便開始個(gè)性化CAP設(shè)備的批量生產(chǎn),使用原型生產(chǎn)的相同流程。

  設(shè)計(jì)師根據(jù)現(xiàn)場反饋,并根據(jù)任何數(shù)據(jù)處理算法的升級(jí),基于在金屬編程之前開發(fā)板的最終FPGA配置的修改,從而可以快速開發(fā)出基于CAP的設(shè)備改進(jìn)版本,并比最初的版本成本更低。

  本文結(jié)論

  Atmel公司的CAP可定制化微控制器解決了復(fù)雜算法優(yōu)化的挑戰(zhàn)。特別是,它使得算法實(shí)現(xiàn)的硬件/軟件分割能在接近運(yùn)算速度和實(shí)際使用條件下進(jìn)行仿真。然后,所選擇的實(shí)現(xiàn)被硬化到金屬可編程模塊中,這個(gè)模塊能提供最佳的性能和功耗,并且非常具有吸引力的批量單位成本。 在不需要額外開發(fā)成本的情況下可以對算法實(shí)現(xiàn)多次迭代設(shè)計(jì),以確定哪一個(gè)是最優(yōu)的。
 

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時(shí)通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。