最近忙于ADC校准程序的调试。使用
verilog建立的ADC模型能正常工作,时序上没有任何问题。但是,再加入校准程序后,即使使第一级电路没有增益误差,跑出来的结果也不对。经过多次检查,陆续发现了几个问题:1,没注意数据位宽。定义数据为40位,但在运算中给了41位。2、算法失误。将使用C描述的算法用verilog实现时,没有深刻理解算法的含义,导致不能正确的表达其意思(这个问题多次遇到)。以上问题改过之后,结果还是不对,增益不能收敛到准确值,相反,从8不停地下降。初步怀疑还是时序问题。这种问题以前也出现过,忘记当时怎么解决的了。明天先检查整个算法,看是不是和原算法有出入;之后检查时序,从源头处着手,争取明天将程序调通。
同时做好综合相关工作,整理综合的资料。