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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 8063|回复: 15

[求助] 如何在spectre里用verilog-A编写脉冲产生模块仿真锁相环(PLL)的相位噪声

[复制链接]
发表于 2019-1-3 16:01:43 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 wings233 于 2019-1-3 16:58 编辑

电路小白又来提问啦~在做PLL仿真时,需要仿真PLL整体的相位噪声,看到如下图片的文字,想问下verilog-A在实现脉冲产生模块和verilog的语法有区别吗?哎呀,具体应该怎么操作呀? 微信截图_20190103161116.png
 楼主| 发表于 2019-1-3 16:53:58 | 显示全部楼层
照葫芦画瓢写了一个,感觉并不对啊啊啊 微信截图_20190103170539.png
发表于 2019-1-4 16:46:57 | 显示全部楼层
你這語法都不對吧?

可以參考ahdlLib的寫法。
发表于 2019-1-5 07:44:18 | 显示全部楼层
那個Lib好像都很老了.....不知樓主有沒有更新一點的Lib 可以參考??
 楼主| 发表于 2019-1-17 10:26:22 | 显示全部楼层
不知道怎么写啊啊啊,头疼
发表于 2019-1-24 19:28:30 | 显示全部楼层
我最近也遇到了这个问题,要用veriloga 编成一个FMO编码的脉冲输入,始终没有思路,准备用verilog编写,然后做数模混合仿真了,虽然会麻烦点,但是目前没有别的方法了
发表于 2019-3-21 15:38:25 | 显示全部楼层
群主拉一个VerilogA的学习群交流学习
发表于 2019-3-22 17:00:58 | 显示全部楼层
写了个20分频的例子给你,输出时正负电压输出,已经仿真验证过了, 如果需要0 1输出自己改动一下代码
`include "constants.vams"
`include "disciplines.vams"

module pll_clk(clk_in, clk_out);
  parameter real period = 20;
  parameter clk_vth = 0.75;
  parameter div_factor = 50;
  input clk_in;
  output clk_out;
  electrical clk_in, clk_out;
  real clk_amplitude;
  integer cnt;
  
  analog begin
    @(initial_step or initial_step("dc", "tran")) begin
      clk_amplitude = 1;
      cnt = 0;
    end
    @( cross (V (clk_in ) - clk_vth, 1, 10p) ) begin
     cnt = cnt + 1;
     if( cnt > period ) begin
       clk_amplitude = clk_amplitude*-1;
       cnt = 0;
     end
   end
   V(clk_out) <+ transition( clk_amplitude, 10p, 10p, 10p);  
  end
endmodule

发表于 2019-3-22 17:09:05 | 显示全部楼层
问下楼主,文字出自哪个文档
发表于 2019-3-22 17:44:19 | 显示全部楼层
这个比较简单
fre.png
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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


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

GMT+8, 2024-12-22 15:32 , Processed in 0.031139 second(s), 8 queries , Gzip On, Redis On.

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