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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

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

[转贴] 【转载】使用Cadence AMS仿真器做数模混合仿真

[复制链接]
发表于 2022-11-14 10:15:03 | 显示全部楼层 |阅读模式

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

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

x
注:本贴为转载原贴https://blog.csdn.net/mymatin1004/article/details/98804521

使用Cadence AMS仿真器做數模混合仿真

二、Cadence 基于ams仿真器的混合信号电路仿真P.S.:这里假设大家曾经有一些在 Cadence 中 Analog 电路的操作经验如: check and save : Shift + x 2.1、建立数字(Digital)模块
  • 首先,打开软件,点击 File -> New -> Cellview 准备为我们的将由 ** Verilog** 写成的半加器新建一个 Cellview

         watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2dzanRoeHk=,size_16,color_FFFFFF,t_70.jpg


  • 之后会弹出新建文件的对话框,这里由于我们将使用 ** Verilog** , 因此在填好 ** Cell ** 的名字之后,记得在 ** Type** 中选择 ** Verilog**, 相应的, View 也会变成 functional 。然后点击 OK 。

          20200508220432143.png


  • 接下来会弹出下面这个界面(和普通编辑器蛮像),在里面写好 Verilog 之后,先点击保存,然后点击右上角的 ** X** 来关闭窗口。

         watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2dzanRoeHk=,size_16,color_FFFFFF,t_70.jpg

  • 这下就会出现一个弹窗,告诉你这个模块还没有 symbol 问你要不要新建一个。这个时候当然要点击 Yes。
  • 然后可能就看起来没有什么事情发生了(其实对应的 symbol 已经建立好了)。

         watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2dzanRoeHk=,size_16,color_FFFFFF,t_70.jpg


2.2、建立 Analog - Digital 混合仿真原理图
  • 接下来开始进行混合仿真电路原理图的搭建,和建立第一个 Cellview 方法相同,不过在这里 Cell 的名字换成 full_adder 啦,然后记得 Type 这里是 schematic ,相应的 View 会变成 schematic。点击 OK 创建。

         20200508220840899.png

  • 为了方便,使用 ahdlLib 库中的 与门 来代表 Analog 电路。简单放了三个相同的 方波信号源 来模拟 全加器 的输入。绘制完成后,记得 ‘check and save’,然后就可以关掉这个窗口啦。

         watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2dzanRoeHk=,size_16,color_FFFFFF,t_70.jpg


2.3、建立 Analog - Digital 混合仿真config文件
  • 依旧是类似之前创建 Cellview 的方法,不过需要注意的是:这里在 Cell 的名字要与刚刚混合仿真的 schematic的名字相同。Type 一定要选 config。这样在 View 中也是 config。点击 OK 进行创建。

         20200508221050949.png

  • 接下来会弹出新的对话框(如下图),首先在 View 中选择 schematic,接下来点击 Use Template (这里就要看大家公司IT部门的兄弟安装软件的给力程度了)。

         watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2dzanRoeHk=,size_16,color_FFFFFF,t_70.jpg


  • 这时会弹出新的对话框(如下图),在 Name 中选择 AMS。

          watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2dzanRoeHk=,size_16,color_FFFFFF,t_70.jpg


  • 选好之后点击 OK。

         watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2dzanRoeHk=,size_16,color_FFFFFF,t_70.jpg


  • 就会发现模板看起来已经加载进来了(如下图),这时点击 OK

         watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2dzanRoeHk=,size_16,color_FFFFFF,t_70.jpg

