Gray code: Difference between revisions

no edit summary
m (→‎{{header|Fortran}}: use wiki markup for links)
No edit summary
Line 4,709:
11111 10000 11111
</pre>
 
=={{header|Verilog}}==
 
<lang Verilog>
//------------------------------------------------------
// Functions
//------------------------------------------------------
function [aw:0] binary_to_gray;
input [aw:0] binn;
begin
binary_to_gray = binn ^ (binn >> 1);
end
endfunction
 
function [aw:0] gray_to_binary;
input [aw:0] gray;
reg [aw:0] binn;
integer i;
begin
for(i=0; i <= aw; i = i+1) begin
binn[i] = ^(gray >> i);
end
gray_to_binary = binn;
end
endfunction
 
initial begin :test_graycode
integer ii;
reg[aw:0] gray;
reg[aw:0] binn;
for(ii=0; ii < 10; ii=ii+1) begin
gray = binary_to_gray(ii[aw:0]);
binn = gray_to_binary(gray);
$display("test_graycode: i:%x gray:%x:%b binn:%x", ii[aw:0], gray, gray, binn);
end
$stop;
end
</lang>
 
=={{header|VHDL}}==