当前位置:网站首页>4. PCIe 接口时序
4. PCIe 接口时序
2022-08-05 00:41:00 【jjinl】
在上一篇中,大致介绍IPcore接口。总的来说接口如下图

数据的接收和发送通过 transmit TLP interface和Receive TLP interface。收发数据的时序也只是描述这几个接口的关系。从手册上截取PCIe x1的接口时序
数据发送

上图是x4接口,我们使用的5G的IP,时序和这个差不多,只是tx_val会间隔有效。上述时序
EP发送数据之前,首先发送tx_req_vc0为高,表示请求发送,等待tx_rdy_vc0为高表示可以开始发送,当tx_rdy_vc0为高时,在下一个时钟的上升沿在yx_data_vc0上放置数据,并拉高tx_st_vc0信号. tx_rdy_vc0一致保持高电平,直到TLP包的最后一个数据,所以这个tx_rdy_vc0信号可以作为一个读使能信号使用,用于非流水的fifo。
tx_end_vc0,指示数据线上是TLP最后一个数据。
tx_ca_*h_vc0 和 tx_ca_*d_vc0在每次发送请求之前必须检查,发送完成后对应的值会减一,这两个类型的标志是指示上端口是否有资源转发你的发送数据

上图是发送两个数据的时序

上图发送时序是只有头,不存在数据对应tx_ca_*d_vc0没有变化

上图发送的数据最后一个不够64bit,此时dwen信号指示63:32位有效

burst模式,发送两个TLP包,req信号保持到最后一个TLP包发送rdy信号有效

作废TLP包,在任何时候拉高 tx_nlfy信号,作废此TLP包,不需要再发tx_end信号

上图x4降级为x1的时候时序图,我们工程使用的x1,时序图和上面一样。此图中tx_val为高的时候,信号才发生变化
数据接收
当一个TLP数据包发送过来时,rx_st_vc0会被拉高,此时第一个数据会出现在数据线上,每一个时钟一个数据,当rx_end_vc0为高时,表示此时数据线上是最后一个数据。如果出现ECRC错误,则在最后一个数据时刻rx_ecrc_err_vc0会被拉高;如果TLP的长度有问题,则rx_malf_tlp_vc0会被拉高

tlp接收数据

接收ECRC错误

TLP长度有问题
边栏推荐
- leetcode: 266. All Palindromic Permutations
- 数据类型-整型(C语言)
- 僵尸进程和孤儿进程
- node使用redis
- MAUI Blazor 权限经验分享 (定位,使用相机)
- Software testing interview questions: the difference and connection between black box testing, white box testing, and unit testing, integration testing, system testing, and acceptance testing?
- Software Testing Interview Questions: What's the Difference Between Manual Testing and Automated Testing?
- 软件测试面试题:软件验收测试的合格通过准则?
- Software Testing Interview Questions: What is Software Testing?The purpose and principle of software testing?
- QSunSync Qiniu cloud file synchronization tool, batch upload
猜你喜欢

Redis visual management software Redis Desktop Manager2022

2 用D435i运行VINS-fusion

"WEB Security Penetration Testing" (28) Burp Collaborator-dnslog out-band technology

could not build server_names_hash, you should increase server_names_hash_bucket_size: 32

B站7月榜单丨飞瓜数据B站UP主排行榜发布!

标识符、关键字、常量 和变量(C语言)

redis可视化管理软件Redis Desktop Manager2022

what?测试/开发程序员要被淘汰了?年龄40被砍到了32?一瞬间,有点缓不过神来......
![[FreeRTOS] FreeRTOS and stm32 built-in stack occupancy](/img/33/3177b4c3de34d4920d741fed7526ee.png)
[FreeRTOS] FreeRTOS and stm32 built-in stack occupancy

SV class virtual method of polymorphism
随机推荐
leetcode:266. 回文全排列
元宇宙:未来我们的每一个日常行为是否都能成为赚钱工具?
僵尸进程和孤儿进程
软件测试面试题:测试生命周期,测试过程分为几个阶段,以及各阶段的含义及使用的方法?
2022 Hangzhou Electric Multi-School 1004 Ball
TinyMCE禁用转义
软件测试面试题:设计测试用例时应该考虑哪些方面,即不同的测试用例针对那些方面进行测试?
00、数组及字符串常用的 API(详细剖析)
Raw and scan of gorm
More than 2022 cattle school training topic Link with the second L Level Editor I
Software testing interview questions: What are the seven-layer network protocols?
《WEB安全渗透测试》(28)Burp Collaborator-dnslog外带技术
node uses redis
Mysql_14 存储引擎
软件测试面试题:软件测试类型都有哪些?
leetcode:267. 回文排列 II
Helm Chart
仅3w报价B站up主竟带来1200w播放!品牌高性价比B站投放标杆!
Software testing interview questions: Have you used some tools for software defect (Bug) management in your past software testing work? If so, please describe the process of software defect (Bug) trac
tiup uninstall