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

📄 scrambler.v

📁 通信系统中的加扰与解扰程序
💻 V
字号:


//加扰解扰
module scrambler(clk,seqIn,seqOut,en);//clk为时钟,seqIn为输入序列,seqOut为加扰或加扰后的输出序列,en为使能信号
//,m_seq,tempReg,count
input clk,en;
input [7:0]seqIn;
output [7:0]seqOut;
//output [6:0]m_seq;
//output [31:0]count;
reg [31:0]count;//计数器
reg [7:0]seqOut;
reg [6:0]m_seq;//m序列
reg [7:0]tempReg;
//integer count;

always @(negedge clk) begin:scrambler
integer i;
/**初始化**/
if(en)begin
m_seq=7'b1111111;
count=239;
end 
/**初始化**/
/**一帧数据加扰或解扰结束**/
if(count==0)begin
m_seq=7'b1111111;//m序列初始值为全1
count=239;//239个字节
end
/**一帧数据加扰或解扰结束**/
count=count-1;
/**对一个字节进行加扰或解扰**/
for(i=7;i>=0;i=i-1)begin
tempReg[i]=m_seq[3]^m_seq[6];
m_seq={m_seq[5:0],tempReg[i]};//m序列
end
seqOut<=tempReg^seqIn;
/**对一个字节进行加扰或解扰**/

end
endmodule

⌨️ 快捷键说明

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