|
是的我也觉得这个地方有点问题,我用的是verilogA实现的理想dac
module DAC_9bits_nc_va(D8,D7,D6,D5,D4,D3,D2,D1,D0,out);
input D8,D7,D6,D5,D4,D3,D2,D1,D0;
output out;
parameter real vdd=1.2;
parameter real tdelay=0;
parameter real trise=0;
parameter real tfall=0;
parameter real vref=1.2;
voltage D8,D7,D6,D5,D4,D3,D2,D1,D0,out;
real code,out_temp;
analog begin
code=0;
code=code+((V(D0)>vdd/2) ? pow(2,8):0);
code=code+((V(D1)>vdd/2) ? pow(2,7):0);
code=code+((V(D2)>vdd/2) ? pow(2,6):0);
code=code+((V(D3)>vdd/2) ? pow(2,5):0);
code=code+((V(D4)>vdd/2) ? pow(2,4):0);
code=code+((V(D5)>vdd/2) ? pow(2,3):0);
code=code+((V(D6)>vdd/2) ? pow(2,2):0);
code=code+((V(D7)>vdd/2) ? pow(2,1):0);
code=code+((V(D8)>vdd/2) ? pow(2,0):0);
code=code+1;
out_temp=code/512*vref;
V(out)<+ transition(out_temp,tdelay,trise,tfall);
end
endmodule
此处只有9个输入的原因是采用了如图所示的结构
|
|