在Xilinx中现成的32为 lfsr模块如下:
reg [31:0] <reg_name>;
always @(posedge <clock>)
if (<reset>)
<reg_name> <= 32'h00000000;
else if (<clock_enable>) begin
<reg_name>[31:1] <= <reg_name>[30:0];
<reg_name>[0] <= ~^{<reg_name>[32], <reg_name>[22], <reg_name>[2:1]};
end
对最后一句 同或 语句我看的很不明白 ,究竟是怎么样运算的呢?<reg_name>[32], <reg_name>[22], 这两个都是一位的,但是<reg_name>[2:1]是两位的,不懂这是什么意思?
还有从这里面可以看出lfsr的本源多项式吗?
求各位大神帮忙解决一下哈,很急着想要用呢
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
<reg_name> 的[32] [22] [2] [1]这四位进行同或运算。{<reg_name>[32], <reg_name>[22], <reg_name>[2:1]}本来就是四位啊。{}可以组合成高位的。
哦 这样啊,谢谢哈!那请问从这里可以看出本源多项式吗? xilinx里面只提供了32位的Lfsr, 如果我想要得到大于32位的lfsr ,那要怎么做呢
一周热门 更多>