当前位置: 首页 > news >正文

医院网站可以自己做吗百度竞价托管外包代运营

医院网站可以自己做吗,百度竞价托管外包代运营,有培训做网站 小程序的学校,网站头部设计一、概述 MAC RX模块的需要进行解码、对齐、CRC校验。 因为在空闲的时候10G PCS/PMA会一直向外吐空闲符#xff08;x07#xff09;所以需要根据开始符、结束符将有效数据从码流中截取#xff0c;也就是解码。 因为开始字符的所在位置有两种形式#xff0c;而结束字符的位…一、概述 MAC RX模块的需要进行解码、对齐、CRC校验。 因为在空闲的时候10G PCS/PMA会一直向外吐空闲符x07所以需要根据开始符、结束符将有效数据从码流中截取也就是解码。 因为开始字符的所在位置有两种形式而结束字符的位置不确定所以需要根据开始字符、结束字符的位置将数据进行对齐。 在将数据对齐的同时还需要将获取到的有效数据进行CRC校验这里就需要设计64bit CRC-32校验。 开始、结束、空闲、错误 控制字符 二、具体实现 1、检测开始、结束字符的位置 assign w_sof (ri_xgmii_rxc[7] ri_xgmii_rxd[63:56] 8hFB) ||(ri_xgmii_rxc[3] ri_xgmii_rxd[31:24] 8hFB) ; assign w_sof_local (ri_xgmii_rxc[7] ri_xgmii_rxd[63:56] 8hFB) ? 0: 1; assign w_eof (ri_xgmii_rxc[0] ri_xgmii_rxd[7: 0] 8hFE) ||(ri_xgmii_rxc[1] ri_xgmii_rxd[15: 8] 8hFE) ||(ri_xgmii_rxc[2] ri_xgmii_rxd[23:16] 8hFE) ||(ri_xgmii_rxc[3] ri_xgmii_rxd[31:24] 8hFE) ||(ri_xgmii_rxc[4] ri_xgmii_rxd[39:32] 8hFE) ||(ri_xgmii_rxc[5] ri_xgmii_rxd[47:40] 8hFE) ||(ri_xgmii_rxc[6] ri_xgmii_rxd[55:48] 8hFE) ||(ri_xgmii_rxc[7] ri_xgmii_rxd[63:56] 8hFE) ;assign w_eof_local (ri_xgmii_rxc[1] ri_xgmii_rxd[15: 8] 8hFE) ? 6 :(ri_xgmii_rxc[2] ri_xgmii_rxd[23:16] 8hFE) ? 5 :(ri_xgmii_rxc[3] ri_xgmii_rxd[31:24] 8hFE) ? 4 :(ri_xgmii_rxc[4] ri_xgmii_rxd[39:32] 8hFE) ? 3 :(ri_xgmii_rxc[5] ri_xgmii_rxd[47:40] 8hFE) ? 2 :(ri_xgmii_rxc[6] ri_xgmii_rxd[55:48] 8hFE) ? 1 :(ri_xgmii_rxc[7] ri_xgmii_rxd[63:56] 8hFE) ? 0 :7; 2、获取目的MAC、源MAC、帧类型 //获取目的MAC always(posedge i_clk,posedge i_rst)beginif(i_rst)r_target_mac d0; elseif(r_sof_local 0 r_cnt 1)r_target_mac ri_xgmii_rxd_ff1[55:8];else if(r_sof_local 1 r_cnt 1)r_target_mac {ri_xgmii_rxd_ff1[23:0],ri_xgmii_rxd[63:40]};elser_target_mac r_target_mac; end //获取源MAC always(posedge i_clk,posedge i_rst)beginif(i_rst)r_source_mac d0;elseif(r_sof_local 0 r_cnt 1)r_source_mac {ri_xgmii_rxd_ff1[7:0],ri_xgmii_rxd[63:24]};else if(r_sof_local 1 r_cnt 2)r_source_mac {ri_xgmii_rxd_ff1[39:0],ri_xgmii_rxd[63:56]};elser_source_mac r_source_mac; end //获取帧类型 always(posedge i_clk,posedge i_rst)beginif(i_rst)r_type d0; elseif(r_sof_local 0 r_cnt 2)r_type ri_xgmii_rxd_ff1[23:8];else if(r_sof_local 1 r_cnt 3)r_type ri_xgmii_rxd_ff1[55:40];elser_type r_type; end 这里需要了解一下标准以太网帧的帧格式 在提取MAC字段之前需要去除前导码56‘h55555555_555555SFD8‘hD5。 3、对齐数据 根据开始字符的位置对齐数据 always(posedge i_clk,posedge i_rst)beginif(i_rst)rm_axis_data d0;elseif(r_sof_local 0 r_run)rm_axis_data {ri_xgmii_rxd_ff1[7:0],ri_xgmii_rxd[63:8]};else if(r_sof_local 1 r_run)rm_axis_data {ri_xgmii_rxd_ff1[39:0],ri_xgmii_rxd[63:40]};elserm_axis_data d0; end 因为使用的AXI-Stream接口所以需要根据结束字符的位置处理最后一次传输的KEEP信号、Valid信号、Last信号 //keep信号处理 always(posedge i_clk,posedge i_rst)beginif(i_rst)rm_axis_keep d0;elseif(r_run !r_run_ff1)rm_axis_keep 8b1111_1111;else if(rm_axis_last)rm_axis_keep d0;else if(r_sof_local 0 w_eof)case(w_eof_local)0 : rm_axis_keep 8b1000_0000;1 : rm_axis_keep 8b1100_0000;2 : rm_axis_keep 8b1110_0000;3 : rm_axis_keep 8b1111_0000;4 : rm_axis_keep 8b1111_1000;5 : rm_axis_keep 8b1111_1100;6 : rm_axis_keep 8b1111_1110;7 : rm_axis_keep 8b1111_1111;default : rm_axis_keep 8b1111_1111;endcaseelse if(r_sof_local 1 w_eof w_eof_local 3)case(w_eof_local)0 : rm_axis_keep 8b1111_1000;1 : rm_axis_keep 8b1111_1100;2 : rm_axis_keep 8b1111_1110;3 : rm_axis_keep 8b1111_1111;4 : rm_axis_keep 8b1000_0000;5 : rm_axis_keep 8b1100_0000;6 : rm_axis_keep 8b1110_0000;7 : rm_axis_keep 8b1111_0000;default : rm_axis_keep 8b1111_1111;endcase else if(r_sof_local 1 r_eof r_eof_local 4)case(r_eof_local)0 : rm_axis_keep 8b1111_1000;1 : rm_axis_keep 8b1111_1100;2 : rm_axis_keep 8b1111_1110;3 : rm_axis_keep 8b1111_1111;4 : rm_axis_keep 8b1000_0000;5 : rm_axis_keep 8b1100_0000;6 : rm_axis_keep 8b1110_0000;7 : rm_axis_keep 8b1111_0000;default : rm_axis_keep 8b1111_1111;endcase elserm_axis_keep rm_axis_keep; endalways(posedge i_clk,posedge i_rst)beginif(i_rst)rm_axis_last 1b0;elseif(r_sof_local 0 w_eof)rm_axis_last 1b1;else if(r_sof_local 1 w_eof w_eof_local 3)rm_axis_last 1b1;else if(r_sof_local 1 r_eof r_eof_local 4)rm_axis_last 1b1;else rm_axis_last 1b0;end ///valid信号,用r_run的上升沿判断数据开始 always(posedge i_clk,posedge i_rst)beginif(i_rst)rm_axis_valid 1b0;else if(rm_axis_last)rm_axis_valid 1b0;else if(r_run !r_run_ff1)rm_axis_valid 1b1;elserm_axis_valid rm_axis_valid; end 4、CRC校验 在进行字节对齐的过程中需要进行CRC校验在此过程中使用的标准以太网的CRC-32校验。 因为校验开始的位置是从目的MAC开始的因此需要从目的MAC字段对齐数据。 always(posedge i_clk,posedge i_rst)beginif(i_rst)r_crc_data d0;elseif(r_sof_local 0)if(r_sof_ff2)r_crc_data {ri_xgmii_rxd_ff2[55:0],ri_xgmii_rxd_ff1[63:56]};else if(r_eof || r_eof_ff1)r_crc_data {ri_xgmii_rxd_ff2[55:0],ri_xgmii_rxd_ff1[63:56]};else if(r_run_ff1)r_crc_data {ri_xgmii_rxd_ff2[55:0],ri_xgmii_rxd_ff1[63:56]};else r_crc_data d0; else if(r_sof_ff2)r_crc_data {ri_xgmii_rxd_ff2[23:0],ri_xgmii_rxd_ff1[63:24]};else if(r_eof || r_eof_ff1)r_crc_data {ri_xgmii_rxd_ff2[23:0],ri_xgmii_rxd_ff1[63:24]};else if(r_run)r_crc_data {ri_xgmii_rxd_ff2[23:0],ri_xgmii_rxd_ff1[63:24]};elser_crc_data d0; end 在此过程中需要一个使能信号指示需要对当前的数据进行CRC校验 //CRC_en控制 always(posedge i_clk,posedge i_rst)beginif(i_rst)r_crc_en d0;elseif(r_sof_local 0)if(r_sof_ff2)r_crc_en 1b1;else if(r_eof)r_crc_en 1b1;else if(r_eof_ff1)case(r_eof_local)0 :r_crc_en 1b0;1 :r_crc_en 1b0;2 :r_crc_en 1b0;3 :r_crc_en 1b0;4 :r_crc_en 1b0;5 :r_crc_en 1b0;6 :r_crc_en 1b1;//剩余一个数据,需要再次拉高crc_en7 :r_crc_en 1b1;//剩余两个数据,需要再次拉高crc_endefault :r_crc_en 1b0;endcase else if(r_eof_ff2)r_crc_en 1b0;else r_crc_en r_crc_en; else if(r_sof_ff2)r_crc_en 1b1;else if(w_eof)r_crc_en 1b1; else if(r_eof)case(r_eof_local)0 :r_crc_en 1b0;//1 :r_crc_en 1b0;2 :r_crc_en 1b1;3 :r_crc_en 1b1;4 :r_crc_en 1b1;5 :r_crc_en 1b1;6 :r_crc_en 1b1;7 :r_crc_en 1b1;default :r_crc_en 1b0;endcaseelse if(r_eof_ff1)r_crc_en 1b0;elser_crc_en r_crc_en; end 最后也需要对CRC数据的最后一次传输的有效数据进行指示这里加入一个CRC_KEEP信号指示最后一次传输的有效数据。 //CRC_KEEP处理 always(posedge i_clk,posedge i_rst)beginif(i_rst)r_crc_keep d0;elseif(r_sof_ff2)r_crc_keep 8b1111_1111;// else if((!r_crc_en r_crc_en_ff1) || r_eof_ff2)// r_crc_keep 8b0000_0000;else if(r_sof_local 0 r_eof)case(r_eof_local)0 : r_crc_keep 8b1110_0000;1 : r_crc_keep 8b1111_0000;2 : r_crc_keep 8b1111_1000;3 : r_crc_keep 8b1111_1100;4 : r_crc_keep 8b1111_1110;5 : r_crc_keep 8b1111_1111;default : r_crc_keep 8b1111_1111;endcaseelse if(r_sof_local 0 r_eof_ff1)case(r_eof_local)6 : r_crc_keep 8b1000_0000;7 : r_crc_keep 8b1100_0000;default : r_crc_keep r_crc_keep;endcase else if(r_sof_local 1 w_eof)case(w_eof_local)0 : r_crc_keep 8b1111_1110;1 : r_crc_keep 8b1111_1111;2 : r_crc_keep 8b1111_1111;3 : r_crc_keep 8b1111_1111;4 : r_crc_keep 8b1111_1111;5 : r_crc_keep 8b1111_1111;6 : r_crc_keep 8b1111_1111;7 : r_crc_keep 8b1111_1111;default : r_crc_keep 8b1111_1111;endcase else if(r_sof_local 1 r_eof)case(r_eof_local)// 0 : r_crc_keep 8b1111_1000;// 1 : r_crc_keep 8b1111_1100;2 : r_crc_keep 8b1000_0000;3 : r_crc_keep 8b1100_0000;4 : r_crc_keep 8b1110_0000;5 : r_crc_keep 8b1111_0000;6 : r_crc_keep 8b1111_1000;7 : r_crc_keep 8b1111_1100;default : r_crc_keep r_crc_keep;endcase // else if(r_sof_local 1 r_eof r_eof_local 4)// case(r_eof_local)// 0 : r_crc_keep 8b1111_1000;// 1 : r_crc_keep 8b1111_1100;// 2 : r_crc_keep 8b1111_1110;// 3 : r_crc_keep 8b1111_1111;// 4 : r_crc_keep 8b1000_0000;// 5 : r_crc_keep 8b1100_0000;// 6 : r_crc_keep 8b1110_0000;// 7 : r_crc_keep 8b1111_0000;// default : r_crc_keep 8b1111_1111;// endcase elser_crc_keep r_crc_keep; end 5、CRC模块 CRC的生成公式采用的标准以太网的CRC-32的公式这里可以参考此篇文章。 三、总结 MAC RX模块主要的难点就在于数据KEEP信号的处理以及相应的64bit的 CRC-32模块的实现。KEEP信号要考虑到开始、结束字符的位置因此需要处理多种情况。而CEC模块的那点主要在于对于多Bytw数据一次输入的数据可能不是全部有效的所以也是需要考虑多种情况。
http://www.hkea.cn/news/14257701/

