我在 SystemVerilog 中有一个简单的 FIFO 代码。我得到几个vlog-2110 illegal reference to net
错误消息。我的错误消息后面是我的代码。
错误信息:
vlog -work 工作 -sv -stats=none C:/Users/Single_FIFO.sv
模型技术 ModelSim DE vlog 10.4 编译器 2014.12 2014 年 12 月 3 日
-- 编译模块 fifo_core_and_cntl
错误:C:/Users/Single_FIFO.sv(24): (vlog-2110) 非法引用网络“占用”。
错误:C:/Users/Single_FIFO.sv(26): (vlog-2110) 非法引用网络“空”。
错误:C:/Users/Single_FIFO.sv(28): (vlog-2110) 非法引用网络“空”。
错误:C:/Users/Single_FIFO.sv(30): (vlog-2110) 非法引用网络“已满”。
错误:C:/Users/Single_FIFO.sv(32): (vlog-2110) 非法引用网络“已满”。
......
......
我的简单 FIFO 代码:其中有问题的小部分如下所示。
module fifo_core_and_cntl (data_in, data_put, data_get, clk, reset_n, data_out, occucy, empty, full);
input [7:0]data_in;
input data_put, data_get, clk, reset_n;
output [7:0]data_out;
output empty, full;
output [4:0]occucy;
logic [4:0]current_readptr, current_writeptr, next_readptr, next_writeptr;
logic [15:0][7:0]data_fifo; // This is data Fifo: 2D packed array of vectors: sixteen 8 bit vectors.
always_ff @ (posedge clk, negedge reset_n) // For the Current counter updates.
if (!reset_n)
begin
current_writeptr <= 0;
current_readptr <= 0;
end
else
begin
current_writeptr <= next_writeptr;
current_readptr <= next_readptr;
end
end
always_comb begin // Combo logic for fifo status outputs and also for internal fifo rd/wr pointer updates.
occucy = current_writeptr - current_readptr; // fifo occupancy indication
if (current_writeptr == current_readptr)
empty = 1'b1;
else
empty = 1'b0;
end
endmodule