线性移位寄存器(线性反馈移位寄存器讲解_线性反馈移位寄存器特征多项式)

发布时间:2025-12-10 19:45:15 浏览次数:4

线性反馈移位寄存器讲解_线性反馈移位寄存器特征多项式-线性移位寄存器输出序列例题

线性反馈移位寄存器讲解_线性反馈移位寄存器特征多项式读华为技术文档《FIFO经验谈》看到的这个电路:FIFO的读写地址产生比较简单,当读使能有效时,在时钟作用下,读地址加1;当写使能有效时,写地址加1。当FIFO深度较大时,同时FIFO的速度要求较高时,可以采用线性反馈移位计数器(LFSR)。它的速度非常快,但是要牺牲一个地址。针对同步的大F

读华为技术文档《FIFO经验谈》看到的这个电路:

  FIFO的读写地址产生比较简单,当读使能有效时,在时钟作用下,读地址加1;当写使能有效时,写地址加1。

  当FIFO深度较大时,同时FIFO的速度要求较高时,可以采用线性反馈移位计数器 (LFSR)。它的速度非常快,但是要牺牲一个地址。

  针对同步的大FIFO,它们的读写地址完全可以使用线性反馈移位寄存器 LFSR 产生,而不 是简单的加1操作,极大的提高了速度,如果对FIFO的利用率没有很高要求的时候,推荐使用该方法。使用LFSR的优点是在XILINX的FPGA中布线,可以使用LUT直接完成。

 1 /************************************************************\ 2 * * 3 * Generation of Read and Write address pointers. They use * 4 * LFSR counters, which are very fast. Because of the * 5 * nature of LFSR, one address is sacrificed. * 6 * * 7 \************************************************************/ 8 wire read_linearfeedback, write_linearfeedback; 9 10 assign read_linearfeedback = ! (read_addr[8] ^ read_addr[4]);11 assign write_linearfeedback = ! (write_addr[8] ^ write_addr[4]);12 13 always @(posedge clock or posedge fifo_gsr)14     if (fifo_gsr)     read_addr <= 9'h0;15     else if (read_allow)16         read_addr <= { read_addr[7], read_addr[6], read_addr[5],17                             read_addr[4], read_addr[3], read_addr[2],18                             read_addr[1], read_addr[0], read_linearfeedback };19 20 always @(posedge clock or posedge fifo_gsr)21     if (fifo_gsr)     write_addr <= 9'h022     else if (write_allow)23         write_addr <= { write_addr[7], write_addr[6], write_addr[5],24                             write_addr[4], write_addr[3], write_addr[2],25                             write_addr[1], write_addr[0], write_linearfeedback };                

希望我今天分享的这篇文章可以帮到您。

需要做网站?需要网络推广?欢迎咨询客户经理 13272073477