基于zynq的千兆网udp项目_学习心得 | 千兆以太网工程模块划分总结与分析

本文分享了一位学员在基于Zynq的千兆网UDP项目中的模块划分心得,介绍了从功能要求、硬件系统结构、接口转换、指令系统、寄存器配置到速率匹配等多个关键步骤,并通过千兆以太网工程案例具体分析了模块划分过程。
摘要由CSDN通过智能技术生成

学员王斌 明德扬FPGA科教

本文为明德扬原创文章,转载请注明出处!

很多朋友在工程模块划分的时候总会遇到很多问题,比如不知道如何下手、模块划分不合理等;我开始也是这样的,在学习了明德扬的几项工程以后,按照老师分享的思路,也对模块划分有了一定的小经验,今天通过案例的方式与大家分享。

今天分享的案例是千兆以太网工程。该工程是明德扬的网络班、就业班的其中一个项目,涉及到MAC协议、ARP协议、IP协议和UDP协议的实现,协议较多,划分的模块也较多。

一、模块划分要点总结

1、列出项目的功能要求(客户提出的产品功能要求)

2、画出硬件的系统结构框图(添加外设)

3、框图中每个外围接口都对应有一个接口转换模块

接口转换模块的作用是将外围器件的接口时序转为通用的接口时序,或者将通用接口时序转换为外围器件接口时序,这样使得FPGA内部其他模块不用再关心外围接口的时序了。

MDY规范通用接口时序:

  • data以及对应的vld,传输单个数据格式
  • MDY的包文格式,din,vld,SOP,EOP,MTY,ERR
  • wren,waddr,wdata;rden,raddr,rdata,rdata_vld

4、考虑是否涉及指令系统(操作码+数据格式)

上位机,例如PC,ARM,DSP或者其他的器件,只涉及到一个接口,但是却有很多指令或者命令功能要发送,因此就需要一个指令系统。

指令系统一定会涉及到命令、地址和数据。这种情况,肯定会有一个“寄存器解析模块”,根据命令、地址和数据,改变相应的寄存器的值。

5、考虑外围器件是否涉及寄存器配置

项目中有某些外设,上电工作前需要进行配置才能按要求工作。因此需要对外设内部寄存器进行读写,这一流程是通过FPGA来进行配置。

遇到这个情况,使用MDY推荐的模块寄存器配置结构:

寄存器配置表模块+寄存器读写配置模块+外设配置接口时序转换模块

6、根据实际情况,增加、补充或者拆分,优化对应模块,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值