请教一个使用spectreVerilog进行混仿的问题:a2d interface判决有误怎么办?
但是使用一个Vpulse,结果却能正常工作
即便是正弦波也能正确的判决。
把环振直接接到一个数字buffer上,发现模拟的波形和数字的波形确实不一致。
我猜测是环振输出的电压的那两个小尖峰导致的,但是通常理解电平判决阈值应该是大于1.6都是1小于0.2都是0那这个尖峰的影响应该不存在才对啊
请教各位cadence的a2d的电平判决算法是怎样的?我的这个问题是什么原因?应该怎样设置才能正确判决?
消除馈通电荷消除尖峰这个办法似乎要改变电路结构吧?不改变模拟电路的话,这个混仿不能成功吗?
PS:混仿的时候数字部分一直有一个1ns 的延迟这个是系统默认的吗?
自己顶一下求高人指教
我们一天到晚在跑混合仿真,你的问题咋就看不明白呢。能不能解释得更清楚一些,要不然帮不到你。
终于有人回复了,感谢你的回复。我再附个图吧fout是经过计数器的输出buffer是只经过buffer的输出计数器是上升沿触发的但是从图中看到的似乎不是这样触发的因为模拟和数字的占空比就不一样而且数字的前后的占空比也不一样出现了翻转 ,这样的结果看起来很别扭,而且我后面的数字模块因为不满足1比2的占空比,都不能工作了
只经过一个buffer的输出也能说明一个占空比1比2的模拟方波为什么经过a2d以后 占空比变为1比3 ?而理想的方波和正弦都能判决为1比2的数字信号 ?
这个问题碰到过。明明是3.3V的电平,出来的脉冲 高电平经常是1V多。建议你检查一下端口设置。还有AVDD设置成PWL由低到高。
LZ描述太长,没有看清楚,我好像没有看清楚问题,不好意思,瞎回复了。呵呵
首先你要验证你设定的a2d,d2a的界面元素是起作用的,然后再看看触发电平的设定就很简单了。
我觉得界面元素是起作用的,不然的话为什么直接用Vpulse和Vsin都不会有这个触发失误的问题触发电平设置a2dv0=0.2a2dv1=1.6或者a2dv0=0a2dv1=1.8或者a2dv0=0.8a2dv1=1.0三种情况结果都是一样的
设定三个触发电平结果都一样的话, 说明ad2, d2a界面没有起作用。 Vpulse和vsin没有问题?不知道你的电路什么样的,所以不好评论。
按你的提示,好像真的是接口没起作用,求正确的设置方法。我之前都只设置library的但是那样看起来不行,是不是interface element每个cellinstance都要设置一遍啊?eadbord上有个人说要把analoglib下的MOSa2d和MOSd2a都考到自己的工程LIB下面然后修改CDF,这个是否有必要?
问题太多初次接触还请不吝赐教
我这边似乎没这么麻烦嘛。设置端口界面可以是局部针对schematic的,也可以是对整个库的。不管用什么界面元素都是数学抽象,所以没什么区别。缺省的MOSa2d MOSd2a都可以用。如果线路里面模数转换和数模转换都存在的话,进和出的端口都要设置,并且点下OK键。设置好之后似乎需要把这个设置信息作为属性写入二进制文件prop.xx中,这一步如果写不了或者出错了,就会等于没有设置一样。CDF我没有改过,也没有拷贝到自己的设计库文件中,没有必要。我真正调整过的是在低电压电路中,这些触发电平需要考虑是否符合电路的真实情况,比如电源和Vt翻转之类的。这里面没什么神秘的技术,看清楚出错信息就能明白的。
小编问题解决没呢
我也遇到你这个问题了,请问是怎么解决的 。
你好,我也遇到你这个问题了。请问你是怎么解决的。
我不知道我做的对不对啊我是把数字的Verilog代码timescale调很小结果就正常了你可以试试
确实是这样,我原先乜有添加timescale,添加上就正确了。