请高手帮我看几句VHDL程序

来源:百度知道 编辑:UC知道 时间:2024/06/09 05:47:12
麻烦高手帮我解释一下下面几个VHDL语句的意思,希望能写具体点,把每行都解释下;另外,还请问什么是m序列?谢谢~~万分感谢~~关于毕业设计的东西,是个加扰程序
//加扰解扰
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
endmodul

感觉这个不是标准的VHDL语言的程序
可能是verilog吧
先说什么是m序列,m序列就是由一些生成多项式产生的伪随机码序列,但它是周期性重复的,所以才是“伪”的,在通信中常用到
还有程序部分,可能有一些小错误(粘贴错误?)
其实上面的注释已经很具体了
嘻嘻

是verilog,接触太少,看不进去=。=

这个是 verilog

看得懂vhdl看不懂verilog
帮不了你