FC2カウンター FPGAの部屋 CMOSカメラから画像を入力してディスプレイへ出力6
FC2ブログ

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

FPGAの部屋

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

CMOSカメラから画像を入力してディスプレイへ出力6

CMOSカメラ・ディスプレイ・インターフェース回路のVHDLソース全体が出来上がったので、ModelSim XE3 Starterで一度コンパイルして文法エラーを訂正することにした。
ModelSimの新規プロジェクトを作成して、VHDLファイルをプロジェクトに追加しCompile Order... を行った。(この辺のやり方は、ModelSimのバージョンが古いのだが、”Verilog2001版DDR SDRAMコントローラーのModelSimシミュレーションまとめ1”を参照)
そうしたら下のようにdisp_timing_pack.vhd以外は真っ赤でエラー満載だった。
Camera_Disp_8_090929.png

エラーの出ているファイルの中の”# Compile of VGA_Display_Controller.vhd failed.”をダブルクリックするとUnsuccessful Complieウインドウが立ちあがる。
Camera_Disp_9_090929.png

このダイアログにはエラーの内容が書かれている。このエラーは”** Error: H:/HDL/FndtnISEWork/esp_board/CamDispCntrl_SRAM/Sources/VGA_Display_Controller.vhd(32): near ")": expecting "IDENTIFIER"”で、エラーのところをダブルクリックするとVHDLソースのエラーのところに飛ぶ。
Camera_Disp_10_090929.png

そうすると、ポート宣言で最後のポートのセミコロンが付いていることがわかる。これを削除して、今度はVGA_Display_Controller.vhdをWorkspaceペインから右クリックして、Compile -> Compile Selectedを実行して、VGA_Display_Controller.vhdだけをコンパイルする。
Camera_Disp_11_090929.png

またエラーが出て同様に修正。というような作業を繰り返すことになる。いつもVHDLソースを書くと、たくさんエラーが出るので、きちんと動くまでソースをブログに貼ることができない。。。

さらにもう1つのエラー。
Camera_Disp_12_090929.png

mem_aがunsigned、mem_addrがstd_logic_vectorなので、エラーだと言われている。
宣言部分は下。

library IEEE;
use IEEE.std_logic_1164.all;
use ieee.numeric_std.all;

......

  mem_addr : out std_logic_vector(18 downto 0) -- SRAMのアドレス、バイト単位
 );
end VGA_Display_Controller;

.............

architecture RTL of VGA_Display_Controller is
signal mem_a : unsigned(18 downto 0);


このエラーは193行目を 

mem_addr <= std_logic_vector(mem_a);


に修正することでコンパイルが通った。

(追加)
仕事から帰ってきてバグ取りをした。文法エラーは全部とれた。
Camera_Disp_13_090929.png

  1. 2009年09月29日 05:38 |
  2. 画像処理
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


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

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