Gray code: Difference between revisions
Content added Content deleted
Line 4,720: | Line 4,720: | ||
localparam aw = 8; |
localparam aw = 8; |
||
function [aw:0] |
function [aw:0] binn_to_gray; |
||
input [aw:0] binn; |
input [aw:0] binn; |
||
begin :b2g |
begin :b2g |
||
binn_to_gray = binn ^ (binn >> 1); |
|||
end |
end |
||
endfunction |
endfunction |
||
function [aw:0] |
function [aw:0] gray_to_binn; |
||
input [aw:0] gray; |
input [aw:0] gray; |
||
begin :g2b |
begin :g2b |
||
Line 4,736: | Line 4,736: | ||
binn[i] = ^(gray >> i); |
binn[i] = ^(gray >> i); |
||
end |
end |
||
gray_to_binn = binn; |
|||
end |
end |
||
endfunction |
endfunction |
||
Line 4,746: | Line 4,746: | ||
for(ii=0; ii < 10; ii=ii+1) begin |
for(ii=0; ii < 10; ii=ii+1) begin |
||
gray = |
gray = binn_to_gray(ii[aw:0]); |
||
binn = |
binn = gray_to_binn(gray); |
||
$display("test_graycode: i:%x gray:%x:%b binn:%x", ii[aw:0], gray, gray, binn); |
$display("test_graycode: i:%x gray:%x:%b binn:%x", ii[aw:0], gray, gray, binn); |
||
end |
end |
||
$stop; |
$stop; |
||
end |
end |