<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 采用硬件加速發(fā)揮MicroBlaze處理能力

          采用硬件加速發(fā)揮MicroBlaze處理能力

          作者:Karsten Trott博士 賽靈思(德國(guó)慕尼黑) 現(xiàn)場(chǎng)應(yīng)用工程師 時(shí)間:2010-03-09 來源:電子產(chǎn)品世界 收藏

            例如,使用位反轉(zhuǎn)IP,只需一個(gè)寫入信號(hào)即可。IP會(huì)一直很快運(yùn)行,足以對(duì)的任何請(qǐng)求做出及時(shí)響應(yīng)。

          本文引用地址:http://www.ex-cimer.com/article/106702.htm

            IP本身非常簡(jiǎn)單。以下是摘錄 VHDL 代碼中的一段:

          architecture behavioral of
            fsl_bitrev is
            -- data value sent by microblaze:
            signal data_value :
          std_logic_vector(0 to 31) := (others=>'0');
          begin
            -- bitreversed value to write back:
          FSL_M_Data <= data_value;
          process(FSL_Clk)
          begin
            if rising_edge(FSL_CLK) then
               if (FSL_S_Exists = '1') then
                 -- create the bitreversed data:
             data_value(0) <= FSL_S_Data(31);
             data_value(1) <= FSL_S_Data(30);
             data_value(2) <= FSL_S_Data(29);
          ...
           data_value(30) <= FSL_S_Data(1);
           data_value(31) <= FSL_S_Data(0);
             end if;
          end if;
          end process;
          end architecture behavioral;
          如果在兩者之間沒有使用 FSL總線的情況下添加這個(gè)IP,您必須對(duì)項(xiàng)目的MHS文件進(jìn)行如下修改:
          BEGIN microblaze
           ...
           PARAMETER C_FSL_LINKS = 1
           ...
          PORT FSL0_S_EXISTS = net_vcc
           PORT FSL0_S_DATA = FSL0_S_DATA
           PORT FSL0_M_DATA = FSL0_M_DATA
           PORT FSL0_M_WRITE = FSL0_M_EXISTS
           PORT FSL0_M_Full = net_gnd
          END
          BEGIN fsl_bitrev
          PARAMETER INSTANCE = fsl_bitrev_0
           PARAMETER HW_VER = 1.00.a
           PORT FSL_S_DATA = FSL0_M_DATA
           PORT FSL_S_EXISTS = FSL0_M_EXISTS
           PORT FSL_M_Data = FSL0_S_DATA
           PORT FSL_M_Full = net_gnd
           PORT FSL_Clk = clk_50_0000MHz
          END

            現(xiàn)在效率顯著提高。硬核僅在兩個(gè)周期內(nèi)可完成位反轉(zhuǎn)操作:一個(gè)周期用于把數(shù)據(jù)寫入IP,另一個(gè)周期則負(fù)責(zé)讀回結(jié)果。處理2萬個(gè)位反轉(zhuǎn)操作現(xiàn)在只需0.8ms。

            與最初采用的算法相比,效率提升了110倍。與效率最高的最新軟件算法相比,此算法仍使系統(tǒng)性能提升了11倍。

            當(dāng)然,本例只有在您的CPU不提供位反轉(zhuǎn)尋址功能的情況下才有效。大多數(shù) DSP都有此功能,但大多數(shù)微控制器都不具備這個(gè)功能。具備增加這個(gè)功能的特性可大幅度提升這種算法的處理速度。

            雖然修改不大,但收效十分明顯。我們甚至將代碼壓縮到兩個(gè)字大小。當(dāng)然,現(xiàn)在硬件要求增加一些芯片。不過以此為代價(jià)獲得比任何標(biāo)準(zhǔn)微控制器更高的速度,是值得的。



          評(píng)論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();