一、实验实现功能
本文仅实现最简单的fpga向电脑主机发送hello world,UDP包,每隔一秒发送一次。上板跑通,可证明整条传输链路打通,对IP核的配置及使用是正确的。主要参考文献是altera官方的ug 01008"Triple-Speed Ethernet Intel FPGA IP User Guide".读者需对以太网OSI分层模型有基本的了解。需要知道物理层帧格式、IP层包格式以及UDP报文格式。这个在UG01008的附录内也有介绍。
二、数据流以及控制流
搭建nios片上系统,CPU c程序通过avalon_mm总线配置千兆网(即三速以太网(Triple-Speed Ethernet,TSE)IP核,配置完成后,拉起一个PIO寄存器的值,指示逻辑模块定时发送以太网帧(物理层)。
三、工程需注意点
工程结构如下图
tse_top例化三个模块。
1.frame_send是定时发送以太网帧的逻辑模块,通过avalon_streanm接口连接到qsys模块tse_qsys上。
2.tse_qsys为片上系统的顶层文件,内涵nios cpu,jtag_uart,onchip mem,tse ip核以及pio等组件。
3.pll为qsys和frame_send模块以及tse_top提供数个频率的时钟。
tse_top顶层模块
tse_top的输入输出口如下图