為嵌入式處理設(shè)計選擇合適的開發(fā)工具
如果問使用嵌入式開發(fā)工具的用戶,他們需要什么功能來滿足其下一代終極處理設(shè)計的需要,他們必然會回答:“性能和先進的處理功能?!?為了滿足嵌入式環(huán)境的要求,工程師必須設(shè)法從現(xiàn)有大多數(shù)成本經(jīng)濟的器件中一點點地挖掘出性能,并且,他們在設(shè)計和調(diào)試兩個方面都需要方便使用的工具,因此,選擇一個性能強大具有先進的處理功能的開發(fā)工具對工程師的設(shè)計工作至關(guān)重要。
xilinx platform studio( xps)是一款普遍使用的嵌入式開發(fā)套件( edk),其升級版xps 8.2版本新增加了獨特的功能和性能,可進一步提高嵌入式系統(tǒng)設(shè)計的效率,通過這一新版本,工程師可以獲得針對目前業(yè)界速度非常快的 fpga產(chǎn)品,如virtex-5 lx器件的嵌入式處理支持。下面將介紹xps 8.2版本的一些新功能和增強的性能。
xps 8.2增加了新型的高度最優(yōu)化的microblaze軟處理核,支持一體化的powerpc浮點單元(fpu),并且增加了對virtex-5 lx最新器件的支持。與其純粹利用單個處理器的時鐘頻率來衡量性能提升的程度,嵌入式設(shè)計工程師不如利用集成了更快速的硬處理核、靈活的軟處理核及附加的協(xié)處理引擎所有優(yōu)勢的xps套件,不論它們是fpu、其他ip或用于卸載和分配工作負載的附加的處理核。此外,新型的xps增加了大量的增強功能、調(diào)試可視性,并在使用方便性上進行了改進。
新型器件和處理支持
virtex-5 lx器件是在65nm的三柵極氧化層架構(gòu)上集成了高級系統(tǒng)功能,從而能夠完全支持嵌入式處理。與上一代fpga相比,virtex-5技術(shù)把半導體器件的性能提高了30%,與此同時,功耗降低了30%以上。靈活的處理ip外設(shè)容許工程師精確地構(gòu)建需要的定制解決方案,而不必增加額外的器件成本或在昂貴但不需要的器件選擇上造成浪費。
為了在高性能virtex-5 lx器件中最有效地利用嵌入式設(shè)計,賽靈思優(yōu)化了microblaze用于65nm工藝的軟處理核,并且增加了一些特殊的增強功能,以實現(xiàn)每條指令較少的周期(cpi)。賽靈思的microblaze 5.0處理器配備5級管線及可選的4或8字高速緩沖存儲器以提升性能。新型的microblaze嵌入式處理器與為初期的實例編寫的代碼后向兼容,所以,工程師不會因處理器的退化而遇到麻煩。那些采用spartan系列fpga進行嵌入式設(shè)計的工程師們可以繼續(xù)沿用現(xiàn)有的microblaze 4.0核,這個核已經(jīng)針對高性能應(yīng)用進行了優(yōu)化,而且同時擁有最小的占位面積。
實際上,在基系統(tǒng)生成器(base system builder)設(shè)計向?qū)?nèi),platform studio工具套件自動地針對合適的fpga器件把優(yōu)化的microblaze核進行例示。除非工程師想手工完成這個過程,否則,要讓設(shè)計向?qū)槟銉?yōu)化核配置以加速設(shè)計。工程師不需要僅僅為了利用一個更快的virtex-5器件和較高性能的microblaze處理器,就為預(yù)存的設(shè)計或代碼“設(shè)置端口”。
性能和調(diào)試可視性
此外,使總體嵌入式系統(tǒng)性能最大化的一個方法是利用協(xié)處理的概念。利用那些包含浸入powerpc 405處理器核的virtex-4器件,platform studio 8.2版本引入了對實現(xiàn)fpu的支持。通過在并行fpga架構(gòu)中例示fpu性能,就可以實現(xiàn)重大的性能改進。
隨著嵌入式系統(tǒng)變得更為復雜,調(diào)試工具需要提供更高級別的可視性。因為硬件和軟件組成部分之間的傳統(tǒng)分區(qū)是模糊的,工程師再也不能僅僅依賴于硬件工具來調(diào)試硬件及用軟件工具來調(diào)試代碼,要利用在器件、處理、協(xié)處理和軟件指令的硬件實現(xiàn)上的進展。
作為引入“平臺調(diào)試”的第一步,賽靈思已經(jīng)集成了硬件和軟件調(diào)試器,以提供系統(tǒng)級的觀察并減少硬件和軟件工程師之間的矛盾。一體化的chipscope pro硬件調(diào)試器交叉觸發(fā)gnu軟件調(diào)試器,反之亦然,工程師現(xiàn)在可以從兩個方向反復查找系統(tǒng)上的故障。如果在某一個硬件地址上或在某一個硬件事件之后發(fā)現(xiàn)一個問題,那么只需簡單地交叉觸發(fā)軟件調(diào)試器就能夠看到軟件正在做什么;如果系統(tǒng)在進入一些軟件功能“foo”之后死機,那么,交叉觸發(fā)硬件調(diào)試器就可以看到硬件正在干什么。
在平臺調(diào)試演變過程中,第二步就是利用安捷倫和賽靈思公司聯(lián)盟的成果。安捷倫公司提供一種e9524a microblaze追蹤工具集,它通過安捷倫的windows xp based邏輯分析儀能夠完全分解蹤跡,是一種利用數(shù)據(jù)流跟蹤和重構(gòu)microblaze程序執(zhí)行歷史的易于使用的解決方案(見圖1)。 圖1 安捷倫的microblaze跟蹤共具集 xilinx edk 8.2版提供的microblaze跟蹤核(mtc)在設(shè)計內(nèi)部進行例示,為安捷倫的蹤跡工具集提供可視性??梢圆东@實時代碼流,這些代碼流與來自周圍系統(tǒng)的測量值有關(guān)。通過打開高速緩沖存儲