FPGAへの実装


ファイルが完成したら、FPGAへの実装を行います。


実装時の制約条件については、実装ボードの ATLYS に合わせて以下のように設定します。

kite_top.ucf の内容。
NET "CLOCK"    TNM_NET = "CLOCK";
TIMESPEC "TS_CLOCK" = PERIOD "CLOCK" 100000 kHz;
NET "CLOCK"    LOC = "L15" | IOSTANDARD = LVCMOS33;
NET "RESET"    TIG;
NET "RESET"    LOC = "T15" | IOSTANDARD = LVCMOS33;
NET "TMDSP(0)" LOC = "D8"  | IOSTANDARD = TMDS_33; # Bllue
NET "TMDSN(0)" LOC = "C8"  | IOSTANDARD = TMDS_33;
NET "TMDSP(1)" LOC = "B8"  | IOSTANDARD = TMDS_33; # Red
NET "TMDSN(1)" LOC = "A8"  | IOSTANDARD = TMDS_33;
NET "TMDSP(2)" LOC = "C7"  | IOSTANDARD = TMDS_33; # Green
NET "TMDSN(2)" LOC = "A7"  | IOSTANDARD = TMDS_33;
NET "TMDSP(3)" LOC = "B6"  | IOSTANDARD = TMDS_33; # Clock
NET "TMDSN(3)" LOC = "A6"  | IOSTANDARD = TMDS_33;

INST "dviout/ioclk_buf" LOC="BUFPLL_X1Y4";
INST "pll/PLL_ADV_inst" LOC="PLL_ADV_X0Y3";



  1. ssh -Y を用いて実装用マシン(calc1またはcalc2)にログインします。

  2. 作業用ディレクトリとして XXXX/kite01 を作成します。
    ※ ディレクトリはどこでもよいが、kite01 ディレクトリを作っておく

  3. XXXX/kite01 ディレクトリ内で ISE を起動する。
    ise &

  4. New Project を押します。

  5. Project を作成します。
    以下のように Name として kite01、Location として ~/XXXX/imp ディレクトリの下になるように作成します。
    次に Next を押します。



  6. Device Propaties で使用する FPGA、設計言語を指定し Next を押します。



  7. Create New Source はそのまま Next を押します。

  8. Add Existing Sources により以下の必要なファイルを登録し Next を押します。
    kite_top.v
    kite.v
    alu_op.v
    alu.v
    acc.v
    ar.v
    fr.v
    ir.v
    pc.v
    r12.v
    opcode.v
    state.v
    dec_seq.v
    vram.v
    memory.v
    kite_top.ucf (物理ピン割り当て情報)
    dviout/DRAM16XN.v
    dviout/convert_30to15_fifo.v
    dviout/dvi_encoder.v
    dviout/dvi_out_native.v
    dviout/encode.v
    dviout/serdes_n_to_1.v
    pll_module.vhd
    


  9. Project Summary を確認し Finish を押します。
    問題がなければ、以下のような画面になり論理合成の準備が完了します。


  10. 必要な *.ram ファイルをプロジェクトディレクトリ内(XXXX/kite01)にコピーしておきます。
    問題がなければ、以下のような画面になり論理合成の準備が完了します。

  11. Process Window の Generate Program File のところでマウスの右ボタン を押し、Run を実行します。
    これにより、論理合成XST、テクノロジマッピング、配置、配線、ビットファイ ル生成が実行されます。


  12. 論理合成後は以下のような画面となります。


| Back |