新闻中心

EEPW首页>电源与新能源>设计应用> 基于网络编码的多信源组播通信系统,包括源代码,原理图等(四)

基于网络编码的多信源组播通信系统,包括源代码,原理图等(四)

作者: 时间:2016-12-06 来源:网络 收藏

end

本文引用地址://m.amcfsurvey.com/article/201612/326827.htm

else if((cam_lookup_reslt^~cam_lookup_reslt_pre)==3'b101) begin

cmp_data = {pkt_need_src_gen,12'hfff};

cmp_data_mask_2 = {12'h0,CMP_DATA_MASK};

cmp_data_mask_0 = {12'h0,CMP_DATA_MASK};

endelse if((cam_lookup_reslt^~cam_lookup_reslt_pre)==3'b011) begin

cmp_data = {pkt_need_src_gen,12'hfff};

cmp_data_mask_1 = {12'h0,CMP_DATA_MASK};

cmp_data_mask_0 = {12'h0,CMP_DATA_MASK};

end

else if((cam_lookup_reslt^~cam_lookup_reslt_pre)==3'b001) begin

cmp_data = {pkt_need_src_gen,12'hfff};

cmp_data_mask_0 = {12'h0,CMP_DATA_MASK};

end

else if((cam_lookup_reslt^~cam_lookup_reslt_pre)==3'b010) begin

cmp_data = {pkt_need_src_gen,12'hfff};

cmp_data_mask_1 = {12'h0,CMP_DATA_MASK};

end

else if((cam_lookup_reslt^~cam_lookup_reslt_pre)==3'b100) begin

cmp_data = {pkt_need_src_gen,12'hfff};

cmp_data_mask_2 = {12'h0,CMP_DATA_MASK};

end

state_next = LUP_DCOD_FACTOR1_SEC;

end

end

LUP_DCOD_FACTOR1_SEC: begin

state_next = GET_FACTOR1_RESLT;

cam_lookup_reslt_next = {match_2,match_1,match_0};

match_addr_temp_2_next = match_addr_2;

match_addr_temp_1_next = match_addr_1;

match_addr_temp_0_next = match_addr_0;

if((cam_lookup_reslt^~cam_lookup_reslt_pre)==3'b110) begin

cmp_data = {12'hfff,pkt_need_src_gen};

cmp_data_mask_2 = {CMP_DATA_MASK,12'h0};

cmp_data_mask_1 = {CMP_DATA_MASK,12'h0};

end

else if((cam_lookup_reslt^~cam_lookup_reslt_pre)==3'b101) begin

cmp_data = {12'hfff,pkt_need_src_gen};

cmp_data_mask_2 = {CMP_DATA_MASK,12'h0};

cmp_data_mask_0 = {CMP_DATA_MASK,12'h0};

end

else if((cam_lookup_reslt^~cam_lookup_reslt_pre)==3'b011) begin

cmp_data = {12'hfff,pkt_need_src_gen};

cmp_data_mask_0 = {CMP_DATA_MASK,12'h0};

cmp_data_mask_1 = {CMP_DATA_MASK,12'h0};

end

else if((cam_lookup_reslt^~cam_lookup_reslt_pre)==3'b001) begin

cmp_data = {12'hfff,pkt_need_src_gen};

cmp_data_mask_0 = {CMP_DATA_MASK,12'h0};

end

else if((cam_lookup_reslt^~cam_lookup_reslt_pre)==3'b010) begin

cmp_data = {12'hfff,pkt_need_src_gen};

cmp_data_mask_1 = {CMP_DATA_MASK,12'h0};

end

else if((cam_lookup_reslt^~cam_lookup_reslt_pre)==3'b100) begin

cmp_data = {12'hfff,pkt_need_src_gen};

cmp_data_mask_2 = {CMP_DATA_MASK,12'h0};

end

end

/* --- get the factor pkt address from the cam, then reads the DRAM

if no address matches, then check the decode factor2 */

GET_FACTOR1_RESLT: begin

state_next = RD_DRAM_MINOR_STEP;

cam_lookup_reslt_next = cam_lookup_reslt | {match_2,match_1,match_0};

cam_lookup_reslt_pre_next = cam_lookup_reslt | {match_2,match_1,match_0};

if(match_2) begin

match_addr_temp_2_next = match_addr_2;

end

if(match_1) begin

match_addr_temp_1_next = match_addr_1;

end

if(match_0) begin

match_addr_temp_0_next = match_addr_0;

end

end

RD_DRAM_MINOR_STEP:

if(rd_idle)

if(|cam_lookup_reslt) begin

state_next = LUP_DCOD_FACTOR1_FIRST;

if(cam_lookup_reslt==3'b001)

begin

addr_vld = 1;

block_num_rd = match_addr_temp_0;

port_num_rd = 2'b00;

cam_lookup_reslt_next=0;

end

else if (cam_lookup_reslt==3'b010)



关键词:源代码原理

评论


技术专区

关闭