亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? crc.v

?? 此源代碼實現了CRC5和CRC16的校驗以及校驗碼的產生
?? V
字號:
/* CRC type */`timescale 1ns/1ps`define CRC_UNKNOWN      2'b00`define CRC5             2'b01`define CRC16            2'b10`define NO_CRC           2'b11module crc (rst, clk, decode_data_in, data_in_bit_en , data_in_frame_en ,  rsp_data_in , isT2R , crc_type , BLF_reverse , rsp_data_in_en ,crc16_judge ,crc5_judge, crc_data_out , crc_data_out_en );    input            rst;  input            clk;  input            decode_data_in , rsp_data_in;  input            data_in_bit_en;  input            data_in_frame_en;    input            isT2R;   /* when '0'judge if "decode_data_in"  is correct, '1' produce crc of                "rsp_data_in" and gives them to encoder, also indicates encode of preamble is over */  input  [1:0]     crc_type; //from  center controller  input  [5:0]     BLF_reverse;  // from encoding module            input            rsp_data_in_en; /*from center controller,                                       "0" when the sending of encoding data is over*/ // output  reg           crc_judge_result;      output  reg              crc16_judge;  output  reg              crc5_judge; //"1" then decode_data_in is correct             output  reg           crc_data_out;  output  reg           crc_data_out_en;    // to encoding module ,a cmd is over                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           reg    [15:0]    crc16_reg;    //  CRC register  reg    [4:0 ]    crc5_reg;  reg    [4:0]     data_out_counter;  reg    [1:0]     data_in_bit_en_counter;        reg    [5:0]     BLF_reverse_count;   reg              crc5_en;  reg              crc16_en;  reg              EOF_en;     always@(posedge clk or negedge rst) begin  /*because "data_in_bit_en" lasts two clocks,                                      so need "data_in_bit_en_counter" help to enable*/    if(!rst)       data_in_bit_en_counter <= 0;    else if(data_in_bit_en && data_in_bit_en_counter == 0)        data_in_bit_en_counter <= 2;    else if (data_in_bit_en && data_in_bit_en_counter > 0)      data_in_bit_en_counter<= data_in_bit_en_counter-1;           else        data_in_bit_en_counter <= 0;  end /*always@(posedge clk or posedge rst)begin//Only one always block may assign variable crc_judge_result    if(rst)      crc_judge_result <= 0;    else        crc_judge_result <= crc16_judge || crc5_judge ;    end */            task crc16_calculate;  input data_in ;  begin  	 crc16_reg[0] <= crc16_reg[15] ^ data_in;	 crc16_reg[1] <= crc16_reg[0];	 crc16_reg[2] <= crc16_reg[1];	 crc16_reg[3] <= crc16_reg[2];	 crc16_reg[4] <= crc16_reg[3];	 crc16_reg[5] <= crc16_reg[4] ^ ( crc16_reg[15] ^ data_in );	 crc16_reg[6] <= crc16_reg[5];	 crc16_reg[7] <= crc16_reg[6];	 crc16_reg[8] <= crc16_reg[7];	 crc16_reg[9] <= crc16_reg[8];	 crc16_reg[10]<= crc16_reg[9];	 crc16_reg[11]<= crc16_reg[10];	 crc16_reg[12]<= crc16_reg[11] ^ ( crc16_reg[15] ^ data_in );	 crc16_reg[13]<= crc16_reg[12];	 crc16_reg[14]<= crc16_reg[13];	 crc16_reg[15]<= crc16_reg[14];	     endendtask task  crc16_result_judge;   begin     if(crc_type == `CRC16 && crc16_reg == 16'h1D0F)                 crc16_judge<=1;   	 end  	   endtasktask  crc5_result_judge;   begin     if(crc_type == `CRC5 && crc5_reg == 5'b00000)          crc5_judge<=1;     	 end  	   endtask     always@(posedge clk or negedge rst)  begin //crc16    if(!rst) begin 		   		crc16_reg<=16'hffff; //  CRC register initializtion 		EOF_en <=0 ;		data_out_counter<=16; 	    BLF_reverse_count <= 0; 	    crc16_judge <= 0; 		crc_data_out_en<=0; 		crc16_en<=0; 		crc_data_out<=0;	 end		/* ------------crc judge of "decode_data_in"  (CRC16)----------- */		else if( !isT2R && (crc_type == `CRC16 ||crc_type == `CRC_UNKNOWN))begin	     if(data_in_frame_en) begin  //when data_in_frame_en==1, a frame is begin		  crc_data_out<=0;  		  crc_data_out_en<=0; 		  crc16_judge <= 0; 		  BLF_reverse_count <= 0;		  EOF_en <=0 ;		if(data_in_bit_en && !data_in_bit_en_counter)begin // a bit is available		 	crc16_en<=1; 	      crc16_calculate(decode_data_in); //task		end 	 end  		 else if(!data_in_frame_en && crc16_en)begin  //crc judge of a frame is over,pruduce the result        crc16_result_judge ;//task        crc16_en<=0;        crc16_reg <= 16'hffff;    end    end     else if(!isT2R && (crc_type == `NO_CRC || crc_type == `CRC5)) begin	//some cmds don't need crc judge     crc16_en<=0;	  crc16_reg <= 16'hffff;end     /* -------produce crc of "rsp_data_in" and gives them to encoder----------- */	else  if(isT2R) begin// isT2R=1 when encode of preamble is over  if(rsp_data_in_en) begin //rsp_data_in is not over          if(BLF_reverse_count == 0)begin  	    BLF_reverse_count <= BLF_reverse -1 ;    		 crc_data_out <= rsp_data_in ; //send rsp_data_in 		 if( crc_type == `CRC16 )  begin //produce crc of "rsp_data_in"		   crc16_en <= 1;			crc16_calculate(rsp_data_in); //task		 end  		 else  ; //crc_type == `NO_CRC ,some cmds don't need crc	  end  	  else  if( BLF_reverse_count != 0 )		 BLF_reverse_count <= BLF_reverse_count - 1 ;endelse  if(!rsp_data_in_en && crc_type == `CRC16) begin //rsp_data_in is over 	  if(BLF_reverse_count == 0 && data_out_counter != 0 && !EOF_en)begin		 crc_data_out <= ~crc16_reg[15] ; //send the crc_reg behind the data 		 crc16_reg <= crc16_reg << 1;		 BLF_reverse_count <= BLF_reverse -1 ; 		 data_out_counter <= data_out_counter - 1; 		end			      else  if(BLF_reverse_count != 0)		 BLF_reverse_count <= BLF_reverse_count - 1 ;				    				  			else if(data_out_counter == 0 && BLF_reverse_count == 0 && !EOF_en) 	begin 		 crc_data_out <= 1 ; //send EOF		 EOF_en <=1 ;		 data_out_counter <= 16;		 crc16_en <= 0;		 crc16_reg <= 16'hffff;                      		end      else if(EOF_en) begin	//over  	    crc_data_out_en <= 1; 	    BLF_reverse_count <= 0 ;	   endend 			else  if(!rsp_data_in_en && crc_type == `NO_CRC ) begin/* need not output crc behind the data,                                                    send EOF directly*/      if(!EOF_en && BLF_reverse_count == 0 ) begin	    crc_data_out <= 1 ; // send EOF	    EOF_en <=1 ;	   end 	          	   else  if( BLF_reverse_count != 0 )		 BLF_reverse_count <= BLF_reverse_count - 1 ;  		       	   else if(EOF_en) begin //over	    crc_data_out_en <= 1; 	    BLF_reverse_count <= 0 ;	   endendendend //  always@(posedge clk or posedge rst) /* ------------crc judge of "decode_data_in"  is correct (CRC5)----------- */	  	  always@(posedge clk or negedge rst)   //crc 5if(!rst) begin   crc5_en<=0;	crc5_judge <= 0;	crc5_reg<=5'b01001;end		else begin   if(data_in_frame_en) begin  //when data_in_frame_en==1, a frame is begin       crc5_judge <= 0;		 if(!isT2R && (crc_type == `CRC5 ||  crc_type == `CRC_UNKNOWN))begin		    if(data_in_bit_en && data_in_bit_en_counter == 0)begin// a bit is available		    		   crc5_en<=1;				   crc5_reg[0]<=crc5_reg[4]^decode_data_in;				   crc5_reg[1]<=crc5_reg[0];				   crc5_reg[2]<=crc5_reg[1];				   crc5_reg[3]<=crc5_reg[2]^(crc5_reg[4]^decode_data_in);				   crc5_reg[4]<=crc5_reg[3];			 end		  end	 		  else begin//ont if(!isT2R && (crc_type == `CRC5 ||  crc_type == `CRC_UNKNOWN))		       	 crc5_reg<=5'b01001;		         crc5_en<=0;	            crc5_judge <= 0;		  end 	end	else if(!data_in_frame_en && crc5_en)  //crc checkout is over	     if(!isT2R && (crc_type == `CRC5 || crc_type == `CRC_UNKNOWN))begin  		    		  crc5_result_judge ;  //task        crc5_reg <= 5'b01001;        crc5_en<=0;		  end end  // crc5	  endmodule

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
蜜桃av一区二区三区| 国产剧情一区在线| 亚洲国产aⅴ成人精品无吗| 亚洲一区二区三区四区中文字幕| 亚洲一二三四在线观看| 蜜桃视频第一区免费观看| 国产一区二区免费视频| 91尤物视频在线观看| 欧美午夜理伦三级在线观看| 69堂成人精品免费视频| 国产视频不卡一区| 亚洲韩国一区二区三区| 国产成人福利片| 欧美丰满嫩嫩电影| 国产精品传媒入口麻豆| 狠狠色丁香久久婷婷综合丁香| av在线不卡电影| 26uuu欧美| 久久精品国产99久久6| 色94色欧美sute亚洲线路一久| 久久久99精品免费观看| 美脚の诱脚舐め脚责91| 欧美久久久一区| 亚洲超碰精品一区二区| 在线观看一区日韩| 亚洲欧洲制服丝袜| 97精品久久久午夜一区二区三区 | 91在线观看下载| 久久影院视频免费| 国产在线不卡一卡二卡三卡四卡| 欧美一区二区三区免费观看视频| 五月天丁香久久| 欧美天天综合网| 亚洲一区二区三区影院| 欧美无乱码久久久免费午夜一区 | 91福利在线播放| 综合电影一区二区三区| 欧美在线免费视屏| 日韩中文字幕av电影| 欧美变态tickling挠脚心| 美女一区二区在线观看| 久久久99久久| 欧美亚洲动漫制服丝袜| 性做久久久久久免费观看| 91精品在线免费| 国产91精品久久久久久久网曝门| 亚洲特黄一级片| 欧美一区二区三区播放老司机| 色999日韩国产欧美一区二区| 麻豆国产精品777777在线| 91麻豆视频网站| 日本人妖一区二区| 国产精品久久久久久福利一牛影视| 99久久精品久久久久久清纯| 洋洋成人永久网站入口| 久久久一区二区三区| 色悠悠久久综合| 国产在线精品一区二区夜色 | 亚洲一区二区三区美女| 在线观看不卡一区| 国产99久久久精品| 日本成人超碰在线观看| 最新不卡av在线| 久久伊人中文字幕| 欧美精品在线观看一区二区| 91麻豆国产精品久久| 国产精品18久久久久久久久久久久| 亚洲狠狠爱一区二区三区| 亚洲精品欧美综合四区| 日产欧产美韩系列久久99| 亚洲欧美日韩精品久久久久| 国产日韩欧美电影| 国产视频一区在线播放| 337p日本欧洲亚洲大胆色噜噜| 7777精品伊人久久久大香线蕉的 | www成人在线观看| 精品日韩一区二区| 日韩女优电影在线观看| 日本一区二区免费在线 | 亚洲国产成人91porn| 国产精品国产三级国产aⅴ入口 | 91视频精品在这里| 国产在线不卡一区| 精品综合免费视频观看| 日韩成人午夜电影| 亚洲第一激情av| 天堂va蜜桃一区二区三区 | 色欧美日韩亚洲| 国产乱一区二区| 不卡视频一二三四| 欧美日韩综合不卡| 欧美日韩免费电影| 日韩精品一区二区三区四区| 日韩欧美一级二级三级| 日本一区二区三区在线不卡| 国产精品久久久久久久第一福利| 亚洲精品国产视频| 蜜桃av一区二区| 一本大道久久a久久综合| 欧美高清性hdvideosex| 久久久久久久精| 亚洲一区二区精品久久av| 激情欧美日韩一区二区| 一本一本久久a久久精品综合麻豆| 欧美一区二区视频在线观看2020| 国产午夜久久久久| 婷婷久久综合九色综合伊人色| 在线观看视频欧美| 亚洲国产精品尤物yw在线观看| 国产毛片一区二区| 欧美日韩一卡二卡三卡| 久久九九久久九九| 久久狠狠亚洲综合| 精品久久一二三区| 日韩中文字幕1| 欧美一区日韩一区| 午夜精品久久久久久久久久| 国产露脸91国语对白| 51午夜精品国产| av不卡在线观看| 国产夜色精品一区二区av| 午夜伦欧美伦电影理论片| 日本高清视频一区二区| 樱桃视频在线观看一区| 成人免费视频播放| 中文字幕精品三区| 93久久精品日日躁夜夜躁欧美| 欧美一区二区三区日韩视频| 亚洲国产精品人人做人人爽| av在线不卡观看免费观看| 亚洲国产精品激情在线观看| www.日本不卡| 亚洲国产一区二区三区| 欧美一区二区三区人| 狠狠色2019综合网| 日韩美女啊v在线免费观看| 在线免费av一区| 日韩—二三区免费观看av| 欧美一区二区三区四区久久| 黑人精品欧美一区二区蜜桃| 国产精品美女久久久久av爽李琼| 99久久综合精品| 爽好多水快深点欧美视频| 久久亚洲影视婷婷| 在线国产电影不卡| 国产成人精品免费一区二区| 亚洲第一在线综合网站| 欧美国产日韩亚洲一区| 欧美日韩国产小视频| 成人性视频网站| 亚洲国产一区二区视频| 亚洲婷婷在线视频| 精品国产亚洲一区二区三区在线观看| 91久久线看在观草草青青 | 欧美天天综合网| 国产v综合v亚洲欧| 国产在线视频一区二区| 日本一不卡视频| 亚洲美女偷拍久久| 欧美国产精品劲爆| 26uuu成人网一区二区三区| 在线精品观看国产| 色婷婷精品久久二区二区蜜臂av | 国产在线不卡一卡二卡三卡四卡| 午夜精品久久久久久久| 洋洋成人永久网站入口| 久久99精品国产| 国产精品资源在线观看| 夜夜精品视频一区二区| 亚洲日本免费电影| 亚洲一区二区三区在线| 亚洲国产精品久久不卡毛片 | 亚洲综合丁香婷婷六月香| 国产亚洲一区字幕| 国产精品嫩草久久久久| 中文久久乱码一区二区| 亚洲色欲色欲www| 亚洲国产精品一区二区www| 日本视频中文字幕一区二区三区| 九一久久久久久| 国产精品自拍三区| 欧美性猛片xxxx免费看久爱| 7799精品视频| 国产精品福利一区| 亚洲成a人v欧美综合天堂下载| 日本成人在线看| 色久综合一二码| 欧美成人精品3d动漫h| 欧美激情一区在线观看| 天堂在线亚洲视频| 99久久99精品久久久久久| 欧美日本在线视频| 国产精品色哟哟网站| 五月婷婷久久丁香| av电影在线观看不卡 | 亚瑟在线精品视频| 成人综合婷婷国产精品久久蜜臀| 欧美午夜一区二区三区免费大片| 久久综合久久99| 美国一区二区三区在线播放|