mirror of
				https://github.com/YosysHQ/yosys
				synced 2025-10-30 19:22:31 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			27 lines
		
	
	
	
		
			469 B
		
	
	
	
		
			Verilog
		
	
	
	
	
	
			
		
		
	
	
			27 lines
		
	
	
	
		
			469 B
		
	
	
	
		
			Verilog
		
	
	
	
	
	
| module constmuldivmod(input [7:0] A, input [2:0] mode, output reg [7:0] Y);
 | |
| 	always @* begin
 | |
| 		case (mode)
 | |
| 			0: Y = A / 8'd0;
 | |
| 			1: Y = A % 8'd0;
 | |
| 			2: Y = A * 8'd0;
 | |
| 
 | |
| 			3: Y = A / 8'd1;
 | |
| 			4: Y = A % 8'd1;
 | |
| 			5: Y = A * 8'd1;
 | |
| 
 | |
| 			6: Y = A / 8'd2;
 | |
| 			7: Y = A % 8'd2;
 | |
| 			8: Y = A * 8'd2;
 | |
| 
 | |
| 			9: Y = A / 8'd4;
 | |
| 			10: Y = A % 8'd4;
 | |
| 			11: Y = A * 8'd4;
 | |
| 
 | |
| 			12: Y = A / 8'd8;
 | |
| 			13: Y = A % 8'd8;
 | |
| 			14: Y = A * 8'd8;
 | |
| 
 | |
| 			default: Y = 8'd16 * A;
 | |
| 		endcase
 | |
| 	end
 | |
| endmodule
 |