Altium designer 如何进行SI仿真。

1、仿真电路中需要至少一块集成电路;

2、器件的IBIS模型;

3、在规则中必须设定电源网络和地网络;

4、建立SI规则约束;

5、层堆栈必须设置正确,电源平面必须连续;

建立的文件必须是一个工程,并把相应的文件放在工程目录下,建立原理图设计,建立PCB设计。搭建相应的IBIS模型,设定电源和地的规则,建立SI规则约束,并将层堆栈设置正确,电源平面连续。

对于SI仿真,可以是原理图仿真,可以是PCB仿真,

下面就实际操作一下如何利用Altium来实现对集成电路的SI仿真工作。首先要打开一块单板,单板可以是系统自带的,也可以是自行设计的。笔者打开一个自行设计的单板如下所示:

(1)首先设置好层叠设置,选择Impedance Calculation…,配置板材的相应参数,这里选择默认值,如下所示:

当遇到个别原理图元器件符号并未放置在PCB版图设计,用户可以利用Altium Designer提供的器件关联功能,即菜单Project -> Component Links命令;在PCB版图设计SI分析中,未布线的网络将采用曼哈顿(Manhattan)长度算法计算引脚间的传输线长度。

(2)设置信号的激励,如下图所示:

(3)设置电源和地网络

(4)进入到仿真界面,tools ----signal integrity,如下图所示:

打开模型信号完整性配置界面后,有几种状态需要了解,如上图所示。

点击Analyze Design…,弹出下图

点击Analyze Design…,出现如下图所示:

可以选择一个网络,点击右键---detail查看详细的信息。

下图对一个信号进行反射和串扰分析

反射分析

比如选择SD_CLK,点击>按钮,然后点击右下方的reflection按钮,进行反射分析,右侧方框内部可以对发生反射的信号进行阻抗匹配,包括串行,上拉电阻,下拉电阻,戴维南以及阻容和二极管匹配等,如下所示:

对于信号若是会发生反射,可以选择串接电阻,在扫描步数可以设置,这里保持默认,如下图所示:

再次进行反射计算,如下图所示,会列出以步数为10的所有情况,选择合适的阻值,串接在PCB板上即可。

串扰分析:

在SD_CLK信号上右键选择Set Aggressor设置干扰源,如下图所示,然后点击crosstalk得到下图的串扰分析

根据上述的结果可以对可能会产生串扰的情况进行重新布局改进。理想的布局结构如下图所示:

高速信号的布线规则:

    3w原则

这里3W是线与线之间的距离保持3倍线宽。是为了减少线间串扰,应保证线间距足够大,如果线中心距不少于3倍线宽时,则可保持70%的线间电场不互相干扰,称为3W规则。如要达到98%的电场不互相干扰,可使用10W规则。

    20H原则

这里的H指的介质厚度,H即电源和地之间的介质厚度。是指电源层相对地层内缩20H的距离,是为抑制边缘辐射效应。在板的边缘会向外辐射电磁干扰。将电源层内缩,使得电场只在接地层的范围内传导。有效的提高了EMC。若内缩20H则可以将70%的电场限制在接地边沿内;内缩100H则可以将98%的电场限制在内。

对高频信号回流的理解不能有一个思维定势,认为回流必须完全存在于信号走线正下方的参考平面上。事实上,信号回流的途径是多方面的:参考平面,相邻的走线,介质,甚至空气都可能成为它选择的通道,究竟哪个占主要地位归根结底看它们和信号走线的耦合程度,耦合最强的将为信号提供最主要的回流途径。比如在多层PCB设计中,参考平面离信号层很近,耦合了绝大部分的电磁场,99%以上的信号能量将集中在最近的参考平面回流,由于信号和地回流之间的环路面积很小,所以产生的EMI也很低。

避免信号线跨越地平面分割壕沟和接插件。板子的空余地方,尽可能大面积敷铜。而且要保持与地平面低阻抗良好连接。

参考资料:《altium designer信号完整性分析》

/****************************************************************

//===============================================================

上述内容如果有侵犯到您的权利,请及时与本作者联系,会在第一时间处理

联系方式:

Email    :tiegen123@126.com

QQ     :770811496

QQ交流群:298095983(FPGA&硬件学习交流群)

个人博客:http://www.raymontec.com/

其他博客:http://www.cnblogs.com/raymon-tec

由于作者水平有限,文中难免有疏漏或常识性错误,劳烦各位尽情指出。

欢迎大家一同讨论技术,交流设计过程中的经验,共同进步,共同学习。

//===============================================================

****************************************************************/

