mirror of
				https://github.com/YosysHQ/yosys
				synced 2025-10-27 01:39:23 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			33 lines
		
	
	
	
		
			999 B
		
	
	
	
		
			Verilog
		
	
	
	
	
	
			
		
		
	
	
			33 lines
		
	
	
	
		
			999 B
		
	
	
	
		
			Verilog
		
	
	
	
	
	
| //-----------------------------------------------------
 | |
| // 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 
 |