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

挑战杯推荐项目

“人工智能”创意赛 - 智能艺术创作助手&#xff1a;借助大模型技术&#xff0c;开发能根据用户输入的主题、风格等要求&#xff0c;生成绘画、音乐、文学作品等多种形式艺术创作灵感或初稿的应用&#xff0c;帮助艺术家和创意爱好者激发创意、提高创作效率。 ​ - 个性化梦境…...

Zustand 状态管理库:极简而强大的解决方案

Zustand 是一个轻量级、快速和可扩展的状态管理库&#xff0c;特别适合 React 应用。它以简洁的 API 和高效的性能解决了 Redux 等状态管理方案中的繁琐问题。 核心优势对比 基本使用指南 1. 创建 Store // store.js import create from zustandconst useStore create((set)…...

基于uniapp+WebSocket实现聊天对话、消息监听、消息推送、聊天室等功能,多端兼容

基于 ​UniApp + WebSocket​实现多端兼容的实时通讯系统,涵盖WebSocket连接建立、消息收发机制、多端兼容性配置、消息实时监听等功能,适配​微信小程序、H5、Android、iOS等终端 目录 技术选型分析WebSocket协议优势UniApp跨平台特性WebSocket 基础实现连接管理消息收发连接…...

【android bluetooth 框架分析 04】【bt-framework 层详解 1】【BluetoothProperties介绍】

1. BluetoothProperties介绍 libsysprop/srcs/android/sysprop/BluetoothProperties.sysprop BluetoothProperties.sysprop 是 Android AOSP 中的一种 系统属性定义文件&#xff08;System Property Definition File&#xff09;&#xff0c;用于声明和管理 Bluetooth 模块相…...

selenium学习实战【Python爬虫】

selenium学习实战【Python爬虫】 文章目录 selenium学习实战【Python爬虫】一、声明二、学习目标三、安装依赖3.1 安装selenium库3.2 安装浏览器驱动3.2.1 查看Edge版本3.2.2 驱动安装 四、代码讲解4.1 配置浏览器4.2 加载更多4.3 寻找内容4.4 完整代码 五、报告文件爬取5.1 提…...

ABAP设计模式之---“简单设计原则(Simple Design)”

“Simple Design”&#xff08;简单设计&#xff09;是软件开发中的一个重要理念&#xff0c;倡导以最简单的方式实现软件功能&#xff0c;以确保代码清晰易懂、易维护&#xff0c;并在项目需求变化时能够快速适应。 其核心目标是避免复杂和过度设计&#xff0c;遵循“让事情保…...

sipsak:SIP瑞士军刀!全参数详细教程!Kali Linux教程!

简介 sipsak 是一个面向会话初始协议 (SIP) 应用程序开发人员和管理员的小型命令行工具。它可以用于对 SIP 应用程序和设备进行一些简单的测试。 sipsak 是一款 SIP 压力和诊断实用程序。它通过 sip-uri 向服务器发送 SIP 请求&#xff0c;并检查收到的响应。它以以下模式之一…...

代码随想录刷题day30

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

【分享】推荐一些办公小工具

1、PDF 在线转换 https://smallpdf.com/cn/pdf-tools 推荐理由&#xff1a;大部分的转换软件需要收费&#xff0c;要么功能不齐全&#xff0c;而开会员又用不了几次浪费钱&#xff0c;借用别人的又不安全。 这个网站它不需要登录或下载安装。而且提供的免费功能就能满足日常…...

Win系统权限提升篇UAC绕过DLL劫持未引号路径可控服务全检项目

应用场景&#xff1a; 1、常规某个机器被钓鱼后门攻击后&#xff0c;我们需要做更高权限操作或权限维持等。 2、内网域中某个机器被钓鱼后门攻击后&#xff0c;我们需要对后续内网域做安全测试。 #Win10&11-BypassUAC自动提权-MSF&UACME 为了远程执行目标的exe或者b…...