新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 采用硬件加速發揮MicroBlaze處理能力

        采用硬件加速發揮MicroBlaze處理能力

        作者:Karsten Trott博士 賽靈思(德國慕尼黑) 現場應用工程師 時間:2010-03-09 來源:電子產品世界 收藏

          例如,使用位反轉IP,只需一個寫入信號即可。IP會一直很快運行,足以對的任何請求做出及時響應。

        本文引用地址:http://www.104case.com/article/106702.htm

          IP本身非常簡單。以下是摘錄 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總線的情況下添加這個IP,您必須對項目的MHS文件進行如下修改:
        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

          現在效率顯著提高。硬核僅在兩個周期內可完成位反轉操作:一個周期用于把數據寫入IP,另一個周期則負責讀回結果。處理2萬個位反轉操作現在只需0.8ms。

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

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

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



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 新兴县| 钦州市| 客服| 平顶山市| 合阳县| 米脂县| 柘城县| 兴仁县| 板桥市| 邵东县| 富蕴县| 敦化市| 昆山市| 津市市| 桃江县| 长葛市| 嘉善县| 龙川县| 拜泉县| 玉龙| 丹寨县| 墨竹工卡县| 闻喜县| 图木舒克市| 都昌县| 和顺县| 沙坪坝区| 长葛市| 海淀区| 龙井市| 曲松县| 商水县| 尖扎县| 和平区| 新巴尔虎左旗| 朝阳区| 普陀区| 吉隆县| 曲水县| 静乐县| 布尔津县|