张飞软硬开源基于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设计思想与验证方法视频教程

5G基站有机会百家争鸣,机遇和挑战在哪里?

随着国内5G商用牌照的正式发放,5G网络基础设施建设迎来了火热的施工期。5G基站除了了宏基站,还有小....
的头像 荷叶塘 发表于 08-26 11:40 7次 阅读
5G基站有机会百家争鸣,机遇和挑战在哪里?

编程spi flash at25df641的方法有哪些?

大家好 ! 我正在使用斯巴达3 200a fpga我可以直接使用工具ISE 10.1.03将位文件存储在spi flash AT25DF641中 我试过但这...
发表于 08-26 11:05 16次 阅读
编程spi flash at25df641的方法有哪些?

国产FPGA首次进入日本市场,高云半导体正式签约日本丸文株式会社

全球增长速度最快的可编程逻辑厂商——广东高云半导体科技股份有限公司(以下简称“高云半导体”)宣布,签....
发表于 08-26 09:38 35次 阅读
国产FPGA首次进入日本市场,高云半导体正式签约日本丸文株式会社

求推荐合适的FPGA板!

亲爱的alli需要推荐:我搜索fpga板与以下规格:virtex [2或5],vga接口与DAC和存储区域,如eeprom或闪存或与SD存储卡接口。...
发表于 08-26 08:23 12次 阅读
求推荐合适的FPGA板!

如何使用FPGA实现多种小波变换

基于提升框架的小波变换方法,利用FPGA 可编程特性可实现多种小波变换。提升框架(LS :Lifti....
的头像 Wildesbeast 发表于 08-25 11:01 310次 阅读
如何使用FPGA实现多种小波变换

英特尔推出用于AI的全新FPGA芯片

目前全世界的几乎所有科技技术公司都或多或少的有人工智能这方面的项目,特别是英特尔在人工智能方面做了很....
发表于 08-25 10:44 44次 阅读
英特尔推出用于AI的全新FPGA芯片

使用Quartus II 的浮点运算IP核,实现对一个未知二进制数除5

附上代码,已经仿真验证,可以实现,请问还有其它更简单的方法吗? ----------------------------------------------------...
发表于 08-24 15:42 86次 阅读
使用Quartus II 的浮点运算IP核,实现对一个未知二进制数除5

LSTM的硬件加速方式

Long-short term memory,简称LSTM,被广泛的应用于语音识别、机器翻译、手写识....
发表于 08-24 10:32 32次 阅读
LSTM的硬件加速方式

基于FPGA的交换接口控制器开发

与传统ASIC相比,FPGA和结构化ASIC的优势在于重用灵活性高、上市时间快、性能佳而成本低。FP....
发表于 08-24 09:43 43次 阅读
基于FPGA的交换接口控制器开发

xilinx推出全球最大容量FPGA— Virtex UltraScale+器件

赛灵思公司今天宣布推出全球最大容量的 FPGA – Virtex UltraScale+ VU19P....
发表于 08-24 09:09 172次 阅读
xilinx推出全球最大容量FPGA— Virtex UltraScale+器件

未来的核心技术 FPGA和可编程HPC

FPGA为高性能计算和机器学习提供了一种早期的架构专门化选项。体系结构专门化是继续改进性能的一种选择....
发表于 08-23 15:09 34次 阅读
未来的核心技术 FPGA和可编程HPC

赛灵思发布史上最大容量FPGA芯片VU19P

在初创企业Cerebras刚刚推出史上最大的芯片(ipad般大,集成1.2万亿个晶体管)WSE不久,....
发表于 08-23 14:59 50次 阅读
赛灵思发布史上最大容量FPGA芯片VU19P

怎么设计基于FPGA和DSP的雷达模目信号系统?

雷达系统在研制过程中,各部分往往是并行的,在调试信号处理分系统时,如果天线没做好,就得不到阵面送下来的回波数据,这时调试...
发表于 08-23 08:20 32次 阅读
怎么设计基于FPGA和DSP的雷达模目信号系统?

集软核处理器的嵌入式设计平台怎么实现?

片上可编程系统 (System On a Programmable Chip,SOPC)是Altera公司提出来的一种灵活、高效的SoC解决方案。SOPC...
发表于 08-23 08:18 67次 阅读
集软核处理器的嵌入式设计平台怎么实现?

嵌入式数控系统有什么突破?

      现有的数控系统中多采用工控机加运动控制卡的计算机数控系统方案进行运动控制器的设计。随着工控机整...
发表于 08-23 08:17 93次 阅读
嵌入式数控系统有什么突破?

FPGA自动调焦过程怎么实现?

基于图像技术的自动调焦方法,是从与传统的自动调焦技术完全不同的角度出发,直接对拍摄的图像采用图像处理技术,对图像进行成像...
发表于 08-23 07:53 33次 阅读
FPGA自动调焦过程怎么实现?

RD-GALJP算法结构是什么?

在处理微弱信号的时候自适应滤波器所处的环境可能是非平稳的,输入信号的自相关矩阵和互相关向量等算法参量将随时间变化,会对滤...
发表于 08-23 07:24 38次 阅读
RD-GALJP算法结构是什么?

怎么设计基于FPGA的汽车视频和图形控制系统?

LCD显示器真是无处不在,在家庭、超市、体育馆以及汽车内你都可以见到它们的身影。无疑车载LCD显示系统是增长最快的市场。...
发表于 08-23 06:55 41次 阅读
怎么设计基于FPGA的汽车视频和图形控制系统?

怎么提高SRAM工艺FPGA的设计安全性?

随着FPGA的容量、性能以及可靠性的提高及其在消费电子、汽车电子等领域的大规模应用,FPGA设计的安全性问题越来越引起人...
发表于 08-23 06:45 23次 阅读
怎么提高SRAM工艺FPGA的设计安全性?

FPGA智能芯片的研发仍需努力

5G、AI 和边缘计算等新兴技术正将汽车、工业、医疗等各个领域推上数字化转型的浪潮,传统芯片急需向智....
发表于 08-22 17:52 44次 阅读
FPGA智能芯片的研发仍需努力

达摩院将发布新一代AI语音的FPGA芯片

在美国旧金山举行的芯片行业顶级学术会议HOTCHIPS上,阿里巴巴达摩院发布了新一代AI语音FPGA....
发表于 08-22 17:49 53次 阅读
达摩院将发布新一代AI语音的FPGA芯片

使用FPGA设计LED点阵书写显示屏的详细资料说明

本设计运用了基于Nios II 嵌入式处理器的SOPC 技术。系统以ALTERA 公司的Cyclon....
发表于 08-22 16:09 56次 阅读
使用FPGA设计LED点阵书写显示屏的详细资料说明

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

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

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

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

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

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

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

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

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

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

FPGA的设计基础之Verilog语言

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

基于FPGA实现多种小波变换

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

如何使用FPGA实现TCP IP协议

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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