34 lines
999 B
Coq
34 lines
999 B
Coq
|
//-----------------------------------------------------
|
||
|
// Design Name : gray_counter
|
||
|
// File Name : gray_counter.v
|
||
|
// Function : 8 bit gray counterS
|
||
|
// Coder : Deepak Kumar Tala
|
||
|
//-----------------------------------------------------
|
||
|
module gray_counter (
|
||
|
out , // counter out
|
||
|
enable , // enable for counter
|
||
|
clk , // clock
|
||
|
rst // active hight reset
|
||
|
);
|
||
|
|
||
|
//------------Input Ports--------------
|
||
|
input clk, rst, enable;
|
||
|
//----------Output Ports----------------
|
||
|
output [ 7:0] out;
|
||
|
//------------Internal Variables--------
|
||
|
wire [7:0] out;
|
||
|
reg [7:0] count;
|
||
|
//-------------Code Starts Here---------
|
||
|
always @ (posedge clk)
|
||
|
if (rst)
|
||
|
count <= 0;
|
||
|
else if (enable)
|
||
|
count <= count + 1;
|
||
|
|
||
|
assign out = { count[7], (count[7] ^ count[6]),(count[6] ^
|
||
|
count[5]),(count[5] ^ count[4]), (count[4] ^
|
||
|
count[3]),(count[3] ^ count[2]), (count[2] ^
|
||
|
count[1]),(count[1] ^ count[0]) };
|
||
|
|
||
|
endmodule
|