当前位置: 首页 > news >正文

DDR4单个DQ仿真实战(一)

目录

        • 引言
        • 1、新建Workspace
        • 2、导入brd文件
        • 3、在SiPro中打开Layout:查看并编辑叠层
        • 4、PCB剪裁(可选)
        • 5、创建SiPro
        • 6、创建分析模型
        • 7、查看分析结果
        • 8、创建原理图
        • 9、系统行为级仿真

引言

DDR4仿真将按照以下几个步骤进行:

  • 新建Workspace
  • 导入brd文件
  • 在SiPro中打开Layout:查看并编辑叠层
  • PCB剪裁(可选)
  • 创建SiPro
  • 创建分析模型
  • 查看分析结果
  • 创建原理图
  • 系统行为级仿真
1、新建Workspace

(1)点击菜单栏的新建Workspace按钮。
在这里插入图片描述
(2)弹出Workspace选项卡弹框,输入工作空间名称:MyWorkspace_wrk并指定路径(按照实际保存路径选择)。
在这里插入图片描述
(3)点击Create Workspace创建工作空间。
在这里插入图片描述

2、导入brd文件

(1)菜单栏中,选择File->Import->Design…
在这里插入图片描述
(2)在弹框中,选择File type为Allegro BRD File,然后点击Browse…选择文件夹。
在这里插入图片描述
(3)在弹框中,指定到brd文件路径,然后选择文件,点击打开按钮。
在这里插入图片描述
(4)brd文件会导入到创建的Workspace中。
在这里插入图片描述

3、在SiPro中打开Layout:查看并编辑叠层

(1)在Workspace中,左键双击layout可以打开PCB文件。
在这里插入图片描述
(2)PCB打开后,首先在菜单栏中,右键弹框中打开仿真需要的一些选项卡,如下图所示,此时左侧会显示层叠和信号有关的选项卡。
在这里插入图片描述
(3)在菜单栏中,点击Substrate,可以打开层叠编辑框。一般brd文件中设置好了叠层后,会自动导入,可以不需要进行修改。需要核对实际PCB加工工艺与叠层参数是否一致,不一致按照实际加工进行修改。
在这里插入图片描述

4、PCB剪裁(可选)

有时候,PCB较为复杂,而只需要对某个信号进行仿真时,为了后续操作和仿真速度,可以对目标信号线区域进行剪裁,独立出来进行仿真。
(1)首先,选择目标信号,然后在菜单栏中选择EM->Tools->Cookie Cutter…。
在这里插入图片描述
(2)在弹框中,选择剪切类型为Bounding Box,设置剪裁尺寸(net附近),然后点击Cut即可完成剪裁。
在这里插入图片描述
(3)如下图所示,新建了剪裁后的layout。
在这里插入图片描述

5、创建SiPro

下面开始进行Si仿真的创建。
(1)首先,在菜单栏中,点击Si/PI按钮,会弹出创建一个新的SiPro。
在这里插入图片描述
(2)在弹框中,输入自定义的Cellview名称。
在这里插入图片描述
(3)弹框提示保存layout,点击Save。
在这里插入图片描述
(4)需要等待一会儿…
在这里插入图片描述
(5)创建完成后,会进入到SiPro界面,如下图所示。
在这里插入图片描述

6、创建分析模型

下面,将选择目标信号,并进行仿真模型的创建。
(1)首先,将Analyses原有的栏目选择全部删除掉,然后右键新建SI,选择New Power Aware SI Analysis,并双击将名称修改为DDR_DQ0。
在这里插入图片描述
(2)在上方Design中,Nets中搜索DDR4_DQ0,可以将透明度和高亮选择,然后点击DDR_DQ0 Net,此时PCB区域会显示出双击的网络走线。在这里插入图片描述
(3)选择DDR4_DQ0 Net,然后右键选择Set as Signal,将其设置为信号。
在这里插入图片描述
(4)再右键,选择Add to Analysis,添加到仿真分析模型中。
在这里插入图片描述
(5)只添加Net,会有警告提示,未包含Ground。
在这里插入图片描述
(6)此时,在Net中搜索GND,并添加到分析中。
在这里插入图片描述
(7)此时,提示未定义端口。
在这里插入图片描述
(8)选择分析中的DDR4_DQ4 Net,并右键选择船舰端口或者组件模型组。
在这里插入图片描述
(9)此时,会弹框,点击两个组件,对应的PCB会有显示,可以确认是否是端口所在的组件。
在这里插入图片描述
(10)端口设置完成后,Si模型已经建立。
在这里插入图片描述
(11)下一步是对仿真频率进行设置,选择Options,选择Frequency Plans,设置仿真的频率类型、开始频率点,结束频率点。此处仿真类型后面会单独讲解,并比较不同类型的差异。
在这里插入图片描述
(12)点击Run,开始进行Si仿真。
在这里插入图片描述
(13)需要注意的是,仿真时间与硬件平台有关。如果实在虚拟机中进行,设置的内存空间必须大于4GB,不然会出现报错。当前仿真案例是设置的8GB。若在本地电脑进行,也需要时刻关注内存情况
在这里插入图片描述
(14)仿真完成后,会显示总共花费的时间。
在这里插入图片描述

