⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pn_code.v

📁 系数为4的扰码生成器
💻 V
字号:
module pn_encode(data_source,init,clk_pn,reset_pn,flag_tra,pn_out);
    input data_source;
    input init;	   //init为1时,赋予x[3:0]初值0001,下拉
    input clk_pn;	  //pn码的码元速率
    input reset_pn;	 //pn码重新回零,上拉
    output flag_tra; //当reset_pn重启后,flag_tra开始计数,计够两个来一个0,计够四个来一个1,并回零重来
    output pn_out;	 //pn码与输入全一信号相乘后的输出信号
			   
    reg flag_tra; //4b5b的转换信号,上升沿有效
    reg[3:0] flag_tra_counter;
    reg[3:0] x; //寄存器

    assign pn_out=data_source^x[3]^x[0];

    always @(posedge clk_pn)
      begin
	   if(!reset_pn)		  //零的时候回零
	     x[3:0]<='b0000;
	   else
	     begin
		  if(init==1)
		    begin 
		      x[3:0]<='b0001;
		      flag_tra_counter<='b000;
		    end
		  else
		    begin
		      x[0]<=x[3]^x[0]^data_source;
			 x[1]<=x[0];
			 x[2]<=x[1];
			 x[3]<=x[2];
			 if(flag_tra_counter==3)
			   flag_tra_counter<='b000;
			 else
			   begin
			     flag_tra_counter<=flag_tra_counter+1;
                    if(flag_tra_counter<=1)
			       flag_tra<=1;
			     else
			       flag_tra<=0;  
			   end	    
		    end   
		end
	     
	 end
    
     


endmodule

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -