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

智慧工地云平台源码,基于微服务架构+Java+Spring Cloud +UniApp +MySql

智慧工地管理云平台系统&#xff0c;智慧工地全套源码&#xff0c;java版智慧工地源码&#xff0c;支持PC端、大屏端、移动端。 智慧工地聚焦建筑行业的市场需求&#xff0c;提供“平台网络终端”的整体解决方案&#xff0c;提供劳务管理、视频管理、智能监测、绿色施工、安全管…...

java 实现excel文件转pdf | 无水印 | 无限制

文章目录 目录 文章目录 前言 1.项目远程仓库配置 2.pom文件引入相关依赖 3.代码破解 二、Excel转PDF 1.代码实现 2.Aspose.License.xml 授权文件 总结 前言 java处理excel转pdf一直没找到什么好用的免费jar包工具,自己手写的难度,恐怕高级程序员花费一年的事件,也…...

关于nvm与node.js

1 安装nvm 安装过程中手动修改 nvm的安装路径&#xff0c; 以及修改 通过nvm安装node后正在使用的node的存放目录【这句话可能难以理解&#xff0c;但接着往下看你就了然了】 2 修改nvm中settings.txt文件配置 nvm安装成功后&#xff0c;通常在该文件中会出现以下配置&…...

OkHttp 中实现断点续传 demo

在 OkHttp 中实现断点续传主要通过以下步骤完成&#xff0c;核心是利用 HTTP 协议的 Range 请求头指定下载范围&#xff1a; 实现原理 Range 请求头&#xff1a;向服务器请求文件的特定字节范围&#xff08;如 Range: bytes1024-&#xff09; 本地文件记录&#xff1a;保存已…...

从零实现STL哈希容器:unordered_map/unordered_set封装详解

本篇文章是对C学习的STL哈希容器自主实现部分的学习分享 希望也能为你带来些帮助~ 那咱们废话不多说&#xff0c;直接开始吧&#xff01; 一、源码结构分析 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详解

进来是需要留言的&#xff0c;先用做简单的 html 标签测试 发现面的</h1>不见了 数据包中找到了一个loadCommentsWithVulnerableEscapeHtml.js 他是把用户输入的<>进行 html 编码&#xff0c;输入的<>当成字符串处理回显到页面中&#xff0c;看来只是把用户输…...

AD学习(3)

1 PCB封装元素组成及简单的PCB封装创建 封装的组成部分&#xff1a; &#xff08;1&#xff09;PCB焊盘&#xff1a;表层的铜 &#xff0c;top层的铜 &#xff08;2&#xff09;管脚序号&#xff1a;用来关联原理图中的管脚的序号&#xff0c;原理图的序号需要和PCB封装一一…...

LUA+Reids实现库存秒杀预扣减 记录流水 以及自己的思考

目录 lua脚本 记录流水 记录流水的作用 流水什么时候删除 我们在做库存扣减的时候&#xff0c;显示基于Lua脚本和Redis实现的预扣减 这样可以在秒杀扣减的时候保证操作的原子性和高效性 lua脚本 // ... 已有代码 ...Overridepublic InventoryResponse decrease(Inventor…...