我为模拟目的编写了下面给出的 Verilog 代码。它在模拟过程中正常工作。
module read_1(clk,reset);
input clk,reset;
reg [0:23]dataout;
reg htpv;
reg [0:23]e_data;
reg[1:24]data_out;
reg [25:0]cpv,cpv_round,e_av;
reg [0:23]data[0:0];
parameter threshold =8388608;
integer i,f1;
always @(negedge reset)
begin
i=0;
$readmemb("ppm_data.txt",data);
dataout=data[0];
e_data=24'b0;
end
always @(negedge clk)
begin
f1=$fopen("xxxx.txt","a");
if(i==0)
begin
data_out=dataout[(i*24)+:24];
e_av=(e_data[0:23])>>4;
e_data=e_data<<24;
cpv=data_out+e_av;
cpv_round=(cpv<threshold)?0:16777215;
htpv=(cpv_round==0)?1:0;
e_data[0:23]=cpv-cpv_round;
$fwrite(f1,"%b",htpv);
i=i+1;
end
$fclose(f1);
end
endmodule
现在我正在使用 Lattice Diamond 合成上述代码,在“地图设计”步骤中出现错误。错误如下: -
ERROR - map: Design is empty.
ERROR - map: Errors found in users design. Output files not written.
为什么我会收到这些错误以及如何解决它们。