FC2カウンター FPGAの部屋 ビットマップ・ディスプレイ・コントローラの作製12(BitMapDCのインプリメント1)
FC2ブログ

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

FPGAの部屋

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

ビットマップ・ディスプレイ・コントローラの作製12(BitMapDCのインプリメント1)

ビットマップ・ディスプレイ・コントローラの作製11(BitMapDCの接続3)”の続き。

今回はPlanAheadに戻ってインプリメントしようと思う。

・XPSを閉じる。

・PlanAheadでsystem.xmp (XPS Project) を右クリックして、右クリックメニューから、Create Top HDL を行う。(TMDS信号を追加した)

・system_stub.ucf を開いて、TMDS信号の制約を追加した。下に制約を示す。

# Blue
NET "TMDS_tx_0_B_p" IOSTANDARD = TMDS_33;
NET "TMDS_tx_0_B_p" LOC = D8;
NET "TMDS_tx_0_B_n" IOSTANDARD = TMDS_33;
NET "TMDS_tx_0_B_n" LOC = C8;
# Red
NET "TMDS_tx_1_R_p" IOSTANDARD = TMDS_33;
NET "TMDS_tx_1_R_p" LOC = C7;
NET "TMDS_tx_1_R_n" IOSTANDARD = TMDS_33;
NET "TMDS_tx_1_R_n" LOC = A7;
# Green
NET "TMDS_tx_2_G_p" IOSTANDARD = TMDS_33;
NET "TMDS_tx_2_G_p" LOC = B8;
NET "TMDS_tx_2_G_n" IOSTANDARD = TMDS_33;
NET "TMDS_tx_2_G_n" LOC = A8;
# Clock
NET "TMDS_tx_clk_p" IOSTANDARD = TMDS_33;
NET "TMDS_tx_clk_p" LOC = B6;
NET "TMDS_tx_clk_n" IOSTANDARD = TMDS_33;
NET "TMDS_tx_clk_n" LOC = A6;


・PlanAheadで、Project Manager のSynthesis -> Run Synthesis をクリックした。論理合成がスタートした。

・途中でエラーが出てしまった。エラーの内容を下に示す。

[Edk 24-166] (generate_target): Failed to execute XPS script. Please check for any errors reported by the XPS application in the console: [H:/HDL/FndtnISEWork/Spartan6/Atlys/test/Atlys_EDK_test_PA_142/Atlys_EDK_test_PA.srcs/sources_1/edk/system/__xps/pa/_system_synth.tcl]


BitMapDispCont_88_120807.png

エラーを検索してみたところ、”Can't synthesize microblaze system in EDK 14.2”が見つかったが、今年の8月1日に質問がアップされているが、まだ回答は無かった。

とりあえず、_system_synth.tcl を見てみることにした。Atlys_EDK_test_PA_142/Atlys_EDK_test_PA.srcs/sources_1/edk/system/__xps/paフォルダを下に示す。
BitMapDispCont_89_120807.png

_system_synth.tcl を下に示す。

######################################################
#
# XPS Tcl API script generated by PlanAhead
#
######################################################

proc _main_ {} {
  cd "H:/HDL/FndtnISEWork/Spartan6/Atlys/test/Atlys_EDK_test_PA_142/Atlys_EDK_test_PA.srcs/sources_1/edk/system"
  if { [ catch {xload xmp system.xmp} result ] } {
    exit 10
  }
  # Set host application type
  xset intstyle PA

  # Set design flow type
  xset flow ise

  # Set language type
  xset hdl verilog

  if { [catch {run netlist} result] } {
    return -1
  }
  return $result
}

# Generate Synthesized Netlists
if { [catch {_main_} result] } {
  exit -1
}

# Check return status and exit
if { [string length $result] == 0 } {
  exit 0
} else {
  exit $result
}


どこが悪いかわからないので、とりあえず、_system_synth.tcl を削除してみて、再生成をさせてみようと思った。

・_system_synth.tcl を削除して、もう一度、Synthesis -> Run Synthesis をクリックした。論理合成がスタートした。やはり同様のエラーが出た。

再生成された_system_synth.tcl と以前の_system_synth.tcl を比較してみたが、内容は同一だった。こうなるとXPSの設定がおかしいんだろう?

(2012/08/08:追加)
XPS単体でHardware メニューからGenarate Netlistをやってみたところエラーになった。エラー内容は、bitmap_afifoが見つからないとのことだった。

ERROR:HDLCompiler:1654 - "H:/HDL/FndtnISEWork/Spartan6/Atlys/test/Atlys_EDK_test_PA_142/Atlys_EDK_test_PA.srcs/sources_1/edk/system/pcores/bitmap_disp_cntrler_axi_master_v1_00_a/hdl/verilog/bitmap_disp_engine.v" Line 72: Instantiating from unknown module


bitmap_disp_cntrler_axi_master_v2_1_0.mpdのOPTION STYLE が”OPTION STYLE = HDL”になっていたので、”OPTION STYLE = MIX”に変更した。
やはり、同様にエラーになる。

(もう一度追加)
bitmap_afifo.ngc だけでなくbitmap_afifo.v をVerilog ファルダに追加して、bitmap_disp_cntrler_axi_master_v2_1_0.pao にbitmap_afifo.v のエントリを追加した。こうすると論理合成が成功した。インプリメント、ビットストリーム生成も成功した。
BitMapDispCont_94_120808.png

  1. 2012年08月07日 06:23 |
  2. AXI4 Master IPの作製
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


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

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