侵权投诉

简谈PCIe的软件配置方式

FPGA学习交流 2019-07-29 09:26 次阅读

大家好,又到了每日学习的时间了,今天我们来聊一聊PCIe的软件配置方式。

       关于PCIe的软件配置和初始化

       PCIe设计出来考虑了和pci兼容问题。所以PCIe的软件配置方式可以沿用PCI的配置方式。当然,由于特殊性,也有自身独特的配置方式。所以PCIe模块的访问方式有如下两种:
       1、  PCI 兼容的配置方式。
       2、  PCI Express enhanced 配置机制。

       PCI兼容方式是在PCI章节已经提过,PCIe与其完全兼容。这里主要描述PCIE高级配置机制。

       PCIe的配置空间

       PCIe的配置空间是兼容PCI的,但是在PCI的基础上增加了不少register。从256增加到4Kbytes的大小。如下图所示,PCIe的配置空间。

1.png

其中,PCIe的配置空可以分成PCI兼容部分和扩展部分。PCI兼容部分在前面256byte区域,完全可以使用PCI配置机制来访问。而扩展部分的register,使用PCI配置方式无法实现,则可以通过PCIe 高级配置方式完成。

       PCIe高级配置机制

       PCIe enhanced configuration mechanism的主要原理是将pcie的所有4K bytes 映射到memory地址上,这样,通过访问memory的方式即可读写PCIE的配置空间。当然,通过此方式读memory时候,最好考虑到4字节对齐的问题,否则有可能出错。

       在正常的访问过程中,可以访问这一部分的memory来配置pcie,而这部分memory在哪里呢?芯片组中会定义一个base address,而base address开始的256MB的空间内则是总线上所有PCIe设备的配置空间对应的register。

2.png

上图是PCIE总线高级配置结构图,很明显可以看出是PCIE配置空间映射的memory空间为[XbaseAddress +0 àXbaseAddress +FFFFFFFh]。那么实际的地址线如何对应呢?如下图所示:

3.png

在程序中的表达和操作是这样的:

       1、计算出PCIe设备配置空间中寄存器的地址:Register address = PCIe_Base + (BusNO * 1MB) + (DeviceNO * 32KB) + (FuncNO* 4KB) + (Reg).

       2、使用memory 读写周期完成register的读写。

       PCIE配置空间register

       详细的register解读,请阅读PCIe  spec或者参考一份X86架构的芯片组datasheet。        

       今天就聊到这里,各位,加油。

收藏 人收藏
分享:

评论

相关推荐

使用FPGA实现H.265视频压缩编码格式的源代码免费下载

复旦大学开源的 基于FPGA的H.265源码,分享下一起研究研究 H.265是一种视频压缩编码格....
发表于 12-06 08:00 0次 阅读
使用FPGA实现H.265视频压缩编码格式的源代码免费下载

诺基亚全新智能电视上架印度电商平台 售价约合人民币4100元

近日,印度电商平台Flipkart上架了一款全新诺基亚品牌智能电视,55英寸,12月10日正式开售,....
的头像 39度创意研究所 发表于 12-05 17:19 69次 阅读
诺基亚全新智能电视上架印度电商平台 售价约合人民币4100元

互联网广告推荐迎来变革,雪湖科技联合赛灵思发布推荐算法解决方案

12月3日,2019年赛灵思开发者大会在北京国家会议中心召开,
发表于 12-05 13:45 282次 阅读
互联网广告推荐迎来变革,雪湖科技联合赛灵思发布推荐算法解决方案

【梦翼师兄今日分享】 移位寄存器的 IP核调取及应用

写在前面的话 做很多图像算法的时候,我们经常需要用到模板运算(如sobel图像边缘检测、中值滤波、均值滤波等等),处理这些问题...
发表于 12-05 11:58 137次 阅读
【梦翼师兄今日分享】 移位寄存器的 IP核调取及应用

【梦翼师兄今日分享】 串行转并行程序设计及讲解

写在前面的话 串并/并串转换是FPGA设计过程中的一个重要技巧,经常被用在高速数据流处理中,特别是在通信接口方面尤为重要。...
发表于 12-05 11:56 151次 阅读
【梦翼师兄今日分享】 串行转并行程序设计及讲解

