概述
预计设计实现功能:
1,支持ARP主动发起。
2,支持ARP回应。
3,支持PING回应,不支持IP分包。
4,支持UDP主动发起。
5,支持UDP接收。
6,尽量少的延迟。
7,尽量少的时间开销。
8,接口明确清晰。
设计的总体架构:
A,发送部分,下面生成的包都是直接转给MAC层(其中ARP_REQ比较特殊,注意一下目标MAC的处理)。
1,UDP_IP_TX : 模块直接目的IP和端口本地IP和端口生成数据报,直接转给MAC层发出。
2,ARP_REQ:生成询问对方MAC地址的数据包。(返回后提交ARP_RX模块处理,更新ARP缓存)。
3,ARP_RQP:根据ARP_RX模块生成ARP返回数据包,发送出去,实现地址回应。
4,ICMP_REP:根据收到的ICMP_RX生成新的ICMP_REP。
B,接收部分
1,没收到一个数据包就要进行一下IP和MAC地址对应的提取,并更新一下ARP缓存。
2,处理ICMP并生成新的ICMP回应包,给发送部分。
3,处理ARP请求并生成ARP回应包,给发送部分。
4,处理到来的UDP数据包。
C,基本接口
1,这是基于数据流的系统。上游下游接口我们使用下面的规则:
2,上游 检查下游是否busy,当busy==0时就将第一个数据和以及要传输内容长度和其他信息都呈现在数据总线并使用start信号开始写入到下游模块,在之后数据长度个周期内数据被写入。在下游做好再次接受数据的新到来数据的准备之前busy是设置为1的。
3,
最后
以上就是欢呼冥王星为你收集整理的关于UDP的VERILOG实现的功能以及总体架构的全部内容,希望文章能够帮你解决关于UDP的VERILOG实现的功能以及总体架构所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复