New Project ダイアログでEmpty Application を選択して、Next>ボタンをクリックする。
Target an existing Board Support Package のラジオボタンをチェックして、standalone_bsp_0 を選択する。Finishボタンをクリックする。
sdk\lcd_ref\srcフォルダのled_ref.c をProject Explorer のempty_application_0のsrc フォルダにドラック & ドロップする。
そうすると、自動でビルドしてしまったようだ。
Xilinx ToolsメニューからProgram FPGAを選択する。
Program FPGAダイアログが開く。Hardware Configuration内のBitstreamにiseフォルダのled_ref.bitを指定する。BMM Fileに同じiseフォルダのbmm_bd.bmm を指定する。Software Configuration内のELF File to Initialize in Block RAMにsdk\empty_application_0\Debug\empty_application_0.elf を下向き三角をクリックして指定する。
ここで、Spartan-3A Starter Kitの電源を入れて、コンフィギュレーション用のUSBケーブルを接続し、上のダイアログのProgramボタンをクリックする。(ここでは、DATA2MEMが起動して、.elfと.bmmを参照して、.elfのソフトウェアを.bitのBRAMの初期化データにロードする。そうしてできた.bitファイルをSpartan-3A Starter Kitにダウンロードする訳だ) そうすると、LCDに”MicroBlaze on S3 Reference Design”と表示された。
verilog work "ipcore_dir/DCM_CLKGEN_S6.v" verilog work "../frame_buffer.v" verilog work "../disp_timing.v" verilog work "../char_gen_rom.v" verilog work "../CharDispCtrler.v" verilog work "../CharDispCtrlerTest.v" verilog work "../CharDispCtrlerTest_SP605.v"
Make Tokyo Meeting 06に参加します。その展示物として、Spartan-3A Starter Kitによる画像演奏装置を作りました。 モードが3つありまして、モード1は画面の中の特定の領域のRGBを元に音階(ドレミファソラシド)の音を出します。 モード2はテルミンモードで、画面の中の特定の領域のRGBを元に連続的な周波数の音を出します。RGBの値を直接分周器の分周値として使っています。下の画面の真ん中の白い縦線の間がRGBを積分する領域です。
Started : "Simulate Behavioral Model". Starting fuse... fuse -intstyle ise -incremental -lib unisims_ver -lib unimacro_ver -lib xilinxcorelib_ver -o C:/HDL/FndISEWork/K-5/2010/work/k5_q1/top_tb_isim_beh.exe -prj C:/HDL/FndISEWork/K-5/2010/work/k5_q1/top_tb_beh.prj top_tb glbl Running: C:\HDL\Xilinx\11.1\ISE\bin\nt\unwrapped\fuse.exe -ise C:/HDL/FndISEWork/K-5/2010/work/k5_q1/k5_q1.ise -intstyle ise -incremental -lib unisims_ver -lib unimacro_ver -lib xilinxcorelib_ver -o C:/HDL/FndISEWork/K-5/2010/work/k5_q1/top_tb_isim_beh.exe -prj C:/HDL/FndISEWork/K-5/2010/work/k5_q1/top_tb_beh.prj top_tb glbl Number of CPUs detected in this system: 2 Turning on mult-threading, number of parallel sub-compilation jobs: 4 Determining compilation order of HDL files Parsing Verilog file "C:/HDL/FndISEWork/K-5/2010/work/k5_q1/dispseg.v" into library verilog Parsing Verilog file "C:/HDL/Xilinx/11.1/ISE/verilog/src/glbl.v" into library work Parsing VHDL file "C:/HDL/FndISEWork/K-5/2010/work/k5_q1/top.vhd" into library work Parsing VHDL file "C:/HDL/FndISEWork/K-5/2010/work/k5_q1/top_tb.vhd" into library work Starting static elaboration WARNING:HDLCompiler:89 - "C:/HDL/FndISEWork/K-5/2010/work/k5_q1/top.vhd" Line 42: remains a black-box since it has no binding entity. Completed static elaboration Fuse Memory Usage: 125792 KB Fuse CPU Usage: 202 ms Using precompiled package standard from library std Using precompiled package std_logic_1164 from library ieee Using precompiled package std_logic_arith from library ieee Using precompiled package std_logic_unsigned from library ieee Using precompiled package numeric_std from library ieee ERROR:Simulator:793 - Unable to elaborate instantiated module dispseg
Determining files marked for global include in the design... Running fuse... Command Line: fuse -intstyle ise -incremental -lib unisims_ver -lib unimacro_ver -lib xilinxcorelib_ver -o C:/HDL/FndISEWork/K-5/2010/work/k5_q1_temp/top_tb_isim_beh.exe -prj C:/HDL/FndISEWork/K-5/2010/work/k5_q1_temp/top_tb_beh.prj top_tb work.glbl {} Running: C:\HDL\Xilinx\12.3\ISE_DS\ISE\bin\nt\unwrapped\fuse.exe -intstyle ise -incremental -lib unisims_ver -lib unimacro_ver -lib xilinxcorelib_ver -o C:/HDL/FndISEWork/K-5/2010/work/k5_q1_temp/top_tb_isim_beh.exe -prj C:/HDL/FndISEWork/K-5/2010/work/k5_q1_temp/top_tb_beh.prj top_tb work.glbl ISim M.70d (signature 0x36e8438f) Number of CPUs detected in this system: 2 Turning on mult-threading, number of parallel sub-compilation jobs: 4 Determining compilation order of HDL files Analyzing Verilog file \"C:/HDL/FndISEWork/K-5/2010/work/k5_q1_temp/dispseg.v\" into library work Analyzing Verilog file \"C:/HDL/Xilinx/12.3/ISE_DS/ISE//verilog/src/glbl.v\" into library work Parsing VHDL file "C:/HDL/FndISEWork/K-5/2010/work/k5_q1_temp/top.vhd" into library work Parsing VHDL file "C:/HDL/FndISEWork/K-5/2010/work/k5_q1_temp/top_tb.vhd" into library work Starting static elaboration Completed static elaboration Fuse Memory Usage: 95408 KB Fuse CPU Usage: 124 ms Using precompiled package standard from library std Using precompiled package std_logic_1164 from library ieee Using precompiled package std_logic_arith from library ieee Using precompiled package std_logic_unsigned from library ieee Using precompiled package numeric_std from library ieee Using precompiled package vl_types from library vl Compiling module glbl Compiling module dispseg Compiling architecture rtl of entity top [top_default] Compiling architecture behavior of entity top_tb Time Resolution for simulation is 1ps. Waiting for 1 sub-compilation(s) to finish... Compiled 9 VHDL Units Compiled 2 Verilog Units Built simulation executable C:/HDL/FndISEWork/K-5/2010/work/k5_q1_temp/top_tb_isim_beh.exe Fuse Memory Usage: 104348 KB Fuse CPU Usage: 155 ms Launching ISim simulation engine GUI... "C:/HDL/FndISEWork/K-5/2010/work/k5_q1_temp/top_tb_isim_beh.exe" -gui -tclbatch isim.cmd -wdb "C:/HDL/FndISEWork/K-5/2010/work/k5_q1_temp/top_tb_isim_beh.wdb" ISim simulation engine GUI launched successfully
Process "Simulate Behavioral Model" completed successfully
top_tb_beh.prjのファイルの中身を下に示す。
verilog work "dispseg.v" vhdl work "top.vhd" vhdl work "top_tb.vhd" verilog work "C:/HDL/Xilinx/12.3/ISE_DS/ISE//verilog/src/glbl.v"