Grey码与自然BCD码之间的相互转换

上一篇 / 下一篇  2007-07-20 16:13:29 / 天气: 晴朗 / 心情: 郁闷

Grey码与自然BCD码之间的相互转换

    Grey码计数增加时每次只有1bit变化,可以减少信号之间干扰,减少glitch的产生,在数字电路中应用广泛,尤其是异步接口电路。自然BCD码计 数的每一位都有自己的权重,所以自然BCD码是可以比较大小的。各有各的优点,有时候要相互转换。下面是一个4bit计数转换表:

点击看大图

    自然BCD码转换成Grey码算法:

module bcd2grey
(
   bcd_code_in;
   grey_code_out;
);
parameter ADDR_WIDTH
input [`ADDR_WIDTH-1:0] bcd_code_in;
output [`ADDR_WIDTH-1:0] grey_code_out;
wire [`ADDR_WIDTH-1:0] bcd_code_in;
wire [`ADDR_WIDTH-1:0] grey_code_out;

assign grey_code_out = {bcd_code_in[`ADDR_WIDTH-1],
          bcd_code_in[`ADDR_WIDTH-1:1] ^ bcd_code_in[`ADDR_WIDTH-2:0] };

endmodule


    Grey码转换成自然BCD码算法:

module grey2bcd
(
 grey_code_in;
 bcd_code_out;
);
parameter ADDR_WIDTH
input [`ADDR_WIDTH-1:0] grey_code_in;
output [`ADDR_WIDTH-1:0] bcd_code_out;
wire [`ADDR_WIDTH-1:0] grey_code_in;
wire [`ADDR_WIDTH-1:0] bcd_code_out;

assign bcd_code_out = { grey_code_in[`ADDR_WIDTH-1],
          ^grey_code_in[`ADDR_WIDTH-1:`ADDR_WIDTH-2],
          ...
          ^grey_code_in[`ADDR_WIDTH-1:0]};

endmodule


TAG:

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

日历

« 2008-10-13  
   1234
567891011
12131415161718
19202122232425
262728293031 

数据统计

  • 访问量: 3115
  • 日志数: 26
  • 建立时间: 2007-01-02
  • 更新时间: 2008-08-22

RSS订阅

Open Toolbar