verilog代码如下:
module DataProcess(rst_n,sig_0,in,out,sig_1,clk);
input rst_n;
input sig_0,clk;
input [23:0]in;
reg [511:0]data;
reg[511:0]temp;
reg[2:0] a;
parameter IDLE=3'b000,START=3'b001,PROCESS=3'b010,DONE=3'b100;
output reg[511:0] out;
output reg sig_1;
integer j;
always@(posedge clk or negedge rst_n)
if(~rst_n)
begin
data<=512'b0;
out<=512'b0;
temp<=512'b0;
a<=IDLE;
sig_1<=1'b0;
j<=0;
end
else
if(sig_0&&a==IDLE)
begin
temp<=in;
data<=in;
sig_1<=1'b0;
a<=PROCESS;
end
else
if(a==PROCESS)
begin
data<=temp;
if(data[511:504]==8'b0&&data!=512'b0)
begin
temp<=data<<4'd8;
j<=j+1;
end
else
a<=DONE;
end
else
if(a==DONE)
begin
out<=data+512-j*4;
out[j*4-1]<=1'b1;
sig_1<=1'b1;
a<=NOP;
j<=1'b0;
data<=512'b0;
temp<=512'b0;
end
else
if(a==NOP&&~sig_0)
begin
a<=IDLE;
j<=0;
end
else
begin
sig_1<=1'b0;
j<=0;
end
endmodule
综合时有warningWARNING:Xst:1710 - FF/Latch <temp_258> (without init value) has a constant value of 0 in block <DataProcess>. This FF/Latch will be trimmed during the op
timization process.
WARNING:Xst:1710 - FF/Latch <data_67> (without init value) has a constant value of 0 in block <DataProcess>. This FF/Latch will be trimmed during the optimization process.
求问各位大神怎么解决
一周热门 更多>