module median_five(out1,a[0],a[1],a[2],a[3],a[4],en,clka);
input [7:0] a[0:4];
output out1;
endmodule
**エラーを起こしています。入力ポートをVerilogで配列として取ることは可能ですか?
module median_five(out1,a,b,c,d,e,en,clka);
input [7:0] a,b,c,d,e;
output out1;
endmodule
**正しいです。
しかし、私は次のように、アレイ内の入力A、B、C、D、Eをしたい:Verilogのがモジュールのポートのような2次元アレイをサポートしていない
array[0]<=a;
array[1]<=b;
array[2]<=c;
array[3]<=d;
array[4]<=e;
私は並べ替えをしたいと思いました。それは配列内の要素が必要です。ありがとう –
reg [3:0] r = 1; +(e> b)+(e> c)+(e> d))である。それは出力において未知の価値を与える。しかし、私はreg [3:0] r = 1と書いた。 +(e> b)+(e> c)+(e> d))である。それに応じて与えられる出力は、最初の式r <= r+ ((e> a)+(e> b)+(e> c)+(e> d))になりました。正しくシミュレートする必要がありました。ヒントを教えてください。 –
最初の式を使用すると、[combinational loop](http://fpga-hdl.blogspot.in/2012/07/test.html)を作成している可能性があります。組み合わせループを回避する1つの方法が、[ここ](http://electronics.stackexchange.com/questions/121161/understanding-combinational-feedback-loops)に記載されている。私は[EDAPlayground](http://www.edaplayground.com/x/eke)でサンプルを作成しました。 – sharvil111