相关文章:

  • 网站建设及安全管理建一个信息 类网站
  • 晋中市两学一做网站wordpress4.6 中文
  • 一个人做网站原型天津做网站的企业
  • 网站推广链接怎么做杭州恒彩装饰公司怎么样
  • 高端网站建设公沈阳黑酷做网站建设优化公司怎么样
  • 电子商务网站建设题目个人网页模板关于爱国
  • 龙岩房产网河南企业网站优化
  • 深圳网站建设迈大学一学一做视频网站
  • 友链网站降权手机电视直播网站大全
  • 内部网站开发软件网页制作平台哪家好
  • 神华两学一做网站seo推广学院
  • 微信网站建设定制北京网站定制流程
  • 深圳做网站开发费用wordpress如何进入仪表盘
  • 酷炫网站源码营销技巧在线观看
  • 有哪些免费推广网站重庆企业网站推广策略
  • 国际网站平台有哪些营销型门户网站建设
  • 博物馆网站页面设计说明重庆建网站的公司集中在哪里
  • 来宾网站建设网址百度刷排名
  • 无忧建站网络工程师是干嘛的
  • 优秀的网站建设推荐超炫的网站模板
  • 安徽省建设厅网站打不开宽带公司排名
  • 课程网站建设的步骤义乌网页设计公司
  • 广东深圳建设工程信息网站wordpress主题创建后门
  • 可信网站查询官网wordpress后台文章自定义字段面板
  • 嘉兴网站建设网址中国建筑官网一测
  • 华企立方网站linux 网站服务器搭建
  • vps 网站 需要绑定域名吗计算机一级考试网站怎么做
  • 装修网站制作seo云优化软件
  • 设计师常上的网站建立网站的条件
  • 天津北京网站建设公司宁波seo教程行业推广