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
Verilog中有总提示赋值问题,求大神解!
你写的程序有几点明显的错误:1、变量f的数据类型定义,assign语句中 左边变量必须是wire型,你这里定义成reg型。2、if语句不能单独出现在module里面,只能在always块里面或与其并行的块中。 本回答由提问者推荐 举报| 答案纠错 | 评论(1) 0 4 swary 采纳率:66% 来自:芝麻团 擅长: 操作系统\/系统故障 硬件 ...
为什么我的程序(Verilog编写)总在赋值位置报错?编写的是2路时钟控制选...
原因很简单:verilog语法错误。1、首先把分号补全。reg clkout_t这句后面加个;reg clkout_t;2、output默认是wire型,你用assign是对的,但是你却用了<= 符号,这就错了 改为即可:assign clkout = clkout_t;整个代码:module contrl_2 (clk5,clk15,en0,en1,clkout);input clk5,clk15,...
在verilog中赋值失败, 不知道是什么原因, 求大神帮我看看, 谢谢先.
提两个建议,第一个是谨慎使用阻塞赋值,你可以使用非阻塞赋值,一样可以查看到一个变量随着另一个变量的变化,只不过延后了一个CLK周期而已;第二个是触发条件是clk上升沿和RST下降沿,仿真时不要把时序写的那么紧,完全可以让rst保持低电平的时间长一些,作为程序复位的仿真时序图会方便看一些;具体的...
Verilog赋值问题
1、【31:0】D,这样设置是为了简洁易懂,比如总线有32位,即D0~D31,这样就把它们一次性赋值,但是可以一位一位地取出来用,比如a=D[0].。2、所说的always必须用reg意思是你里面有赋值语句的被赋值的变量必须为reg型的,而不是说在always语句里面出现的变量都要为reg型。比如我这里写reg b,wire a,然后在alwa...
verilog 赋值问题,编译通不过
语句之间要用分号,不能用逗号的。请把“逗号”改成“分号”还有这种单纯的赋值建议使用非阻塞赋值——"<="。望采纳~欢迎追问~
verilog HDL状态机 赋初值问题
两个always可以独立写。也可以写在一起,只要触发条件相同。但是要注意一点,如果独立写,在2个alway结构中,不能对同一个变量赋值,不然就会出现错误。这就是verilog不能当做软件使用的一点体现,原因在于数字电路的输出不能随意连在一起。欢迎追问~...
关于verilog数组赋值问题
要是你的设计和测试激励是分开编写的,那有可能在测试激励文件里面的FIFO_data1的定义有误。
verilog reg 赋值问题?
是错误的,只能这样赋值:reg[5:0] mark = 6'b100110; 赋初值需要直接在后面写,不能像c语言一样先定义再赋。另外verilog赋值还可以在模块语句里面赋值,比如always语句里面。
一个verilog里在case中赋值的问题, 求大家帮帮助, 如下例, 谢谢先.
当然不会变化,你的S信号位宽是1bit,它永远不可能等于2或者3,所以不可能变化,位宽加大
verilog reg 数组类型赋值后,仿真总是高阻
查看的信号线有误。解决方法:1、查看inst模块下的res信号值。2、将Inst模块中res作为该模块输出连接到tset模块的res信号。PS:test有拼写错误