FC2カウンター FPGAの部屋 Virtex5のお勉強

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

FPGAの部屋

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

Virtex5, Virtex4, Spartan3Eのインプリメント結果4(IOBの違い)

Virtex5, Virtex4, Spartan3Eのインプリメント結果3(SLICEL)ではSLICELを比較したが、今度はIOBの違いを検証してみようと思う。
下はFPGA Editorで見たSpartan3EのIOB、ddr_dq<0>だ。
Spa3E_FPGA_E_ddr_q0_IOB_070318.png

上のIOB、ddr_dq<0>をダブルクリックすると下のような表示が開く。
Spa3E_FPGA_E_ddr_q0_2_IOB_070318.png

出力では出力用DDRレジスタと出力をイネーブルする信号のDDRレジスタを使用してる。入力はクロックの立下りエッジ用のFFのみを使用しているが、本当であればfall, rise両方の入力用FFを使っている。riseの方は上のモジュールで接続していないので、なくなってしまったようだ。本来ならばIOBのFFを全て使う予定なのだ。

次にVirtex4のIOBだ。
V4_FPGA_Editor_ddr_q0_070318.png

Virtex4からバッファと入力用FFと出力用FFに分かれている。
次に入力用FFの ddr_sdram_cont_inst/read_data_module_inst/dq_fall<0>を見てみよう。
V4_FPGA_E_ddr_q0_ILOGIC_070318.png

入力遅延なしで入力用FFに入っている。
次に出力用FFの ddr_sdram_cont_inst/write_data_module_inst/ddr_out<0> を見てみよう。
V4_FPGA_E_ddr_q0_OLOGIC_070318.png

Spartan3Eの出力用DDRレジスタと同様の回路になっている。あたりまえか???

次にVirtex5だ。Virtex4と同様に、入力用FFの ddr_sdram_cont_inst/read_data_module_inst/dq_fall<0>と出力用FFの ddr_sdram_cont_inst/write_data_module_inst/ddr_out<0> があるが、間にODELAYがある。
V5_FPGA_Editor_ddr_q0_070318.png

上の入力用FFと出力用FFを拡大するとこうなる。
V5_FPGA_Editor_ddr_q0_2_070318.png

まずは、入力用FFの ddr_sdram_cont_inst/read_data_module_inst/dq_fall<0>の中身は下のようだ。
V5_FPGA_E_ddr_q0_ILOGIC_070318.png

真ん中から、やや右下にあるのがDDRのFFのようだ。そのうちの1つにエッジしか使用していない。
次に、出力用FFの ddr_sdram_cont_inst/write_data_module_inst/ddr_out<0>の中身を見てみる。
V5_FPGA_E_ddr_q0_OLOGIC_070318.png

中のFFが2つともDDRになっている。これはSpartan3E、Virte4と同じ回路だ。(当たり前)

今後はODELAYを使ってみたい。それとISERDESとOSERDESのインスタンスがどのようになるのかも興味がある?

2007/03/25: 追記:ODELAYでなくてIODELAYでした。
Virtex5のユーザーズガイドによるとILOGIC/ISERDESとOLOGIC/OSERDESの両方または、いずれか一方と接続できるそうです。
  1. 2007年03月24日 20:29 |
  2. Virtex5のお勉強
  3. | トラックバック:0
  4. | コメント:0

Virtex5, Virtex4, Spartan3Eのインプリメント結果3(SLICEL)

Virtex5, Virtex4, Spartan3Eのインプリメント結果2(分散RAM)では分散RAMのFPGA Editorでの見え方を比較したが、今度はロジックとして使用したLUT(LookUp Table)を比較してみようと思う。SLICELというスライスだ。

まずはSpartan3Eはこのようになる。これはN27という中間のインスタンスだ。LUTから出力に出ている。
Spa3E_FPGA_Editor_N27_070318.png


次にVirtex4はこうだ。N31という中間のインスタンスだ。同様にLUTから出力に出ている。
V4_FPGA_Editor_N31_070318.png

以前のSLICEMとの差はLUTのようだ。

次にVirtex5はこのようだ。N31という中間のインスタンスだ。同様にLUTから出力に出ている。
V5_FPGA_Editor_N31_070318.png

