在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > EDA/PCB > 設計應用 > SOC參數(shù)自動配置設計方法與功耗優(yōu)化

            SOC參數(shù)自動配置設計方法與功耗優(yōu)化

            作者: 時間:2012-10-29 來源:網絡 收藏

            ∥Synchronous FIFO.fifo _depth x fifo _width bit words。

            module dma _fifo (clk,rstp,din,writep,readp,dout ,emptyp,fullp);

            input clk;

            input rstp;

            input [15:0] din;

            input readp;

            input writep;

            output [15:0]dout;

            output emptyp;

            output fullp;

            reg emptyp;

            reg fullp;

            reg [15:0]dout;

            reg [ (DEPTH-1):0 ]  tail;

            reg [ (DEPTH-1):0 ]  head;

            reg [ (DEPTH-1):0 ]  count;

            reg [15:0 ] fifomem [0:MAX_COUNT];

            ……

            ∥Update FIFO memory。

            always @(posedge clk) begin

            if ( rstp==1′b0 writep==1′b1 fullp==1′b0)

            fifomem [head]= din [15:0];

            end

            ∥Update the head register。

            always @(posedge clk) begin

            if ( rstp==1′b1)

            head[1:0 ]=2′b0;

            else

            if (writep==1′b1 fullp==1′b0)

            head[1:0 ]=head[1:0 ] + 1;

            end

            ……

            在上述程序段中, din [15:0 ] 對應fifo_width=16 的情況, 如果在dma_top 模塊中用Vperl 語法例化了dma_fifo ( Instance(dmafifo);) ,那么Vperl把din[15:0]連接進dma_top ,并進而生成dma_top.v 代碼,即dma_top.v 的信號定義。

            Vperl 實際上是接管了模塊間的信號連接工作,使得設計師不用擔心改變對模塊間關系的影響。 另外,Vperl 的另一項優(yōu)點就是省去了每個HDL 文件中繁瑣的信號定義,避免因為信號定義引起的語法錯誤(比如信號忘記定義、信號名打錯等) ,大大加快源代碼的編寫速度。 當然,使用Vperl 需要遵循一定的語法。

            配置機制中,結合Eperl 和Vperl這兩種工具就可以由選定的參數(shù)組合地配置硬件結構。 對于軟件而言,由C 語言編寫的應用程序不需要修改,但是編譯器需要針對不同的執(zhí)行單元的配置增加減少指令并進行優(yōu)化。

            參數(shù)優(yōu)化

            一個 中包括了P1 , P2 , P3 , ..., Pn 等參數(shù)。每個參數(shù)的值都可以從一個有限集合中選取。 為了選擇最優(yōu)的參數(shù)值,也就是為了達到最優(yōu)的系統(tǒng)配置,使功耗、性能和面積達到合理的目標,需要進行參數(shù)優(yōu)化。 一種方法是運行一次仿真后,記錄下指令序列(trace) ,將不同的參數(shù)配置結合指令序列通過純軟件的行為分析器進行分析。 這種方法的優(yōu)勢是速度快。 但是在不同的結構參數(shù)下,指令序列差別很大,特別是當指令集都發(fā)生改變時,結果的可信度大大降低;而且行為分析器對一些動態(tài)參數(shù),比如動態(tài)電壓,對功耗的影響無法估計,所以可能不得不進行多次仿真來獲得較準確的功耗估計。 由于仿真時間一般較長,參數(shù)的優(yōu)化算法對設計周期的影響很大。

            參數(shù)的屬性

            設計中的定制概念不再是晶體管級的定制,而是體現(xiàn)在模塊級層面上,具體表現(xiàn)為系統(tǒng)的結構參數(shù)。 SOC 的系統(tǒng)參數(shù)具有一些屬性,如大多數(shù)系統(tǒng)參數(shù)是相互影響的,這些相關性必須在參數(shù)配置時予以考慮。 相關性可以區(qū)分為數(shù)值相關和性能相關。 參數(shù)自身也有單調性和層次性。

            數(shù)值相關

            兩參數(shù)的數(shù)值相關意味著一個參數(shù)的選擇限制了另一個參數(shù)的選擇范圍。 例如對于容量限制為64 ×8 bit s 的直接存儲器存取(DMA) 緩沖區(qū),可以緩沖64 個8 位數(shù)據(jù),但是當用于緩沖32 位數(shù)據(jù)時,只能放16 個數(shù)據(jù)。 在這里數(shù)據(jù)個數(shù)和數(shù)據(jù)格式是數(shù)值相關的。 再如可配置處理器的乘法器(MUL) 單元一般不會和乘累加器(MAC)單元一起出現(xiàn),因為兩者的功能是重疊的。 在進行參數(shù)選擇時,利用數(shù)值相關性可以去除一些不可能的參數(shù)值,縮小參數(shù)的選擇范圍。

            性能相關

            兩參數(shù)的性能相關意味著一個參數(shù)的改變會影響另一個參數(shù)的最優(yōu)選擇。性能相關是有方向性的,如果參數(shù)B 與A 性能相關, 則參數(shù)A 是B 的主動參數(shù),參數(shù)B 是A 的隨動參數(shù)。 在參數(shù)選擇時,可以先確定A 再確定B 。如寄存器的個數(shù)相關與MUL 單元相關意味著MUL 單元是主動參數(shù),而寄存器個數(shù)是隨動參數(shù)。 兩個參數(shù)也可能互相相關,也就是說參數(shù)A 和B 之間形成環(huán)路。 這時兩個參數(shù)必須同時調整才能得到最優(yōu)的方案。 例如高速緩存的組參數(shù)和每個緩存塊的容量參數(shù)的性能是相關的。 在進行參數(shù)選擇時,性能不相關的參數(shù)可以獨立選取最優(yōu)解。

            單調性

            很多參數(shù)對某一優(yōu)化目標而言是單調函數(shù)。 例如決定UART 緩沖區(qū)大小的參數(shù),對功耗這一優(yōu)化目標,一般是緩沖區(qū)越大功耗越大。 參數(shù)的方向性也可以縮小參數(shù)的選擇范圍。

            層次性

            模塊參數(shù)只影響模塊自身,比如Cache 容量、Cache 行大小和關聯(lián)組個數(shù)。 多個模塊參數(shù)可以形成一個系統(tǒng)參數(shù),比如從系統(tǒng)角度來看,Cache 失配率就是一個系統(tǒng)參數(shù)。 利用參數(shù)的層次性可以進行局部優(yōu)化。



            評論


            相關推薦

            技術專區(qū)

            關閉