马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
最近在设计ADC,为实时观察输出数字和输入模拟电平,参考ahdl库里的模型自己动手写了个12bit的理想dac,发现输出电平随时间不是离散变化的,下降沿时能跟随数字输入信号迅速下降,但是上升时是缓慢上升,如下图所示:
我写的veriloga代码如下,请高手分析哪里出了问题,谢谢!!`include "constants.vams" `include "disciplines.vams" module dac_12bit_diff_ideal (vd11, vd10, vd9, vd8, vd7, vd6, vd5, vd4, vd3, vd2, vd1, vd0, vout1, vout2); electrical vd11, vd10, vd9, vd8, vd7, vd6, vd5, vd4, vd3, vd2, vd1, vd0, vout1, vout2; parameter real vref = 1 from [0:inf); parameter real trise = 0.0; parameter real tfall = 10.0e-12; parameter real tdel = 10.0e-12; parameter real vtrans = 2.5; Analog begin out_scaled = 0; out_scaled = out_scaled + ((V(vd11) > vtrans) ? 2048 : 0);
省略……
V(vout1) <+ transition( vref*(2.5+(out_scaled-2048)/2048), tdel, trise, tfall ); V(vout2) <+ transition( vref*(2.5-(out_scaled-2048)/2048), tdel, trise, tfall ); end endmodule |