名称:m序列(伪随机序列)发生器Verilog代码Quartus仿真(文末获取)
软件:Quartus
语言:Verilog
代码功能:
m序列(伪随机序列)发生器
线性反馈移位寄存器设计(m序列)
本源多项式为x5+x2+1
1. 工程文件
2. 程序文件
3. 程序编译
4. RTL图
5. 仿真图
部分代码展示:
//m序列 module m_code( input clk,//时钟 input rst,//复位 output reg seq_p,//伪码周期脉冲信号 output reg seq_o//伪码序列 ); reg [5:0] ddout=6'b000001; always@(posedge clk) if(rst)begin ddout <= 6'b000001;//复位时,初值为00001 end else begin ddout[0] <=ddout[1];//移位 ddout[1] <=ddout[2];//移位 ddout[2] <=ddout[3];//移位 ddout[3] <=ddout[4];//移位 ddout[4] <=ddout[3]^ddout[0];//本源多项式为x5+x2+1 seq_o<=ddout[0]; end reg [4:0] cnt=5'd1; always@(posedge clk) if(rst) cnt<= 5'b1;//复位 else if(cnt==5'd31) cnt<= 5'b1; else cnt<=cnt+5'b1;//计数1~31
源代码
扫描文章末尾的公众号二维码