7、查看分析结果

(1)S参数查看(插损、回损)
在这里插入图片描述
(2)TDR结果
在这里插入图片描述

8、创建原理图

在这里插入图片描述

9、系统行为级仿真

在这里插入图片描述
在这里插入图片描述
E N D ! \color{#4285f4}{\mathbf{E}}\color{#ea4335}{\mathbf{N}}\color{#fbbc05}{\mathbf{D}}\color{#4285f4}{\mathbf{!}} END!

相关文章:

DDR4单个DQ仿真实战(一)

目录 引言1、新建Workspace2、导入brd文件3、在SiPro中打开Layout:查看并编辑叠层4、PCB剪裁(可选)5、创建SiPro6、创建分析模型7、查看分析结果8、创建原理图9、系统行为级仿真 引言 DDR4仿真将按照以下几个步骤进行: 新建Work…...

Android Studio插件版本与Gradle 版本对应关系

一、背景 Android Studio 构建系统以 Gradle 为基础,并且 Android Gradle 插件添加了几项专用于构建 Android 应用的功能。 虽然 Android 插件通常会与 Android Studio 的更新步调保持一致,但插件(以及 Gradle 系统的其余部分)可…...

Uni-App-01

HBuilder安装卸载 安装 官网地址:https://www.dcloud.io/hbuilderx.html 下载HBuilder最新版 解压到安装目录,路径中不要有中文和空格 在桌面上增加快捷方式 卸载 执行reset.bat 删除HBuilder文件夹(如果提示文件被占用&#xff0…...

Java版本鸿鹄工程项目管理系统源码概述

项目背景 随着企业规模的扩大和业务的复杂化,传统的工程项目管理方式已经无法满足高效、准确、实时的管理需求。为了提高工程管理效率、优化资源配置、降低风险并控制成本,企业决定通过数字化转型,构建一个基于Spring Cloud、Spring Boot、M…...

基于echarts、php、Mysql开发的数据可视化大屏

大屏效果展示 管理员进入数据可视化页面将看到数据可视化大屏。大屏内容包括两个条形图,用于统计当前网站所有用户的MBTI 16型人格分布;玫瑰图,用于展示当前网站用户MBTI四个维度,八个字母的占比;折线图,用…...

Me-and-My-Girlfriend-1

Me-and-My-Girlfriend-1 解题 信息收集 nmap扫描存活主机 我的虚拟机为131 所以发现130为目标靶机。 查看网站,找到可利用点 使用浏览器查看,使用xff伪造本地用户。 注册用户cat,观察url有url_id,改为5,发现alice用户。 将…...

R语言实现GWAS meta分析(1)

1、基于数据集的Meta分析 datafilenamec("data1.txt","data2.txt"), setwd(workdir) library(Metalgwas) a1 name1c() for(i in datafilename){ assign(paste("file",a,sep""),data.table::fread(paste(getwd(),"/","…...

Kafka-代码示例

一、构建开发环境 File > New > Project 选择一个最简单的模板 项目和坐标命名 配置maven路径 添加maven依赖 <dependencies><!-- https://mvnrepository.com/artifact/org.apache.kafka/kafka-clients --><dependency><groupId>org.apache.kaf…...

LLVM - 编译器前端-llvm 基本块、指令、函数 的关系

一:基础概念: 在 LLVM 中,基本块、指令和函数是构建中间表示(IR)的核心概念,它们之间有着紧密的关系,首先了解下基本概念。 1. 基本块(Basic Block) 定义:基本块是一个不包含任何跳转指令的线性代码段,执行顺序是从头到尾。每个基本块至少有一个入口和一个出口。特…...

探索人工智能在自然语言处理中的应用

探索人工智能在自然语言处理中的应用 前言1. 机器翻译2. 情感分析3. 智能客服4. 文本生成未来展望 结语 前言 在信息爆炸的时代&#xff0c;自然语言处理&#xff08;NLP&#xff09;作为人工智能&#xff08;AI&#xff09;的一个重要分支&#xff0c;正以前所未有的速度改变着…...

IFC模型文本的含义

以下代码是一个STEP文件&#xff08;ISO-10303-21标准&#xff09;&#xff0c;它是一种用于表示产品数据的国际标准。STEP文件通常用于在不同的计算机辅助设计&#xff08;CAD&#xff09;系统之间交换数据。下面是对这段代码的逐行解释&#xff1a; HEADER部分&#xff1a; …...

构建高效评奖系统:SpringBoot在教育领域的应用

摘要 随着信息技术在管理上越来越深入而广泛的应用&#xff0c;管理信息系统的实施在技术上已逐步成熟。本文介绍了学生评奖评优管理系统的开发全过程。通过分析学生评奖评优管理系统管理的不足&#xff0c;创建了一个计算机管理学生评奖评优管理系统的方案。文章介绍了学生评奖…...

「二叉树进阶题解:构建、遍历与结构转化全解析」

文章目录 根据二叉树创建字符串思路代码 二叉树的层序遍历思路代码 二叉树的最近公共祖先思路代码 二叉搜索树与双向链表思路代码 从前序与中序遍历序列构造二叉树思路代码 总结 根据二叉树创建字符串 题目&#xff1a; 样例&#xff1a; 可以看见&#xff0c;唯一特殊的就…...

在使用代理IP时,需要注意以下几点:

1. 代理IP的质量和稳定性直接影响爬虫的效果。因此&#xff0c;我们需要定期更新代理IP列表&#xff0c;并筛选出可用的代理IP。 2. 有些代理IP可能存在被目标网站封禁的风险。因此&#xff0c;我们需要合理使用代理IP&#xff0c;避免过度频繁地访问目标网站。 3. 在使用代…...

深入理解Java基础概念的高级应用(1/5)

目录 1. Java内存模型&#xff1a;堆、栈与方法区 示例代码&#xff1a;对象存储位置 2. 类加载器的工作原理 示例代码&#xff1a;自定义类加载器 3. JVM如何执行字节码 字节码指令示例 4. Java基础数据类型的存储与操作 自动装箱与拆箱 示例代码&#xff1a;基础类型…...

高可用HA软件

高可用HA&#xff08;High Availability&#xff09;软件在分布式系统架构设计中至关重要&#xff0c;它们能够减少系统停机时间&#xff0c;确保应用程序持久、不间断地提供服务。以下是四款常用的高可用HA软件介绍&#xff1a; Keepalived Keepalived起初是为LVS&#xff08;…...

《近似线性可分支持向量机的原理推导》 拉格朗日函数 公式解析

本文是将文章《近似线性可分支持向量机的原理推导》中的公式单独拿出来做一个详细的解析&#xff0c;便于初学者更好的理解。 公式 9-41 解释&#xff1a; L ( w , b , ξ , α , μ ) 1 2 ∥ w ∥ 2 C ∑ i 1 N ξ i − ∑ i 1 N α i ( y i ( w T x i b ) − ( 1 − ξ …...

9.指针和字符串string类型

指针和字符串string类型 1.指针2.字符串string类型 1.指针 C完全兼容C语言指针&#xff0c;C多出一个this指针 交换两数 #include <iostream>using namespace std;void swap(int *a,int *b){int temp;temp *a;*a *b;*b temp; }int main() {//交换前int a 50;int b …...

八,Linux基础环境搭建(CentOS7)- 安装Mysql和Hive

Linux基础环境搭建&#xff08;CentOS7&#xff09;- 安装Mysql和Hive 大家注意以下的环境搭建版本号&#xff0c;如果版本不匹配有可能出现问题&#xff01; 一、Mysql下载及安装 MySQL是一个关系型数据库管理系统&#xff0c;由瑞典MySQL AB 公司开发&#xff0c;属于 Orac…...

海量数据面试题

⭐️前言⭐️ 本篇文章主要针对在面试时可能涉及到的海量数据的面试题&#xff0c;该类型面试题常常考虑通过位图、布隆过滤器或者哈希的方式来解决。 &#x1f349;欢迎点赞 &#x1f44d; 收藏 ⭐留言评论 &#x1f349;博主将持续更新学习记录收获&#xff0c;友友们有任何…...

浏览器访问 AWS ECS 上部署的 Docker 容器(监听 80 端口)

✅ 一、ECS 服务配置 Dockerfile 确保监听 80 端口 EXPOSE 80 CMD ["nginx", "-g", "daemon off;"]或 EXPOSE 80 CMD ["python3", "-m", "http.server", "80"]任务定义&#xff08;Task Definition&…...

脑机新手指南(八):OpenBCI_GUI:从环境搭建到数据可视化(下)

一、数据处理与分析实战 &#xff08;一&#xff09;实时滤波与参数调整 基础滤波操作 60Hz 工频滤波&#xff1a;勾选界面右侧 “60Hz” 复选框&#xff0c;可有效抑制电网干扰&#xff08;适用于北美地区&#xff0c;欧洲用户可调整为 50Hz&#xff09;。 平滑处理&…...

《用户共鸣指数(E)驱动品牌大模型种草:如何抢占大模型搜索结果情感高地》

在注意力分散、内容高度同质化的时代&#xff0c;情感连接已成为品牌破圈的关键通道。我们在服务大量品牌客户的过程中发现&#xff0c;消费者对内容的“有感”程度&#xff0c;正日益成为影响品牌传播效率与转化率的核心变量。在生成式AI驱动的内容生成与推荐环境中&#xff0…...

Java多线程实现之Thread类深度解析

Java多线程实现之Thread类深度解析 一、多线程基础概念1.1 什么是线程1.2 多线程的优势1.3 Java多线程模型 二、Thread类的基本结构与构造函数2.1 Thread类的继承关系2.2 构造函数 三、创建和启动线程3.1 继承Thread类创建线程3.2 实现Runnable接口创建线程 四、Thread类的核心…...

智能AI电话机器人系统的识别能力现状与发展水平

一、引言 随着人工智能技术的飞速发展&#xff0c;AI电话机器人系统已经从简单的自动应答工具演变为具备复杂交互能力的智能助手。这类系统结合了语音识别、自然语言处理、情感计算和机器学习等多项前沿技术&#xff0c;在客户服务、营销推广、信息查询等领域发挥着越来越重要…...

JVM 内存结构 详解

内存结构 运行时数据区&#xff1a; Java虚拟机在运行Java程序过程中管理的内存区域。 程序计数器&#xff1a; ​ 线程私有&#xff0c;程序控制流的指示器&#xff0c;分支、循环、跳转、异常处理、线程恢复等基础功能都依赖这个计数器完成。 ​ 每个线程都有一个程序计数…...

安全突围:重塑内生安全体系:齐向东在2025年BCS大会的演讲

文章目录 前言第一部分&#xff1a;体系力量是突围之钥第一重困境是体系思想落地不畅。第二重困境是大小体系融合瓶颈。第三重困境是“小体系”运营梗阻。 第二部分&#xff1a;体系矛盾是突围之障一是数据孤岛的障碍。二是投入不足的障碍。三是新旧兼容难的障碍。 第三部分&am…...

C++课设:简易日历程序(支持传统节假日 + 二十四节气 + 个人纪念日管理)

名人说:路漫漫其修远兮,吾将上下而求索。—— 屈原《离骚》 创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 专栏介绍:《编程项目实战》 目录 一、为什么要开发一个日历程序?1. 深入理解时间算法2. 练习面向对象设计3. 学习数据结构应用二、核心算法深度解析…...

解读《网络安全法》最新修订,把握网络安全新趋势

《网络安全法》自2017年施行以来&#xff0c;在维护网络空间安全方面发挥了重要作用。但随着网络环境的日益复杂&#xff0c;网络攻击、数据泄露等事件频发&#xff0c;现行法律已难以完全适应新的风险挑战。 2025年3月28日&#xff0c;国家网信办会同相关部门起草了《网络安全…...

R 语言科研绘图第 55 期 --- 网络图-聚类

在发表科研论文的过程中&#xff0c;科研绘图是必不可少的&#xff0c;一张好看的图形会是文章很大的加分项。 为了便于使用&#xff0c;本系列文章介绍的所有绘图都已收录到了 sciRplot 项目中&#xff0c;获取方式&#xff1a; R 语言科研绘图模板 --- sciRplothttps://mp.…...