mirror of
				https://github.com/YosysHQ/yosys
				synced 2025-10-31 03:32:29 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			22 lines
		
	
	
	
		
			453 B
		
	
	
	
		
			Verilog
		
	
	
	
	
	
			
		
		
	
	
			22 lines
		
	
	
	
		
			453 B
		
	
	
	
		
			Verilog
		
	
	
	
	
	
| module opt_share_test(
 | |
|   input [15:0]      a,
 | |
|   input [15:0]      b,
 | |
|   input [15:0]      c,
 | |
|   input [15:0]      d,
 | |
|   input             sel,
 | |
|   output reg [47:0] res,
 | |
|   );
 | |
| 
 | |
|   wire [15:0]       add_res = a+b;
 | |
|   wire [15:0]       sub_res = a-b;
 | |
|   wire [31: 0]      cat1 = {add_res, c+d};
 | |
|   wire [31: 0]      cat2 = {sub_res, c-d};
 | |
| 
 | |
|   always @* begin
 | |
|     case(sel)
 | |
|       0: res = {cat1, add_res};
 | |
|       1: res = {cat2, add_res};
 | |
|     endcase
 | |
|   end
 | |
| 
 | |
| endmodule
 |