HyperLynx(十五)多板仿真

article/2025/9/30 20:00:12

1.多板仿真概述
2.建立多板仿真项目
3.运行多板仿真
4.多板仿真练习

1.多板仿真概述
在现代设计里,一个设计往往由几个PCB组成,典型的主板与内存条就是一个多板互连的应用。BoardSim 现在具有了加载多板、连接器及对其进行仿真的能力。每一块板子或是由它们的常规BoardSim文件“HYP”确定,或是由PCB对应的IBIS模型文件“.EBD”确定。如果所有的板子都是设计者自己设计的,那么在加载时,用.HYP文件来调用它们比较方便;如果一些板子来自第三方,则第三方应该提供.EBD文件。
HYP文件与EBD文件之间最主要的不同是:.HYP文件是物理性的,它包括详细的布线、叠层等;
EBD文件纯粹是一个当作传输线、起连接作用的电特性文件,它包括已经计算出来的电感、电容、时延和阻抗值。
HYP文件的连线是实际可见的,.EBD 却不能,因为它没有PCB的物理信息。然而在多板仿真中,二者中任何一种都可用来仿真主板与子板连接器对信号的影响。

2.建立多板仿真项目

在HyperLynx的菜单栏中,选择“File”→“New MultiBoard Project”命令,打开“MultiBoard Project Wizard”对话框,在对话框的 “Project filename”栏中输入项目名,单击“Browse…”按钮,指定项目路径,如图所示:

在这里插入图片描述

单击“Next”按钮,进入项目向导的第2步,单击此对话框中的“Insert…”按钮,找到以下文件:“…\hyperlynx\Demo_Files\ MainBoard.hyp”和“….hyperlynx\Demo_Files\ PlugIn1.hyp。

在这里插入图片描述

【注意】:“PlugIn1hyp”要加载两次,并在“Comment”栏中添加注释,如图所示。如果加载了错误的HYP文件,则可以在“.HYPfiles in this project”列表中单击文件的ID号,将其选中,再单击“Delete”按钮将其删除。

单击“Next”按钮,进入项目向导的第3步,定义板间互连映射。在对话框的“Design file#1”下拉列表中选择“B00,Mainboard”,在其下方的“Reference designators”列表中选择元器件“J1”,然后在“Designfile#2”下拉列表中选择“BO1、RAM1”,在其下方的“Refer ence designators”列表中选择元器件“J1”,单击“Insert”按钮,为这两个元器件建立互连映射。用同样的方法为“BOO:J2”与“B02:J1”建立互连映射,如图所示:

在这里插入图片描述

在这里插入图片描述

单击“Next”按钮,进入项目向导的第4步,定义电气互连属性。在对话框的“Interconnection list”列表中选中一个互连映射关系,就可以定义它的电气互连属性了,如阻抗、感抗、电容等,如图所示。

在这里插入图片描述

设置完成后,单击“Finish”按钮,这时HyperLvnx会自动打开多板仿真项目,编辑区域的显示如图所示:

在这里插入图片描述

3.运行多板仿真
单击工具栏中的“Select Net by Name for SI Analysis”图标,打开“Select Net by Name”对话框,在此对话框的“Design file”下拉列表中选择“B00 Mainboard”,然后在网络列表中单击“A0”将其选中,如图所示:

在这里插入图片描述

单击“OK”按钮,关闭“Select Net byName”对话框,此时HyperLynx窗口中只显示网络“A0”。在菜单栏中选择“Simulate SI”“Run Interactive Simulation (SI Oscilloscope)”命令,打开“Digital Oscilloscope”对话框。打开“Probes”对话框,只保留“U2 B01” “U2 B02” “U100 B00”的示波器探针,如图所示:

在这里插入图片描述

在数字示波器窗口中,将驱动波形设置为下降沿,运行仿真,结果如图所示:

在这里插入图片描述

可以看出,此时无论是驱动端还是接收端,信号的反射现象都很严重。为改善信号质量,需要对网络进行端接。
单击王具栏中的“Select Component Models or Edit Values”图标,打开“Assign Models”对话框,打开“Quick Terminator”选项卡。首先在“Design”下拉列表中选择“B00 Mainboard”,在“Quickter- minator”列表中选择引脚“U100.AE19”,在“Terminatorstyle”列表中选择端接类型为“C parallel”,在“Terminator values”栏中设置电容值为200pF,如图所示。

在这里插入图片描述

再为“B01”和“B02”的引脚“U2.20”选择端接类型“R-C parallel,AC”。
关闭“Assign Models”对话框,打开数字示波器窗口,重新运行仿真,结果如图所示:

在这里插入图片描述

结果明显比之前好很多。

