之前基于Alter平台写了调用IP核实现千兆网接口设计的功能,但是其实觉得不是特别的方便,毕竟现在的工作都是vivado跟Quartus来回切,有关三速以太网的IP核设置也比较麻烦,因此想到了这个一劳永逸的办法,就是不调用IP核,自己设计代码来实现,可以在任何开发平台迅速应用。
我自己设计的项目主要用于红外热像仪的千兆网传输,先来看下RTL结构图
cmos_tau2模块:红外温度数据读取模块,这是根据具体的红外时序图设计的红外数据采集模块;
cmos_fifo:红外数据转接模块,主要将14bit的红外数据转接为8bit的数据对接千兆网接口模块;
gmii:自主设计的千兆网接口模块,对红外采集图像进行千兆网传输
最后来看下具体的显示成果:
其实关于如何设计代码封装千兆网这个接口,可以完全参照我之前写的https://www.cnblogs.com/tanqiqi/p/9441973.html一文,善用状态机,其中涉及一些crc校验的知识,如果需要项目工程参考,可以私信我!