8b10b编码的verilog实现代码,非查表代码。

此代码是8b10b编码的verilog实现代码,非查表代码。

此代码在项目中,已经使用多次,相当成熟。

module 8b10b_encode (datain, dispin, dataout, dispout) ;
  input wire [8:0]   datain ;
  input   wire dispin ;  // 0 = neg disp; 1 = pos disp
  output wire [9:0] dataout ;
  output  wire dispout ;


  wire ai = datain[0] ;
  wire bi = datain[1] ;
  wire ci = datain[2] ;
  wire di = datain[3] ;
  wire ei = datain[4] ;
  wire fi = datain[5] ;
  wire gi = datain[6] ;
  wire hi = datain[7] ;
  wire ki = datain[8] ;

  wire aeqb = (ai & bi) | (!ai & !bi) ;
  wire ceqd = (ci & di) | (!ci & !di) ;
  wire l22 = (ai & bi & !ci & !di) |
       (ci & di & !ai & !bi) |
       ( !aeqb & !ceqd) ;
  wire l40 = ai & bi & ci & di ;
  wire l04 = !ai & !bi & !ci

posted @ 2020-12-12 13:30  hhh-fpga  阅读(689)  评论(0编辑  收藏  举报