4.多板仿真的练习
本节将建立一个在主板上插接两块RAM模块的多板工程,然后对其进行仿真分析。在HyperLynx的工具栏中,选择“File”→“NewMultiboardProject”命令,新建一个名为“mbd ram system”的多板项目。载入文件选择软件附带的文件“HYPERLYNX CLASS FINALBLZHYP”与“RAM MODULE COMPLETE HYP”其中RAM文件“RAM MODULE COMPLETEHYP”载人两次,并在注释栏中加人注释“RAM1”和“RAM2”,为“HY- PERLYNX CLASS FINALBLZHYP”添加注释“Motherboard”。将“B01RAM1”的连接器“P1”接入“BOO,Motherboard”的插槽“J1”将“BO1、RAM2”的连接器“P1”接入“BO0,Motherboard”的插槽“J2”。完成后的电路图如图所示:

在这里插入图片描述

打开“Select Net by Name”对话框,在“Design file”下拉列表中选择“B00 Mother- board”,然后选择网络“RAMBUSB_6”。
在“Assign Models”对话框中,选择“B00 Motherboard”,将“U16.B12”设置为输出。在“Quick Terminator”选项卡为其添加一个51Ω 的串联端接,并将该端接置于顶层。驱动端U16 B12模型如图所示:

在这里插入图片描述
在这里插入图片描述

不使能串扰仿真和损耗分析,仅使能过孔模型。打开虚拟数字示波器窗口,将纵坐标设置为500mV/div,横坐标设置为5ns/div,在“Fallingedge”和“Fast-Strong”的条件下运行仿真。
测量U1_B01.11和U1_B02.11的飞行时间,建议使用自动测量功能。结果如表所示:

在这里插入图片描述
在这里插入图片描述

接下来将对一个“坏的”连接器进行测试。当在产品测试或使用中出现系统故障时,都会怀疑是连接器引脚(connector pins)被污染所致。可以通过对该效果进行仿真以证实假设。由于污染首先影响的是电容和电阻,接下来将探讨改变这些值的效果。
在菜单栏选择“Edit”→“Multiboard Project”命令,打开“MultiBoard Project Wizard”对话框,对工程进行编辑。
找到寄生效应设置页,选择主板与RAM1之间的连接,将连接器电阻改为0.1Ω,电容改为10pF,如图所示:

在这里插入图片描述

单击“Finish”按钮,在弹出的对话框中单击“是(Y)”按钮保存更改。在“Save Multiboard Session Edits”对话框中使用默认设置保存。此操作会关闭当前的多板项目,然后重新打开,以便更新。
对网络RAMBUSB_6在“Falling edge”和“Fast-String”的条件下进行仿真。再次测量相同引脚的飞行时间,结果如表所示:

在这里插入图片描述
在这里插入图片描述

从结果可以看出,连接器的寄生效应改变后增加了信号的飞行时间,因此使时间容限减小。


http://chatgpt.dhexx.cn/article/ZJia1ofG.shtml

相关文章

HyperLynx(三)传输线类型及相关设置

传输线是传输链路上非常重要的一环,高速电路和信号完整性中很多问题都与传输线有关联。传输线主要分为微带线和带状线,这其中包含单端传输线和差分传输线(在PCB设计中,共面波导是一种比较特殊的传输线)。 在HyperLynx中…

HyperLynx仿真(一)LineSim简单介绍

1.LineSim仿真 LineSim用于PCB前仿真分析,主要是为在PCB布局布线之前对原理图中的高速信号进行假设性的仿真分析。主要考察信号在假设的叠层结构和布线参数条件下的传输效果,如过冲、下冲、输入高/低电平、串扰、眼图等指标,依次验证电路设计…

提高代码质量!详解在Gradle项目中使用PMD的正确姿势

当今的软件开发需要使用许多不同的工具和技术来确保代码质量和稳定性。PMD是一个流行的静态代码分析工具,可以帮助开发者在编译代码之前发现潜在的问题。在本文中,我们将讨论如何在Gradle中使用PMD,并介绍一些最佳实践。 什么是PMD&#xff…

PMD 自定义规则实践入门样例

原文:https://testerhome.com/topics/4918 准备工作 首先在PMD官网下载最新版本的文件,目前最新版本是5.4.1。 下载pmd-bin-5.4.1.zip和pmd-src-5.4.1.zip之后解压备用。 pmd-src-5.4.1是PMD源码包,是无法直接执行的。 pmd-bin-5.4.1是PM…

java pmd 插件下载_sonar-pmd插件集成p3c-pmd

基于官方插件项目sonar-pmd进行改造,这篇文章有详细说明,这个工程有低版本的实现。 每条规则对应的3个配置文件: src\main\resources\org\sonar\l10n\pmd.properties src\main\resources\org\sonar\plugins\pmd\rules.xml src\main\resources…

java pmd eclipse_eclipse插件之Findbugs、Checkstyle、PMD安装及使用

eclipse插件之Findbugs、Checkstyle、PMD安装及使用 一、什么是Findbugs、checkstyle、PMD Findbugs、checkstyle和PMD都可以作为插件插入eclipse,当然也有单独的工具可以实现他们的功能,比如Findbugs Tool就可以不必插入eclipse就可以使用。 三者的功能…

pmd 相机 系统标定

