在Verilog中赋值一个2-dim实数组



我想在Verilog中分配一个二维实数组。

下面的类c方法不起作用。

`timescale 1ns/10ps
module twodim ();

real xy[0:2][0:1] = {{1, 1}, {2, 4}, {3, 9}};

initial begin
int n = 1;
$display ("x[n] = %f y[n] = %f", xy[n][0], xy[n][1]);
#1  $finish;
end

endmodule

正确的方法是什么?

EDAplayground是SystemVerilog,您需要使用的语法是一个赋值模式。'{}。这是因为Verilog已经使用{}进行整型连接。只能对数组的一个维度使用{}

module twodim ();

real xy[0:2][0:1] = '{'{1, 1}, '{2, 4}, '{3, 9}};

initial begin
int n; // static variable 
n = 1;
$display ("x[n] = %f y[n] = %f", xy[n][0], xy[n][1]);
#1  $finish;
end

endmodule

相关内容

最新更新