?? scrambler.v
字號:
//加擾解擾
module scrambler(clk,seqIn,seqOut,en);//clk為時(shí)鐘,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;//計(jì)數(shù)器
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
/**初始化**/
/**一幀數(shù)據(jù)加擾或解擾結(jié)束**/
if(count==0)begin
m_seq=7'b1111111;//m序列初始值為全1
count=239;//239個(gè)字節(jié)
end
/**一幀數(shù)據(jù)加擾或解擾結(jié)束**/
count=count-1;
/**對一個(gè)字節(jié)進(jìn)行加擾或解擾**/
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;
/**對一個(gè)字節(jié)進(jìn)行加擾或解擾**/
end
endmodule
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -