2016-04-03 56 views
1

だから私は、Verilogの配列に番号を割り当てるしようとしています、そして、それはこのように書きます:Verilogの配列の割り当て

initial begin 

waveforms[0] = 16'b1100100100000000; 
waveforms[1] = 16'b1000000000000000; 
waveforms[2] = 16'b1111111111111111; 

end 

そして、次のコードは、ModelSimのコンパイラを渡すことができます。しかし、私は巨大なルックアップテーブルがこの "波形"に格納する必要があるので、明らかに値を割り当てることは効率的ではありません。だから私はこれを試してみました:

initial begin 

waveforms [0:2] = '{16'b1100100100000000,16'b1000000000000000,16'b1111111111111111}; 

end 

そして、上記の操作を実行して、I次のエラーを取得する:

(vlog-2110) Illegal reference to memory "waveforms". 

Illegal array access into "waveforms" 

Illegal LHS of assignment. 

ので、質問はこれらのエラーを修正する方法ですか?

ありがとうございます。

答えて

1

アレイを集約として割り当てることができるのは、SystemVerilogだけです。ファイルの拡張子を*.vから*.svに変更する

もう1つの方法は、$ readmembを使用して別のファイルからルックアップテーブルを読み込むことです。