马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
module counter2(clk, rst, data_in, data_size, p2s_en, query_flag); input clk; input [63:0] data_in; output [7:0] data_size; output query_flag; //reg [7:0] count;//2016.02.29 reg [7:0] data_size; reg query_flag;
begin
//----------------------------------------------------------------------------- always @(posedge clk or negedge rst) if (!rst) else if (data) end begin begin p2s_en <= 1'b0; m <= 0; end else if (flag)//2016.03.01
//if (flag && data[127])//2016.03.01 data_size <= 64-m; if (data[63]==1 && data[62]==0 && data[61]==0 && data[60]==0) query_flag <= 1'b1; query_flag <= 1'b0; else data<= data<< 1; end //if (data[127]), then program will be a dead cycle. for example data[7:0]=8'b01001101. //2015.04.02 /* p2s_en <= 1'b1; p2s_en <= 1'b0; end /* //ERROR: memory allocation failure begin begin p2s_en <= 1'b0; m <= 0; else while (!data[127]) data <= data << 1; end p2s_en <= 1'b1; query_flag <= 1'b1; query_flag <= 1'b0; end endmodule
代码如上,quartus2报错,data_in有改变时,赋值给data,然后对data进行长度计算。请问如何修改代码才能变成可综合的
|