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文件夹(如果提示文件被占用࿰…...
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. 文本生成未来展望 结语 前言 在信息爆炸的时代,自然语言处理(NLP)作为人工智能(AI)的一个重要分支,正以前所未有的速度改变着…...
IFC模型文本的含义
以下代码是一个STEP文件(ISO-10303-21标准),它是一种用于表示产品数据的国际标准。STEP文件通常用于在不同的计算机辅助设计(CAD)系统之间交换数据。下面是对这段代码的逐行解释: HEADER部分: …...
构建高效评奖系统:SpringBoot在教育领域的应用
摘要 随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。本文介绍了学生评奖评优管理系统的开发全过程。通过分析学生评奖评优管理系统管理的不足,创建了一个计算机管理学生评奖评优管理系统的方案。文章介绍了学生评奖…...
「二叉树进阶题解:构建、遍历与结构转化全解析」
文章目录 根据二叉树创建字符串思路代码 二叉树的层序遍历思路代码 二叉树的最近公共祖先思路代码 二叉搜索树与双向链表思路代码 从前序与中序遍历序列构造二叉树思路代码 总结 根据二叉树创建字符串 题目: 样例: 可以看见,唯一特殊的就…...
在使用代理IP时,需要注意以下几点:
1. 代理IP的质量和稳定性直接影响爬虫的效果。因此,我们需要定期更新代理IP列表,并筛选出可用的代理IP。 2. 有些代理IP可能存在被目标网站封禁的风险。因此,我们需要合理使用代理IP,避免过度频繁地访问目标网站。 3. 在使用代…...
深入理解Java基础概念的高级应用(1/5)
目录 1. Java内存模型:堆、栈与方法区 示例代码:对象存储位置 2. 类加载器的工作原理 示例代码:自定义类加载器 3. JVM如何执行字节码 字节码指令示例 4. Java基础数据类型的存储与操作 自动装箱与拆箱 示例代码:基础类型…...
高可用HA软件
高可用HA(High Availability)软件在分布式系统架构设计中至关重要,它们能够减少系统停机时间,确保应用程序持久、不间断地提供服务。以下是四款常用的高可用HA软件介绍: Keepalived Keepalived起初是为LVS(…...
《近似线性可分支持向量机的原理推导》 拉格朗日函数 公式解析
本文是将文章《近似线性可分支持向量机的原理推导》中的公式单独拿出来做一个详细的解析,便于初学者更好的理解。 公式 9-41 解释: 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语言指针,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基础环境搭建(CentOS7)- 安装Mysql和Hive 大家注意以下的环境搭建版本号,如果版本不匹配有可能出现问题! 一、Mysql下载及安装 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Orac…...
海量数据面试题
⭐️前言⭐️ 本篇文章主要针对在面试时可能涉及到的海量数据的面试题,该类型面试题常常考虑通过位图、布隆过滤器或者哈希的方式来解决。 🍉欢迎点赞 👍 收藏 ⭐留言评论 🍉博主将持续更新学习记录收获,友友们有任何…...
智慧工地云平台源码,基于微服务架构+Java+Spring Cloud +UniApp +MySql
智慧工地管理云平台系统,智慧工地全套源码,java版智慧工地源码,支持PC端、大屏端、移动端。 智慧工地聚焦建筑行业的市场需求,提供“平台网络终端”的整体解决方案,提供劳务管理、视频管理、智能监测、绿色施工、安全管…...
java 实现excel文件转pdf | 无水印 | 无限制
文章目录 目录 文章目录 前言 1.项目远程仓库配置 2.pom文件引入相关依赖 3.代码破解 二、Excel转PDF 1.代码实现 2.Aspose.License.xml 授权文件 总结 前言 java处理excel转pdf一直没找到什么好用的免费jar包工具,自己手写的难度,恐怕高级程序员花费一年的事件,也…...
关于nvm与node.js
1 安装nvm 安装过程中手动修改 nvm的安装路径, 以及修改 通过nvm安装node后正在使用的node的存放目录【这句话可能难以理解,但接着往下看你就了然了】 2 修改nvm中settings.txt文件配置 nvm安装成功后,通常在该文件中会出现以下配置&…...
OkHttp 中实现断点续传 demo
在 OkHttp 中实现断点续传主要通过以下步骤完成,核心是利用 HTTP 协议的 Range 请求头指定下载范围: 实现原理 Range 请求头:向服务器请求文件的特定字节范围(如 Range: bytes1024-) 本地文件记录:保存已…...
从零实现STL哈希容器:unordered_map/unordered_set封装详解
本篇文章是对C学习的STL哈希容器自主实现部分的学习分享 希望也能为你带来些帮助~ 那咱们废话不多说,直接开始吧! 一、源码结构分析 1. SGISTL30实现剖析 // hash_set核心结构 template <class Value, class HashFcn, ...> class hash_set {ty…...
Matlab | matlab常用命令总结
常用命令 一、 基础操作与环境二、 矩阵与数组操作(核心)三、 绘图与可视化四、 编程与控制流五、 符号计算 (Symbolic Math Toolbox)六、 文件与数据 I/O七、 常用函数类别重要提示这是一份 MATLAB 常用命令和功能的总结,涵盖了基础操作、矩阵运算、绘图、编程和文件处理等…...
视觉slam十四讲实践部分记录——ch2、ch3
ch2 一、使用g++编译.cpp为可执行文件并运行(P30) g++ helloSLAM.cpp ./a.out运行 二、使用cmake编译 mkdir build cd build cmake .. makeCMakeCache.txt 文件仍然指向旧的目录。这表明在源代码目录中可能还存在旧的 CMakeCache.txt 文件,或者在构建过程中仍然引用了旧的路…...
渗透实战PortSwigger靶场:lab13存储型DOM XSS详解
进来是需要留言的,先用做简单的 html 标签测试 发现面的</h1>不见了 数据包中找到了一个loadCommentsWithVulnerableEscapeHtml.js 他是把用户输入的<>进行 html 编码,输入的<>当成字符串处理回显到页面中,看来只是把用户输…...
AD学习(3)
1 PCB封装元素组成及简单的PCB封装创建 封装的组成部分: (1)PCB焊盘:表层的铜 ,top层的铜 (2)管脚序号:用来关联原理图中的管脚的序号,原理图的序号需要和PCB封装一一…...
LUA+Reids实现库存秒杀预扣减 记录流水 以及自己的思考
目录 lua脚本 记录流水 记录流水的作用 流水什么时候删除 我们在做库存扣减的时候,显示基于Lua脚本和Redis实现的预扣减 这样可以在秒杀扣减的时候保证操作的原子性和高效性 lua脚本 // ... 已有代码 ...Overridepublic InventoryResponse decrease(Inventor…...
