在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 4192|回复: 9

[求助] 求反相器的VerilogA的代码,用在cadence里的

[复制链接]
发表于 2022-4-28 00:36:51 | 显示全部楼层 |阅读模式
50资产
救命啊
最近在弄SAR ADC 然后突然发现我之前用verilogA搞的反相器在实际电路中出现了很多问题
我的代码如下:
image.png
// VerilogA for inverter00, inverter_0, veriloga
`include "constants.vams"
`include "disciplines.vams"
module inverter_0(IN,OUT);
input IN;
output OUT;
electrical IN,OUT;
parameter real vtrans=1.65,
               tdelay=1p from[0:inf),
               trise=1p from[0:inf),
               tfall=1p from[0:inf);
real OUT_val;
analog begin
       @(cross(V(IN)-vtrans,1))
        OUT_val=0;
       @(cross(V(IN)-vtrans,-1))
        OUT_val=3.3;
       V(OUT)<+transition(OUT_val,tdelay,trise,tfall);
end
endmodule


然后单独接0~3.3V的方波作为输入的时候是可以很好地输出的 可以很好地实现反相功能

但是当连续接两个反相器的时候 输出就出错了 反两次理应输出原输入信号 但是它直接一直等于0去了
就大概这么接的,连着接两个反相器:
image.png
然后波形跑出来长这个样子:
EC0I`6AVVJA@]C_UX8S]MS2.png

还有个问题就是,当输入不是很标准的矩形波的时候,输出也不正确,没有很好地实现反相功能:
6H%]CV%}BO[`1N_FL}NSV`8.png
上面这个图里Q5是我电路里的某个信号,Q5n是这个信号接了我这个反相器后的输出信号

想请问大家我这个是什么原因导致输出是这些鬼样子的啊
各位大佬或许有反相器的verilogA的代码可以提供么
感激不尽!

救救:'(

最佳答案

查看完整内容

这个跟激励信号源是先高后低,还是先低后高没关系的,电路应该工作,除了对第一个沿变化的判断是由代码的写法决定的之外,没什么异常的地方。见附图。
发表于 2022-4-28 00:36:52 | 显示全部楼层


拉屎爱好者 发表于 2022-4-28 11:49
谢谢提醒!我刚刚试着像二楼一样调换了一下我的V1V2确实就输出正确了 但我这个信号很重要的 不能换V1V2的 ...


这个跟激励信号源是先高后低,还是先低后高没关系的,电路应该工作,除了对第一个沿变化的判断是由代码的写法决定的之外,没什么异常的地方。见附图。
捕获.PNG
发表于 2022-4-28 04:24:18 | 显示全部楼层
本帖最后由 amodaman 于 2022-4-28 04:25 编辑

代码没问题,我一个字都没改,跑出来的结果见图,应该是你其他地方的电路有问题造成的。


捕获.PNG
 楼主| 发表于 2022-4-28 11:27:09 | 显示全部楼层


amodaman 发表于 2022-4-28 04:24
代码没问题,我一个字都没改,跑出来的结果见图,应该是你其他地方的电路有问题造成的。


啊 可是不谈我后面那个电路里的Q5的信号 就看这个接两个反的电路 我们好像长得一模一样的 一时想不出我这个电路能出什么问题 请问能麻烦给我看下你这个输入信号里的具体参数么 延时啊上升下降沿时间啊什么的 非常感谢!
发表于 2022-4-28 11:32:35 | 显示全部楼层
本帖最后由 kenboy530 于 2022-4-28 11:34 编辑


拉屎爱好者 发表于 2022-4-28 11:27
啊 可是不谈我后面那个电路里的Q5的信号 就看这个接两个反的电路 我们好像长得一模一样的 一时想不出 ...


二楼的信号不是都在图片里了么,上升沿1p,只是v1v2跟你的是相反的。其次,这个反相器va的翻转点判定是1.65v,所以你加入的信号0-1变化未超过1.65v或者1-0变化未低于1.65v统统没有变化。
 楼主| 发表于 2022-4-28 11:49:01 | 显示全部楼层


kenboy530 发表于 2022-4-28 11:32
二楼的信号不是都在图片里了么,上升沿1p,只是v1v2跟你的是相反的。其次,这个反相器va的翻转点判定是1.6 ...


谢谢提醒!我刚刚试着像二楼一样调换了一下我的V1V2确实就输出正确了 但我这个信号很重要的 不能换V1V2的顺序 这是我SAR ADC里的采样信号 我这个信号必须得先高后低的 所有我才怀疑是代码有什么问题不够完善或者哪里不好什么的 我那个判断翻转的阈值是1.65我清楚的 但是Q5的那个输出(Q5的反)它在一开始就没反成功 我不太懂怎么回事 Q5一开始是低电平 然后长了一些小小刺 我的这个反相器不能判断它是低然后反到高么
 楼主| 发表于 2022-4-28 14:57:20 | 显示全部楼层


amodaman 发表于 2022-4-28 14:29
这个跟激励信号源是先高后低,还是先低后高没关系的,电路应该工作,除了对第一个沿变化的判断是由代码的 ...


谢谢谢谢 但是这第一个沿对我很重要 因为我一共就跑这一个周期 只要求变化一次 我也试过用CMOS反相器了 逻辑上倒是没有我之前的那些问题了 但是对后面的波形影响蛮大的 后面我需要的一些波形全都会跟着变差 所以就还是想要用verilogA写 现在不知道该怎么办了 而且这个verilogA的代码其实也不是我自己写的 求助的同学 我其实不会写verilogA的代码
发表于 2022-11-4 10:07:48 | 显示全部楼层
这个反相器的代码没有错,很正常的代码
 楼主| 发表于 2022-11-8 15:42:14 | 显示全部楼层


CC陈 发表于 2022-11-4 10:07
这个反相器的代码没有错,很正常的代码


好的 谢谢啦
发表于 2024-11-2 08:20:12 | 显示全部楼层
感觉是没定义intial_step
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-25 03:52 , Processed in 0.028873 second(s), 9 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表