Xilinx PCIe高速接口入门实战(三)

引言:为保证FPGA设备可以连接并被系统识别,本节讨论了PCIe基础规范和PCIe板卡电气规范的对FPGA配置时间具体要求。

1. 配置访问时间 

在PCIe的标准系统中,当系统通电时,处理器上运行的配置软件开始扫描PCIe总线以发现机器拓扑。扫描PCIe层次结构以确定其拓扑结构的过程称为枚举过程根复合体(RC)通过向设备发起配置事务来实现枚举过程。 

图片

图1:系统启动时的PCIe拓扑图

所有PCIe设备都应已与其链路伙伴建立链路,并在枚举过程中准备好接受配置请求。因此,对设备在通电后何时需要准备好接受配置请求有要求,如果不符合要求,则会发生以下情况: 

•如果设备未就绪且未响应配置请求,则根复合体不会发现它并将其视为不存在;

•操作系统不报告设备的存在,用户应用程序无法与设备通信。 

1.1 配置访问规范要求 

PCIe规范项与配置访问相关包括: 

(1)PCIe基础规范V1.1版第6.6节规定:“系统必须保证所有在启动时可见的软件组件在根复合体基本重置结束后100ms内准备好接收配置请求。”

(2)PCIe基础规范V1.1第6.6节定义了“在提供电源和PERST#的情况下”所需的三个参数。参数TPVPERL适用于FPGA配置时序,定义为: 

TPVPERL-PERST#必须在电源有效后至少保持活动状态这么长时间。

PCIe基本规范没有给出TPVPERL的具体值,只定义了它的含义。图2显示了电源稳定和PERST#之间的关系。

图片

图2:上电时序

PCIe卡电气规范V1.1第2.6.2节将TPVPREL定义为最小100ms,表示从电源稳定时起,系统重置至少持续100ms,如表1所示。

表1:TPVPERL规格

图片

从图2和表1中,可以得到一个简单的方程来定义FPGA配置时间,如下所示:

FPGA配置时间 ≤ TPWRVLD+TPVPERL   (式1)

假设TPVPERL被定义为最小100ms,则变为:

FPGA配置时间 ≤ TPWRVLD+100ms    (式2)

注:尽管TPWRVLD包含在方程式2中,但在本次讨论中尚未定义,因为它取决于使用的系统类型。真实系统中的电路板电源部分为基于ATX和非基于ATX的系统定义了TPWRVLD。 

FPGA配置时间仅在冷启动时相关,后续的热重置或热复位不会导致FPGA的重新配置。如果设计因FPGA配置而出现问题,您应该发出一个热复位作为简单的测试,复位系统,包括PCI Express链路,但保持电路板通电。如果问题没有出现,则问题可能与FPGA配置时间有关。

2. 实际系统中板卡电源 

在PCIe系统中可能会使用多个板卡,英特尔认可的ATX电源设计规范被用作指导方针,因此大多数主板都遵循该规范,如果是基于英特尔的主板,则100%遵循该规范。ATX 12V电源设计指南中描述了电源轨和电源有效信号之间的关系,如图3所示。

图片

图3:ATX电源时序

图3显示,图2中PCIe系统的电源稳定指示由PWR_OK信号表示。当电源达到标称值的95%时,经过一段延迟后,PWR_OK被断言为高电平。

图3显示,在PWR_OK被断言为高之前,电源是有效的。这由T3表示,即PWR_OK做了延迟。ATX 12V电源设计指南将PWR_OK定义为100ms<T3<500ms,表明从电源电平达到标称值的95%开始,在PWR_OK被断言之前,至少有100ms但不超过500ms的延迟。

同样,FPGA配置时间方程为: 

FPGA配置时间≤TPWRVLD+100ms

TPWRVLD定义为PWR_OK延迟期;也就是说,TPWRVLD表示在PWR_OK被断言之前,电源在系统中有效的时间量。此时间可以添加到FPGA必须配置的时间量中。T2和T4的最小值可以忽略不计,在这些计算中被视为零。对于基于ATX的主板,它代表了大多数实际使用的主板,TPWRVLD可以定义为:

100 msTPWRVLD500 ms

因此,FPGA配置时间需满足以下要求: 

FPGA配置时间≤200ms(适用于基于ATX的主板) 

FPGA配置时间≤100ms(适用于非ATX主板)

注意:(1)非基于ATX的主板的第二个方程假设TPWRVLD值为0ms,因为在此上下文中没有定义。使用非ATX主板的设计人员应评估自己的电源设计,以获得TPWRVLD的值。 

(2)本节假设FPGA功率(VCCINT)在PWR_OK被断言之前或同时是稳定的。如果不是这样,则必须从FPGA配置的可用时间中减去额外的时间。

