cadence数模混合仿真反标sdf
数模混合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相关推荐
- Cadence数模混合仿真流程
Cadence数模混合仿真流程 1.进入Libraty Manager界面 2. 新建cell(digital)单元 3. 选择 cell type及编辑器 4. 为cell命名并编写verilog代 ...
- 数模混合仿真实例(数字verilog作为顶层)VCS+XA
数模混合仿真实例(数字verilog作为顶层)VCS+XA 大家都知道对于一颗有点复杂度的芯片而言(比如SOC),通常都会包含数字电路和模拟电路.在设计的初期,也许数字模块和模拟模块是分开设计和仿真的 ...
- 后仿真如何反标SDF文件
从概念上来说,数字验证包含两方面的内容,一个是验证功能,另一个是验证时序.对应的仿真模型(不论是model,standard cell等)也不外乎这两个部分,功能部分由逻辑,udp元件或gate构成, ...
- 在ubuntu上搭建IC数模混合环境
在ubuntu上搭建IC数模混合环境 仅以这篇博客来纪念一下当年因搭环境而掉的头发 文章目录 在ubuntu上搭建IC数模混合环境 对linux新手的一些搭环境常识补充 尽信书不如无书 没有基础的劝退 ...
- SABER 最强大的数模混合信号仿真软件
SABER 最强大的数模混合信号仿真软件 从用途上看, SaberDesigner 的应用领域比Pspice 要更为广阔,SaberDesigner 不仅可以用于电路仿真,还可用于机电.机电液.光机电 ...
- 数模混合监控,视频如何联动报警、消防、门禁?
最近研究一些视频安防的综合解决方案,看到一个不错的文章,转载过来,与大家共同学习下, 数模混合监控,视频如何联动报警.消防.门禁 1.项目原始需求 1.电梯8个 2.大堂12个.其中有4个高清 3.车 ...
- 数模混合电路设计中的难点
数模混合电路设计中的难点 数模混合电路的设计,一直是困扰硬件电路设计师提高性能的瓶颈.众所周知,现实的世界都是模拟的,只有将模拟的信号转变成数字信号,才方便做进一步的处理.模拟信号和数字信号的转变是否 ...
- 数模混合信号建模语言Verilog-AMS
混合信号建模语言Verilog-AMS 很多人做模拟电路的朋友,都希望有一款"模拟FPGA",希望有一个"模拟的Verilog",但现实是没有"模拟的 ...
- McDSP APB 调音台插件:Moo X Mixer 数模混合工作方式的展现
Moo X mixer插件是世界上第一个完全由软件控制的全自动调音台.任何模块的调用都是即时的,所有混音控制可以设置自动化以及保存为预设.每条通道携带有均衡器,模拟的压缩和饱和染色,以及一个立体声模拟 ...
最新文章
- NC19814最短路 LCA+bfs暴力
- 测量音叉153kHz谐振器的幅频特性
- 木马——本质就是cs socket远程控制,反弹木马是作为c端向外发起网络请求
- 19道小米网运维工程师笔试真题
- linux lanmp 安装教程,Linux 安装 lanmp
- pycharm设置开发模板
- 为什么要用3个通道来表示法线?
- 数字与中文信息的结合记忆(下)
- CCF NOI1066 素数对
- PHP 大文件下载(方式3 支持断点续传)
- 「力扣」509. 斐波那契数【动态规划】详解!
- 干货丨如何优雅地设计并控制一台协作机械臂
- golang实现最简单的麻将胡牌算法(不包括牌型,有需求后续可以更新牌型计算)
- Ceres Solver介绍
- Linux解决中文乱码问题及LANG与NLS_LANG的区别
- 如何查看同一服务器上挂有多少个网站
- Python 之CV2详解
- 理解快速排序 | 打通算法学习的任督二脉
- xmind打开文件报错
- FTP客户端--实现FTP文件的上传下载功能