侵权投诉

简谈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。        

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

收藏 人收藏
分享:

评论

相关推荐

【梦翼师兄今日分享】 三态门程序设计讲解

写在前面的话我们所接触到的IO都是单纯的输入(input)或者输出(output)类型,而我们的一些总线协议如IIC等,要求信号为三态...
发表于 12-12 16:11 207次 阅读
【梦翼师兄今日分享】 三态门程序设计讲解

FPGA将会为多数应用提供适量运算支持

在莱迪思看来,随着智能功能从云端引入到网络边缘领域,移动FPGA对多个市场都产生了影响。
发表于 12-12 15:33 22次 阅读
FPGA将会为多数应用提供适量运算支持

首款基于FD-SOI的FPGA平台已正式面世

FPGA 被称为“万能芯片”,是人工智能时代的“红人”。经过十几年的市场变革,现在很多人关注 FPG....
发表于 12-12 15:29 20次 阅读
首款基于FD-SOI的FPGA平台已正式面世

深维科技携手赛灵思,妙解图像处理“达摩克利斯之剑”

作为全球领先的FPGA异构计算加速方案供应商,北京深维科技隆重亮相此次峰会,向行业观众展示了超强算力....
发表于 12-12 15:15 33次 阅读
深维科技携手赛灵思,妙解图像处理“达摩克利斯之剑”

英特尔发布行业首款集成高带宽内存的FPGA

英特尔宣布推出英特尔Stratix 10 MX FPGA,该产品是行业首款采用集成式高带宽内存DRA....
发表于 12-12 14:49 27次 阅读
英特尔发布行业首款集成高带宽内存的FPGA

关于FPGA的一个分频小程序

[code]//分频程序修订版,只需要修改一个参数就可以完成指定的分频工作 //修改DIV参数即可,最大支持2的32方分频 module div...
发表于 12-12 14:35 163次 阅读
关于FPGA的一个分频小程序

中科融合AI+3D SOC芯片FPGA验证完成

作为专注于“AI+3D”自主核心芯片技术的硬核科技创新性企业,据36氪报道,目前中科融合的光机产品已....
的头像 汽车玩家 发表于 12-12 11:51 232次 阅读
中科融合AI+3D SOC芯片FPGA验证完成

基于FPGA的旋转变压器解码算法研究与系统设计

