欢迎光临散文网 会员登陆 & 注册

Verilog 格雷码转温度计码译码器代码

2022-11-12 23:12 作者:核弹君·  | 我要投稿

做个备忘,纯组合逻辑,分为两步进行,也供需要相关逻辑的同学参考:

  1. 首先把格雷码转换为二进制码

  2. 二进制码转为温度计码

module gray2therm #(

      parameter N = 6

)(

    input [N-1:0] grey_i,

    output [0:(2**(N))-2] therm_o

);


wire [N-1:0] bin;

wire [0:(2**(N))-1] therm_code;


assign  bin[N-1] = grey_i[N-1];

localparam NUM = 2**(N);


genvar i;

generate

      for(i = N-2; i >= 0; i = i - 1) begin: gray_2_bin

      assign bin[i] = bin[i + 1] ^ grey_i[i];

      end

endgenerate


assign therm_o = $signed({1'b1,{(2**(N)-1){1'b0}}}) >>> bin;

endmodule


Verilog 格雷码转温度计码译码器代码的评论 (共 条)

分享到微博请遵守国家法律