ZYNQ FPGA 修炼秘籍
目录
【第八季】MIZ7035 GTX高速接口应用
S08_CH01利用IBERT进行GTX信号眼图测试
1.1概述
1.2测试原理
1.3 IBERT设置
1.3.1千兆1.25G速率
1.3.2万兆10.3125G速率
1.4使用example design
1.5 GTX IBERT测试
1.5.1 1.25G测试
1.5.2 10.3125G测试
1.6 本章节文件夹内容
S08_CH02_aurora_8b10b光通信
2.1概述
2.2 Aurora 8B/10B IPCORE 描述
2.2.1性能表现(Performance)
2.2.2 端口说明 (Port Descriptions)
2.2.3 Aurora 8B/10B 帧(Frames)
2.2.4数据流接口(Streaming Interface)
2.2.5流量控制(Flow Control)
2.2.6本地流量控制(Native Flow Control)
2.2.7状态,控制和收发器接口
2.2.8 CRC
2.3基于Aurora 8B/10B IPCORE的设计
2.3.1 Aurora 8B/10B内核的时钟接口端口
2.3.2复位和掉电
2.3.3共享逻辑(Share Logic)
2.4 Setp By Step搭建FPGA工程
2.5 代码分析
2.5.1 代码功能概述
2.5.2 Aurora_8b10b_frame_gen.v
2.5.3 Aurora_8b10b_freme_check.v
2.5.4 Aurora_8b10b_ll_to_axi_exdes.v
2.5.5 Aurora_8b10b_axi_to_ll_exdes.v
2.6 代码软件仿真
2.6.1仿真部分程序构架
2.6.2仿真文件顶层代码
2.6.3 仿真波形图
2.7编译下载测试
2.7.1顶层文件修改
2.7.2添加PIN脚约束
2.7.3编译并且在线仿真
2.8本章节文件夹内容
S08_CH03_UDP千兆光通信
3.1概述
3.2 SFP+接口
3.3 IP设置
3.3.1 Tri Mode Ethernet MAC设置
3.3.2 1G/2.5G Ethernet PCS/PMA or SGMII设置
3.4 IP核结构
3.4.1 Tri Mode Ethernet MAC
3.4.1.1 时钟网络
3.4.1.2 用户接口
3.4.2 1G/2.5G Ethernet PCS/PMA or SGMII
3.4.2.1时钟网络
3.4.2.2多IP资源共享
3.4.3用户接口
3.4.3.1 GMII接口
3.4.3.2 independent_clock_bufg
3.4.3.3 signal_detect
3.4.3.4 Configuration_Vector
3.4.3.5 an_adv_config_vector
3.4.3.6 Status_Vector
3.4.4 Tri Mode Ethernet MAC与1G/2.5G Ethernet PCS/PMA or SGMII的连接
3.4.5 IP核使用注意点
3.4.5.1 Tri Mode Ethernet MAC
3.4.5.2 AXI-Lite接口配置策略
3.5约束
3.5.1 GTX参考时钟约束
3.5.2 GTX位置约束
3.6 例程设计
3.6.1 AXI-Stream DATA FIFO
3.6.2 AXI4-Stream Data Width Converter
3.7 例程测试
3.7.1 UDP环路测试
3.7.2 Ping、ARP测试
3.8 本章节文件夹内容
S08_CH04_PS通过GTX实现SFP网络通信
4.1 概述
4.2基本原理
4.3 PL部分设计
4.3.1 ZYNQ PS设置
4.3.2 1G/2.5G Ethernet PCS/PMA or SGMII
4.3.2.1 IP核设置
4.3.2.2 IP核结构
4.3.3将PS ENET1与1G/2.5G Ethernet PCS/PMA or SGMII连接
4.3.4约束
4.4 PS程序设计
4.4.1 LWIP库修改
4.4.1.1 修改原因
4.4.1.2修改方法
4.4.2创建工程
4.4.2.1 Lwip库设置
4.4.2.2 example工程修改
4.5程序测试
4.5.1 ENET1 SFP接口通信
4.5.2 ENET0 电口通信
4.5.2.1 lwip库设置
4.5.2.2 网络测试
4.6 本章节文件夹内容
S08_CH05_PS千兆UDP加速
5.1概述
5.2基本原理
5.3 PL逻辑设计
5.3.1 PS设置
5.3.2 AXI Direct Memory Access
5.3.3 udp_ip_stack_controller
5.3.4 AXI Direct Memory Access与udp_ip_stack_controller的连接
5.4 PS程序设计
5.4.1 Main函数
5.4.2 系统中断
5.4.3 AXI Direct Memory Access驱动
5.4.4 udp_ip_stack_controller驱动
5.5 例程测试
5.5.1 UDP环路测试
5.5.1.1 通道1
5.5.1.2 通道2
5.5.1.3 通道3
5.5.1.4 通道4
5.5.1.5 Ping、ARP测试
5.5.2 发送速率测试
5.5.3 协议栈中断测试
S08_CH06可编程差分晶振Si570使用
6.1 概述
6.2 Si570介绍
6.2.1基本结构
6.2.2寄存器
6.2.2.1寄存器7、8
6.2.2.2 寄存器8~12
6.2.2.3 寄存器135
6.2.2.4 寄存器137
6.3使用方法
6.3.1参数计算原理
6.3.2参数计算步骤
6.3.3寄存器配置
6.3.4 I2C配置原理
6.3.4.1 读寄存器
6.3.4.2写寄存器
6.3.4.3 I2C地址
6.4 程序设计
6.4.1 PL端设计
6.4.2 PS配置
6.4.2.1 Si570频率测算
6.4.2.2 测算原理
6.4.2.3 VIO
6.5 PS端程序设计
6.5.1 Main函数
6.5.2 I2C接口
6.5.3配置Si570
6.5.3.1复位
6.5.3.2 读寄存器
6.5.3.3 写寄存器
6.6程序测试
6.6.1获取Si570默认寄存器配置
6.6.2 计算晶振的fXTAL
6.6.3 输出频率参数计算
6.6.3.1 100MHz
6.6.3.2 125MHz
6.6.3.3 150MHz
6.6.3.4 175.25MHz
6.6.3.5 190.33MHz
6.3.4 更改并监测输出频率
6.3.4.1默认上电频率
6.3.4.2 更改输出频率
6.3.4.3 说明
S08_CH07_UDP万兆光通信
7.1概述
7.2 SFP+接口
7.3 IP设置
7.4 IP核结构
7.4.1 时钟网络
7.4.2 接收和发送接口时钟
7.4.3 多IP资源共享
7.4.4 用户接口
7.4.4.1 AXI-Stream接口
背靠背连续发送
7.4.4.1 pcspma_status
7.4.4.2 sim_speed_up
7.4.4.3 光模块相关信号
7.4.4.4 流量控制信号
7.4.4.5 接收发送数据统计信号
7.4.4.6 AXI-Lite接口
7.4.5 IP核使用注意点
7.4.5.1数据发送长度
7.4.5.2 使用FIFO与IP核AXI-Stream接口连接
7.4.5.3 AXI-Lite接口配置策略
7.5 例程设计
7.6 例程测试
7.6.1 UDP环路测试
7.6.2 Ping、ARP测试
7.7 BUG解决方法