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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 6839|回复: 19

verilog-A建模针中遇到的问题

[复制链接]
发表于 2008-3-13 22:32:04 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
我在编写模型时,用下面的代码实现+-1v固定频率的方波作为锁相环的参考频率。但仿真出来时(图在附
件内),只有开始半个周期是-1伏,后来却只在200mA浮动并且是锯齿波。问题出在哪呢。
analog begin
@(initial_step) begin
n=0; t=Tc/2; end
@(timer(t)) begin
  n=!n;
t=t+Tc/2; end
V(ref)<+transition((n?v1:v0),td,tr,tf);
这个代码是参照一个例子写的,对verilog-A的语法还不熟。
未命名.bmp
发表于 2008-3-13 22:41:00 | 显示全部楼层
看起来没有问题阿!
请注意 tc td tr tf的关系,是不是td trtf 太长了!!
 楼主| 发表于 2008-3-14 09:42:16 | 显示全部楼层
我td,tr,tf设的都是0,仿真的是理想情况啊
发表于 2008-3-14 10:14:19 | 显示全部楼层
你的搞得太复杂了! 我没有看出来你的房拨周期怎么设定的!
其实最简单的就是 将abstime 引入程序就可以了吧
发表于 2008-3-14 20:44:28 | 显示全部楼层
你的代码没有问题,我已经仿真验证!
我认为应该是 仿真设置的问题,请将td tr tf 设置一下,比如1n,然后仿真 就可以了!
发表于 2008-3-14 23:02:32 | 显示全部楼层
问题是仿真器不知道在哪些地方信号会突然变化,如果用Spectre仿真,加一条语句可以解决问题的,我忘了是什么什么语句了,在帮助中找一下吧。
发表于 2008-3-15 13:30:07 | 显示全部楼层
代码没问题
发表于 2008-3-15 18:05:43 | 显示全部楼层
印象中我也遇到过这种问题。好像tr tf 不能为零的,你需要设置一个很小的值,但不能为零。microuser兄弟的解决方法应该是对的。
发表于 2008-3-16 16:32:15 | 显示全部楼层
td,tr,tf可以是零的,我仿过没有问题的,楼主可以自己拿个信号试试
发表于 2008-3-16 21:55:04 | 显示全部楼层
上面我说了,加一条语句应该可以解决问题。我查了查Cadence中的手册,这条语句是$bound_step,例如,你可以试试:



  1. $bound_step(0.01*Tc);


复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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


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

GMT+8, 2024-11-26 04:19 , Processed in 0.028873 second(s), 9 queries , Gzip On, Redis On.

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