大规模集成电路近年的发展开辟了计算复杂的科学算法的硬件实现新领域,包括被称为坐标旋转数字算法(COR....
发表于 12-12 08:00 16次 阅读
基于FPGA的旋转变压器解码算法研究与系统设计

Microchip公布基于RISC-V的低功耗PolarFire® SoC FPGA产品系列的详细信息,并启动早期使用计划

Microchip Technology Inc.(美国微芯科技公司)启动了PolarFire®片上....
发表于 12-11 16:55 198次 阅读
Microchip公布基于RISC-V的低功耗PolarFire® SoC FPGA产品系列的详细信息,并启动早期使用计划

使用FPGA实现LED实验的详细资料说明

本文档的主要内容详细介绍的是使用FPGA实现LED实验的详细资料说明。
发表于 12-11 16:23 27次 阅读
使用FPGA实现LED实验的详细资料说明

莱迪思Nexus™ FPGA技术平台带来了领先的低功耗和高性能优势

2019 年 12 月 10 日——莱迪思半导体公司(NASDAQ:LSCC),低功耗可编程器件的领....
发表于 12-11 15:09 60次 阅读
莱迪思Nexus™ FPGA技术平台带来了领先的低功耗和高性能优势

莱迪思推出全新低功耗FPGA技术平台 带来低功耗、高性能的开发优势

2019 年 12 月 10 日——莱迪思半导体公司(NASDAQ:LSCC),低功耗可编程器件的领....
发表于 12-11 15:05 59次 阅读
莱迪思推出全新低功耗FPGA技术平台 带来低功耗、高性能的开发优势

【雨的FPGA笔记】基础知识-------同步电路设计

FPGA的同步电路设计基础知识     同步电路设计将系统的状态变化与时钟信号同步,通过这种方法降低电路设计难度。...
发表于 12-11 15:02 160次 阅读
【雨的FPGA笔记】基础知识-------同步电路设计

莱迪思推出广受欢迎的最新版本FPGA软件设计工具Lattice Radiant™2.0

2019 年 12 月 10 日——莱迪思半导体公司(NASDAQ:LSCC)低功耗可编程器件的领先....
发表于 12-11 15:02 101次 阅读
莱迪思推出广受欢迎的最新版本FPGA软件设计工具Lattice Radiant™2.0

【高手问答】徐工解答:LabVIEW编程技巧及MySQL数据库连接设计

编者导读: 本期我们邀请了labview徐工 ,来解答大家在labview设计上遇到的问题,活动时间是12月11日—12月30日。 高手简 介...
发表于 12-11 13:58 628次 阅读
【高手问答】徐工解答:LabVIEW编程技巧及MySQL数据库连接设计

简析FPGA与CPLD两者之间的区别

CPLD主要是由可编程逻辑宏单元(LMC,LogicMacroCell)围绕中心的可编程互连矩阵单元....
发表于 12-11 11:53 107次 阅读
简析FPGA与CPLD两者之间的区别

【梦翼师兄今日分享】 二级制转换BCD

写在前面的话我们的数据在运算或者存储的时候,一般都是以二进制的格式存在的。但是在很多情况下,我们需要将运算结果显示到某种...
发表于 12-11 10:28 272次 阅读
【梦翼师兄今日分享】  二级制转换BCD

【梦翼师兄今日分享】 任意时钟分频程序设计讲解

写在前面的话在数字逻辑电路设计中,分频器是一种基本的电路单元。通常用来对某个给定频率进行分频,以得到所需的频率。分频在F...
发表于 12-11 10:15 405次 阅读
【梦翼师兄今日分享】 任意时钟分频程序设计讲解

FPGA视频拼接项目LVDS视频传输数据接口介绍

LVDS(Low Voltage Differential Signaling)即低压差分信号传输,是一种满足当今高性能数据传输应用的新型技术。由于其...
发表于 12-11 09:51 90次 阅读
FPGA视频拼接项目LVDS视频传输数据接口介绍

【雨的FPGA笔记】基础知识-------逻辑电路(2)

FPGA的逻辑电路基础知识 四、逻辑值        逻辑0:表示低电平,对应GND。      ...
发表于 12-10 21:10 198次 阅读
【雨的FPGA笔记】基础知识-------逻辑电路(2)

快上车!带你了解FPGA-ARM架构

FPGA的应用非常广泛,通信领域,视频图像处理领域,汽车电子领域,消费电子领域,工业领域,数据处理领域等,都能看到FPG...
发表于 12-10 17:58 696次 阅读
快上车!带你了解FPGA-ARM架构

ARM-Linux平台实现多种FPGA芯片的程序加载

1、引言 在系统上电时,需要从外部载入所要运行的程序,此过程被称为程序加载。多数情况下,从外部专用的 读入程序。这种方式速...
发表于 12-10 17:42 297次 阅读
ARM-Linux平台实现多种FPGA芯片的程序加载

FPGA设计有什么重要的知识点

把数据存放在RAM或FIFO的方法如下,将上级芯片提供的数据随路时钟作为写信号,将数据写入RAM或者....
发表于 12-10 16:35 70次 阅读
FPGA设计有什么重要的知识点

基于FPGA技术的RFID板级标签怎样去设计

模拟射频部分采用分立元件实现,完成射频信号的接收,来自RFID读写器的信号通过天线和阻抗匹配网络,经....
发表于 12-09 14:27 38次 阅读
基于FPGA技术的RFID板级标签怎样去设计

撬动数据中心蓝海,加速AI应用——FPGA繁荣启示

今天,FPGA已经在数据中心占据日益重要的地位;而随着5G、AI等发展,FPGA在推动创新方面的优势....
的头像 墨记 发表于 12-09 14:05 921次 阅读
撬动数据中心蓝海,加速AI应用——FPGA繁荣启示

FPGA厂商“齐步”走向平台化 从提供硬件转向软件平台服务

图灵奖得主 John Hennessy 和 Dave Patterson 曾经表示,架构已经进入新的....
发表于 12-09 14:04 98次 阅读
FPGA厂商“齐步”走向平台化 从提供硬件转向软件平台服务

GSK980TD车床CNC的使用手册免费下载

车床 CNC GSK980TD 是 GSK980TA 的升级产品,采用了 32 位高性能 CPU 和....
发表于 12-09 08:00 32次 阅读
GSK980TD车床CNC的使用手册免费下载

Altium Designer 6.0的初学教程免费下载

Altium Designer 是业界第一款也是唯一一种完整的板级设计解决方案。Altium Des....
发表于 12-09 08:00 44次 阅读
Altium Designer 6.0的初学教程免费下载

挖矿需求放缓后,赛灵思优先数据中心发展

免费是为了降低成本,加速数据中心业务发展,快速形成生态。过去一段时间,赛灵思首创的 FPGA 芯片,....
的头像 汽车玩家 发表于 12-06 16:26 461次 阅读
挖矿需求放缓后,赛灵思优先数据中心发展

在Quartus下实现LED流水灯实验的资料说明

 通过LED流水灯实验,介绍使用Quartus软件开发FPGA的基本流程,器件选择、设置、代码编写、....
发表于 12-06 16:23 68次 阅读
在Quartus下实现LED流水灯实验的资料说明

赛灵思的三大战略执行的怎么样?

在这一年半的时间内,席卷世界的数据洪流更加汹涌。根据IDC预测,根据IDC预测,从2018年至202....
的头像 汽车玩家 发表于 12-06 15:34 386次 阅读
赛灵思的三大战略执行的怎么样?

关于自动驾驶的芯片选型,是GPU还是FPGA

自动驾驶域控制器,要具备多传感器融合、导航定位、路径规划、计算决策、V2X无线通讯、运动控制的能力。
发表于 12-06 15:15 113次 阅读
关于自动驾驶的芯片选型,是GPU还是FPGA

数据洪流来势汹汹,FPGA将是数据中心的新动力

数据的海啸将冲击现有的数据中心架构。“传统的架构已经满足不了新的应用”,赛灵思总裁兼CEO Vict....
发表于 12-06 15:12 226次 阅读
数据洪流来势汹汹,FPGA将是数据中心的新动力

英特尔全球最大容量FPGA的容量高达20亿个ASIC门

英特尔发布了全球最大容量FPGA——Intel® Stratix® 10 GX 10M FPGA,拥....
发表于 12-06 15:09 123次 阅读
英特尔全球最大容量FPGA的容量高达20亿个ASIC门

两大硬件虚拟化,GPU虚拟化和FPGA虚拟化方法

GPU是计算机的一个重要组成部分,但GPU这类重要资源虚拟化的性能、扩展性和可用性相对于CPU等处于....
发表于 12-06 15:07 169次 阅读
两大硬件虚拟化,GPU虚拟化和FPGA虚拟化方法

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

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

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

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

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

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

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

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

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

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

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

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

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

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

FPGA与GPU类比一下就明白了

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 113次 阅读
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 86次 阅读
TMP468 具有引脚可编程的总线地址的高精度远程和本地温度传感器