急救 用verilog HDL语言设计一个m序列的生成程序

如题所述

第1个回答  2019-04-16
我m序列代码赋值下来是,发现wire和x中间没有空格,这可能是导致你没有输出的原因,个人建议你的代码这样写:
module
prbs(clk,rst,m_out);
input
clk,rst;
output
m_out;
reg[7:0]
reg_buf;
reg
x;
always@(posedge
clk
or
posedge
rst)
if(!rst)
begin
reg_buf[7:0]
<=
8'b1000_0000;
x
<=
1'b1;
end
else
begin
reg_buf[7:0]
<=
{reg_buf[6:0],x};
x
<=
reg_buf[7]^reg_buf[3]^reg_buf[2]^reg_buf[1];
end
assign
m_out
=
reg_buf[7];
endmodule
相似回答