2.1 热插拔系统 

热插拔系统通常使用位于系统主板上的热插拔电源控制器。许多分立的热插拔电源控制器将TPVPERL扩展到最小值100ms以上。插件卡设计人员应参考热插拔电源控制数据表以确定TPVPERL的值。如果热插拔功率控制器未知,则应假设TPVPERR值为100ms。

2.2 FPGA配置建议 

为了缩短FPGA配置时间,Xilinx建议使用并行NOR闪存的BPI配置模式,该模式支持高速同步读取操作。此外,可以向外部主配置时钟(EMCCLK)引脚提供外部时钟源,以确保所有条件下的配置时钟频率一致。

3. 7系列器件的FPGA配置时间 

在加电期间,FPGA配置顺序分三个步骤执行: 

(1)等待FPGA中所有电压(VCCINT、VCCAUX和VCCO_0)的上电复位(POR)跳闸,称为POR跳闸时间。 

(2)在接受比特流传输之前,等待INIT_B完成(取消确认)以允许FPGA初始化。 

注:一般来说,步骤1和2要求≤50 ms 

(3)等待DONE的断言,比特流传输所需的实际时间取决于: 

○比特流大小 

○时钟(CCLK)频率 

○闪存设备的传输模式(和数据总线宽度)

    -SPI=串行外围接口(x1、x2或x4) 

    -BPI=字节外围接口(x8或x16) 

比特流传输时间可以使以下方程进行估计: 

比特流传输时间=(比特流大小,单位为比特)/(CCLK频率)/(数据总线宽度,单位为位)


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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

InfoNCE Loss详解(上)

引言 InfoNCE对比学习损失是学习句嵌入绕不开的知识点&#xff0c;本文就从头开始来探讨一下它是怎么来的。 先验知识 数学期望与大数定律 期望(expectation&#xff0c;expected value&#xff0c;数学期望&#xff0c;mathematical expectation)是随机变量的平均值&#…

抽象工厂设计模式的理解和实践

在软件开发中&#xff0c;设计模式是前人通过大量实践总结出的、可复用的、解决特定问题的设计方案。它们为我们提供了一种标准化的解决方案&#xff0c;使得代码更加简洁、灵活和易于维护。在众多设计模式中&#xff0c;抽象工厂模式&#xff08;Abstract Factory Pattern&…

爱思唯尔word模板

爱思唯尔word模板 有时候并不一定非得latex https://download.csdn.net/download/qq_38998213/90199214 参考文献书签链接

【机器学习】工业 4.0 下机器学习如何驱动智能制造升级

我的个人主页 我的领域&#xff1a;人工智能篇&#xff0c;希望能帮助到大家&#xff01;&#xff01;&#xff01;&#x1f44d;点赞 收藏❤ 随着科技的飞速发展&#xff0c;工业 4.0 浪潮正席卷全球制造业&#xff0c;而机器学习作为这一变革中的关键技术&#xff0c;正以前…

全面了解 SQL Server:功能、优势与最佳实践

SQL Server 是微软公司推出的一款关系型数据库管理系统&#xff08;RDBMS&#xff09;&#xff0c;广泛应用于企业级数据存储、数据分析、应用开发等领域。作为全球最受欢迎的数据库管理系统之一&#xff0c;SQL Server 提供了强大的功能和工具&#xff0c;支持从小型应用到大型…

旅游管理系统|Java|SSM|VUE| 前后端分离

【技术栈】 1⃣️&#xff1a;架构: B/S、MVC 2⃣️&#xff1a;系统环境&#xff1a;Windowsh/Mac 3⃣️&#xff1a;开发环境&#xff1a;IDEA、JDK1.8、Maven、Mysql5.7 4⃣️&#xff1a;技术栈&#xff1a;Java、Mysql、SSM、Mybatis-Plus、VUE、jquery,html 5⃣️数据库可…

攻防世界 robots

开启场景 根据提示访问/robots.txt&#xff0c;发现了 f1ag_1s_h3re.php 拼接访问 /f1ag_1s_h3re.php 发现了 flag cyberpeace{d8b7025ed93ed79d44f64e94f2527a17}

离线语音识别+青云客语音机器人(幼儿园级别教程)

1、使用步骤 确保已安装以下库&#xff1a; pip install vosk sounddevice requests pyttsx3 2、下载 Vosk 模型&#xff1a; 下载适合的中文模型&#xff0c;如 vosk-model-small-cn-0.22。 下载地址&#xff1a; https://alphacephei.com/vosk/models 将模型解压后放置在…

秒杀场景的设计思考

