马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
求助各位大佬,我使用veriloga代码编写了一个二进制转温度计码的decoder,但是我设置的输出高电平是1.2V,但是测试输出的高电平一直是1V,问题出在哪里呀
代码如下:
// VerilogA for 20240302, decoder, veriloga
`include "constants.vams"
`include "disciplines.vams"
module decoder (in,out,bb);
input [5:0] in;
output [63:0] out;
output [63:0] bb;
electrical [5:0]in;
electrical [63:0]out;
electrical [63:0]bb;
parameter V1=1.2;
integer sum;
integer out_v [63:0];
integer bb_v [63:0];
genvar i;
genvar j;
analog begin
sum = 0;
generate i (0,5)
sum=sum+((V(in[i])>=V1)?1:0)*pow(2,i);
for (i=0; i<=63; i=i+1)
if(i<=sum)
out_v[i]=1.2;
else
out_v[i]=0;
for(j=0;j<=63;j=j+1)
bb_v[j]=1.2;
generate i (63,0)
V(out[i])<+transition(out_v[i],0,0.1n);
generate j (63,0)
V(bb[j])<+transition(bb_v[j],0,0.1n);
end
endmodule
仿真结果如下:(输入为111111)
|