张飞软硬开源基于STM32 BLDC直流无刷电机驱动器开发视频套件,👉戳此立抢👈

简谈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设计思想与验证方法视频教程

刚刚录制了一个fpga开发流程的视频,该视频为投石问路,主要是想听听大家对于小梅哥在录制视频时需要注意的内容以及希望系列
发表于 03-24 00:00 37952次 阅读
小梅哥FPGA设计思想与验证方法视频教程

集成350亿晶体管的世界最大芯片诞生

在相同的半导体工艺下,晶体管集成数量和密度是决定一款芯片性能强弱的关键指标之一,比如AMD最新发布的....
发表于 08-22 14:58 0次 阅读
集成350亿晶体管的世界最大芯片诞生

FPGA这块芯片究竟有什么特别之处

据媒体报道,全球最大的可编程芯片(FPGA)厂商赛灵思日前正式推出了有史以来最大容量的FPGA芯片—....
发表于 08-22 14:48 3次 阅读
FPGA这块芯片究竟有什么特别之处

请问OMAPL138 UPP可以实现半双工吗?

各位大神,们TI员工们:           我有个问题想请教,我想使用UPP实现138与FPGA通信,正在...
发表于 08-22 14:04 18次 阅读
请问OMAPL138 UPP可以实现半双工吗?

为什么FPGA的输出电压不能达到3.3V?

嗨, 我正在使用Spartan 6 xc6slx16来实现我的设计。 我需要输出的电压电平为3.3 V(存储体2上的输出) 电压供应是 VCC...
发表于 08-22 10:53 34次 阅读
为什么FPGA的输出电压不能达到3.3V?

如何使用Spartan™-3AN非易失性FPGA入门套件下载程序?

亲爱; 我有Spartan™-3AN非易失性FPGA入门套件,我编写了VHDL程序,用于地址分配到与FPGA芯片接口的两个外部RO...
发表于 08-22 10:31 20次 阅读
如何使用Spartan™-3AN非易失性FPGA入门套件下载程序?

如何在自制电路板/电路上安装FPGA?

你好, 我目前正在做一个涉及FPGA(Spartan 3E-500)的项目,将来我将不得不将它安装在与入门套件不同的板上。 我想知道...
发表于 08-22 10:26 23次 阅读
如何在自制电路板/电路上安装FPGA?

想要免费领取FPGA学习资料吗?视频课程,论文,学习笔记,书籍样样都有!

近期许多用户希望学院可以分享一些FPGA的学习资料,综合了大家的意见,今天特意为大家整理了一份FPGA资料大礼包,这里...
发表于 08-22 10:11 86次 阅读
想要免费领取FPGA学习资料吗?视频课程,论文,学习笔记,书籍样样都有!

为什么ML507在XMD重置之前不会启动VxWorks内核?

嗨, 我一直在通过Xapp1114工作,并在我的系统中找到了一个很好的舞台,我想让ML507独立启动。 我按照说明将FPGA比特流...
发表于 08-22 10:04 16次 阅读
为什么ML507在XMD重置之前不会启动VxWorks内核?

请问ML507板上可以为J6连接器设置GPIO信号I / O标准至LVCMOS 1.8v吗?

嗨, 我有一个Xilinx ML507开发板,我想编程FPGA引脚H33,它对应ML507开发板上的扩展连接器J6引脚2到LVCMOS ...
发表于 08-22 10:02 21次 阅读
请问ML507板上可以为J6连接器设置GPIO信号I / O标准至LVCMOS 1.8v吗?

SP605功耗测量电路板上是否有电阻?

嗨, 我正在尝试测量SP605评估板上Spartan6器件的功耗。 第一个问题:电路板上是否有电阻,我可以通过简单的O-scope设置来...
发表于 08-22 10:02 17次 阅读
SP605功耗测量电路板上是否有电阻?

如何重新配置执行ML555板?

我一直在使用ML555板附带的PIO设计,并且一直在修改应用笔记以执行自定义操作。 特别是,我一直在定制PCI Express端点...
发表于 08-22 09:58 31次 阅读
如何重新配置执行ML555板?

无法批量输出xferdata函数

大家好。 我丢了我的帖子,所以我重提了这个问题。 我使用FX3和GPIO从FPGA FIFO接口。 散出端点有时失败到XF...
发表于 08-22 08:57 10次 阅读
无法批量输出xferdata函数

浅谈FPGA中的逻辑门与系统门

在ASIC的世界里,衡量器件容量的常用标准是等效门。这是因为不同的厂商在单元库里提供了不同的功能模块....
发表于 08-21 17:55 34次 阅读
浅谈FPGA中的逻辑门与系统门