かなり配線が来ていて、6入力LUTを有効に使用しているようだ。上の2つのLUTは結合されてより大きなロジックを担当している。出力はin_port<3>となっている。3つ目のLUT出力のN31も上の2つのLUTの入力として使われている。これはLCD4HEXDisp.vファイルにある、PicoBlazeプロセッサの入力ポートのセレクタとして、使われているようだ。

    // 入力ポート用のセレクタ
    always @* begin
        if (read_strobe==1'b1) begin
            case (port_id)
                8'h00 : in_port <= input_data_latch;
                8'h01 : in_port <= {6'b000000, ope_is_idle, int_cnt_is_zero};
                8'h02 : in_port <= upper_4hex_data[15:8];
                8'h03 : in_port <= upper_4hex_data[7:0];
                8'h04 : in_port <= lower_4hex_data[15:8];
                8'h05 : in_port <= lower_4hex_data[7:0];
                default : // 6
                    in_port <= {cursor_position, 1'b0, cursor_move, left_level, right_level};
            endcase
        end else
            in_port <= 8'bxxxx_xxxx;
    end


複雑なセレクタでは6入力LUTが有効に使われるのだろう。
  1. 2007年03月21日 10:27 |
  2. Virtex5のお勉強
  3. | トラックバック:0
  4. | コメント:0

Virtex5, Virtex4, Spartan3Eのインプリメント結果2(分散RAM)

Virtex5, Virtex4, Spartan3Eのインプリメント結果でMAPログの比較を行った。今度はFPGA Editorで見た分散RAM(LUTを使った小規模のRAM)とロジックとして使用したLUT(LookUp Table)、それにIOBを比べてみようと思う。
まずは分散RAMから見ていこう。これはDDR SDRAMコントローラのaddr_fifo.vのFIFOに使用している分散RAMを見ていこう。
まずはSpartan3Eの分散RAMを下に示す。
Spa3E_FPGA_Editor_out_sig0_070318.png

これは、このISEのVerilogファイルプロジェクトにあるaddr_fifo.vの中の分散RAMだ。RAM16X1DがDual Portの分散RAMである。それをwrite pointer, read pointerをつけて、16深度のFIFOとして使用している。16深度なので4本の読み出しアドレスと4本の書き込みアドレスを持っている。下にVerilogファイルでの分散RAMのインスタンシエーションコードを示す。

    generate
    genvar i;
        for (i=USER_INPUT_ADDRESS_WIDTH-1; i>=0; i=i-1) begin: ADDR_RAM
            RAM16X1D #(
                .INIT(16'h0000) // Initial contents of RAM
            ) RAM16_INST (
                .DPO(out_sig[i]),
                .SPO(),
                .A0(wp[0]),
                .A1(wp[1]),
                .A2(wp[2]),
                .A3(wp[3]),
                .D(din[i]),
                .DPRA0(rp[0]),
                .DPRA1(rp[1]),
                .DPRA2(rp[2]),
                .DPRA3(rp[3]),
                .WCLK(clk),
                .WE(we)
            );
        end
    endgenerate


上図のスライス内部構造を見ると上の4本が書き込みアドレス(wp)で、下のまとまっている4本が読み出しアドレス(rp)だ。真ん中のGLOBAL_LOGIC0は入力データだ。アドレスは0固定のため、いつも0が入っている。下から2番目がCLK、一番下がWrite Enableである。右側に出ているのは出力だ。分散RAMを実装できるのはSLICEMのようだ。スライスにはSLICEMとロジックとROMにしか使用できないSLICELがあるようだ。
スライスには2つの分散RAMエレメントがあるが、アドレスが使用されているので2つとも使用してしまうようだ。

次はVirtex4の分散RAMを見てみよう。
V4_FPGA_Editor_out_sig0_070318.png

使用していないD-FFの前のマルチプレクサが違っているみたいだが、分散RAM部分は同じようだ。1SLICE=2LUTsも変化がない。

次にVirtex5だ。
V5_FPGA_Editor_out_sig0_070318.png

かなりSLICEの中の論理が増えているようだ。1SLICEの中にLUTとFFのペアが4組ある。上の図は分散RAMを実装しているのでSLICEMだ。LUTにアドレスが6本あるので、4本使用していて、2本はGNDに接続されている。Virtex5で分散RAMを実装する際には64深度にしたほうが使い切れて良いだろう。
  1. 2007年03月20日 20:21 |
  2. Virtex5のお勉強
  3. | トラックバック:0
  4. | コメント:0

Virtex5, Virtex4, Spartan3Eのインプリメント結果

Virtex5, Virtex4, Spartan3EのDDR SDRAMコントローラのインプリメント(MAP)結果を比較してみることにした。
まずは Virtex5 でDDR SDRAMコントローラをインプリメントしてみた。ここで Virtex4, Virtex5 用にインプリメントしたものは、ターゲット基板がないので、DQの遅延値は0となっているので、実際には動作しない。比較のためにインプリメントするだけである。
Spartan3Eは Spartan3E Stater Kit 用にパッドを固定してあるが、Virtex5,Virtex4ではパッドは固定していない。クロックの最大遅延のみを20ns, デューティ比を50%に設定してある。
おまけに、Virtex5でインプリメントを行った時に、dcm100.xawを入れたらプロジェクトがおかしくなってしまった。具体的にはXSTの論理合成が終わったよ。というチェックマークがどうやってもつかなくなってしまった。もう一度作り直してもだめだったので、下のようなVerilogファイルを作って3つのFPGAのインプリメントを行った。

// dcm100.v

`default_nettype none
`timescale 1ns / 1ps

module dcm100 (CLKIN_IN, RST_IN, CLK0_OUT, CLK2X_OUT, LOCKED_OUT);

    input CLKIN_IN;
    input RST_IN;
    output CLK0_OUT;
    output CLK2X_OUT;
    output LOCKED_OUT;
    
    wire CLKIN_IN;
    wire RST_IN;
    wire CLK0_OUT;
    wire CLK2X_OUT;
    wire LOCKED_OUT;
    wire clk_node, clk_bufg;
    wire clk2x_node;
    
    DCM DCM_INST1 (
        .CLKIN(CLKIN_IN),
        .CLKFB(clk_bufg),
        .DSSEN(1'b0),
        .PSINCDEC(1'b0),
        .PSEN(1'b0),
        .PSCLK(1'b0),
        .RST(1'b0), // リセットごとにDCMのロックが外れないようにgndにしておく
        .CLK0(clk_node),
        .CLK90(),
        .CLK180(),
        .CLK270(),
        .CLK2X(clk2x_node),
        .CLK2X180(),
        .CLKDV(),
        .CLKFX(),
        .CLKFX180(),
        .LOCKED(LOCKED_OUT),
        .PSDONE(),
        .STATUS()
    );
    defparam DCM_INST1.CLKIN_PERIOD = 20.0;
    defparam DCM_INST1.DLL_FREQUENCY_MODE = "LOW";
    defparam DCM_INST1.DUTY_CYCLE_CORRECTION = "TRUE";
    defparam DCM_INST1.CLKDV_DIVIDE = 16.0;
    defparam DCM_INST1.PHASE_SHIFT = 0;
    defparam DCM_INST1.CLKOUT_PHASE_SHIFT = "NONE";
    defparam DCM_INST1.STARTUP_WAIT = "FALSE";
    defparam DCM_INST1.FACTORY_JF = 16'hFFFF;
    
    BUFG CLK_BUFG_INST (
        .I(clk_node),
        .O(clk_bufg)
    );
    assign CLK0_OUT = clk_bufg;
    
    BUFG CLK_BUF_2X_INST (
        .I(clk2x_node),
        .O(CLK2X_OUT)
    );
endmodule


インプリメント(MAP)結果を見るとSpartan3Eは、下の結果になった。

Target Device  : xc3s500e
Target Package : fg320
Target Speed   : -4
Mapper Version : spartan3e -- $Revision: 1.36 $
Mapped Date    : SUN 18 MAR 20:14:54 2007

Design Summary
--------------
Number of errors:      0
Number of warnings:    2
Logic Utilization:
  Number of Slice Flip Flops:         575 out of   9,312    6%
  Number of 4 input LUTs:             517 out of   9,312    5%
Logic Distribution:
  Number of occupied Slices:                          581 out of   4,656   12%
    Number of Slices containing only related logic:     581 out of     581  100%
    Number of Slices containing unrelated logic:          0 out of     581    0%
      *See NOTES below for an explanation of the effects of unrelated logic
Total Number of 4 input LUTs:            804 out of   9,312    8%
  Number used as logic:                517
  Number used as a route-thru:          63
  Number used for Dual Port RAMs:      172
    (Two LUTs used per Dual Port RAM)
  Number used for 32x1 RAMs:            52
    (Two LUTs used per 32x1 RAM)
  Number of bonded IOBs:               66 out of     232   28%
    IOB Flip Flops:                    49
  Number of ODDR2s used:               38
    Number of DDR_ALIGNMENT = NONE     38
  Number of Block RAMs:                1 out of      20    5%
  Number of GCLKs:                     6 out of      24   25%
  Number of DCMs:                      3 out of       4   75%

Total equivalent gate count for design:  113,976
Additional JTAG gate count for IOBs:  3,168
Peak Memory Usage:  165 MB


次にVirtex4は下のようになった。

Target Device  : xc4vlx15
Target Package : sf363
Target Speed   : -10
Mapper Version : virtex4 -- $Revision: 1.36 $
Mapped Date    : SUN 18 MAR 12:50:36 2007

Design Summary
--------------
Number of errors:      0
Number of warnings:    4
Logic Utilization:
  Number of Slice Flip Flops:         577 out of  12,288    4%
  Number of 4 input LUTs:             609 out of  12,288    4%
Logic Distribution:
  Number of occupied Slices:                          608 out of   6,144    9%
    Number of Slices containing only related logic:     608 out of     608  100%
    Number of Slices containing unrelated logic:          0 out of     608    0%
      *See NOTES below for an explanation of the effects of unrelated logic
Total Number of 4 input LUTs:            896 out of  12,288    7%
  Number used as logic:                609
  Number used as a route-thru:          63
  Number used for Dual Port RAMs:      172
    (Two LUTs used per Dual Port RAM)
  Number used for 32x1 RAMs:            52
    (Two LUTs used per 32x1 RAM)
  Number of bonded IOBs:               66 out of     240   27%
  Number of BUFG/BUFGCTRLs:             6 out of      32   18%
    Number used as BUFGs:                6
    Number used as BUFGCTRLs:            0
  Number of FIFO16/RAMB16s:             1 out of      48    2%
    Number used as FIFO16s:              0
    Number used as RAMB16s:              1
  Number of DCM_ADVs:                   3 out of       4   75%

Total equivalent gate count for design:  93,429
Additional JTAG gate count for IOBs:  3,168
Peak Memory Usage:  210 MB


最後にVirtex5は下のようになった。

Target Device  : xc5vlx30
Target Package : ff324
Target Speed   : -1
Mapper Version : virtex5 -- $Revision: 1.36 $
Mapped Date    : SUN 18 MAR 13:10:3 2007

Design Summary
--------------
Number of errors:      0
Number of warnings:    3
Slice Logic Utilization:
  Number of Slice Registers:                   584 out of  19,200    3%
    Number used as Flip Flops:                 584
  Number of Slice LUTs:                        692 out of  19,200    3%
    Number used as logic:                      561 out of  19,200    2%
      Number using O6 output only:             476
      Number using O5 output only:              56
      Number using O5 and O6:                   29
    Number used as Memory:                     124 out of   5,120    2%
      Number used as Dual Port RAM:            106
        Number using O6 output only:             6
        Number using O5 output only:            34
        Number using O5 and O6:                 66
      Number used as Single Port RAM:           18
        Number using O6 output only:            18
    Number used as exclusive route-thru:         7
  Number of route-thrus:                        64 out of  38,400    1%
    Number using O6 output only:                63
    Number using O5 output only:                 1

Slice Logic Distribution:
  Number of occupied Slices:                   306 out of   4,800    6%
  Number of LUT Flip Flop pairs used:          881
    Number with an unused Flip Flop:           297 out of     881   33%
    Number with an unused LUT:                 189 out of     881   21%
    Number of fully used LUT-FF pairs:         395 out of     881   44%
    Number of unique control sets:              47

  A LUT Flip Flop pair for this architecture represents one LUT paired with
  one Flip Flop within a slice.  A control set is a unique combination of
  clock, reset, set, and enable signals for a registered element.
  The Slice Logic Distribution report is not meaningful if the design is
  over-mapped for a non-slice resource or if Placement fails.

IO Utilization:
  Number of bonded IOBs:                        66 out of     220   30%
    IOB Flip Flops:                             70

Specific Feature Utilization:
  Number of BlockRAM/FIFO:                       1 out of      32    3%
    Number using BlockRAM only:                  1
    Total primitives used:
      Number of 18k BlockRAM used:               1
    Total Memory used (KB):                     18 out of   1,152    1%
  Number of BUFG/BUFGCTRLs:                      6 out of      32   18%
    Number used as BUFGs:                        6
  Number of DCM_ADVs:                            3 out of       4   75%

Total equivalent gate count for design:  119,969
Additional JTAG gate count for IOBs:  3,168
Peak Memory Usage:  403 MB


下の各FPGAごとの占有領域数などの比較表を示す。
FPGA3_table_070318.png

この表を見るとSpartan3よりもVirtex4の方がLUTを使っているようだ。Virtex5は4入力LUTから6入力LUTに変更されているので、LUT数が減っている。Virtex5は一番占有スライス数が少ないが、1スライスにLUTとFFのペアが4組あるので、(Spartan3EとVirtex4は2組)スライスの使用率は他の2つよりも低いようだ。
ピークメモリ使用率はSpartan3Eは165MBだったが、Virtex5は403MBと倍以上だった。容量も倍以上のようだが、やはりメモリを使うようである。
次は、各FPGAをFPGA Editorで見たときの様子を書いてみたい。
  1. 2007年03月18日 14:35 |
  2. Virtex5のお勉強
  3. | トラックバック:0
  4. | コメント:0

Virtex5のお勉強(PLLのテスト2)

Virtex5のお勉強(PLLのテスト)のプロジェクトでPLLを試しにインプリメントしてみたが、今度はシミュレーションしてみる。
テストベンチ、PLLtest_top_tb.tbw を作って論理シミュレーションしてみる。
PLLtest_V5_7_070311.png

PLLtest_V5_8_070311.png

ModelSim XE� 6.1e starter で論理シミュレーションしてみた。
PLLtest_ModelSim_070311.png

次にVeritakでシミュレーションしてみた。
PLLtest_Veritak_070311.png

当然だが結果は同じだった。
シミュレーションをしているとメモリをだいぶ消費していることに気がついた。
それでそれぞれのシュミレータがどのくらいメモリを消費しているか調べてみることにした。最初にWindowsをリブートしてISEを立ち上げてから各シミュレータを立ち上げて消費メモリを調べてみた。結果を下に示す。各シミュレータは並列に立ち上げずに、1つずつ立ち上げては落としている。シミュレーション時間はModelSimが1us、Veritakが1.082usだ。(ModelSim XE� 6.1e starter, Veritak-Basic 3.30A)
PLLtest_V5_9_070311.png

ModelSimは90MB程度メモリを使用しているが、使うたびにベースが増えてしまう。ライブラリかなにかが残ってしまうのか? 使用メモリも使用するたびに減りはするようだが?
Veritakはこのデザインでは、500MB強メモリを消費するようだ。Veritakは波形を全部記憶しているのでメモリを消費するのかもしれない? Veritakを使う時はメモリを十分に用意しないといけないようだ。

2006.03.11 追記:改めてみてみるとModelSimとVeritakの波形のCLKOUT0_OUTとCLKOUT3_OUT波形が位相が違っているようだ。485nsの波形を見るとわかると思う。なぜだろうか? 初期状態が異なるのか?

調べてみたところModelSimは 255ns 辺りからPLLの波形出力が始まっていて、しかも最初は乱れている。
(ModelSimのバージョンが古いのが原因でした。理由は後ろに書いてあります。)
PLLtest_ModelSim_2_070311.png

Veritakは 245ns からPLLの波形出力が始まっていて、最初からちゃんとした波形が出力されている。
PLLtest_Veritak_2_070311.png

この差が後で位相の差として効いてくるようだ。2つ比べないと違うとはわからない。論理としては合っているから。(ModelSimのバージョンが古いのが原因でした。理由は後ろに書いてあります。)

試してみるのでしたらPLLtestのプロジェクトをおいておきますので、試してみてください。ただし例によって保証はありませんので、自己責任でお使いください。

2006.03.12 追記:原因がわかりました。ModelSimをISE8.2i用の6.1e starterを使っていたのが原因でした。ライブラリが古かったので違いが出たようです。
ModelSimを最新の ModelSim XE� 6.2c starter にしてIPアップデート用のライブラリを更新したところVeritakと同様の波形が表示されました。Veritakと比較する場合はModelSimはライブラリを最新にしておかなければだめという教訓が出来ました。
いろいろご迷惑をおかけしまして申し訳ありませんでした。
  1. 2007年03月11日 09:22 |
  2. Virtex5のお勉強
  3. | トラックバック:0
  4. | コメント:5

Virtex5のお勉強(PLLのテスト)

Virtex5のお勉強としてPLLをCoreGenで作ってみた。どうせシビアなテストは出来ないが、どんなもんかだけでもやってみようと思った。
WebPACKで唯一出来る xc5vlx30 でプロジェクトを作った。最初にNew Source... で IP を選択して PLLtest1 という名前をつけて FPGA Features and Design -> Clocking -> Virtex-5 -> Choose wizard by component -> PLL ADV v9.1i を選択する。
PLLtest_V5_1_070310.png

PPL_ADVの選択ウイザードが走る。デフォルトでは CLKOUT0 にしかチェックがついていないので、 CLKOUT1 から CLKOUT5 までチェックをつけた。更に、Clock Jitterに100psを設定した。
PLLtest_V5_2_070310.png

wizardの次の画面に行くと、出力周波数と位相、デューテイ比を設定する。最初は全部のクロックが100MHzなので、CLKOUT_DIVIDE をいじって周波数を変えてみる。下の画面のように変えてみた。最初にやってみた時は、位相が-360になってしまったり、 デューティ比が中途半端のものがあったが、IPのアップデート (ISE 9.1i IP Update 1) をかけたら?直ったような気がする。
PLLtest_V5_3_070310.png

後はwizardを進めていってPLL_ADVを作った。その後、簡単なトップファイル (PLLtest_top.v) を作った。入力をそれぞれのクロックでシフトレジスタとして2つのDFFをカスケード接続した簡単な回路だ。なぜシフトレジスタとしたかというと、最大動作周波数を見るためだ。
PLLtest_V5_4_070310.png

UCFファイルは入力周波数を入れているだけだ。UCFにINPUT_JITERの設定項目が増えている。

NET "CLKIN1_IN" TNM_NET = CLKIN1_IN;
TIMESPEC TS_CLKIN1_IN = PERIOD "CLKIN1_IN" 10 ns INPUT_JITTER 100 ps;


これでインプリメントしてPARリポートを見てみると動作周波数ごとに Worst Case Slack、Best Case Achievable、Timing Errors が表示される。これは動作周波数というかクロック周期の制約をあたえたからだが。ISE9.1iから表示が変わって、 Worst Case Slackの値の意味が良くわからない。SETUPの方は Best Case Achievable(クリティカルパス)をクロック周期から引いた値みたいだが、(SETUPだからそうか?)HOLDの方が良くわからない。マニュアルやアンサー・サーチを見てみたが良くわからないし。今のところナゾである。わかる方は教えてください。
PLLtest_V5_5_070310.png

次はModelSimとVeritakでシミュレーションしてみようと思う。
  1. 2007年03月11日 07:55 |
  2. Virtex5のお勉強
  3. | トラックバック:0
  4. | コメント:0

Virtex5のお勉強

Virtex5のユーザーズマニュアルの日本語版がXilinxのサイトにあったので、Virtex5のお勉強をしようと思って、ちらちら読んでいる。
Virtex5にはPLLが実装されているが、やはりジッタが少なくてよいようだ。ジッタフィルタにもなるそうである。これでPCI Expressカードの時に必要だったジッタフィルタ用のICはなくて済むようになるのかもしれない?
CoregenでPLLを作ってやってみているが、DUTYが50%に設定できないところがある。どうしてだろう? おいおいやってみることにする。
実はこの過程で”ISE9.1iのツール群”で書いたように、Constrains Editorを使ったらISEに統合されていて、”えー”こんなになってしまったのかと知ったのだった。
PLLだけテストするといっても、どんな設定があるのか、しかないだろうが、どのようなものなのかテストしてみようと思う。

しかし、ISE9.1iはメモリを食う。今のところメーラー、Firefox、ISE9.1i、Coregen、Acrobat Readerくらいしか動かしていなくて、1.43GByteメモリを食っている。どっかでリークしているのか? 物理メモリは1GByteしか入っていない。。。

やはり、今ISE9.1iを落としても、_pn.exeが残っていて、1.05GByteくらいメモリを消費していた。_pn.exeを強制終了したら、パソコンのメモリ消費量は500MByte程度になった。
  1. 2007年02月28日 06:16 |
  2. Virtex5のお勉強
  3. | トラックバック:0
  4. | コメント:4