2.3、配置混合信号电路仿真环境
  • 接下来点击 Open 如下图中的 1,这里顺便提一句,下图中的 2 是更新的作用,感觉上类似 schematic 中的 check and save

         watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2dzanRoeHk=,size_16,color_FFFFFF,t_70.jpg


  • 点击完上图中更新的按钮,可能会弹出 Update Sync-up 的对话框,这时记得打钩之后点击 OK就可以啦。接下来点击 3 那里的 "ADE L” 按钮。

         watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2dzanRoeHk=,size_16,color_FFFFFF,t_70.jpg

  • 可以发现,ADE L 窗口就出现了(如下图)。这里可以确认一下仿真器是否为 AMS。点击 Setup -> Simulator/Directory/Host…

         watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2dzanRoeHk=,size_16,color_FFFFFF,t_70.jpg


  • 可以从弹窗中看到 Simulator 是 ams,确认无误之后点击 OK

         20200508221830491.png

  • 点击按钮(如下图),进入仿真选项界面

         watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2dzanRoeHk=,size_16,color_FFFFFF,t_70.jpg

  • 这里进行 tran (瞬态)仿真。这里仿真时间设定为100ns,勾选 Enabled 然后点击 OK

         watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2dzanRoeHk=,size_16,color_FFFFFF,t_70.jpg


  • 选择仿真之后想要对其绘制曲线的net。点击 Outputs -> To Be Ploted -> Select On Design

         watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2dzanRoeHk=,size_16,color_FFFFFF,t_70.jpg

  • 这样可以在 schematic 中选择想要绘制其电压信号的 net

          watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2dzanRoeHk=,size_16,color_FFFFFF,t_70.jpg

  • Note:选择之后记得按Esc键。
  • 接下来还需要查看一下 Connect Rules (又到体现公司IT部门兄弟实力的时候啦),点击 Setup -> Connect Rules/IE Setup…

          watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2dzanRoeHk=,size_16,color_FFFFFF,t_70.jpg

  • 可以在弹出的界面中设定 Digital模块的供电电压,这里我假设为1V。设定之后依旧点击 OK

          watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2dzanRoeHk=,size_16,color_FFFFFF,t_70.jpg


2.4、针对混合信号电路demo进行仿真
  • 总算可以开始跑仿真啦,点击 Netlist and Run 按钮(如下图),进行仿真

         watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2dzanRoeHk=,size_16,color_FFFFFF,t_70.jpg


  • 最后的波形如下图所示。不得不说,这个仿真速度确实不是很快,尤其当电路规模较大的时候

         watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2dzanRoeHk=,size_16,color_FFFFFF,t_70.jpg



发表于 2023-11-20 21:41:37 | 显示全部楼层
请教一下大佬,是什么情况下用AMS呢?比如我做一个OSC给SPI做时钟,只要单独用specture仿OSC的相关指标,达到要求的频率也比较稳定就可以吧?而不是用AMS进一步仿真SPI的发送接收。
 楼主| 发表于 2023-11-22 14:26:02 | 显示全部楼层


qiaokeli123 发表于 2023-11-20 21:41
请教一下大佬,是什么情况下用AMS呢?比如我做一个OSC给SPI做时钟,只要单独用specture仿OSC的相关指标,达 ...


你好,我也是刚入行的新人,本贴只是对如何使用工具进行讨论,因为我也没有实际做过AMS仿真,但是目前有的同事在用这个跑dcoc
发表于 2023-11-22 14:38:33 | 显示全部楼层
能请问下怎么用VerilogA写一个随时间变化指数函数的电压源吗
 楼主| 发表于 2023-11-22 14:41:34 | 显示全部楼层


NULL_fgx 发表于 2023-11-22 14:38
能请问下怎么用VerilogA写一个随时间变化指数函数的电压源吗


哥,这个我也不会呀。。。
发表于 2024-1-9 14:13:53 | 显示全部楼层
感谢伟大的搬运工!salute
发表于 2024-5-20 11:13:10 | 显示全部楼层
写的真不错
发表于 2024-8-10 17:12:16 | 显示全部楼层
感谢分享,正需要做Verilog的AMS混合仿真
发表于 2024-8-30 17:18:17 | 显示全部楼层
收藏学习
发表于 2024-9-5 11:18:48 来自手机 | 显示全部楼层
太感谢兄弟了 照着你这个仿真,顺利仿真出我想要的结果!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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


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

GMT+8, 2024-11-22 13:34 , Processed in 0.027049 second(s), 7 queries , Gzip On, Redis On.

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