浅析FPGA中异步复位同步释放的原理

复位信号的有效时长必须大于时钟周期,才能真正被系统识别并完成复位任务。同时还要考虑,诸如:clk s....
发表于 08-21 17:51 19次 阅读
浅析FPGA中异步复位同步释放的原理

AI的三种专用芯片 GPU和FPGA以及ASIC

人工智能的三大支撑是硬件、算法和数据,其中硬件指的是运行 AI 算法的芯片与相对应的计算平台。在硬件....
发表于 08-21 17:48 25次 阅读
AI的三种专用芯片 GPU和FPGA以及ASIC

FPGA的设计基础之Verilog语言

硬件描述语言(HDL)是一种用形式化方法来描述数字电路和系统的语言。数字电路系统的设计者利用这种语言....
发表于 08-21 15:20 25次 阅读
FPGA的设计基础之Verilog语言

用FPGA迎接AI时代而不是专用芯片

在AI芯片领域,前有英伟达GPU独领风骚,后有谷歌对外开放TPU,赛灵思CEO Victor则认为F....
发表于 08-21 15:10 35次 阅读
用FPGA迎接AI时代而不是专用芯片

国产FPGA能否在5G通信商用圈分一杯羹

近日,中国首款5G商用手机在京东和苏宁正式开售,这也意味着国内5G商用正式拉开序幕,一场通信史上的重....
发表于 08-21 15:04 30次 阅读
国产FPGA能否在5G通信商用圈分一杯羹

中国FPGA产业难改其依附式生存模式

众所周知,芯片定义了产业链和生态圈的基础计算架构,正如CPU是IT产业的核心一样,芯片也是人工智能产....
发表于 08-20 17:51 48次 阅读
中国FPGA产业难改其依附式生存模式

FPGA发展势头强劲未来将大有可为

目前,AI芯片的研发方向主要分两种:一是基于传统冯·诺依曼架构的FPGA(现场可编程门阵列)和ASI....
发表于 08-20 17:47 54次 阅读
FPGA发展势头强劲未来将大有可为

使用SoPC进行嵌入式系统设计的技术详细说明

介绍了Xilinx公司Virtex24 FX系列FPGA的特点,分析了该FPGA内嵌的PowerPC....
发表于 08-20 17:04 11次 阅读
使用SoPC进行嵌入式系统设计的技术详细说明

嵌入式系统设计的问题详细资料说明

许多嵌入式系统与桌面电脑计算程序相比,从本质上,有不同的设计约束条件。没有哪一种单一特征能适用于不同....
发表于 08-20 16:45 11次 阅读
嵌入式系统设计的问题详细资料说明

中国万能芯片FPGA的研制获得重大技术突破

媒体称,虽然仍与国际巨头存在巨大差距,但从规模上看,新FPGA已超出现有的中国国产FPGA很多,实现....
发表于 08-20 14:46 219次 阅读
中国万能芯片FPGA的研制获得重大技术突破

人工智能芯片一共分为哪几种

