Xilinx FPGA DDR4 接口的 PCB 准则

news2024/9/22 13:26:01

目录

1. 简介

1.1 FPGA-MIG 与 DDR4 介绍

1.2 DDR4 信号介绍

1.2.1 Clock Signals

1.2.2 Address and Command Signals

1.2.3 Address and Command Signals

1.2.4 Data Signals

1.2.5 Other Signals

2. 通用存储器布线准则

3. Xilinx FPGA-MIG 的 PCB 准则

3.1 引脚交换

3.1.1 Bank/Byte Planner

3.1.2 Signal Group

3.1.3 自动分配信号组

3.2 《UG575》Pinouts

3.2.1 FFVB676 Bank Diagram

3.2.2 Multi−Function I/O Pins

3.2.3 Pinout Files

3.3 布线准则

3.3.1 Fly-by(飞跃式)

3.3.2 Clamshell(贝壳式)

4. 总结

5. 参考资料


1. 简介

1.1 FPGA-MIG 与 DDR4 介绍

DDR4

DDR 的全称是 DDR SDRAM(Double Data Rate Synchronous Dynamic Random Access Memory),即双倍数据传输率的同步动态随机存取存储器

  • DDR - 即双倍的意思。DDR 内存采用了双倍数据传输率的技术,即在每个时钟周期内可以传输两次数据,相比于传统的 SDRAM,DDR 内存的数据传输速度是提升了一倍的。
  • Synchronous - 表示内存与系统时钟同步工作,数据传输在时钟的控制下进行。
  • Dynamic - 表示内存是动态随机存取存储器,需要定期刷新以保持数据的存储状态。与之相对的是静态存储器(SRAM),SRAM 速度更快、功耗更高,但相对稳定且不需要定期刷新。
  • RAM - 随机存取存储器,其对立面是 Sequential Access Memory(顺序存取存储器),包括:磁带、光盘、磁盘。

FPGA-MIG

Memory Controller - 控制器接受来自用户接口的突发事务,并生成与 SDRAM 之间的事务。控制器负责处理 SDRAM 的时序参数和刷新。它合并写入和读取事务,以减少在转换总线时涉及的死周期数量。控制器还重新排序命令,以改善数据总线到SDRAM的利用率。

Physical Layer - 物理层为 SDRAM 提供高速接口。该层包括 FPGA 内的硬块和软件块校准逻辑,以确保硬块与 SDRAM 接口的时序最佳。

Application Interface - 用户接口层为应用程序提供类似 FIFO 的简单接口。数据被缓冲,读取的数据按照请求顺序呈现。

1.2 DDR4 信号介绍

1.2.1 Clock Signals

ck_t, ck_c - 差分时钟

1.2.2 Address and Command Signals

a[17,13:0] - 地址输入

ras_n/a[16] - 行地址选通,地址位 16

cas_n/a[15] - 列地址选通,地址位 15

we_n/a[14] - 写入使能,地址位 14

bg[1:0] - Bank 组输入

ba[1:0] - Bank 地址输入

act_n - Activation command input(激活命令输入)

par - Command and address parity input(命令和地址奇偶校验输入)

1.2.3 Address and Command Signals

cke - 时钟使能

cs_n[3:0] - 芯片选择

odt - On-die termination enable

reset_n

1.2.4 Data Signals

dq[79:0] - 数据输入/输出

dqs_t/dqs_c[9:0] - Data strobe (differential),数据选通 (差分)

dm_n/dbi_n - Data mask and data bus inversion(数据掩码和数据总线反转)

1.2.5 Other Signals

TEN - Test connectivity mode. CMOS level. Connect 500Ω resistor to ground at memory devices。测试连接模式。 CMOS 级别。将 500Ω 电阻连接到位于存储器器件处的接地。

alert_n

VRP (PL) - 240Ω to GND

ZQ (PS) - 240Ω to GND

2. 通用存储器布线准则

1. 判定信号走线长度时,请在布线约束内包含封装延迟。如可设置封装延迟的最小值和最大值,请使用最小值与最大值之间的中段值。

2. 总线内的最短信号和最长信号必须在列示的规范范围内。

3. 总线中最长地址信号与最短地址之间的延迟之差不得超过 2ps。

4. DDR4 组件接口的 CK 到 DQS 规范范围很大。目的是为了确保在所有存储器器件上从器件链的首个器件到最后一个器件间实现适当的写平衡。

