2017-07-14 4 views
1

リファレンスは、私はこの上の別の質問をお持ちの質問可変サイズと数は、以下のVerilogの

How to write a module with variable number of ports in Verilog

を尋ねました。

module my_module #(SIZEOF_LENGTH = 3, 
        LENGTH = {8,8,7})(
    input clk, 
    input rst_n, 
    input [LENGTH[0]-1:0] data_1, 
    input [LENGTH[1]-1:0] data_2, 
    input [LENGTH[2]-1:0] data_3 
); 

私は基本的にこのようなものが必要です。サイズは、上から渡されるパラメータに依存し、したがってポートの数も同様です。これはできますか?

答えて

0

Verilogではなく、RubyやPerlのようなテンプレート言語を使用できます。

また、SystemVerilogアレイでは、ポートを使用することができます。 これらは同じ幅でなければなりません。

module my_module #(
    SIZEOF_LENGTH = 3, 
    LENGTH = 8)(
    input clk, 
    input rst_n, 
    input [LENGTH-1:0] data [0:SIZEOF_LENGTH-1] 
); 
+0

この速記表記も同様 '入力に動作します[LENGTH-1:0]のデータは、[SIZEOF_LENGTH]'問題ザッツ – Serge

+0

は、私がデータ部分に変数な長さを求めています。それはHDLが可能なはずですが、LRMは私が推測していることをサポートしていません。 –

関連する問題