二進制格雷碼與二進制自然碼

二進制自然碼-> 二進制格雷碼

module bin2gry(Gry,Bin);
    parameter length = 8;     //以八位示例
    output [length-1:0] Gry;
    input  [length-1:0] Bin;
    reg    [length-1:0] Gry;
    integer i;

    always @ (Bin) begin
        for(i=0; i<length-1; i=i+1)
            Gry[i] = Bin[i] ^ Bin[i+1];
        Gry[i] = Bin[i];
    end
/*另一種簡單的實現方法如下:*/
// assign Gray = (Bin >> 1) ^ Bin;
endmodule



二進制格雷碼 -> 二進制自然碼

module gry2bin(Gry,Bin);
    parameter length = 8;
    input  [length-1:0] Gry;
    output [length-1:0] Bin;
    reg    [length-1:0] Bin;
    integer i;

    always @ (Gry) begin       
        Bin[length-1] = Gry[length-1];       
        for(i=length-2; i>=0; i=i-1)               
            Bin[i] = Bin[i+1] ^ Gry[i];
    end
endmodule




轉載:https://blog.csdn.net/gordon_77/article/details/79489548
https://www.cnblogs.com/ZcsTech/p/3500207.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章