【梦翼师兄今日分享】 流水线设计讲解

写在前面的话 作为初学者,通常情况下我们所设计的电路都是低速的电路,一般都在百兆以下。那么,当我们需要设计高速电路的时候...
发表于 12-05 11:53 160次 阅读
【梦翼师兄今日分享】 流水线设计讲解

【梦翼师兄今日分享】 数码管显示设计讲解

写在前面的话 在项目设计中,我们通常需要一些显示设备来显示我们需要的信息,可以选择的显示设备更是种类繁多,玲琅满目,数码...
发表于 12-05 11:51 161次 阅读
【梦翼师兄今日分享】 数码管显示设计讲解

【求助】关于使用USBDM烧写中遇到的问题

最近在某宝上买了个飞思卡尔USBDM全功能版,想实现对产品单板的烧写,单板用的是MC9S12DG128,根据说明书(说明书见附...
发表于 12-05 09:37 91次 阅读
【求助】关于使用USBDM烧写中遇到的问题

Modelsim仿真软件的入门指导教程免费下载

软件Modelsim的入门介绍,结合项目 包括GUI操作和脚本操作,适合学习FPGA或者ASIC设计....
发表于 12-05 08:00 27次 阅读
Modelsim仿真软件的入门指导教程免费下载

高级PID控制算法的学习课件免费下载

仿真可以提供很多关于系统正在做什么的信息。我们可以添加不同元素的影响,如编码器分辨率、ADC采样率等....
发表于 12-04 15:46 25次 阅读
高级PID控制算法的学习课件免费下载

【梦翼师兄今日分享】 基于Altera厂商的SignalTapII在线调试逻辑分析仪使用讲解

写在前面的话 在诸多数字系统设计书籍中,关于FPGA开发的基本流程,几乎都介绍到了嵌入式逻辑分析仪(或称之为虚拟逻辑分析...
发表于 12-04 10:30 217次 阅读
【梦翼师兄今日分享】 基于Altera厂商的SignalTapII在线调试逻辑分析仪使用讲解

【梦翼师兄今日分享】 边沿检测程序设计讲解

写在前面的话 在项目设计中,我们经常需要检测信号由高到低或者由低到高的跳变。本节,梦翼师兄和大家一起学习一个经典的边沿检...
发表于 12-04 10:24 210次 阅读
【梦翼师兄今日分享】 边沿检测程序设计讲解

【梦翼师兄今日分享】 异步复位同步触发程序设计讲解

写在前面的话 在FPGA设计中,很多同学会纠结到底是应该使用同步复位还是应该使用异步复位。实际上,无论是同步复位还是...
发表于 12-04 10:18 192次 阅读
【梦翼师兄今日分享】  异步复位同步触发程序设计讲解

黑金AX7035 FPGA开发板PCB原理图免费下载

本文档的主要内容详细介绍的是黑金AX7035 FPGA开发板PCB原理图免费下载。
发表于 12-04 08:00 48次 阅读
黑金AX7035 FPGA开发板PCB原理图免费下载

黑金AX7035 FPGA开发板电路原理图免费下载

本文档的主要内容详细介绍的是黑金AX7035 FPGA开发板电路原理图免费下载。
发表于 12-04 08:00 30次 阅读
黑金AX7035 FPGA开发板电路原理图免费下载

基础项目(10)BCD转二进制程序设计讲解

写在前面的话 在前面小节的学习中,我们已经掌握了将二进制数转换成BCD码的方法。那么现在我们就反过来思考一下,设计一...
发表于 12-03 21:48 292次 阅读
基础项目(10)BCD转二进制程序设计讲解

进阶项目(11) 矩阵键盘程序设计讲解

写在前面的话 在使用按键的时候,如果按键不多的话,我们可以直接让按键与FPGA相连接,但是如果按键比较多的时候,如果还...
发表于 12-03 21:43 362次 阅读
进阶项目(11) 矩阵键盘程序设计讲解

英特尔推出全球最大容量FPGA oneAPI简化PFGA硬件工作

“正是因为英特尔在IC工艺技术、制造和封装等领域的创新,让英特尔得以设计、制造并交付目前世界上密度最....
发表于 12-03 15:35 99次 阅读
英特尔推出全球最大容量FPGA oneAPI简化PFGA硬件工作

FPGA与GPU类比一下就明白了

电路模拟是 FPGA 的经典主流用例,这也是 FPGA 最早出现的原因。FPGA 的关键在于硬件设计....
的头像 嵌入式ARM 发表于 12-03 15:28 299次 阅读
FPGA与GPU类比一下就明白了

FPGA龙头公司日益强大 需坚持走自主可控+自主创新这条路

在英特尔于最近发布10纳米Agilex,加上Xilinx早前推出7nm ACAP平台之后,FPGA两....
发表于 12-03 15:28 135次 阅读
FPGA龙头公司日益强大 需坚持走自主可控+自主创新这条路

莱迪思推出的CrossLinkPlus™ FPGA系列有以下关键特性

莱迪思半导体公司,低功耗可编程器件的领先供应商,宣布推出CrossLinkPlus™ FPGA系列产....
发表于 12-03 15:25 96次 阅读
莱迪思推出的CrossLinkPlus™ FPGA系列有以下关键特性

DMC600M系列运动控制器的应用开发硬件手册免费下载

DMC600M 系列运动控制器深圳市科瑞特自动化公司自主研发、基于 DMC300 产品系列在市场的成....
发表于 12-03 08:00 26次 阅读
DMC600M系列运动控制器的应用开发硬件手册免费下载

使用FPGA设计线型CCD高速驱动采集一体化控制板的论文详细说明

线型CCD图像传感器在工业检测、图像测量和机器视觉等方面有着广泛的应用。本文针对CCD测量应用系统中....
发表于 11-29 17:47 66次 阅读
使用FPGA设计线型CCD高速驱动采集一体化控制板的论文详细说明

使用FPGA实现CCD探测系统的论文说明

随着图像采集系统的广泛应用,人们对CCD探测系统的要求日益提高。传统的CCD探测系统由于结构复杂,造....
发表于 11-29 16:26 53次 阅读
使用FPGA实现CCD探测系统的论文说明

FPGA校企人才对接会参会企业邀请函

兹定于2019年12月6日-8日在南京江北新区ICisC人才实训基地召开2019第三届全国大学生FP....
的头像 人间烟火123 发表于 11-29 09:54 486次 阅读
FPGA校企人才对接会参会企业邀请函

如何使用三种不同的FPGA芯片实现数字中频接收机的设计论文

FPGA(Ficld Programmable Gatc Array)以其功能强大、开发周期短、投资....
发表于 11-28 18:00 76次 阅读
如何使用三种不同的FPGA芯片实现数字中频接收机的设计论文

浅谈按键驱动的编写和设备树的修改

随着深度学习和5G的应用,对FPGA的功能要求越来越多。因此近几年FPGA大厂纷纷将自己的器件集成了....
的头像 FPGA开发圈 发表于 11-28 17:48 575次 阅读
浅谈按键驱动的编写和设备树的修改

浅谈DNN中应用FPGA的作用分析

深度神经网络(deep neural network)是机器学习发展20年来取得的最大突破,比如在语....
的头像 FPGA开发圈 发表于 11-28 17:19 543次 阅读
浅谈DNN中应用FPGA的作用分析

如何使用线阵CCD设计白光干涉技术位移测量系统的论文说明

白光干涉技术(White-light interferometry technology)是在20世....
发表于 11-28 16:23 40次 阅读
如何使用线阵CCD设计白光干涉技术位移测量系统的论文说明

如何使用线阵CCD设计白光干涉技术位移测量系统的论文说明

白光干涉技术(White-light interferometry technology)是在20世....
发表于 11-28 16:23 40次 阅读
如何使用线阵CCD设计白光干涉技术位移测量系统的论文说明

如何使用CPLD与USB接口配合并使用MCU和FPGA与DSP进行编程的设计方法

介绍了使用CPLD与USB接口配合,对支持ISP编程模式的MCU、FPGA、DSP进行编程的设计方法....
发表于 11-26 17:51 77次 阅读
如何使用CPLD与USB接口配合并使用MCU和FPGA与DSP进行编程的设计方法

英特尔量产全球密度最高的FPGA,拥有1020 万个逻辑单元

英特尔 Stratix 10 GX 10M FPGA共有 1020 万个逻辑单元,是第一款使用 EM....
的头像 芯智讯 发表于 11-26 15:46 469次 阅读
英特尔量产全球密度最高的FPGA,拥有1020 万个逻辑单元

使用FPGA设计CCD驱动传输电路的资料说明

电荷耦合器件CCD是一种图像传感器,作为CCD工业相机的核心部件,被广泛应用于非接触测量。许多的光学....
发表于 11-26 15:35 67次 阅读
使用FPGA设计CCD驱动传输电路的资料说明

使用CCD传感器实现信号数据采集及处理的论文免费下载

在非接触位移测量领域中,电荷耦合器件CCD是具有较高灵敏度的光电传感器,其测量精度高,能自动连续地进....
发表于 11-25 18:01 63次 阅读
使用CCD传感器实现信号数据采集及处理的论文免费下载

物联网难题攻克不容易,MCU需要FPGA的助力

随着物联网智能化的提升和不断迭代,FPGA将发挥更多的数据预处理、桥接、I/O扩展等作用。
发表于 11-25 11:51 334次 阅读
物联网难题攻克不容易,MCU需要FPGA的助力

FPGA芯片的工艺结构

目前最大的两个FPGA厂商Altera公司和Xilinx公司的FPGA产品都是基于SRAM工艺来实现....
发表于 11-25 09:30 257次 阅读
FPGA芯片的工艺结构

国产FPGA产业发展迎来新起点,核心应用领域技术新突破

如今国内FPGA技术已突破千万门级,中小容量器件可替代大部分进口器件,国产FPGA进入主流通信等行业....
发表于 11-25 08:49 201次 阅读
国产FPGA产业发展迎来新起点,核心应用领域技术新突破

如何快速入门FPGA

想快速入门FPGA最好的办法是项目实践,只看书不亲自动手练习进步是非常慢的,而且还不好理解,过个几天....
的头像 电子魔法师 发表于 11-24 10:07 554次 阅读
如何快速入门FPGA

FPGA要取代ASIC了?两者有什么不一样

FPGA采用了逻辑单元阵列LCA(Logic Cell Array)这样一个概念,内部包括可配置逻辑....
的头像 EDA365 发表于 11-23 11:57 623次 阅读
FPGA要取代ASIC了?两者有什么不一样

英特尔与赛灵思争夺世界最大FPGA 将共同推动科技和文明的延续

这款 FPGA 基于台积电的 16 纳米工艺制造,它集成了 350 亿个晶体管,并拥有当时单器件最高....
发表于 11-22 15:50 184次 阅读
英特尔与赛灵思争夺世界最大FPGA 将共同推动科技和文明的延续

AI时代即将到来,FPGA是最好的迎接方式

在AI芯片领域,前有英伟达GPU独领风骚,后有谷歌对外开放TPU,赛灵思CEO Victor则认为F....
发表于 11-22 15:37 187次 阅读
AI时代即将到来,FPGA是最好的迎接方式

从FPGA到ACAP,赛灵思再次实现技术创新

赛灵思是FPGA的发明者。深鉴科技提供的一个实际案例表明,赛灵思在支持非常广泛的AI应用,包括机器学....
发表于 11-22 15:33 762次 阅读
从FPGA到ACAP,赛灵思再次实现技术创新

赛灵思将如何携FPGA在车载集成电路市场中成功突围

作为汽车行业的老朋友,FPGA 方案领导厂商赛灵思(Xilinx)也坐不住了,它携手戴姆勒集团,未来....
发表于 11-22 15:25 1158次 阅读
赛灵思将如何携FPGA在车载集成电路市场中成功突围

硬件优化还是软件定义硬件 是由FPGA市场决定的

随着人工智能逐步落地,以及边缘计算的快速发展,FPGA 由于性能比传统 CPU 快 10-100 倍....
发表于 11-22 09:49 206次 阅读
硬件优化还是软件定义硬件 是由FPGA市场决定的

使用FPGA ARM实现图形化程序设计与实践的三个实验详细说明

本文档的主要内容详细介绍的是使用FPGA ARM实现图形化程序设计与实践的三个实验详细说明包括了:实....
发表于 11-22 08:00 74次 阅读
使用FPGA ARM实现图形化程序设计与实践的三个实验详细说明

使用FPGA实现激光散射图像采集卡及图像处理装置的技术详细说明

本发明涉及基于FPGA的激光散射图像采集卡以及基于FPGA的激光散射图像处理装置,可以实现对激光散射....
发表于 11-22 08:00 77次 阅读
使用FPGA实现激光散射图像采集卡及图像处理装置的技术详细说明

如何使用FPGA和DSP实现高速CCD信号采集处理系统的设计

随着半导体技术的发展和数据采集系统的广泛应用,人们对CCD图像采集系统的要求日益提高,传统的CCD图....
发表于 11-21 17:32 79次 阅读
如何使用FPGA和DSP实现高速CCD信号采集处理系统的设计

使用FPGA实现线阵CCD驱动时序及模拟信号处理的设计说明

为保证线阵CCD在图像测量中正常、稳定工作,必须设计出适合其工作的时序驱动电路。在分析TCD1501....
发表于 11-21 16:58 50次 阅读
使用FPGA实现线阵CCD驱动时序及模拟信号处理的设计说明

在FPGA领域中 HLS一直是研究的重点

高层次综合(High-level Synthesis)简称 HLS,指的是将高层次语言描述的逻辑结构....
发表于 11-21 16:28 192次 阅读
在FPGA领域中 HLS一直是研究的重点

随着本土FPGA开始崛起 FPGA领域终于迎来了中国军团

目前,头部企业赛灵思和 Altera 垄断了 FPGA 大部分市场,在中美贸易摩擦中,FPGA 和高....
发表于 11-21 16:20 185次 阅读
随着本土FPGA开始崛起 FPGA领域终于迎来了中国军团

英特尔对FPGA产品发展仍有高度重视 已抢先Xilinx一步率先量产

FPGA大厂Xilinx于今年8月发表全球最多逻辑单元的FPGA产品VU19P后,英特尔(Intel....
的头像 半导体动态 发表于 11-21 16:15 661次 阅读
英特尔对FPGA产品发展仍有高度重视 已抢先Xilinx一步率先量产

使用FPGA和线阵CCD器件设计数据采集系统的论文免费下载

近年来,机器视觉已成为光电子的重要应用之一,在微电子、科学研究、自动控制、PCB生产、印刷、工业现场....
发表于 11-21 15:48 51次 阅读
使用FPGA和线阵CCD器件设计数据采集系统的论文免费下载

高端FPGA芯片需求显著增加,华为海思欲减少赛灵思依赖

据台湾电子时报报道,业内消息人士称,数据中心、5G和AIoT应用对高端FPGA芯片的需求显著增加,这....
的头像 汽车玩家 发表于 11-21 11:31 867次 阅读
高端FPGA芯片需求显著增加,华为海思欲减少赛灵思依赖

Stratix 10 GX 10M FPGA全球密度最高 拥有1020万个逻辑单元

在北京举办的 IntelFPGA 技术大会上,Intel 发布全球最大容量的全新 Stratix 1....
发表于 11-20 17:11 149次 阅读
Stratix 10 GX 10M FPGA全球密度最高 拥有1020万个逻辑单元

基于英特尔的FPGA,S2C推出全新的逻辑系统

S2C公司宣布推出其全新的基于英特尔Stratix 10 GX 10M FPGA的S10 10M P....
的头像 独爱72H 发表于 11-20 15:59 502次 阅读
基于英特尔的FPGA,S2C推出全新的逻辑系统

FPGA的开发流程以及它的适用场景

FPGA的设计流程就是利用EDA开发软件和编程工具对FPGA芯片进行开发的过程。FPGA的开发流程包....
发表于 11-20 15:06 163次 阅读
FPGA的开发流程以及它的适用场景

FPGA究竟有什么特别之处,它的市场前景如何

FPGA(现场可编程门阵列),是在硅片上预先设计实现的具有可编程特性的集成电路,它能够按照设计人员的....
发表于 11-20 15:02 262次 阅读
FPGA究竟有什么特别之处,它的市场前景如何

S2C推出业界最高容量FPGA的Prodigy原型解决方案

国微集团旗下子公司S2C公司,业内领先的FPGA快速原型验证系统供应商,宣布推出其全新的基于英特尔 ....
发表于 11-20 14:53 142次 阅读
S2C推出业界最高容量FPGA的Prodigy原型解决方案

S10 10M Prodigy逻辑系统有什么特别之处?

S2C公司宣布推出其全新的基于英特尔Stratix 10 GX 10M FPGA的S10 10M P....
的头像 汽车玩家 发表于 11-20 11:36 449次 阅读
S10 10M Prodigy逻辑系统有什么特别之处?

S2C推出基于Intel的业界最高容量FPGA的Prodigy ™原型解决方案

S2C公司,业内领先的FPGA快速原型验证系统供应商,宣布推出其全新的基于英特尔Stratix 10....
发表于 11-20 09:08 1087次 阅读
S2C推出基于Intel的业界最高容量FPGA的Prodigy ™原型解决方案

TMP411 ±1°C Programmable Remote/Local Digital Out Temperature Sensor

TMP411设备是一个带有内置本地温度传感器的远程温度传感器监视器。远程温度传感器,二极管连接的晶体管通常是低成本,NPN或PNP型晶体管或二极管,是微控制器,微处理器或FPGA的组成部分。 远程精度为±1 °C适用于多个设备制造商,无需校准。双线串行接口接受SMBus写字节,读字节,发送字节和接收字节命令,以设置报警阈值和读取温度数据。 TMP411器件中包含的功能包括:串联电阻取消,可编程非理想因子,可编程分辨率,可编程阈值限制,用户定义的偏移寄存器,用于最大精度,最小和最大温度监视器,宽远程温度测量范围(高达150°C),二极管故障检测和温度警报功能。 TMP411器件采用VSSOP-8和SOIC-8封装。 特性 ±1°C远程二极管传感器 ±1°C本地温度传感器 可编程非理想因素 串联电阻取消 警报功能 系统校准的偏移寄存器 与ADT7461和ADM1032兼容的引脚和寄存器 可编程分辨率:9至12位 可编程阈值限...
发表于 09-19 16:35 111次 阅读
TMP411 ±1°C Programmable Remote/Local Digital Out Temperature Sensor

TMP468 具有引脚可编程的总线地址的高精度远程和本地温度传感器

TMP468器件是一款使用双线制SMBus或I 2 C兼容接口的多区域高精度低功耗温度传感器。除了本地温度外,还可以同时监控多达八个连接远程二极管的温度区域。聚合系统中的温度测量可通过缩小保护频带提升性能,并且可以降低电路板复杂程度。典型用例为监测服务器和电信设备等复杂系统中不同处理器(如MCU,GPU和FPGA)的温度。该器件将诸如串联电阻抵消,可编程非理想性因子,可编程偏移和可编程温度限值等高级特性完美结合,提供了一套精度和抗扰度更高且稳健耐用的温度监控解决方案。 八个远程通道(以及本地通道)均可独立编程,设定两个在测量位置的相应温度超出对应值时触发的阈值。此外,还可通过可编程迟滞设置避免阈值持续切换。 TMP468器件可提供高测量精度(0.75°C)和测量分辨率(0.0 625°C)。该器件还支持低电压轨(1.7V至3.6V)和通用双线制接口,采用高空间利用率的小型封装(3mm×3mm或1.6mm×1.6mm),可在计算系统中轻松集成。远程结支持-55°C至+ 150°C的温度范围。 特性 8通道远程二极管温度传感器精度:±0.75&...
发表于 09-18 16:05 82次 阅读
TMP468 具有引脚可编程的总线地址的高精度远程和本地温度传感器