FC2カウンター FPGAの部屋 ISE10.1iのXPower Analyzerを使ってみる5
FC2ブログ

FPGAやCPLDの話題やFPGA用のツールの話題などです。 マニアックです。 日記も書きます。

FPGAの部屋

FPGAの部屋の有用と思われるコンテンツのまとめサイトを作りました。Xilinx ISEの初心者の方には、FPGAリテラシーおよびチュートリアルのページをお勧めいたします。

ISE10.1iのXPower Analyzerを使ってみる5

今回は、Virtex4-FX12で、かなり限界までリソースを使ってみた時に消費電力、ジャンクションパワーがどうなるか見てみることにした。
内部のFFとIOをほとんど使用するシフトレジスタのお化けを作った。途中の信号をFPGA外部へ出力する。ソースを下に示す。

module XPower_test(
     input wire clk,
     input wire reset,
    input wire code_in,
    output wire code_out,
    output reg [199:0] test_out
    );

    parameter num_of_d_ff = 10000;
    parameter k_val = num_of_d_ff/200;
    reg [num_of_d_ff-1 :0] d_ff;
    integer i,j;
    
    always @(posedge clk) begin
        if (reset)
            d_ff <= 0;
        else begin
            for (i=0; i<num_of_d_ff; i=i+1) begin
                if (i==0)
                    d_ff[0] <= code_in;
                else
                    d_ff[i] <= d_ff[i-1];
            end
        end
    end
    
    assign code_out = d_ff[num_of_d_ff-1];
    
    always @(posedge clk)  begin
        for (j=0; j<200; j=j+1) begin
            test_out[j] <= d_ff[j*k_val];
        end
    end
endmodule


使用するFPGAはVirtex4のxc4vfx12-10sf363だ。これをインプリメントするのだが、最初はスライスのシフトレジスタ機能を使われて実際のFFの使用率が少なくなってしまった。これをやめるためにXSTのプロパティからHDL Options のShift Register Extraction のチェックを外した。これできちんとFFにアサインされるようになった。
XPower_26_090209.png

ちなみに動作周波数は300MHzに設定した。
下がMAPのリポート。LUT使用率は1%。FF使用率は93%。IO使用率は85%。

Design Information
------------------
Command Line   : map -ise H:/HDL/FndtnISEWork/test/XPower_test/XPower_test.ise
-intstyle ise -p xc4vfx12-sf363-10 -cm area -pr off -k 4 -c 100 -o
XPower_test_map.ncd XPower_test.ngd XPower_test.pcf 
Target Device  : xc4vfx12
Target Package : sf363
Target Speed   : -10
Mapper Version : virtex4 -- $Revision: 1.46.12.2 $
Mapped Date    : SAT 7 FEB 21:38:30 2009

Design Summary
--------------
Number of errors:      0
Number of warnings:    0
Logic Utilization:
  Number of Slice Flip Flops:        10,200 out of  10,944   93%
  Number of 4 input LUTs:                20 out of  10,944    1%
Logic Distribution:
  Number of occupied Slices:          5,151 out of   5,472   94%
    Number of Slices containing only related logic:   5,151 out of   5,151 100%
    Number of Slices containing unrelated logic:          0 out of   5,151   0%
      *See NOTES below for an explanation of the effects of unrelated logic.
  Total Number of 4 input LUTs:          20 out of  10,944    1%
  Number of bonded IOBs:                204 out of     240   85%
  Number of BUFG/BUFGCTRLs:               1 out of      32    3%
    Number used as BUFGs:                 1

Peak Memory Usage:  237 MB
Total REAL time to MAP completion:  13 secs 
Total CPU time to MAP completion:   12 secs 


FPGA Editorの図を下に示す。全体を満遍なく使用している。
XPower_29_090209.png

これで例のようにXPowerを起動する。
XPower_27_090209.png

そうすると、デフォルトのトグル率で全体の消費電力は3.7W程度で、ジャンクション温度も100度を越えてしまう。これでは使えない。
Airflow(LFM) を500にすると、ジャンクション温度は72.4度Cに下がるが、MAX Ambient が37.6度Cなので怪しいかも?ファンつきのヒートシンクをつける必要がありそうだ。
XPower_28_090209.png

さらにAirflow(LFM) を0に戻して、トグル率100% 、出力付加条件を20pFと、条件をきつくするとどうなるかを見てみる。
そうすると、全体の消費電力が5.5W程度になって、ジャンクション温度も125度Cまで上昇してしまう。本当にこれが限界だろう。たくさんのFFやIOを使用しているので、電力の上昇率も高い。
XPower_30_090209.png

今回はVirtex4を限界近くまで、いじめてみた。これでとりあえずXPowerは終わりかな?と思う。ソースは全部さらしてあるので、試してみたい方のためにUCFを下に示す。

NET "clk" TNM_NET = clk;
TIMESPEC TS_clk = PERIOD "clk" 3.333 ns HIGH 50%;


IOの位置はISEにお任せしている。
  1. 2009年02月09日 05:10 |
  2. その他のXilinxのツールについて
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック URL
https://marsee101.blog.fc2.com/tb.php/1035-98385156
この記事にトラックバックする(FC2ブログユーザー)