pcie-flow control

Vc initiation process:

(1)FC_INIT1

(2)FC_INIT2

While in FC_INIT1, block tx tlp using VCx

Non-flit mode

(1)FC1-P (2)FC1-NP (3)FC1-CPL -> all dedicated

Flit mode

CREDITS_CONSUMED

Count of the total number of FC units consumed by TLP Transmissions made since Flow Control initialization

CREDIT_LIMIT****is fromFC updatedllp

reflects all credit flow control updates, for each FC update received, if CREDIT_LIMIT is not equal to the update value, set CREDIT_LIMIT to the update value

Update_FC **内的Credit值是Rx FC Buffer初始Credit及所有从该Buffer取出的TLP数据占用Credit的总和,是累加的。**想要获知 Rx FC Buffer 余量,对于 Rx 端需要综合 CA 及 CR 两个计数器,对于 Tx 端则是 CL 及 CC 两个计数器

对于TX来说是CL-CC;

对于RX来说是CA-CR

CREDITS_ALLOCATED, Count of the total number of credits granted to the Transmitter since initialization

Rx一共允许tx发送多少内容,rx处理完毕相应的事务之后这个cnt增加,递增

CREDITS_RECEIVED, Count of the total number of FC units consumed by valid TLPs Received since Flow Control initialization

已经接收的数量

TLP进入Rx FC Buffer 之前,Receiver可判断 Rx FC Buffer是否有能力接收。若以下条件成立,表明 Rx FC Buffer 会溢出

相关推荐
做一个优雅的美男子5 小时前
FPGA设计思想与验证方法学系列学习笔记003
笔记·fpga开发
晓晓暮雨潇潇6 小时前
Diamond基础1:认识Lattice器件
fpga开发·diamond·latticeecp3
ChipCamp20 小时前
Chisel芯片开发入门系列 -- 18. CPU芯片开发和解释8(流水线架构的代码级理解)
开发语言·青少年编程·fpga开发·scala·dsp开发·risc-v·chisel
I'm a winner1 天前
基于 Ubuntu 的 Linux 系统中 Vivado 2020.1 下载安装教程
linux·ubuntu·fpga开发
9527华安1 天前
FPGA实现Aurora 8B10B数据回环传输,基于GTP高速收发器,提供6套工程源码和技术支持
fpga开发·aurora·gtp·高速收发器·sfp·8b10b
秋风战士1 天前
通信算法之298: verilog语法generate和for介绍
fpga开发
hi941 天前
HBM Basic(VCU128)
fpga开发·hbm·高带宽内存
ARM+FPGA+AI工业主板定制专家1 天前
基于ARM+FPGA多通道超声信号采集与传输系统设计
linux·人工智能·fpga开发·rk3588·rk3568·codesys
Origin-VI2 天前
ZYNQ-按键消抖
fpga开发
风已经起了2 天前
FPGA学习笔记——简单的乒乓缓存(RAM)
笔记·学习·fpga开发