现在的电脑,采用的都是冯·诺依曼架构。它的核心架构就是处理器和存储器是分开布局的,所以CPU(中央处....
发表于 08-20 14:42 36次 阅读
人工智能芯片一共分为哪几种

FPGA能否在下一代神经网络方面击败GPU

FPGA为高性能计算和机器学习提供了一种早期的架构专门化选项。体系结构专门化是继续改进性能的一种选择....
发表于 08-20 14:38 38次 阅读
FPGA能否在下一代神经网络方面击败GPU

Xilinx FPGA开发板SP605的电路原理图免费下载

本文档的主要内容详细介绍的是Xilinx FPGA开发板SP605的数据手册免费下载。
发表于 08-20 10:44 27次 阅读
Xilinx FPGA开发板SP605的电路原理图免费下载

微软发布基于FPGA的深度学习平台Brainwave

据微软官方博客显示,当使用英特尔Stratix 10 FPGA时,Brainwave可在无批处理的情....
发表于 08-19 17:51 47次 阅读
微软发布基于FPGA的深度学习平台Brainwave

关于FPGA中跨时钟域的问题分析

跨时钟域问题(CDC,Clock Domain Crossing )是多时钟设计中的常见现象。在FP....
发表于 08-19 14:52 37次 阅读
关于FPGA中跨时钟域的问题分析

发明了FPGA的赛灵思将要再次超越自我

FPGA芯片厂商赛灵思(Xilinx) 在京举行了一场信任 CEO 见面会,新任CEO Victor....
发表于 08-19 14:47 43次 阅读
发明了FPGA的赛灵思将要再次超越自我

基于FPGA与W3150A+的以太网接口设计

以太网接口的设计通常有三种方案:其一是采用FPGA实现物理层、网络层、接入层和传输层等各层的描述,该....
发表于 08-19 14:41 50次 阅读
基于FPGA与W3150A+的以太网接口设计

使用FPGA实现I2C总线主机控制器的应用实例资料免费下载

在以51单片机为核的小型电路设计中,没有足够的I/O端口与内部时钟中断实现I2C总线功能。本文运用V....
发表于 08-19 08:00 55次 阅读
使用FPGA实现I2C总线主机控制器的应用实例资料免费下载

FPGA的独立部署怎么实现

FPGA最大的优势就是处理速度快,因为引脚比较多,而且其逻辑单元可以根据算法需求重组而产生定制化的数....
发表于 08-18 11:13 42次 阅读
FPGA的独立部署怎么实现

基于FPGA实现多种小波变换

基于提升框架的小波变换方法,利用FPGA 可编程特性可实现多种小波变换。提升框架(LS :Lifti....
发表于 08-18 09:47 81次 阅读
基于FPGA实现多种小波变换

FPGA在计算加速应用中与GPU有什么区别

FPGA 是一堆晶体管,你可以把它们连接(wire up)起来做出任何你想要的电路。它就像一个纳米级....
的头像 Wildesbeast 发表于 08-17 11:29 370次 阅读
FPGA在计算加速应用中与GPU有什么区别

菲数科技以FPGA布局运算加速产业发展

FPGA(Field Programmable Gate Array)即“现场可编程门阵列”,是指一....
发表于 08-16 17:57 107次 阅读
菲数科技以FPGA布局运算加速产业发展

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

在“血肉横飞”的自动驾驶之战中,车载集成电路也是一股不可忽视的力量。不过,眼下这个市场上最受投资者关....
发表于 08-16 17:53 41次 阅读
赛灵思将如何携FPGA突围车载集成电路市场

紫光同创将大幅增资加速发展FPGA的研发

作为紫光集团从“芯”到“云”战略中芯片板块的重点发展方向,深圳市紫光同创电子有限公司的发展得到了紫光....
发表于 08-16 17:49 78次 阅读
紫光同创将大幅增资加速发展FPGA的研发

用途单一但性能强劲的芯片FPGA将大有可为

与CPU相比,FPGA跟普通消费者的距离有点远,因为它不是面向消费级市场的,主要是给企业市场使用的。
发表于 08-16 14:47 63次 阅读
用途单一但性能强劲的芯片FPGA将大有可为

英特尔为加注FPGA产业而收购Omnitek

据了解,Omnitek的技术在 FPGA 上实现了定制的高性能视觉和人工智能 (AI) 推理功能,能....
发表于 08-16 14:44 31次 阅读
英特尔为加注FPGA产业而收购Omnitek

国产自主研发的FPGA芯片已经开始批量出货

据悉,紫光同创的FPGA产品可以广泛应用于通信领域,对于华为、中兴等通信设备企业来说,是非常不错的可....
发表于 08-16 14:40 88次 阅读
国产自主研发的FPGA芯片已经开始批量出货

使用 Python 和 Jupyter 笔记本快速构建基于 FPGA 的设计并进行编程

ADUM3211 使用磁性耦合机制,以高达 1000 kbps 的数据速率跨越隔离栅传输数据。因此,....
的头像 丫丫119 发表于 08-16 10:23 873次 阅读
使用 Python 和 Jupyter 笔记本快速构建基于 FPGA 的设计并进行编程

如何使用FPGA实现TCP IP协议

随着通信技术的进步,网络带宽以平均每 6 个月增长 1 倍的速度提高,然而 CPU 运算性能的增长速....
发表于 08-16 08:00 29次 阅读
如何使用FPGA实现TCP IP协议

英特尔推新款FPGA芯片是i7-8700K性能的100倍

Intel再次隆重介绍了自家的Stratix 10 TX FPGA芯片。这是地球上最快的FPGA芯片....
发表于 08-15 17:53 112次 阅读
英特尔推新款FPGA芯片是i7-8700K性能的100倍

英特尔将大幅降低FPGA的使用门槛

随着数据中心市场的快速增长,围绕着数据中心领域的芯片竞争也变得愈发激烈。为了将数据转化成有对用户价值....
发表于 08-15 17:49 428次 阅读
英特尔将大幅降低FPGA的使用门槛

英特尔Gold 6138P处理器将要整合Arria 10FPGA

Intel正式宣布,以现在准备开始量产Xeon Scalable处理器——Xeon Gold 613....
发表于 08-15 17:46 36次 阅读
英特尔Gold 6138P处理器将要整合Arria 10FPGA

基于FPGA平台推出车规级前装视觉ADAS解决方案

智能驾驶辅助技术供应商极目智能(下称“极目”)正式对外发布旗下最新车规级视觉 ADAS 解决方案 J....
发表于 08-15 15:01 59次 阅读
基于FPGA平台推出车规级前装视觉ADAS解决方案

英特尔新出AI工具包将全面提升FPGA能力

在终端侧部署人工智能,还有着数据处理的实时性更高、低延时,更低的带宽需求的优势。比如在自动驾驶领域,....
发表于 08-15 14:57 28次 阅读
英特尔新出AI工具包将全面提升FPGA能力

FPGA供应商Omnitek被英特尔重金收购

英特尔在全球的业务范围还是非常广泛的,在前几年,英特尔花了167亿美元收购了FPGA市场巨头Alte....
发表于 08-15 14:53 38次 阅读
FPGA供应商Omnitek被英特尔重金收购

Arduino环境中的FPGA:模块支持预配置和定制IP

现在,全球成千上万的设计人员、工程师、开发人员、DIY 爱好者和创客都在使用 Arduino 开发板....
的头像 丫丫119 发表于 08-14 10:44 2005次 阅读
Arduino环境中的FPGA:模块支持预配置和定制IP

百度发布基于FPGA的256核心AI云计算加速芯片

百度发布XPU,这是一款256核、基于FPGA的云计算加速芯片。合作伙伴是赛思灵(Xilinx)。百....
发表于 08-13 17:52 385次 阅读
百度发布基于FPGA的256核心AI云计算加速芯片

滕旭云推出我国第一个高功用异构FPGA云效能器

滕旭云宣告推出FPGA云效能器,这是我国第一个高功用异构核算基础设施,以云效能的办法将FPGA扩展到....
发表于 08-13 17:49 43次 阅读
滕旭云推出我国第一个高功用异构FPGA云效能器

Efinix将与三星合作开发Quantum eFPGA

Efinix是一家专注于可编程产品平台和技术的公司,据外媒报道,三星电子宣布将与Efinix公司合作....
发表于 08-13 17:46 62次 阅读
Efinix将与三星合作开发Quantum eFPGA

赛灵思、Solarflare正式合并!

赛灵思今年四月公开宣布的 Solarflare 收购案已经正式完成。
的头像 每日经济新闻 发表于 08-13 16:59 266次 阅读
赛灵思、Solarflare正式合并!

英特尔发布面向5G网络运营商的FPGA网卡

移动世界大会(MWC 2019)期间,英特尔推出了一款名叫 FPGA PAC N3000 的特殊网卡....
发表于 08-13 14:49 53次 阅读
英特尔发布面向5G网络运营商的FPGA网卡

英特尔推出FPGA网卡以拉开5G竞赛大幕

巴塞罗那通信展最大的亮点就是5G的落地,如果说前两年大家更多的还只是憧憬,那么今年就是实实在在的面向....
发表于 08-13 14:45 37次 阅读
英特尔推出FPGA网卡以拉开5G竞赛大幕

芯片领域两大主角 FPGA和GPU

电子元器件大家接触的会比较多,这一块民用、军用的技术基本都是通用的,但在芯片这个领域有两种比较独特的....
发表于 08-13 14:41 82次 阅读
芯片领域两大主角 FPGA和GPU

FPGA加速卡从芯片到系统的发展历程

在2019年MWC大会的第一天,英特尔又推出了一款针对5G应用的FPGA加速卡PAC N3000。这....
发表于 08-12 17:51 76次 阅读
FPGA加速卡从芯片到系统的发展历程

设计基于FPGA的串行通用异步收发器

UART(Universal Asynchronous Receiver Transmitter通用....
发表于 08-12 17:46 63次 阅读
设计基于FPGA的串行通用异步收发器

FPGA芯片可攻破微软BitLocker的驱动器加密

据外媒报道,安全研究人员发现,他们能够使用简单的30美元FPGA(现场可编程门阵列)芯片攻破微软的B....
发表于 08-12 17:42 57次 阅读
FPGA芯片可攻破微软BitLocker的驱动器加密

学会这些,用FPGA开发板制作音乐盒就是这么简单!

今天,我们为大家整理了一位手工大神的DIY心得
的头像 电子工程技术 发表于 08-12 17:11 265次 阅读
学会这些,用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 67次 阅读
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 52次 阅读
TMP468 具有引脚可编程的总线地址的高精度远程和本地温度传感器