数模混合IC设计时经常要调用一些Verilog模块(最简单的例如SPI接口),在前仿时一般直接用rtl代码来仿真,但是后仿时要关注因寄生带来的延迟,避免这些额外的延迟导致时序错误,因此不能简单地采用RTL来仿真。

一般有两种办法:1是采用由RTL综合得到的门级电路来仿真,这种方法比较简单,但是缺点是规模较大,而且只包括门延迟不包括因版图导致的线延迟;如果想要仿真更精细,就要对该这部分门电路提取寄生参数;

另一种方式是利用sdf文件(standard delay format)来进行仿真。后端工具在布局布线时会自动提取出每个模块之间的延迟,并生成一个sdf文件。这样我们可以在行为级(而不是晶体管级)直接仿真得到其时序特性。其主要步骤介绍如下:

1:编译sdf文件

后端工具生成的sdf文件是不能被cadence识别的,需要先用ncsdfc命令编译,编译后自动生成.X后缀的文件。

每个sdf文件都会包括两组延迟模型,一组maximum一组minimum。

2:在config中调用Verilog文件

假定前仿时已经建好了config,其中的数字模块为spi_test。在前方时该模块调用的view为functional,后仿时设置其view为external HDL。

在ADE界面中,simulation –>option -->AMS simulator中点击include option,将综合后的门级Verilog代码以及标准单元库的Verilog代码include进来。

注:此时如果不添加sdf文件,仿真效果和前仿真完全相同;

3、编写sdf command file

之前已经编译生成了.X后缀的sdf文件,sdf command file的作用就是指定延迟文件的位置,log文件的位置、反标的对象以及采用maximum/minimum。

一个例子如下图:

这里的scope需要额外说明!假如你的testbench电路命名为sim_post_rtl,电路里代码的位置为I1.I2.I_dig,则需要写成 SCOPE = sim_post_rtl.I1.I2.I_dig 的形式。如果写错的话,仿真日志里会提示”没有找到被反标的对象“。

4、调用sdf command file

在ADE界面中,simulation –>option -->AMS simulator中点击SDF,在sdf command file中选择刚刚写好的sdf command file即可,不需要做其他配置。

5、一些bug

按照如上步骤进行仿真后,在simvision中即可看到数字单元的延迟。有时仿真器会产生莫名其妙的x或z状态,为了避免这种错误,数字模块的输入引脚尽可能采用Verilog直接配置。

例如:1信号不要用一个AVDD net提供,而是做一个testbench.v,在其中定义assign vx=1.

cadence数模混合仿真反标sdf相关推荐

  1. Cadence数模混合仿真流程

    Cadence数模混合仿真流程 1.进入Libraty Manager界面 2. 新建cell(digital)单元 3. 选择 cell type及编辑器 4. 为cell命名并编写verilog代 ...

  2. 数模混合仿真实例(数字verilog作为顶层)VCS+XA

    数模混合仿真实例(数字verilog作为顶层)VCS+XA 大家都知道对于一颗有点复杂度的芯片而言(比如SOC),通常都会包含数字电路和模拟电路.在设计的初期,也许数字模块和模拟模块是分开设计和仿真的 ...

  3. 后仿真如何反标SDF文件

    从概念上来说,数字验证包含两方面的内容,一个是验证功能,另一个是验证时序.对应的仿真模型(不论是model,standard cell等)也不外乎这两个部分,功能部分由逻辑,udp元件或gate构成, ...

  4. 在ubuntu上搭建IC数模混合环境

    在ubuntu上搭建IC数模混合环境 仅以这篇博客来纪念一下当年因搭环境而掉的头发 文章目录 在ubuntu上搭建IC数模混合环境 对linux新手的一些搭环境常识补充 尽信书不如无书 没有基础的劝退 ...

  5. SABER 最强大的数模混合信号仿真软件

    SABER 最强大的数模混合信号仿真软件 从用途上看, SaberDesigner 的应用领域比Pspice 要更为广阔,SaberDesigner 不仅可以用于电路仿真,还可用于机电.机电液.光机电 ...

  6. 数模混合监控,视频如何联动报警、消防、门禁?

    最近研究一些视频安防的综合解决方案,看到一个不错的文章,转载过来,与大家共同学习下, 数模混合监控,视频如何联动报警.消防.门禁 1.项目原始需求 1.电梯8个 2.大堂12个.其中有4个高清 3.车 ...

  7. 数模混合电路设计中的难点

    数模混合电路设计中的难点 数模混合电路的设计,一直是困扰硬件电路设计师提高性能的瓶颈.众所周知,现实的世界都是模拟的,只有将模拟的信号转变成数字信号,才方便做进一步的处理.模拟信号和数字信号的转变是否 ...

  8. 数模混合信号建模语言Verilog-AMS

    混合信号建模语言Verilog-AMS 很多人做模拟电路的朋友,都希望有一款"模拟FPGA",希望有一个"模拟的Verilog",但现实是没有"模拟的 ...

  9. McDSP APB 调音台插件:Moo X Mixer 数模混合工作方式的展现

    Moo X mixer插件是世界上第一个完全由软件控制的全自动调音台.任何模块的调用都是即时的,所有混音控制可以设置自动化以及保存为预设.每条通道携带有均衡器,模拟的压缩和饱和染色,以及一个立体声模拟 ...

最新文章

  1. NC19814最短路 LCA+bfs暴力
  2. 测量音叉153kHz谐振器的幅频特性
  3. 木马——本质就是cs socket远程控制,反弹木马是作为c端向外发起网络请求
  4. 19道小米网运维工程师笔试真题
  5. linux lanmp 安装教程,Linux 安装 lanmp
  6. pycharm设置开发模板
  7. 为什么要用3个通道来表示法线?
  8. 数字与中文信息的结合记忆(下)
  9. CCF NOI1066 素数对
  10. PHP 大文件下载(方式3 支持断点续传)
  11. 「力扣」509. 斐波那契数【动态规划】详解!
  12. 干货丨如何优雅地设计并控制一台协作机械臂
  13. golang实现最简单的麻将胡牌算法(不包括牌型,有需求后续可以更新牌型计算)
  14. Ceres Solver介绍
  15. Linux解决中文乱码问题及LANG与NLS_LANG的区别
  16. 如何查看同一服务器上挂有多少个网站
  17. Python 之CV2详解
  18. 理解快速排序 | 打通算法学习的任督二脉
  19. xmind打开文件报错
  20. FTP客户端--实现FTP文件的上传下载功能

热门文章

  1. 介绍一款资料管理软件EverNote
  2. 小数在内存中究竟是如何存储的(C语言代码详细讲解 2)
  3. 符号(汉字)编码方式
  4. 解析VMware服务器虚拟化技术
  5. 元宵节:吃饺子和吃汤圆的都沉默了
  6. 闲暇时间筛选一些网易云歌曲(Python)
  7. 【附源码】Python计算机毕业设计千益校园帮跑腿信息平台
  8. Java使用ffmpeg合并多个视频文件、mp3文件
  9. 深度学习:前馈神经网络
  10. 学习 canvas (七)实现圆球水波进度