zoukankan      html  css  js  c++  java
  • FPGA Verilog HDL 系列实例二进制与格雷码的转换

    【连载】 FPGA Verilog HDL 系列实例

    Verilog HDL 之 二进制与格雷码的转换

      格雷码的特点:相邻的两个码组之间仅有一位不同。

    普通二进制码与格雷码之间可以相互转换。下面将作简要的介绍。

    8位二进制码转格雷码

      二进制码转换为格雷码:从最右边一位起,一次与左边一位“异或”,作为对应格雷码该位的值,最左边的一位不变(相当于最左边是0)。

     1 modele bin2gry(Gry,Bin)
    2 parameter length = 8;
    3 output [length-1:0] Gry;
    4 input [length-1:0] Bin;
    5
    6 reg [length-1:0] Gry;
    7 integer i;
    8
    9 always @ (Bin)
    10 begin
    11 for(i=0;i<length-1;i++)
    12 Gry[i]=Bin[i]^Bin[i+1];
    13 Gry[i]=Bin[i];
    14 end
    15 endmodule

     

    8位格雷码转二进制码

      格雷码转换为二进制码:从左边第二位起,将每一位与左边一位解码后的值“异或”,作为该解码后的值(最左边的一位依然不变)。

     1 modele gry2bin(Gry,Bin)
    2 parameter length = 8;
    3 output [length-1:0] Gry;
    4 input [length-1:0] Bin;
    5
    6 reg [length-1:0] Bin;
    7 integer i;
    8 always @ (Gry)
    9 begin
    10 Bin[length-1]=Gry[length-1];
    11 for(i=length-2;i>=0;i--)
    12 Bin[i]=Bin[i+1]^Gry[i];
    13 end
    14 endmodule
  • 相关阅读:
    Linux环境下安装python3
    软件测试类型
    系统测试分类
    测试级别
    测试对象的介绍
    软件测试基本介绍
    简易留言板(还有一些小bug,修复ing...)
    Hosting static website on AWS
    Add a dependency in Android Studio
    Python good tutorials
  • 原文地址:https://www.cnblogs.com/kongtiao/p/2243549.html
Copyright © 2011-2022 走看看