mirror of
				https://github.com/YosysHQ/yosys
				synced 2025-10-31 11:42:30 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			21 lines
		
	
	
	
		
			395 B
		
	
	
	
		
			Verilog
		
	
	
	
	
	
			
		
		
	
	
			21 lines
		
	
	
	
		
			395 B
		
	
	
	
		
			Verilog
		
	
	
	
	
	
| module opt_share_test(
 | |
|   input [15:0]       a,
 | |
|   input [15:0]       b,
 | |
|   input [15:0]       c,
 | |
|   input [1:0]      sel,
 | |
|   output reg [15:0] res
 | |
|   );
 | |
| 
 | |
|   wire [15:0]       add0_res = a+b;
 | |
|   wire [15:0]       add1_res = a+c;
 | |
| 
 | |
|   always @* begin
 | |
|     case(sel)
 | |
|       0: res = add0_res[10:0];
 | |
|       1: res = add1_res[10:0];
 | |
|       2: res = a - b;
 | |
|       default: res = 32'bx;
 | |
|     endcase
 | |
|   end
 | |
| 
 | |
| endmodule
 |