请教用Verilogams写输出电流的一个问题
录入:edatop.com 阅读:
我用verilogams写了一个模块,输入是2位码字,输出是对应的电流
module (Iout, Ain); //Iout为输出电流,Ain为2位输入码字
output Iout;
input [0:1] Ain;
electrical Iout;
logic [0:1] Ain;
parameter real I = 6E-9; //基准电流
real iout; //内部电流变量;
always @(*) begin
case (Ain) //根据输入编码决定iout的值
2'b00: begin iout = 5.0; end
2'b01: begin iout = 4.0; end
2'b11: begin iout = 3.0; end
2'b11: begin iout = 2.0; end
endcase
end
analog
I(Iout) <+ iout*I;//通过Iout和基准电流相乘得到最后输出电流
end
结果编译的时候这句报错:I(Iout) <+ iout*I; 说是“illegal expression primary",请问怎么解决啊?
module (Iout, Ain); //Iout为输出电流,Ain为2位输入码字
output Iout;
input [0:1] Ain;
electrical Iout;
logic [0:1] Ain;
parameter real I = 6E-9; //基准电流
real iout; //内部电流变量;
always @(*) begin
case (Ain) //根据输入编码决定iout的值
2'b00: begin iout = 5.0; end
2'b01: begin iout = 4.0; end
2'b11: begin iout = 3.0; end
2'b11: begin iout = 2.0; end
endcase
end
analog
I(Iout) <+ iout*I;//通过Iout和基准电流相乘得到最后输出电流
end
结果编译的时候这句报错:I(Iout) <+ iout*I; 说是“illegal expression primary",请问怎么解决啊?
等式两边赋值类型不一样?建议考察一下这个问题。
I是保留字吧?
申明:网友回复良莠不齐,仅供参考。如需专业解答,请学习本站推出的微波射频专业培训课程。
上一篇:功耗问题
下一篇:求助ADS关于调制源产生的问题

