FC2カウンター FPGAの部屋 その他のXilinxのツールについて

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

FPGAの部屋

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

XSTでROMを推定させる書き方の問題点

Xilinx社の論理合成ツールXSTでRAMを推定させる書き方をして、それに初期値を入れる方法を以前紹介した。(”VHDLでのブロックRAMや分散RAMの初期化(外部データファイル)”、”VHDLでのブロックRAMや分散RAMの初期化(16進数で書かれた外部データファイル”)
それらと同様の方法で、ROMを17個生成して使用していたのだが、これらを含む全体のプロジェクトの論理合成に5時間以上掛かっていた。このモジュールは多くの掛け算をLUTに割り当てるように、シフトと足し算で掛け算を行っている。そこに論理合成時間がかかっていると思っていたが、そうではなかった。これらのROMをCOREGeneratorでIPにしたところ、5時間以上の論理合成時間が3分20秒程度となった。
多くのROMやRAMを生成する場合には、論理合成ツールXSTでRAMを推定させる書き方をして、それに初期値を入れる方法をしては、今のところ、良くないという推測ができることがわかった。

ご注意ください。COREGenでIPにした方がいいみたいです。初期値も.COEファイルに直すのは簡単です。ISEのバージョンはISE11.5で確認しています。

(追加)
そういえば、Spartan-6とVirtex-6は、Xilinx社の論理合成ツールXSTでRAMを推定させる書き方をしても論理合成が早かったと思います。論理合成エンジンが違うのかな?Spartan-3系と。。。
  1. 2010年05月11日 10:44 |
  2. その他のXilinxのツールについて
  3. | トラックバック:0
  4. | コメント:0

ISE Text Editor のオートコンプリート機能

ISE Test Editorを使っていたときに、Notepad++の癖でCTRLキー+RETURNキーを押してしまった。そうしたら、同様にリストボックスがでてきた。えー、もしかして、補完機能があったのか?
ISE_text_editor_1_100205.png

リストから単語を選ぶ時は、上向き矢印と下向き矢印で単語を選択して、Enterキーで確定する。
ヘルプを見ると”オートコンプリートを使用したテキストの追加”ができるみたい。ヘルプを下に引用。
ISE_text_editor_3_100205.png

ISE Test Editorのヘルプを見ると、他にISimのブレークポイントなども設定できるようだ。
さらに”al”と入力して、CTRL+RETURNキーを押すと、下のようにalways, always_ff, always_combなどが予約語のリストに上がってきた。これってSystemVerilog対応の準備だろうか?マニュアルにはalways_ff, always_combが予約語とは書いていない。
ISE_text_editor_2_100205.png

恥ずかしながら、ISE Test Editorにオートコンプリート機能がついていることを知らなかった。皆さんは御存知でしたか?
ISE Test Editorを快適に使えるようになってよかった。

(追加)
検索したら、”32494 - 11.1 ISE Text Editor - オートコンプリートを使用すると「FATAL_ERROR:GuiUtilities:Gui_Clip_ApplicationBase.c:316:1.20」というエラー メッセージが表示される”が見つかりました。これによるとISE11.1で、オートコンプリート使用時に、リストをマウスでクリックするとProject Navigatorがクラッシュするそうです。
32633 - ISE Design Suite 11 - ISE 11.x アップデート README (11.2、11.3、11.4)”を見るとISE11.4までで直っているみたいです。ISE11.4で実際にやってみましたが、リストをマウスでクリックしても選べないだけで、Project Navigatorはクラッシュしませんでした。ISE11.1の方はご注意ください。
  1. 2010年02月05日 04:56 |
  2. その他のXilinxのツールについて
  3. | トラックバック:0
  4. | コメント:2

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

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

最初に、この前のプロジェクトをVirtex-5でやってみたのだが、DDRレジスタのアトリビュートを書けといわれてしまったので、とりあえずはやめることにした。

今回はModelSimで出力したVCDファイルをXPowerに読み込ませて、実際のトグルレートを取得する方法をやってみたいと思う。
今回はDDR SDRAMコントローラのバーストテストのプロジェクトで試してみることにした。これは、かなりの高いトグルレートが期待できると思う。
その場合、DDR SDRAMコントローラは電源があがってクロックがでてから200us wait する必要があるので、その間はどの信号もステーブルになっている。それなので、シミュレーションパターンが通常の状態と変わってしまうこと考えられる。その辺も考慮した方法も考えることにする。
まずはModelSimでタイミング・シミュレーションを行う。タイミング・シミュレーションについてはこの前の記事1記事2を参照のこと。
テストベンチにVCDファイルを出力する記述を追加する。やり方はISE10.1iのXPowerの使い方を参照。(ここにはVHDLでのVCDファイルの出力方法についても記述がある)
さて、ModelSimでタイミングシミュレーションする際に、SDFファイルを付加するとセットアップ時間違反で信号がXになってしまうことがあるので、ISEで出力したPost-Route Simukation Model (ddrtest_timesim.v) の中の$sdf_annotate をコメントアウトしておいたほうが良い。

// initial $sdf_annotate("ddrtest_timesim.sdf");


これは、mixiのVeritak友の会でVeritakの作者のたっくさんに教えていただいた。(たっくさん、ありがとうございました。)
また、テストベンチDDRtest_tb.v にVCDファイルを出力する記述を追加する。

    initial begin
        $dumpfile("DDRtest.vcd");
        $dumpvars(1, DDRtest_tb.DDRtest_inst);
        #250000000    $finish;
    end


これで、最初から終了までの波形がVCDファイルに保存される。$dumpvarsの括弧の中の右側のDDRtest_tb.DDRtest_inst のDDRtest_tb はテストベンチのモジュール名、DDRtest_inst はDDR SDRAMコントローラのバーストテストのインスタンス名だ。これで出来たVCDファイルを全波形VCDファイルと呼び、ファイル名をDDRtest.vcdとする。(Verilogファイルに書いてあるけど。。。ファイル容量は145MB)

次に、DDR SDRAMにバーストで読み書きし始める時刻から、VCDファイルを設定してダンプすることにする。これを部分波形VCDファイルと呼び、ファイル名をDDRtest_part.vcd とする。

    initial begin
        #203153000;
        $dumpfile("DDRtest_part.vcd");
        $dumpvars(1, DDRtest_tb.DDRtest_inst);
        #46847000    $finish;
    end


ちょうど、203.153us 程度からダンプするとバーストアクセスが続く。(このファイル容量は33.7MB)

どちらも250us間、 ModelSim XE3 Starter でタイミング・シミュレーションすると、うちのパソコンで1時間と18分かかる。あまりやりたくないのがお分かりいただけることと思う。2つなので、合計2時間36分だ。Veritakでやろうとしたが、Veritakの吐いたVCDはXPowerで読み込めないようだった。これをやる時にはModelSim XE3の正規版か、PE、SEでないとやっていられない。昨日はミスったので、1日つぶれてしまった。

ModelSimでシミュレーションしている様子を下に示す。
XPower_14_090204.png

ISEから例によってXPowerを起動する。これがデフォルトの画面。
XPower_15_090204.png

さてこれに、VCDファイルを読み込もう。FileメニューからOpen Design... を選択する。
XPower_16_090204.png

そうするとOpen Designダイアログが開くので、Design file、Physical Constrains file、Simulation file を選択し、OKボタンをクリックする。
XPower_17_090204.png

これでVCDファイルが読み込まれた。今回読み込んだのはDDRtest.vcd(全波形VCDファイル)だ。読み込んだ後のXPowerのSummuyは下のようになる。
XPower_18_090204.png

次はDDRtest_part.vcd(部分波形VCDファイル)を下に示す。
XPower_19_090204.png

ジャンクション温度の比較はデフォルトが42.7度C、DDRtest.vcd(全波形VCDファイル)が42.5度C、DDRtest_part.vcd(部分波形VCDファイル)が42.6度Cだ。
次に、Signal -> Data の値の違いを見ていこう。いずれの図もSignal Rateの大きい順から並べ替えてある。
最初にデフォルト。
XPower_20_090204.png

DDRtest.vcd(全波形VCDファイル)。25%以上がない。
XPower_21_090204.png

DDRtest_part.vcd(部分波形VCDファイル)。
XPower_22_090204.png

いろいろな値がある。

次にIOsを見てみよう。
最初にデフォルトから。当然ながらToggle Rate 12.5% にそろっている。
XPower_23_090204.png

今度はDDRtest.vcd(全波形VCDファイル)。
XPower_24_090204.png

DDRtest_part.vcd(部分波形VCDファイル)。
XPower_25_090204.png

やはり、部分波形VCDファイルの方が全波形VCDファイルよりもトグル・レートが高い。やはりこっちのほうがより実態に近いと思われる。
今回はFF使用率が6%と小さく違いがわからなかった。シミュレーション時間が2時間以上もかかっているので、元が取れていない気がする。
FFやIOをかなり使用して動的な消費電力が増えると、やる意味が出てくると思うが、その場合にはModelSim正規版を使ってもシミュレーション時間がかかることになると思う。やはり、消費電力に敏感な用途ではやる意味があると思われるが、いい加減で十分な用途では適当にトグル・レート入れて試してみたほうが良いような気がする。
  1. 2009年02月06日 21:47 |
  2. その他のXilinxのツールについて
  3. | トラックバック:0
  4. | コメント:0

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

今まではSpartan3E-500-4 だったが、今度はVirtex4-FX12-10 だ。
Suzaku-VのVirtex4はいつも熱いので、電力食っているんじゃないかと思う。

Target Device  : xc4vfx12
Target Package : sf363
Target Speed   : -10
Mapper Version : virtex4 -- $Revision: 1.46.12.2 $
Mapped Date    : SUN 30 NOV 14:10:29 2008

Design Summary
--------------
Number of errors:      0
Number of warnings:   19
Logic Utilization:
  Number of Slice Flip Flops:           688 out of  10,944    6%
    Number of Slice FFs used for
    DCM autocalibration logic:         14 out of     688    2%
  Number of 4 input LUTs:               689 out of  10,944    6%
    Number of LUTs used for
    DCM autocalibration logic:          8 out of     689    1%
      *See INFO below for an explanation of the DCM autocalibration logic
       added by Map
Logic Distribution:
  Number of occupied Slices:            701 out of   5,472   12%
    Number of Slices containing only related logic:     701 out of     701 100%
    Number of Slices containing unrelated logic:          0 out of     701   0%
      *See NOTES below for an explanation of the effects of unrelated logic.
  Total Number of 4 input LUTs:         776 out of  10,944    7%
    Number used as logic:               519
    Number used as a route-thru:         87
    Number used for Dual Port RAMs:     156
      (Two LUTs used per Dual Port RAM)
    Number used as Shift registers:      14
  Number of bonded IOBs:                 51 out of     240   21%
    IOB Flip Flops:                      20
    IOB Dual-Data Rate Flops:             2
  Number of BUFG/BUFGCTRLs:               5 out of      32   15%
    Number used as BUFGs:                 5
  Number of DCM_ADVs:                     2 out of       4   50%
  Number of ISERDESs:                    18 out of     320    5%
  Number of OSERDESs:                    22 out of     320    6%
  Number of IDELAYCTRLs:                 12 out of      12  100%
  Number of BUFIOs:                       2 out of      24    8%


うまく動いていないが、DDR2 SDRAMコントローラのバーストテストだ。上のMAPレポートに示すように、FFの使用率は6%といくらも使用していない。
FPGAの入力クロックは100MHzだが、DDR2 SDRAMコントローラは、DCMで2倍して200MHzで動作している。早速、XPowerを起動してみてみよう。
XPower_10_090204.png

Virtex4-FX12のFF数は10.944で、Spartan3E-500のFF数は9,312なのでほぼ同じだ。ただVirtex4-FXなのでPowerPCコアが入っている。デフォルトの状態での消費電力を比べてみる。Virtex4のFF使用率は6%、Spartan3EのFF使用率は22%、Spartan3E-500の方が4倍弱多い。

Virtex4-FX12  : 静的消費電力0.34429W 動的消費電力0.91525W 全体消費電力1.25954W ジャンクション温度 51.2度C
Spartan3E-500 : 静的消費電力0.09636W 動的消費電力0.61022W 全体消費電力0.70658W ジャンクション温度 43.4度C


やはり、Virtex4-FXの方が静的消費電力も3.5倍程度になっている。動作周波数はVirtex4が200MHzで2倍だが、FF使用率は1/4くらいとなっていている。しかし、動的消費電力はVirtex4-FXの方が多い。Virtex4-FXは、全体の消費電力は1Wを超えて、ジャンクション温度は周囲温度が25度Cの状態で51.2度Cとなっている。だいぶ暖かいはずだ。。。
Spartan3E-500と同様に、すべてのトグルレートを100% にして消費電力を計算してみる。出力負荷も20pFにしてみる。
XPower_11_090204.png

そうすると、全体の消費電力は1.60432Wとなった。これは、以前のトグル率と比べて1.27倍になっている。ジャンクション温度は58.4度Cだ。結構高くなった。これが、最高の温度だと思う。しかし、もっとロジックを使うと放熱板が必要になりそうだ。
XPower_12_090204.png

Thermal Information を見ると、Effective ThetaJA(熱抵抗)は20.8度C/Wとなっている。Spartan3E-500 はEffective ThetaJA(熱抵抗)26.1度C/Wだった。やはり、銀ぴかの金属プレートがはまっているVirtex4の方が熱抵抗が低いようだ。Ambient Temp(周囲温度)を25度Cから40度Cにして、Updataすると、ジャンクション温度が73.9度Cとなった。
XPower_13_090204.png

やはりVirtex4は熱いんだなということがわかった。Virtex5はどうなのか興味がわく。次にVirtex5でやってみよう。Virtex6とSpartan6 でやってみたいが、まだツールが対応していない。
  1. 2009年02月04日 21:34 |
  2. その他のXilinxのツールについて
  3. | トラックバック:0
  4. | コメント:2

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

今回は熱についての設計をしてみた。
ISE10.1iのXPower Analyzerを使ってみる1でやったそのままの状態、トグル率100%の状態を使用する。
Report Navigator ウインドウからThermal Information を選択すると、熱計算が出来る。
XPower_6_090204.png

Ambient Temp(周囲温度)25度Cのときに、Effective ThetaJA(熱抵抗)26.1C/W、そうすると、ジャンクション温度は

Junction Temp = Ambient Temp(25度C) + Effective ThetaJA(26.1C/W) X Total Power(0.91357W)


ジャンクション温度の計算値は48.44177度Cとなり、XPowerの表示とだいたい合っている。
Ambient Tempは、夏の時期にパソコンの中に入れるボードだったら40度は耐えないとまずいので、40度にして、Updata Power Analysis をすると、当然ながらJunction Temp もだいたい+15度Cになり、64.1度Cになる。(少し違いますね。計算式が少し違うのかな? まあ、だいたい合っているということで。。。)
XPower_7_090204.png

ここで、空気の流れAirflow を入れてみよう。
Lattice社のPower Calculatorユーザーマニュアルの18ページによると、”FPGAデバイスへのエアフローをLFM (Linear Feet per Minute)で定義します。0 LFM (0 m/s), 200 LFM (1 m/s), 500 LFM (2.5 m/s)”だそうなので、XPower のAirflow (LFM) の値を250 LFM (1.5m/s) にしてみよう。これでUpdata Power Analysis をすると、もう一度Junction Temp が再計算される。
XPower_8_090204.png

そうすると、Effictive TheJA が26.1度C/Wから、20.6度C/Wまで下がって、Juction Tempも64.1度Cから59.0度Cにまで下がっている。
更に、自分でCustom TheJA を入れて計算させることも出来る。放熱板をつけて冷却している場合はここに熱抵抗を入れるとJuction Tempを計算してくれる。

更に、Report Navigator ウインドウからBy TypeのClocks を選び、展開すると各クロックネットの周波数が表示される。
XPower_9_090204.png

上の図でこのDDR SDRAMコントローラのテスト回路の入力周波数は50MHz、どれをDCMで2倍してDDR SDRAMコントローラに入れているので、その周波数は100MHz。更に100MHz を1/16 しているクロックがあるので、そこは6.3MHzだ。

XPowerは、このようにいろいろ試してみて楽しいツールだ。
  1. 2009年02月04日 05:22 |
  2. その他のXilinxのツールについて
  3. | トラックバック:0
  4. | コメント:0

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

今回はISE10.1iのXPower Analyzerを使ってみた。とりあえずは、今までやってきた既存のプロジェクトがどのくらい電力を食う可能性があるのかを探ってみる。
まずはsoc-lm32、Lattice社のMico32プロセッサをSpartan3E Starter Kitに実装したプロジェクトだ。これは私のオリジナルのDDR SDRAMコントローラに換装してあるバージョンになる。Mico32プロセッサの動作周波数は50MHz、DDR SDRAMコントローラだけは100MHz動作になっている。使用デバイスはSpartan3E、XC3S500E-4FG320だ。
ISEでインプリメントしたMAPのリポートを下に示す。

Design Summary
--------------
Number of errors:      0
Number of warnings:   11
Logic Utilization:
  Number of Slice Flip Flops:         2,137 out of   9,312   22%
  Number of 4 input LUTs:             3,444 out of   9,312   36%
Logic Distribution:
  Number of occupied Slices:          2,455 out of   4,656   52%
    Number of Slices containing only related logic:   2,455 out of   2,455 100%
    Number of Slices containing unrelated logic:          0 out of   2,455   0%
      *See NOTES below for an explanation of the effects of unrelated logic.
  Total Number of 4 input LUTs:       3,549 out of   9,312   38%
    Number used as logic:             2,811
    Number used as a route-thru:        105
    Number used for Dual Port RAMs:     632
      (Two LUTs used per Dual Port RAM)
    Number used as Shift registers:       1
  Number of bonded IOBs:                 64 out of     232   27%
    IOB Flip Flops:                      18
  Number of IDDR2s used:                 16
    Number of DDR_ALIGNMENT = NONE       16
    Number of DDR_ALIGNMENT = C0          0
    Number of DDR_ALIGNMENT = C1          0
  Number of ODDR2s used:                 38
    Number of DDR_ALIGNMENT = NONE       38
    Number of DDR_ALIGNMENT = C0          0
    Number of DDR_ALIGNMENT = C1          0
  Number of RAMB16s:                      7 out of      20   35%
  Number of BUFGMUXs:                     5 out of      24   20%
  Number of DCMs:                         2 out of       4   50%
  Number of MULT18X18SIOs:                3 out of      20   15%


フリップフロップの使用率は22%、LUTの使用率は36%、スライスの占有率が52%、18X18の掛け算も15%使用している。

それではXPower Analyzerを立ち上げてみる。ProcessesウインドウのImplement Design を展開して、その中のPlace & Route を展開する。するとXPower Analyzer があるのでそこをダブルクリックする。
XPower_1_090203.png

するとXPower Analyzerが立ち上がる。
XPower_2_090203.png

これによると、静的な消費電力が0.09636W、動的な消費電力が0.61022W、トータルな消費電力が0.70658W、ジャンクション温度が43.4度Cとなっている。
左のReport Navigator ウインドウからSettings を選択すると、どのような設定で消費電力を計算するかを指定できる。
XPower_3_090203.png

現在のFFやIOのトグルレートを指定できる。これはクロックに対するデータの変化する割合を示す。今のところは12.5%になっている。これは、普通は0~200%まであって、クロックが100MHzでデータが50MHzのときにトグルレート100% となるそうだ。詳しくはHelpを参照。
最大の消費電力を求めるために、すべてのトグルレートを100% にして消費電力を計算してみる。出力負荷も20pFにしてみる。
XPower_4_090203.png

上の図でピンクの四角で囲ったアイコン(Updata Power Analysis) をクリックすると消費電力を再計算してくれる。
再度、左のReport Navigator ウインドウからSummary をクリックしてみてみると、静的な消費電力が0.09636Wで変化がないが、動的消費電力は0.81279W、トータルな消費電力は48.8度に変化している。これならば放熱板は必要ないはず。。。
XPower_5_090203.png

  1. 2009年02月03日 06:00 |
  2. その他のXilinxのツールについて
  3. | トラックバック:0
  4. | コメント:0
»