Verilog中有总提示赋值问题,求大神解!

DESCRIPTION | fixed-point to floating-point
module Nencoder(I,B);

parameter n=11; //声明
input [n-1:0]I; //输入
output [n-5:0]B; //输出
reg [3:0]M;
reg [2:0]E;
//reg [n-1:0]T;
reg f; //标识符
assign f=1;
genvar p;

generate for(p=n-1;p>n-9;p=p-1)
begin:check
if(I[p]==1)
begin
M=I[p-:4]; //这里错误
E=p-3;
f=0;
end
end
endgenerate
if(f)
begin:other
M=I[4:0]; //这里错误
end
else
begin
M=M*2**E;//这里错误
end
B=M; //这里错误
endmodule
错误提示
** Error: C:/Modeltech_pe_edu_10.2/examples/fixtofloat.v(27): near "=": syntax error, unexpected <=, expecting IDENTIFIER or TYPE_IDENTIFIER
** Error: C:/Modeltech_pe_edu_10.2/examples/fixtofloat.v(39): near "=": syntax error, unexpected <=, expecting IDENTIFIER or TYPE_IDENTIFIER
** Error: C:/Modeltech_pe_edu_10.2/examples/fixtofloat.v(43): near "=": syntax error, unexpected <=, expecting IDENTIFIER or TYPE_IDENTIFIER
** Error: C:/Modeltech_pe_edu_10.2/examples/fixtofloat.v(45): near "=": syntax error, unexpected <=, expecting IDENTIFIER or TYPE_IDENTIFIER

你写的程序有几点明显的错误:1、变量f的数据类型定义,assign语句中 左边变量必须是wire型,你这里定义成reg型。2、if语句不能单独出现在module里面,只能在always块里面或与其并行的块中。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-05-31
你这根本就是瞎写~
相似回答