logo资料库

JESD204B的AXI时序分析(对比SRIO).pdf

第1页 / 共4页
第2页 / 共4页
第3页 / 共4页
第4页 / 共4页
资料共4页,全文预览结束
月隐出品 1 前言 JESD204B 的 AXI4-Lite 时序分析 本人在写 JESD204B 的 AXI4-Lite 配置接口时,发现对端口时序的理解和常 规的理解不一样,因此写这篇文章以作记录,具体如下。 1.1 写时序异常 按常规理解的时序图(参照 SRIO)写出来的代码,ready 是因,valid 是果。 在仿真时发现在时钟复位配置好后,ready 信号并没有按想象中一样,会先拉高 来等待输入数据。ready 信号是一直为 0 的。 检查配置情况发现配置没有错误,然后对比 JESD204B ip 核的 demo 文件仿 真图,发现 ready 信号要先等 valid 信号有效后才会输出一个时钟的有效信号。 这成了 valid 是因,ready 是果。因果和常规理解的是反着的。 具体的情况见第 3 节。 1.2 读时序异常 按常规理解的时序为,ready 准备好后,输入读取的地址并且 valid 有效时, ready 会拉低去处理内部信号,在输出对应地址数据后,再次拉高等待下一次读 取。 但是 JESD204B 的 ip 中 AXI4-Lite 配置接口的读 aready 是隔一段时间输出 一个固定的 2 个时钟高 ready。即使是在 availd 拉高后 aready 也不会根据 availd 拉低,依然是输出固定的 2 个时钟高信号。这导致我们在需要连续读取内部数据 时,不能单纯的把 aready 当成读取下一个地址准备好的依据。 具体情况见第 4 节。 2 JESD204B 的 AXI4-Lite 接口功能 AXI4-Lite 部分的接口是用于配置 JESD204 core 的寄存器,其中有一些关 键参数是必须要配置的,比如: a) M:(converters/device):AD/DA 器件的转换通道数 b) L:(Lanes per Link):接的通道线数量,即占用 GTX 线数 c) LR:(Line Rate):单根线(通道)的速率,LR=(M*S*N’*10/8*FC)/L,FC 为采样率; d) F:(octets per frame):每帧包含的字节数,F=(M*S*N’)/(8*L); e) K:(frames per multiframe):一个多帧包含多少个帧,根据 AD/DA 手册填 写,一般是 32; f) N:转换器的分辨率; g) N’:word 的长度,4 的倍数,N’=N+CS+T,CS 是控制位,T 是尾码;
月隐出品 h) S:(samples):S 表示每一个转换器每一帧中的采样次数。一般情况下, S 都是 1,。S 必须是整数。协议中允许 S 大于 1,但是 S 等于 1 的时候 开业保证帧时钟和采样时钟相等。比如 S=1,则一个 500MSPS 的转换 器,帧时钟也是 500M。 因此配置 JESD204B 的 AXI4-Lite 接口是必须的。下面谈谈我对 JESD204B 的 AXI4-Lite 接口时序的理解,仅做参考。 3 写时序 srio 中的时序为常规理解的时序图,demo 中时序情况为 JESD204B 的 ip 核 时序情况。 3.1 srio 中的写时序说明 由于 JESD204B 的 ip 核手册《pg066》上没有这一部分的时序讲解,因此我 参照 srio 的 ip 核手册《pg007》上的写时序写了第一版程序。Srio 中的写时序 如下图所示。 下面 a-c 是客户端需要处理的,d 是 ip 核内部处理的。 A) 写地址 awaddr:在写地址准备好信号 awready==1 时有效(awvalid=1), 在 awready==0 时无效; B) 写数据 wdata:在写数据准备好信号 wready==1 时有效(wvalid=1),在 wready==0 时无效; C) 写响应准备好信号 bready:在写地址、写数据有效时变高,在写响应有 效指示信号 bvalid==1 时,变低。 D) 写地址准备好信号 awready、写数据准备好信号 wready:在无写响应时 变高,在写地址、写数据有效时变低。 3.2 demo 中的写时序情况 demo 中的写时序情况为写数据有效为因,写数据准备好信号为果。具体如下:
月隐出品 a) 写数据时序:在一个时刻先写入写数据 wdata,wvalid 拉高,等待 wready 有效后再把写数据有效信号 wvalid 拉低; b) 写地址时序:在写入数据有效的同时,写入地址 awaddr,awvalid 拉高, 等待 awready 有效后再把 awvalid 拉低。 4 读时序 4.1 srio 中的读序说明 常规的读理解为在读准备好时输入需要读取的地址,给入读取的地址有效后, 准备信号就会拉低,去处理内部数据。如下图的 srio 读时序图: srio 读时序理解为: a) 读地址写入情况:在读地址准备好信号 arready 为高时输入需要读取的 地址 araddr,同时 arvalid 为高即可。arvalid 保持一个时钟,在 arready 为低时也为低; b) 读相应准备好信号:在 arready 为低时拉高,在读响应信号 rvalid 拉高后 拉低。
月隐出品 4.2 demo 中的读时序 demo 中的读时序如下图所示: a) 读地址准备好信号 arready:每隔一个固定的时间段会输出固定的两个时 钟高信号,准备接收读地址。经验证并不是看到 arvalid 拉高后主动拉低 的; b) 可接收下一个读地址的条件:虽然一次性会输出两个时钟的 arready 信 号,但是一次却只能接收一个读地址。需要在读响应后 rvalid 拉高一个 时钟后才能再次接收下一个读地址。
分享到:
收藏