5. 对于飞越式布线,可将地址信号、命令信号和控制信号布线于不同层级上,但建议尽可能少用此方法。请勿将任一信号布线在 2 个以上层级上,这样可最大限度减少可能导致串扰问题的感应环路。任何跨信号层的过孔都需在50 mil 周边范围存储器在 1 个接地过孔。

3. Xilinx FPGA-MIG 的 PCB 准则

3.1 引脚交换

3.1.1 Bank/Byte Planner

如果设计中存在 UltraScale 架构的 Memory IP,则包含启动内存 Bank/Byte 规划工具。

Memory Bank/Byte Planner 

3.1.2 Signal Group

点击 Show Signal Group 按钮,以在 Signal Groups 对话框中显示每个 Memory IP 的信号组列表。

Signal Group 显示当前配置的 DDR 所有的信号线。

3.1.3 自动分配信号组

 

3.2 《UG575》Pinouts

《UltraScale(+) FPGAs Packaging and Pinouts Product Specification UG (UG575)》

3.2.1 FFVB676 Bank Diagram

FFVB676 (XCKU3P and XCKU5P) 

3.2.2 Multi−Function I/O Pins

3.2.3 Pinout Files

UltraScale and UltraScale+ Package Device Pinout Filesicon-default.png?t=N7T8https://www.xilinx.com/support/package-pinout-files/ultrascale-pkgs.html

命名规则:

# 差分
IO_L[1-24][P/N]_T[0-3 ] [U/L]_N[0-12]_ [multi-function]_[bank number]

# 单端
IO_T[0-3 ][U/L]_N[0-12]_[multi-function]_[bank number]
  • 大多数用户 I/O 引脚都支持差分信号并且可以成对实现。 
  • IO表示用户I/O引脚。
  • L[1-24] 表示 I/O 引脚是差分对。没有L表示 I/O 引脚是单端的。
  • T[0-3][U/L] 表示为引脚分配的字节组和该组内的半字节位置(上部或下部)。
  • N[0-12] 其字节组内 I/O 的数量。
  • [multi-function] 表示该引脚可以提供的其他功能。
  • [bank number] 表示为用户 I/O 引脚分配的 Bank。

AD[0-15][P/N]

系统监视器差分辅助模拟输入0-15。

GC or HDGC

每个组中有四个全局时钟 (GC) 引脚对。 HDGC 引脚可以直接访问全局时钟缓冲区。 GC 引脚可以直接访问位于同一 I/O Bank 的时钟管理块 (CMT) 中的全局时钟缓冲器、MMCM 和 PLL。 GC 和 HDGC 输入提供对内部全局和区域时钟资源的专用高速访问。 GC 和 HDGC 输入使用专用路由,并且必须用于时钟输入,其中各种时钟功能的时序是必需的。 GC 或 HDGC 引脚在不用作输入时钟时可被视为用户 I/O。

DBC or QBC

字节通道时钟(DBC 和 QBC)输入引脚对是直接将源同步时钟驱动到 I/O Bank 中位片的时钟输入。在内存应用中,这些也称为 DQS。

PERSTN[0-1]

PCI Express 集成块的默认复位引脚位置。

3.3 布线准则

3.3.1 Fly-by(飞跃式)

飞越式拓扑是将所有存储器器件都包含在单一层级内,通常采用直插方式,布线更便于且提供最佳信号完整性,但可能占用较多开发板空间。

 

3.3.2 Clamshell(贝壳式)

贝壳拓扑具有开发板占用空间更小等优势,但存储器器件封装管脚位置不对称可能导致布线拥挤,增加串扰风险,因为接地回路过孔少且走线更长。 

4. 总结

本文档提供了关于FPGA-MIG和DDR4内存的详细介绍,包括其工作原理、关键信号、以及与之相关的PCB设计准则。DDR4作为目前广泛使用的内存技术,其特点包括高速数据传输和同步工作机制,而FPGA-MIG则为这些内存提供了高效的控制和接口,确保数据传输的稳定性和高效性。文档还详细讨论了DDR4的信号类型,包括时钟信号、地址和命令信号以及数据信号等,这对于理解DDR4的工作机制至关重要。在PCB设计方面,本文档提供了关于如何布线和引脚分配的准则,旨在帮助设计师优化内存与FPGA之间的连接,以及提高整体系统的性能和可靠性。通过遵循这些准则,可以在设计高性能电子系统时,确保内存接口的稳定性和效率。

5. 参考资料

1. UG583 - 《UltraScale 架构 PCB 设计》

