2016-08-09 254 views
0

コンパイルエラーを生成するためのこの簡単なテストコード(test.v)があります。私はncvlog test.vを実行したときにNOTSTTエラー:Verilogでの文を期待

`timescale 1ns/10ps 

`define START 'h10000000; 
`define WIDTH 800 
`define HEIGHT 600 

module test; 
integer ifm_addr; 
integer ifm_idx; 

initial begin 
    ifm_idx = 0; 
    ifm_addr = `START + ifm_idx*4*`HEIGHT*`WIDTH; 
end 

initial begin 
#1000; 
$finish; 
end 

endmodule 

、私はこのエラーを取得し、私が間違っているかを把握することはできません。

ncvlog: 12.20-s008: (c) Copyright 1995-2013 Cadence Design Systems, Inc. 
    ifm_addr = `START + ifm_idx*4*`HEIGHT*`WIDTH; 
         | 
ncvlog: *E,NOTSTT (test.v,11|19): expecting a statement [9(IEEE)]. 
    ifm_addr = `START + ifm_idx*4*`HEIGHT*`WIDTH; 
           | 
ncvlog: *E,MISEXX (test.v,11|28): expecting an '=' or '<=' sign in an assignment [9.2(IEEE)]. 

助けてください!

編集:;define START 'h10000000の末尾にあるためにエラーが発生しました。 initialブロック内のステートメントの後に+が表示されます。

答えて

0

​​を定義していません。私の悪い

module test; 
    integer ifm_addr; 
    integer ifm_idx; 


    initial begin 
    ifm_addr = `START + ifm_idx*4*`HEIGHT*`WIDTH; 
    end 
+0

、私は –

+0

は定義から ' '' H 'を削除してみてください。.. ifm_idx declation(更新されたコード)を追加しましたが、同じエラーを見ています。 ifm_idxが定義されてから、edaの遊び場でうまく働いてくれました。 – Morgan

+2

ああ、エラーは、 'define START' h10000000の最後に ';'があったためです。 –

関連する問題