| //----------------------------------------------------- | |
| // 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 |