提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
JESD204接口调试总结——Xilinx JESD204B IP testbench解析
IP核配置
1、IP核为接收功能
2、LMFC buffer设定为最大
3、4条lane
4、sysref下降沿采样 (前面的帖子有说明为什么下降沿)
1、选择第二种,保持更大灵活性(不然更多的功能被包在了IP核中)
1、SYSREF always 前面博文有介绍
2、不开扰码
3、F K参数与外面transceiver器件设定相匹配
4、SYSREF Required on Re-Sync 前面博文有介绍
1、线速率 9.8304Gbps
2、参考时钟 122.88
3、DRP时钟 122.88
生成IP核后,右击IP核,点击example design,一个tb工程就自动生成了。
testbench工程
以下是xilinx jesd手册文档描述的接收testbench工程
序号 | 项目 | 代号 | 参数 | 说明 |
---|---|---|---|---|
1 | ADC转换器个数 | M | 4 | 已知前提条件 |
2 | ADC与FPGA连接的SERDES通道数 | L | 4 | 已知前提条件 |
3 | ADC每帧包含8位字节数 | F | 4 | 根据1,2,5,6计算出来 |
4 | ADC采样位数 | N | 14 | 已知前提条件 |
5 | JESD204B字大小(4个半字节) | N` | 16 | 根据4计算出来 |
6 | ADC每帧包含样本数 | S | 1 | 已知前提条件 |
7 | ADC每个多帧包含的连续帧数 | K | 32 | 可配置 |
8 | ADC侧的Device Clock | 491.52MHz | 根据10,1,5计算出来 | |
9 | FPGA侧的Device Clock(Core CLK) | 122.88MHz | 根据10计算出来 | |
10 | JESD204B SERDES速率 | 9.8304Gpbs | 已知前提条件 |
1、F的值根据 MSN`/(8L) = 4116/(84) = 2
1、serdes速率为9.8304Gbps,并行数据宽度为32位,core clock为 9.8304G * 0.8 / 32 = 245.76MHz
2、8位字符时钟character clock为
245.76MHz*4 = 983.4MHz
3、Frame clock 为491.52MHz (F=2,四个字节一个frame)
4、Multi - Frame clock 为 491.52MHz/32 = 15.36MHz
示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。
部分代码解读
下面涉及两个任务
Task:rx_stimulus_send_column 将字节经过8B10B编码后,
通过Task:rx_stimulus_send_10b_column发送出去。其中里面还包含一个8B10B编码函数,因为相对来说比较固定,这里不做解读,只要知道经过了这个函数后,8bit就变成了10bit即可。
。。。。未完待续