在图像测量过程以及机器视觉应用中,为确定空间物体表面某点的三维几何位置与其在图像中对应点之间的相互关系,必须建立摄像机成像的几何模型,这些几何模型参数就是摄像机参数。在大多数条件下这些参数必须通过实验与计算才能得到,这个求解参数…

DPDK — Userspace PMD 源码分析

目录 文章目录 目录PMD driver 通过 IGB_UIO 与 UIO 进行交互注册一个 UIO 设备PMD 的应用层实现Interrupt DPDK(中断模式) PMD driver 通过 IGB_UIO 与 UIO 进行交互 IGB_UIO 内核模块的另一个主要功能就是让用于态的 PMD 网卡驱动程序得以与 UIO 进行…

java pmd 安装_PMD-Java代码静态分析工具使用

如今,使用代码分析工具来代替人工进行代码审查,已经是大势所趋了。用于Java代码检测的工具中,不乏许许多多的佼佼者,其中PMD就是其中一款。PMD既可以独立运行,也可以以命令行的形式运行,还可以作为插件在ID…

java pmd 安装_PMD的安装及使用

PMD是一种开源分析Java代码错误的工具。 与其他分析工具不同的是,PMD通过静态分析获知代码错误。也就是说,在不运行Java程序的情况下报告错误。PMD附带了许多可以直接使用的规则,利用这些规则可以找出Java源程序的许多问题。此外,…

java pmd 安装_4. PMD 使用,编译和自定义规则

一 PMD简介 PMD是一款代码静态检查工具,可以检查出很多代码中潜在的bug以及让人感到疑惑的代码,具体大家可以百度下。 二 PMD源代码下载 下载地址: 需要注意的是注意选择branch,一般选择最新的branch;然后可以用git clone下来,或者直接下载zip压缩包。 如下: 从上图也可…

java pmd 插件下载_pmd eclipse插件

PMD是Eclipse上的一款源代码分析插件,与其他分析工具不同的是,PMD通过静态分析获知代码错误。也就是说,它可以在不运行Java程序的情况下报告错误。pmd 支持Java、JavaScript、XML、XSL等,欢迎下载! Eclipse PMD插件更新…

java pmd checkstyle_提高代码质量 CheckStyle FindBugs PMD

注:这是一篇翻译文章,原文:How to improve quality and syntax of your Android code,为了理解连贯,翻译过程中我修改了一些陈述逻辑和顺序,同时也加了一些自己的补充。 在这片文章中,我将从工具…

【C语言】 C语言图形编程 俄罗斯方块 课程设计

程序简介 由纯C语言实现的俄罗斯方块小程序,代码长度700行,使用Turbo C图形库美化了界面,并具俄罗斯方块游戏的所有基本功能。玩家可以通过键盘的“上下左右”键移动“方块”,“空格”去翻转方块,每当方块可以将一行“…

简单c语言图形程序设计,c语言实现一些简单图形的打印

1 #define _CRT_SECURE_NO_WARNINGS 1 因为笔者采用的是VS的编译环境所以有了上面的这一句话 我们都知道平面图形是由一条条线段构成,所以我们就先实现线段的打印 1 //打印自定义长度的线段 2 #include 3 intmain() 4 {5 int i = 0; 6 intn; 7 while (~scanf("%d",&…

C语言图形化编程 【二】

C语言图形编程 二 3 基本贴图3.1 声明一个存储图片的变量3.2 图片的路径3.3 显示图片3.4 透明贴图 4 鼠标操作4.1 声明一个存储鼠标信息的变量4.2 获取鼠标4.3 分类讨论鼠标消息的来源 3 基本贴图 3.1 声明一个存储图片的变量 格式: IMAGE img; //类型 变量名(你要贴的图片的…

基于C语言的图形化编程软件,图形化编程工具

原标题:图形化编程工具 1.产品介绍 唯众图形化编程工具是一款基于拖拽式图形化设计的可视化编程工具库,通过拖拽式图形化编程完成程序设计。作为一种易于掌握的图像化编程环境,是编程初学者学习和掌握程序设计方法的有力工具。用图形化编程方式去理解程序语言,可以让学生更…

C语言:编程打印图形

题目 编程打印以下图形: 代码 #include "stdio.h"void main() {char ch = A;int i,j;for(i=

c语言图形时钟编程,c语言程序+图形编程——打造简易的时钟

全程代码小编就在这里发出来了哈,最终的效果图, // c语言+图形编程 电脑时钟 //包含头文件 #include #include #include void Draw_Dial();//绘制静态的表盘 void Draw_Hand(int hour, int minute, int secend); //绘制表针 //主函数 int main() {initgraph

C语言图形编程--俄罗斯方块制作(一)详解

效果图 用C语言实现俄罗斯方块&#xff0c;需要先解决下面几个问题&#xff1a; 1、如何用C语言绘制图形界面 EasyX图形库(http://www.easyx.cn)即TC的图形库在VC下的移植。 包含库#include <graphics.h> 先初始化图形窗口 initgraph(WINDOW_WIDTH, WINDOW_HIGH) ;WINDOW…