所以这是我拥有的文件或行为模型的1/4,但我在文件中不断收到此错误。我是否在verilog中正确地做到了这一点?我得到了一个:
"只有System Verilog支持没有方向的端口声明。必须使用-sverilog标志进行编译才能启用对此功能的支持。"
module NSG_function
(
input x, [1:0] q, // current_state,
output [1:0] d // next_state
);
assign d[1] = ~x&q[0]&q[1] | x&~q[0]&q[1] | x&q[0]&~q[1];
assign d[0] = ~x | ~q[0]&q[1];
endmodule
答案 0 :(得分:3)
问题在于输入q
虽然你把它放在与input x,
相同的行上,但由于你将q声明为一个数组,它需要自己的输入声明。
module NSG_function
(
input x,
input [1:0] q, // current_state
output [1:0] d // next_state
);
assign d[1] = ~x&q[0]&q[1] | x&~q[0]&q[1] | x&q[0]&~q[1];
assign d[0] = ~x | ~q[0]&q[1];
endmodule
答案 1 :(得分:2)
您可能需要为每个信号指定input
:
input x,
input [1:0] q, // current_state,