PCIe扫盲——高级错误报告AER(一)
前面的文章提到过高级错误报告(Advanced Error Reporting,AER),接下来详细地介绍一下这一功能。在已有的PCIe错误报告机制上(之前文章介绍的),AER还支持以下特性:· 在登记实际发生的错误类型时,...
发表于 8/9/2018 5:23:48 PM
阅读(20447)
PCIe扫盲——PCIe错误报告机制
PCIe扫盲——PCIe错误报告机制PCIe总线有三种错误报告方式,分别是:1. Completions:通过Completion中的状态位向Request返回错误信息2. Poisoned Packet(又称为错误传递,E...
发表于 8/7/2018 5:48:50 PM
阅读(12375)
PCIe扫盲——PCIe错误源详解(二)
这篇文章主要介绍事务(Transaction)错误、链路流量控制(Link Flow Control)相关的错误、异常的TLP(Malformed TLP)以及内部错误(Internal Errors)等。è 事务(Transaction ...
发表于 8/7/2018 5:44:35 PM
阅读(13702)
PCIe扫盲——PCIe错误源详解(一)
这篇文章来详细地分析一下各种错误源的产生原理,由于内容较多,因此分为两篇文章。第一篇介绍一下ECRC校检错误和Data Poisoning等;第二篇文章介绍事务(Transaction)错误、链路流量控制(Link Flow Control...
发表于 8/7/2018 5:40:49 PM
阅读(18235)
PCIe扫盲——PCIe错误检测机制
PCIe总线错误检测囊括了链路(Link)上的错误以及包传递过程中的错误,如下图所示。用户设计的应用程序层中的错误不属于链路传输中的错误,不应当通过PCIe的错误检测与处理机制处理,一般可借助设备特殊中断(Device Specific Interrupt)等合适的方式进行报告与处理。
发表于 8/6/2018 6:00:15 PM
阅读(19283)
PCIe扫盲——PCIe错误定义与分类
前面的文章提到过,PCI总线中定义两个边带信号(PERR#和SERR#)来处理总线错误。其中PERR#主要对应的是普通数据奇偶校检错误(Parity Error),而SERR#主要对应的是系统错误(System Error)。具体如下:· ...
发表于 8/6/2018 4:44:26 PM
阅读(19593)
PCIe扫盲——Lattice ECP3/ECP5 SerDes简介
FPGA发展到今天,SerDes (Serializer - Deserializer) 基本上是标配了。从PCI到PCI Express,从ATA到SATA,从并行ADC接口到JESD204,从RIO到Serial RIO,……等等,都是...
发表于 6/3/2018 7:02:41 PM
阅读(15335)
PCIe扫盲——链路初始化与训练基础(三)之LTSSM
这一篇文章来简单地介绍一下链路训练状态机(Link Training and Status State Machine,LTSSM),并简要地介绍各个状态的作用和实现机制。
发表于 4/21/2018 4:14:51 PM
阅读(32263)
PCIe扫盲——链路初始化与训练基础(二)
前面的文章中提到过,Ordered Sets分别有以下几种:TS1 and TS2 Ordered Set (TS1OS/TS2OS)、Electrical Idle Ordered Set (EIOS)、FTS Ordered Set (...
发表于 4/21/2018 3:37:06 PM
阅读(19885)
PCIe扫盲——链路初始化与训练基础(一)
PCIe总线中的链路初始化与训练(Link Initialization & Training)是一种完全由硬件实现的功能,处于PCIe体系结构中的物理层。整个过程由链路训练状态机(Link Training and Status State Machine,LTSSM)自动完成,也就说基本没有数据链路层和事务层啥事。
发表于 4/21/2018 12:50:59 PM
阅读(28382)
PCIe扫盲——Base & Limit寄存器详解
PCIe扫盲——Base & Limit寄存器详解上一篇文章介绍了Type0型配置空间Header中的BAR的作用和用法,但是PCIe中的桥设备(Switch和Root中的P2P)又是如何判断某一请求(Request)是否属于自己或者自己的...
发表于 4/3/2018 8:10:42 PM
阅读(23356)
PCIe扫盲——基地址寄存器(BAR)详解
基地址寄存器(BAR)在配置空间(Configuration Space)中的位置如下图所示:其中Type0 Header最多有6个BAR,而Type1 Header最多有两个BAR。这就意味着,对于Endpoint来说,最多可以拥有6个不...
发表于 4/3/2018 8:06:15 PM
阅读(74674)
PCIe扫盲——Memory & IO 地址空间
早期的PC中,所有的IO设备(除了存储设备之外的设备)的内部存储或者寄存器都只能通过IO地址空间进行访问(Intel干的好事)。但是这种方式局限性很大,而且效率低,于是乎,软件开发者和硬件厂商都不能忍了……然后一种新的东西就出来了——MMI...
发表于 4/3/2018 7:57:29 PM
阅读(28502)
PCIe扫盲——配置空间的读写机制
需要特别注意的是,PCIe的Spec中明确规定只有Root有权限发起配置请求(Originate Configuration Requests),也就是说PCIe系统里面的其他设备是不允许去配置其他设备的配置空间的,即peer-to-pee...
发表于 4/3/2018 7:54:28 PM
阅读(31764)
PCIe扫盲——BDF与配置空间
前面的文章中介绍过,每一个PCIe设备可以只有一个功能(Function),即Fun0。也可以拥有最多8个功能,即多功能设备(Multi-Fun)。不管这个PCIe设备拥有多少个功能,其每一个功能都有一个唯一独立的配置空间(Configur...
发表于 3/31/2018 7:46:54 PM
阅读(47937)