秒杀场景的设计思考 在学习Redis的之后&#xff0c;一个绕不开的话题就是秒杀系统的设计。本文将从下面&#x1f447;&#x1f3fb;几个方面展开一下个人简单的理解&#xff1a; 秒杀场景的介绍设计的核心思路怎么限流、削峰、异步planB总结 ‍ 秒杀场景的介绍 秒杀场景是…

秒鲨后端之MyBatis【2】默认的类型别名、MyBatis的增删改查、idea中设置文件的配置模板、MyBatis获取参数值的两种方式、特殊SQL的执行

别忘了请点个赞收藏关注支持一下博主喵&#xff01;&#xff01;&#xff01;! ! ! 下篇更新&#xff1a; 秒鲨后端之MyBatis【3】自定义映射resultMap、动态SQL、MyBatis的缓存、MyBatis的逆向工程、分页插件。 默认的类型别名 MyBatis的增删改查 添加 <!--int insertUs…

2024年12月29日Github流行趋势

项目名称&#xff1a;cobalt 项目地址url&#xff1a;https://github.com/imputnet/cobalt项目语言&#xff1a;Svelte历史star数&#xff1a;22882今日star数&#xff1a;1049项目维护者&#xff1a;wukko, dumbmoron, Snazzah, lexito-o, KwiatekMiki项目简介&#xff1a;保存…

【LLM】OpenAI 的DAY12汇总和o3介绍

note o3 体现出的编程和数学能力&#xff0c;不仅达到了 AGI 的门槛&#xff0c;甚至摸到了 ASI&#xff08;超级人工智能&#xff09;的边。 Day 1&#xff1a;o1完全版&#xff0c;开场即巅峰 12天发布会的开场即是“炸场级”更新——o1完全版。相比此前的预览版本&#x…

国内独立开发者案例及免费送独立开发蓝图书

独立开发者在国内越来越受到关注&#xff0c;他们追求的是一种自由且自给自足的工作状态。 送这个&#xff1a; 少楠light&#xff08;Flomo、小报童、如果相机&#xff09;&#xff1a;他们是独立开发者的典范&#xff0c;不仅开发了多款产品&#xff0c;还坚信“剩者为王”…

【js】记录预览pdf文件

接口调用拿到pdf的文件流&#xff0c;用blob处理这个文件流拿到url&#xff0c;使用window.open跳转新的窗口进行预览 api({dataType: blob, }).then(res >{if(res.code 0){this.previewPDF(res,application/pdf;charsetutf-8,pdf文件名)} })previewPDF (res, type, fname…

Vue3 +Element-Plus el-select下拉菜单样式(局部生效)

下拉框代码 <el-selectclass"buttons-switch-group select-hub":teleported"false"style"width: 120px"v-model"queryParam.type"placeholder"请选择"size"mini"change"loadData"><el-option…

手机h5加桌面图标

手机h5应用1&#xff0c;网址浏览器添加到桌面&#xff0c;修改图标 关键代码 <!-- 手机h5加桌面图标 --> <!-- 安卓平台 chrome --> <link relapple-touch-icon-precomposed href<% BASE_URL %>logonew.png> <meta name"mobile-web-app-capab…

从家谱的层级结构 - 组合模式(Composite Pattern)

组合模式&#xff08;Composite Pattern&#xff09; 组合模式&#xff08;Composite Pattern&#xff09;组合模式概述组合模式涉及的角色talk is cheap&#xff0c; show you my code总结 组合模式&#xff08;Composite Pattern&#xff09; 组合模式&#xff08;Composite…

JavaEE 3大组件 Listener Servlet Filter

1. Listener不熟悉 2. Servlet Servlet: Server Applet&#xff0c;翻译为运行在服务端的Java小程序&#xff0c;是sun公司提供一套规范( 接口 )&#xff0c;用来定义我们的代码怎么写才能被tomcat识别。 本质&#xff1a;接口&#xff0c;一个类想要被tomcat正确识别&…

Debian-linux运维-docker安装和配置

腾讯云搭建docker官方文档&#xff1a;https://cloud.tencent.com/document/product/213/46000 阿里云安装Docker官方文档&#xff1a;https://help.aliyun.com/zh/ecs/use-cases/install-and-use-docker-on-a-linux-ecs-instance 天翼云常见docker源配置指导&#xff1a;htt…

探索PyTorch:从入门到实践的demo全解析

探索PyTorch:从入门到实践的demo全解析 一、环境搭建:PyTorch的基石(一)选择你的“利器”:安装方式解析(二)步步为营:详细安装步骤指南二、基础入门demo:点亮第一盏灯(一)张量操作:深度学习的“积木”(二)自动求导:模型学习的“幕后英雄”三、数据处理demo:喂饱…