mirror of
				https://github.com/YosysHQ/yosys
				synced 2025-11-04 05:19:11 +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
 |