Altium Designer学习---如何进行SI仿真的更多相关文章

  1. Altium Designer学习: 原理图和PCB元件对应查找

    画PCB的时候,需要经常的去查看原理图上对应的元件,元件数目少还好找,数目多了找起来就比较扯淡.还要Altium Designer提供了不错的交叉查找功能. 这里我建议使用两个显示器,一个显示器放原理 ...

  2. Altium Designer学习:PCB只看当前层

    1 Shift+S          这个快捷键能高亮当前层,并且使其他层变成灰色,见下图:       2 隐藏指定层 在图中右下角的地方,右键,会弹出一个选项条,选择Hide Layers,可以选 ...

  3. Duanxx的Altium Designer学习:PCB试想一下,在目前的水平

    1 Shift+S          这个快捷键能高亮当前层,而且使其它层变成灰色.见下图: 2 隐藏指定层 在图中右下角的地方,右键.会弹出一个选项条.选择Hide Layers.能够选择想要隐藏的 ...

  4. [Altium Designer 学习]怎样输出Gerber文件和钻孔文件

    为了资料保密和传输方便,交给PCB厂商打样的资料一般以Gerber和钻孔文件为主,换句话说,只要有前面说的两种文件,就能制作出你想要的PCB了. 一般来说,交给PCB厂商的Gerber有以下几层: G ...

  5. [Altium Designer 学习]怎样添加3D模型

    对于为给PCB添加3D模型,很多人觉得这是个绣花针的活,中看不中用.在我看来这也未必,特别是常用的3D模型能在网上下载的今天,只需要几个简单的操作,就能使你的PCB更加赏心悦目.除此之外,3D模型还有 ...

  6. Altium Designer学习: 允许闭合回路

    使用AltiumDesigner画PCB时,顶层和底层都有电源线走 但是通过过孔链接的,主要是因为我这里可使用了几个相同的电源接口,把这些上下层的电源接口连在一起就很容易画出闭合回路,这自身没有太大的 ...

  7. Altium designer软件如何设计原理图库封装图库以及交互式布局

    欢迎大家关注http://www.raymontec.com(个人专博) Altium Designer学习—认识界面以及PCB设计整体要求 http://www.raymontec.com/alti ...

  8. altium designer 13 学习之添加汉字

    在altium desginer中如果你是想添加英文还是比较方便的,基本直接就可以输入了,但是添加中文就不是那么简单了,下面不介绍下如何在altium designer中快速的添加自己想要的中文 工具 ...

  9. Altium Designer PCB制作入门实例

    概要:本章旨在说明如何生成电路原理图.把设计信息更新到PCB文件中以及在PCB中布线和生成器件输出文件.并且介绍了工程和集成库的概念以及提供了3D PCB开发环境的简要说明.欢迎使用Altium De ...

随机推荐

  1. 关于数据ajax请求

    默认设置下,所有请求均为异步请求.如果需要发送同步请求,请将此选项设置为 false.注意,同步请求将锁住浏览器,用户其它操作必须等待请求完成才可以执行. var temp; $.ajax({ asy ...

  2. 基于layer简单的弹层封装

    /** * 产生长度为32的Guid字符串 */ function getGuid32() { var rt_str = String.fromCharCode(65 + Math.floor(Mat ...

  3. python网络编程(三)

    udp网络通信过程 udp应用:echo服务器 参考代码 #coding=utf-8 from socket import * #1. 创建套接字 udpSocket = socket(AF_INET ...

  4. MQ基本概念

    MQ的基本概念 1) 队列管理器 队列管理器是MQ系统中最上层的一个概念,由它为我们提供基于队列的消息服务. 2) 消息 在MQ中,我们把应用程序交由MQ传输的数据定义为消息,我们可以定义消息的内容并 ...

  5. GetLastError

    GetLastError返回错误表[0]-操作成功完成. [1]-功能错误. [2]-系统找不到指定的文件. [3]-系统找不到指定的路径. [4]-系统无法打开文件. [5]-拒绝访问. [6]-句 ...

  6. Flask特殊装饰器

    @app.errorhandler():重定义错误返回信息 @app.errorhandler(404) #监听多少写多少 def error404(message): return f"你 ...

  7. instanceof详解

    instanceof 用于确定一个 PHP 变量是否属于某一类 class 的实例: <?php class MyClass { } class NotMyClass { } $a = new ...

  8. PAT基础6-9

    6-9 统计个位数字 (15 分) 本题要求实现一个函数,可统计任一整数中某个位数出现的次数.例如-21252中,2出现了3次,则该函数应该返回3. 函数接口定义: int Count_Digit ( ...

  9. java 上传图片 并压缩图片大小(转)

    Thumbnailator 是一个优秀的图片处理的Google开源Java类库.处理效果远比Java API的好.从API提供现有的图像文件和图像对象的类中简化了处理过程,两三行代码就能够从现有图片生 ...

  10. cookie实现用户登录验证

    cookie实现用户登录验证 1, INSTALLED_APPS中注册app03 2,在主程序中新建映射关系到app3的url中 from django.conf.urls import url,in ...