fpga_feixiang 发表于 2019-10-16 17:21:41

verilog实现及仿真

m_sequence.v(以x8+x4+x3+x2+1为例) tips:代码实现依据原理方框图和特征多项式。


<span style="font-size:14px;">module m_sequence(

input sclk,

input rst_n,

output wire m_seq

);

parameter POLY = 8'b10001110;//由本原多项式得到


reg shift_reg;


always@(posedge sclk or negedge rst_n)

begin

if(rst_n == 0)begin

shift_reg <= 8'b11111111;//初值不可为全零

end

else begin

shift_reg <= (shift_reg & POLY)^

(shift_reg & POLY)^

(shift_reg & POLY)^

(shift_reg & POLY)^

(shift_reg & POLY)^

(shift_reg & POLY)^

(shift_reg & POLY)^

(shift_reg & POLY);

shift_reg <= shift_reg;

end

end


assign m_seq = shift_reg;


endmodule</span>
页: [1]
查看完整版本: verilog实现及仿真