基于网络编码的多信源组播通信系统,包括源代码,原理图等
数据;(2)将来自header_parser的未编码的数据包去掉NCP包头;(3)计算新的包头校验和,更新TTL;(4)置位解码标志寄存器;(5)将来自decode operation模块的数据,先向运算控制模块询问是否要反馈,若需要,则将数据反馈至forward_sel模块;(6)恢复IP数据包头;(7)将IP包头和有效载荷封装好,并恢复ctrl_bus和module header,将其一起同步发送出去。
端口信号列表如下:
信号名称 | 位宽bits | I/O | 信号描述 |
decoder_in_rdy | 1 | I | 输出至SRAM允许信号 |
decoder_in_wr | 1 | O | 输出有效 |
decoder_in_data | 64 | O | 输出至SRAM数据总线 |
decoder_in_ctrl | 8 | O | 输出至SRAM控制总线 |
set_req | 1 | O | 置位请求 |
set_src_gen | 12 | O | 需要置位的数据包(表示已经解码完毕) |
set_info_vld | 1 | O | 置位信息有效 |
set_ack | 1 | I | 置位请求响应 |
cap_info_req | 1 | O | 封装信息请求 |
dcod_comp | 1 | O | 解码封装完成 |
cap_info_vld | 1 | I | 封装信息有效 |
need_feed_back | 1 | I | 需要反馈 |
pkt_len | 16 | I | 数据包长度 |
src_num | 4 | I | 数据包的信源号 |
gen_num | 8 | I | 数据报的代编号 |
dcod_payload | 64 | I | 解码后的数据包的有效载荷 |
end_payload | 4 | I | 数据包结束标志,指明最后一个有效字节 |
payload_vld | 1 | I | 输入数据有效 |
wr_rdy | 1 | O | 输入数据允许信号 |
fd_back_ack | 1 | I | 接受反馈响应 |
fd_back_vld | 1 | O | 反馈数据有效标志 |
fd_back_req | 1 | O | 反馈请求 |
fd_back_data | 64 | O | 反馈数据总线 |
fd_back_data_eop | 4 | O | 反馈数据结束标志,指明最后一个有效字节 |
Uncod_data | 64 | I | 未编码数据包的数据总线 |
Uncod_ctrl | 8 | I | 未编码数据包的控制总线 |
Wr_vld | 1 | I | 写capsulation数据有效 |
Out_rdy | 1 | O | 输入数据包允许信号 |
封装过程中的状态转换图如图3.4-21:
图3.4-21capsulation封装包头流程图
7、SRAM读写控制器
SRAM读写控制的作用是:①将capsulation模块来的数据写入SRAM中,写入时按照代的大小和信源号写入block中。SRAM按照地址分为3个区域,每个区域存储对应由一个信源。每个区域分为256个block,每个block深度是400,宽度为36bits,可以存储1800字节的数据(即至少可容纳一个正常大小的IP数据包)。②读取数据时按照block逐个读取,读取后的数据直接发送至output_arbiter。在每发送完一个数据包后,对解码标志寄存器复位。
SRAM读写控制器的端口列表如下:
信号名称 |
- 一种基于电力线的家庭以太网络实现方法(10-10)
- 基于DSP和FPGA的机器人声控系统设计与实现 (04-16)
- 面向大众市场的千兆位级收发器(05-04)
- 利用以太网硬件在环路实现高带宽DSP仿真(05-04)
- 采用软处理器IP规避器件过时的挑战(05-04)
- WCDMA系统基带处理的DSP FPGA实现方案(01-02)