当前位置: 首页 > 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;友友们有任何…...

Android Wi-Fi 连接失败日志分析

1. Android wifi 关键日志总结 (1) Wi-Fi 断开 (CTRL-EVENT-DISCONNECTED reason3) 日志相关部分&#xff1a; 06-05 10:48:40.987 943 943 I wpa_supplicant: wlan0: CTRL-EVENT-DISCONNECTED bssid44:9b:c1:57:a8:90 reason3 locally_generated1解析&#xff1a; CTR…...

synchronized 学习

学习源&#xff1a; https://www.bilibili.com/video/BV1aJ411V763?spm_id_from333.788.videopod.episodes&vd_source32e1c41a9370911ab06d12fbc36c4ebc 1.应用场景 不超卖&#xff0c;也要考虑性能问题&#xff08;场景&#xff09; 2.常见面试问题&#xff1a; sync出…...

Unity3D中Gfx.WaitForPresent优化方案

前言 在Unity中&#xff0c;Gfx.WaitForPresent占用CPU过高通常表示主线程在等待GPU完成渲染&#xff08;即CPU被阻塞&#xff09;&#xff0c;这表明存在GPU瓶颈或垂直同步/帧率设置问题。以下是系统的优化方案&#xff1a; 对惹&#xff0c;这里有一个游戏开发交流小组&…...

AI Agent与Agentic AI:原理、应用、挑战与未来展望

文章目录 一、引言二、AI Agent与Agentic AI的兴起2.1 技术契机与生态成熟2.2 Agent的定义与特征2.3 Agent的发展历程 三、AI Agent的核心技术栈解密3.1 感知模块代码示例&#xff1a;使用Python和OpenCV进行图像识别 3.2 认知与决策模块代码示例&#xff1a;使用OpenAI GPT-3进…...

ElasticSearch搜索引擎之倒排索引及其底层算法

文章目录 一、搜索引擎1、什么是搜索引擎?2、搜索引擎的分类3、常用的搜索引擎4、搜索引擎的特点二、倒排索引1、简介2、为什么倒排索引不用B+树1.创建时间长,文件大。2.其次,树深,IO次数可怕。3.索引可能会失效。4.精准度差。三. 倒排索引四、算法1、Term Index的算法2、 …...

代码随想录刷题day30

1、零钱兑换II 给你一个整数数组 coins 表示不同面额的硬币&#xff0c;另给一个整数 amount 表示总金额。 请你计算并返回可以凑成总金额的硬币组合数。如果任何硬币组合都无法凑出总金额&#xff0c;返回 0 。 假设每一种面额的硬币有无限个。 题目数据保证结果符合 32 位带…...

JavaScript 数据类型详解

JavaScript 数据类型详解 JavaScript 数据类型分为 原始类型&#xff08;Primitive&#xff09; 和 对象类型&#xff08;Object&#xff09; 两大类&#xff0c;共 8 种&#xff08;ES11&#xff09;&#xff1a; 一、原始类型&#xff08;7种&#xff09; 1. undefined 定…...

如何应对敏捷转型中的团队阻力

应对敏捷转型中的团队阻力需要明确沟通敏捷转型目的、提升团队参与感、提供充分的培训与支持、逐步推进敏捷实践、建立清晰的奖励和反馈机制。其中&#xff0c;明确沟通敏捷转型目的尤为关键&#xff0c;团队成员只有清晰理解转型背后的原因和利益&#xff0c;才能降低对变化的…...

libfmt: 现代C++的格式化工具库介绍与酷炫功能

libfmt: 现代C的格式化工具库介绍与酷炫功能 libfmt 是一个开源的C格式化库&#xff0c;提供了高效、安全的文本格式化功能&#xff0c;是C20中引入的std::format的基础实现。它比传统的printf和iostream更安全、更灵活、性能更好。 基本介绍 主要特点 类型安全&#xff1a…...

水泥厂自动化升级利器:Devicenet转Modbus rtu协议转换网关

在水泥厂的生产流程中&#xff0c;工业自动化网关起着至关重要的作用&#xff0c;尤其是JH-DVN-RTU疆鸿智能Devicenet转Modbus rtu协议转换网关&#xff0c;为水泥厂实现高效生产与精准控制提供了有力支持。 水泥厂设备众多&#xff0c;其中不少设备采用Devicenet协议。Devicen…...