基于网络编码的多信源组播通信系统,包括源代码,原理图等
3.4 解码路由器详细设计方案
3.4.1 解码路由器系统整体模块图
如下图3.4-1所示,为解码路由器的整体模块图
3.4-1 解码路由器系统整体模块图
3.4.2系统中各单元模块的功能与时序
1、Input_arbiter:采用轮询策略,当fifo非空时从fifo接收数据,根据mac header判断数据是否为IP数据包,若是,则将数据发送到DRAM读写控制模块,同时将信源号、代编号发送到CAM读写控制模块。
可用一个两状态的状态机实现:即轮询判断输入和数据输出:在FIFO非空时读数据,并根据数据包的类型发送到DRAM读写控制器或output fifo中,若是IP数据包,同时将信源号、代编号发送给CAM读写控制。
主要信号列表:
信号名称 | 位宽 bit | I/O | 描述 |
Wr_vld_arb | 1 |
| 写DRAM控制器有效 |
Out_data_0 | 64 |
| 输出至DRAM的data |
Out_ctrl_0 | 8 |
| 输出至DRAM德ctrl |
Src_gen_seq | 24 |
| 信源号、代的编号 |
Cam_vld | 1 |
| 写CAM控制器有效 |
Port_num_dram | 2 |
| 数据的接收端口号 |
Out_data_1 | 64 |
| 输出至output arbiter的data |
Out_ctrl_1 | 8 |
| 输出至output arbiter的ctrl |
Wr_vld_1 | 1 |
| 输出至output arbiter信号有效 |
2、output_arbiter
图3.4-2 output_arbiter结构图
本模块的结构如图3.4-2所示,由两个输入fifo和一个输出仲裁器组成,两个fifo缓存来自SRAM和input_arbiter的数据包,Output_arbiter的作用是将解码后的数据发送到MAC层。由于对于非IP数据包我们并没有对其进行编码,所以在解码路由器中由input_arbiter判断后直接输出output_arbiter;对于编码后的IP数据包,在解码后先暂存到SRAM中,再发送出去。本模块就是轮流判断并接收来自SRAM和input_arbiter的数据,并将数据包发送到MAC层。
输入输出信号列表:
信号名称 | 位宽bits | I/O | 描述 |
out_data_3 | 64 | O | 输出至MAC层的数据总线 |
out_ctrl_3 | 8 | O | 输出至MAC层的控制总线 |
out_wr_3 | 1 | O | 输出有效 |
out_rdy_3 | 1 | I | MAC层空闲标志 |
dcod_data_0 | 64 | I | 已经解码的IP数据包的数据总线 |
dcod_ctrl_0 | 8 | I | 已经解码的IP数据包的控制总线 |
wr_ |
- 一种基于电力线的家庭以太网络实现方法(10-10)
- 基于DSP和FPGA的机器人声控系统设计与实现 (04-16)
- 面向大众市场的千兆位级收发器(05-04)
- 利用以太网硬件在环路实现高带宽DSP仿真(05-04)
- 采用软处理器IP规避器件过时的挑战(05-04)
- WCDMA系统基带处理的DSP FPGA实现方案(01-02)