集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 945|回复: 0

verilog实现及仿真

[复制链接]
fpga_feixiang 发表于 2019-10-16 17:21:41 | 显示全部楼层 |阅读模式
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 [7:0] shift_reg;


always@(posedge sclk or negedge rst_n)

begin

if(rst_n == 0)begin

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

end

else begin

shift_reg[7] <= (shift_reg[0] & POLY[7])^

(shift_reg[1] & POLY[6])^

(shift_reg[2] & POLY[5])^

(shift_reg[3] & POLY[4])^

(shift_reg[4] & POLY[3])^

(shift_reg[5] & POLY[2])^

(shift_reg[6] & POLY[1])^

(shift_reg[7] & POLY[0]);

shift_reg[6:0] <= shift_reg[7:1];

end

end


assign m_seq = shift_reg[0];


endmodule</span>
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|手机版|Archiver|集成电路技术分享 ( 京ICP备20003123号-1 )

GMT+8, 2024-5-2 05:46 , Processed in 0.061224 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表