UltraScale Architecture PCB Design User Guide (UG583)icon-default.png?t=N7T8https://docs.amd.com/r/en-US/ug583-ultrascale-pcb-design/UltraScale-Architecture-PCB-Design-User-Guide

2. PG150 - 《基于UltraScale架构的FPGA存储IP产品指南》

UltraScale Architecture-Based FPGAs Memory IP Product Guide (PG150)icon-default.png?t=N7T8https://docs.amd.com/v/u/en-US/pg150-ultrascale-memory-ip3.  UG899 -《I/O 和时钟规划》

Vivado Design Suite User Guide: I/O and Clock Planning (UG899)icon-default.png?t=N7T8https://docs.amd.com/r/en-US/ug899-vivado-io-clock-planning/Introduction4. UG575 - 《Packaging and Pinouts》

Us(+) FPGAs Packaging and Pinouts Product Specification UG (UG575)icon-default.png?t=N7T8https://0x04.net/~mwk/xidocs/ug/ug575-ultrascale-pkg-pinout.pdf5. UG571 - 《UltraScale Architecture SelectIO Resources》

UltraScale Architecture SelectIO Resources User Guide (UG571)icon-default.png?t=N7T8https://docs.amd.com/r/en-US/ug571-ultrascale-selectio/I/O-Tile-Overview

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1907902.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

通过高德地图 JS API实现单击鼠标进行标注

效果图: 核心代码: <template><a-modal title="选择地图所在位置" :width="width" :visible="visible" @ok="handleOk" @cancel="handleCancel" cancelText="关闭"><div class="location-…

java —— JSP 技术

一、JSP &#xff08;一&#xff09;前言 1、.jsp 与 .html 一样属于前端内容&#xff0c;创建在 WebContent 之下&#xff1b; 2、嵌套的 java 语句放置在<% %>里面&#xff1b; 3、嵌套 java 语句的三种语法&#xff1a; ① 脚本&#xff1a;<% java 代码 %>…

白嫖A100活动来啦,书生·浦语大模型全链路开源体系

扫码参加即可获得&#xff1a; 第一节 书生浦语大模型全链路开源体系 书生浦语大模型的开源历程。 从模型到应用的典型流程 书生浦语的开源体系&#xff0c;包含从数据、预训练、微调、部署、评测、应用等环节

一手洞悉泰国slot线上游戏投放本土网盟CPI计费广告优势

一手洞悉泰国slot线上游戏投放本土网盟CPI计费广告优势 ​在泰国这个拥有独特文化背景和审美观念的国家&#xff0c;Slots游戏以其丰富的玩法和刺激的体验迅速赢得了玩家们的喜爱。然而&#xff0c;要在竞争激烈的市场中脱颖而出&#xff0c;有效的推广策略显得尤为重要。本土…

消防认证-防火窗

一、消防认证 消防认证是指消防产品符合国家相关技术要求和标准&#xff0c;且通过了国家认证认可监督管理委员会审批&#xff0c;获得消防认证资质的认证机构颁发的证书&#xff0c;消防产品具有完好的防火功能&#xff0c;是住房和城乡建设领域验收的重要指标。 二、认证依据…

C++入门基础篇(1)

欢迎大家来到海盗猫鸥的博客—— 断更许久&#xff0c;让我们继续好好学习吧&#xff01; 目录 1.namespace命名空间 命名空间的存在价值&#xff1a; 命名空间的定义&#xff1a; 命名空间的使用&#xff1a; 2.C输入输出函数 使用&#xff1a; 3.缺省参数 4.函数重载…

静脉分割YOLOV8-SEG

静脉分割&#xff0c;YOLOV8*SEG资源-CSDN文库 首先使用YOLOV8-SEG训练&#xff0c;得到PT模型&#xff0c;然后转换成ONNX&#xff0c;OPENCV的DNN调用&#xff0c;从而摆脱PYTORCH依赖&#xff0c;支持C,PYTHON,ANDROID调用

Spring AOP源码篇二之 代理工厂ProxyFactory学习

了解AspectJ表达式以及PointCut、Advice、Advisor后&#xff0c;继续学习Spring AOP代理工厂 AspectJ表达式参考&#xff1a;Spring AOP之AspectJ表达式-CSDN博客 PointCut、Advice、Advisor参考&#xff1a;Spring AOP源码篇一之 PointCut、Advice、Advisor学习-CSDN博客 简单…

昇思13天

ResNet50迁移学习 ResNet50迁移学习总结 背景介绍 在实际应用场景中&#xff0c;由于训练数据集不足&#xff0c;很少有人会从头开始训练整个网络。普遍做法是使用在大数据集上预训练得到的模型&#xff0c;然后将该模型的权重参数用于特定任务中。本章使用迁移学习方法对Im…

