基于网络编码的多信源组播通信系统,包括源代码,原理图等
Input_fifo_empty_2 | 1 | input | 1=input FIFO is empty,0=otherwise |
Input_fifo_rd_en_2 | 1 | output | Read enable |
Data_arbiter_ctrl_1 | 64 | output | Output data bus to "control module" |
Ctrl_arbiter_ctrl_1 | 8 | Output | Output ctrl bus to "control module" |
Val_arbitrer_ctrl_1 | 1 | Output | 1=data from input arbiter 1 to head splitter 1 is valid, 0=otherwise |
Rdy_arbiter_ctrl_1 | 1 | Input | 1=module "head splitter 1" is ready to receive |
Data_arbiter_ctrl_2 | 64 | output | Output data bus to "control module" |
Ctrl_arbiter_ctrl_2 | 8 | Output | Output ctrl bus to "control module" |
Val_arbitrer_ctrl_2 | 1 | Output | 1=data from input arbiter 2 to head splitter 2 is valid, 0=otherwise |
Rdy_arbiter_ctrl_2 | 1 | Input | 1=module "head splitter 2" is ready to receive, 0=otherwise |
Data_arbiter_out_1 | 64 | output | Output data bus to "output arbiter module" |
Ctrl_arbiter_out_1 | 8 | Output | Output ctrl bus to "output arbiter module" |
Val_arbiter_out_1 | 1 | Output | 1=data from input arbiter 1 to output arbiter is valid, 0=otherwise |
Rdy_arbiter_out_1 | 1 | Input | 1=module "output arbiter" is ready to receive from input arbiter 1, 0=otherwise |
Data_arbiter_out_2 | 64 | output | Output data bus to "output arbiter module" |
Ctrl_arbiter_out_2 | 8 | Output | Output ctrl bus to "output arbiter module" |
Val_arbiter_out_2 | 1 | Output | 1=data from input arbiter 2 to output arbiter is valid, 0=otherwise |
Rdy_arbiter_out_2 | 1 | Input | 1=module "output arbiter" is ready to receive from input arbiter 2, 0=otherwise |
clk | 1 | Input | System clock, running at 125MHz |
Rst_n | 1 | input | System asynchronous reset signal |
③ 功能描述及数据流
本模块执行输入仲裁功能。两个独立的input arbiter模块分别从两个输入FIFO读出数据包,判断数据包类型,决定输出端口(非IP包直接送往output arbiter,IP包送往control),输出数据。
为了判断数据包类型,需要获取16-bit Ether Type信息,该信息位于每个数据包第二个double word中的31:16位,若Ether Type为0x0080,则说明此数据包为IP数据包,若Ether Type值不是0x0080,则说明此数据包不是IP数据包,将被直接送往output arbiter模块。
④ 关键时序及状态机
本模块的状态机的状态转化如图3.2-3所示
图3.2-3:input arbiter状态转换图
2、Control
① 子模块列表
Sub module name | quantity | description |
Head_spliter | 2 | Split head and payload, send head to "head info extractor", send payload to "FIFO ctrl payload" |
Head_info_extractor | 2 | Receive head from "head splitte |
- 一种基于电力线的家庭以太网络实现方法(10-10)
- 基于DSP和FPGA的机器人声控系统设计与实现 (04-16)
- 面向大众市场的千兆位级收发器(05-04)
- 利用以太网硬件在环路实现高带宽DSP仿真(05-04)
- 采用软处理器IP规避器件过时的挑战(05-04)
- WCDMA系统基带处理的DSP FPGA实现方案(01-02)