2.5 C#视觉程序开发实例1----IO_Manager实现切换程序

2.5 C#视觉程序开发实例1----IO_Manager实现切换程序 1 IO_Manager中输入实现 1.0 IO_Manager中输入部分引脚定义 // 设定index 目的是为了今后可以配置这些参数、 // 输入引脚定义 private int index_trig0 0; // trig index private int index_cst 7; //cst index priva…

简单介绍 Dagger2 的入门使用

依赖注入 在介绍 Dagger2 这个之前&#xff0c;必须先解释一下什么是依赖注入&#xff0c;因为这个库就是用来做依赖注入的。所以这里先简单用一句话来介绍一下依赖注入&#xff1a; 依赖注入是一种设计模式&#xff0c;它允许对象在运行时注入其依赖项。而不是在编译时确定&a…

学习数据库2

在数据库中创建一个表student&#xff0c;用于存储学生信息 查看建表结果 向student表中添加一条新记录 记录中id字段的值为1&#xff0c;name字段的值为"monkey"&#xff0c;grade字段的值为98.5 并查看结果 向student表中添加多条新记录 2,"bob"…

Gradle基础:从入门到掌握

人不走空 &#x1f308;个人主页&#xff1a;人不走空 &#x1f496;系列专栏&#xff1a;算法专题 ⏰诗词歌赋&#xff1a;斯是陋室&#xff0c;惟吾德馨 在现代软件开发中&#xff0c;自动化构建工具是提高效率和管理依赖的重要手段。而Gradle作为一种灵活且强大的构…

Oracle 19c 统一审计表清理

zabbix 收到SYSAUX表空间告警超过90%告警&#xff0c;最后面给出的清理方法只适合ORACLE 统一审计表的清理&#xff0c;传统审计表的清理SYS.AUD$不适合&#xff0c;请注意。 SQL> Col tablespace_name for a30 Col used_pct for a10 Set line 120 pages 120 select total.…

2024全球数字经济大会:大模型时代下DataOps驱动企业数智化升级

7月5日&#xff0c;以“开源生态筑基础&#xff0c;数字经济铸未来”为主题的2024全球数字经济大会在北京成功举办&#xff0c;来自全国各地的专家学者、企业代表、数据库行业从业人士及众多开源开发者&#xff0c;共聚一堂&#xff0c;共同探讨开源数据库技术的发展现状与未来…

C++ | Leetcode C++题解之第216题组合总和III

题目&#xff1a; 题解&#xff1a; class Solution { private:vector<vector<int>> res;void backtracking(int k, int n, vector<int> ans){if(k 0 || n < 0){if(k 0 && n 0){res.emplace_back(ans);}return;}int start (ans.size() 0 ?…

c#变量和修饰符

目录 1. 变量的作用域有哪些&#xff1f; 2. 成员变量和静态变量的区别&#xff1f; 3. 利用递归&#xff0c;写个文件目录遍历&#xff0c;打印出文件名、扩展名、文件大小 ​4. 简述访问修饰符有几种&#xff0c;各有什么不同&#xff1f; 5. 重点比较public、protected、…

如何从 Windows 11/10/8.1/8/7 恢复已删除的视频

意外删除了视频或格式化了 SD 卡/硬盘&#xff1f;没有备份已删除的视频&#xff1f;别担心&#xff0c;我们有解决方案来恢复 Windows 11、10 中已删除的视频并处理这种糟糕的情况。 但在了解如何恢复已删除的视频和视频恢复应用程序之前&#xff0c;请知道 Windows 会为您提…

九科bit-Worker RPA 内容学习

简介&#xff1a; 什么是RPA&#xff1f; RPA&#xff08;Robotic Process Automation&#xff0c;机器人流程自动化&#xff09;本质上是一种“AI数字员工”&#xff0c;针对企业中存在的大批量、重复性、机械化人工操作&#xff0c;通过模拟人的工作流程使之实现自动化。 b…

Vulnhub靶场DC-6练习

目录 0x00 准备0x01 主机信息收集0x02 站点信息收集1. wordpress扫描2. wordlists字典爆破 0x03 漏洞查找与利用1. 漏洞查找2. CVE-2018-15877漏洞利用3. 反弹shell5. nmap提权 0x04 总结 0x00 准备 下载链接&#xff1a;https://download.vulnhub.com/dc/DC-6.zip 介绍&#…