mirror of
				https://github.com/YosysHQ/yosys
				synced 2025-10-31 03:32:29 +00:00 
			
		
		
		
	Move LSB tests from wreduce to opt_expr
This commit is contained in:
		
							parent
							
								
									26cb3e7afc
								
							
						
					
					
						commit
						51b39219cd
					
				
					 2 changed files with 101 additions and 99 deletions
				
			
		
							
								
								
									
										98
									
								
								tests/various/opt_expr.ys
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										98
									
								
								tests/various/opt_expr.ys
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,98 @@ | |||
| 
 | ||||
| read_verilog <<EOT | ||||
| module opt_expr_add_test(input [3:0] i, input [7:0] j, output [8:0] o); | ||||
|     assign o = (i << 4) + j; | ||||
| endmodule | ||||
| EOT | ||||
| 
 | ||||
| hierarchy -auto-top | ||||
| proc | ||||
| design -save gold | ||||
| 
 | ||||
| opt_expr -fine | ||||
| wreduce | ||||
| 
 | ||||
| select -assert-count 1 t:$add r:A_WIDTH=4 r:B_WIDTH=4 r:Y_WIDTH=5 %i %i %i | ||||
| 
 | ||||
| design -stash gate | ||||
| 
 | ||||
| design -import gold -as gold | ||||
| design -import gate -as gate | ||||
| 
 | ||||
| miter -equiv -flatten -make_assert -make_outputs gold gate miter | ||||
| sat -verify -prove-asserts -show-ports miter | ||||
| 
 | ||||
| ########## | ||||
| 
 | ||||
| read_verilog <<EOT | ||||
| module opt_expr_sub_test1(input [3:0] i, input [7:0] j, output [8:0] o); | ||||
|     assign o = j - (i << 4); | ||||
| endmodule | ||||
| EOT | ||||
| 
 | ||||
| hierarchy -auto-top | ||||
| proc | ||||
| design -save gold | ||||
| 
 | ||||
| opt_expr -fine | ||||
| wreduce | ||||
| 
 | ||||
| select -assert-count 1 t:$sub r:A_WIDTH=4 r:B_WIDTH=4 r:Y_WIDTH=5 %i %i %i | ||||
| 
 | ||||
| design -stash gate | ||||
| 
 | ||||
| design -import gold -as gold | ||||
| design -import gate -as gate | ||||
| 
 | ||||
| miter -equiv -flatten -make_assert -make_outputs gold gate miter | ||||
| sat -verify -prove-asserts -show-ports miter | ||||
| 
 | ||||
| ########## | ||||
| 
 | ||||
| read_verilog <<EOT | ||||
| module opt_expr_sub_test2(input [3:0] i, input [7:0] j, output [8:0] o); | ||||
|     assign o = (i << 4) - j; | ||||
| endmodule | ||||
| EOT | ||||
| 
 | ||||
| hierarchy -auto-top | ||||
| proc | ||||
| design -save gold | ||||
| 
 | ||||
| opt_expr -fine | ||||
| wreduce | ||||
| 
 | ||||
| select -assert-count 1 t:$sub r:A_WIDTH=8 r:B_WIDTH=8 r:Y_WIDTH=9 %i %i %i | ||||
| 
 | ||||
| design -stash gate | ||||
| 
 | ||||
| design -import gold -as gold | ||||
| design -import gate -as gate | ||||
| 
 | ||||
| miter -equiv -flatten -make_assert -make_outputs gold gate miter | ||||
| sat -verify -prove-asserts -show-ports miter | ||||
| 
 | ||||
| ########## | ||||
| 
 | ||||
| read_verilog <<EOT | ||||
| module opt_expr_sub_test4(input [3:0] i, output [8:0] o); | ||||
|     assign o = 5'b00010 - i; | ||||
| endmodule | ||||
| EOT | ||||
| 
 | ||||
| hierarchy -auto-top | ||||
| proc | ||||
| design -save gold | ||||
| 
 | ||||
| opt_expr -fine | ||||
| wreduce | ||||
| 
 | ||||
| select -assert-count 1 t:$sub r:A_WIDTH=2 r:B_WIDTH=4 r:Y_WIDTH=5 %i %i %i | ||||
| 
 | ||||
| design -stash gate | ||||
| 
 | ||||
| design -import gold -as gold | ||||
| design -import gate -as gate | ||||
| 
 | ||||
| miter -equiv -flatten -make_assert -make_outputs gold gate miter | ||||
| sat -verify -prove-asserts -show-ports miter | ||||
|  | @ -1,78 +1,5 @@ | |||
| 
 | ||||
| read_verilog <<EOT | ||||
| module wreduce_add_test(input [3:0] i, input [7:0] j, output [8:0] o); | ||||
|     assign o = (i << 4) + j; | ||||
| endmodule | ||||
| EOT | ||||
| 
 | ||||
| hierarchy -auto-top | ||||
| proc | ||||
| design -save gold | ||||
| 
 | ||||
| prep # calls wreduce | ||||
| 
 | ||||
| select -assert-count 1 t:$add r:A_WIDTH=4 r:B_WIDTH=4 r:Y_WIDTH=5 %i %i %i | ||||
| 
 | ||||
| design -stash gate | ||||
| 
 | ||||
| design -import gold -as gold | ||||
| design -import gate -as gate | ||||
| 
 | ||||
| miter -equiv -flatten -make_assert -make_outputs gold gate miter | ||||
| sat -verify -prove-asserts -show-ports miter | ||||
| 
 | ||||
| ########## | ||||
| 
 | ||||
| read_verilog <<EOT | ||||
| module wreduce_sub_test1(input [3:0] i, input [7:0] j, output [8:0] o); | ||||
|     assign o = j - (i << 4); | ||||
| endmodule | ||||
| EOT | ||||
| 
 | ||||
| hierarchy -auto-top | ||||
| proc | ||||
| design -save gold | ||||
| 
 | ||||
| prep # calls wreduce | ||||
| 
 | ||||
| select -assert-count 1 t:$sub r:A_WIDTH=4 r:B_WIDTH=4 r:Y_WIDTH=5 %i %i %i | ||||
| 
 | ||||
| design -stash gate | ||||
| 
 | ||||
| design -import gold -as gold | ||||
| design -import gate -as gate | ||||
| 
 | ||||
| miter -equiv -flatten -make_assert -make_outputs gold gate miter | ||||
| sat -verify -prove-asserts -show-ports miter | ||||
| 
 | ||||
| ########## | ||||
| 
 | ||||
| read_verilog <<EOT | ||||
| module wreduce_sub_test2(input [3:0] i, input [7:0] j, output [8:0] o); | ||||
|     assign o = (i << 4) - j; | ||||
| endmodule | ||||
| EOT | ||||
| 
 | ||||
| hierarchy -auto-top | ||||
| proc | ||||
| design -save gold | ||||
| 
 | ||||
| prep # calls wreduce | ||||
| 
 | ||||
| select -assert-count 1 t:$sub r:A_WIDTH=8 r:B_WIDTH=8 r:Y_WIDTH=9 %i %i %i | ||||
| 
 | ||||
| design -stash gate | ||||
| 
 | ||||
| design -import gold -as gold | ||||
| design -import gate -as gate | ||||
| 
 | ||||
| miter -equiv -flatten -make_assert -make_outputs gold gate miter | ||||
| sat -verify -prove-asserts -show-ports miter | ||||
| 
 | ||||
| ########## | ||||
| 
 | ||||
| read_verilog <<EOT | ||||
| module wreduce_sub_test3(input [3:0] i, input [7:0] j, output [8:0] o); | ||||
| module wreduce_sub_test(input [3:0] i, input [7:0] j, output [8:0] o); | ||||
|     assign o = (j >> 4) - i; | ||||
| endmodule | ||||
| EOT | ||||
|  | @ -81,7 +8,8 @@ hierarchy -auto-top | |||
| proc | ||||
| design -save gold | ||||
| 
 | ||||
| prep # calls wreduce | ||||
| opt_expr | ||||
| wreduce | ||||
| 
 | ||||
| select -assert-count 1 t:$sub r:A_WIDTH=4 r:B_WIDTH=4 r:Y_WIDTH=5 %i %i %i | ||||
| 
 | ||||
|  | @ -92,27 +20,3 @@ design -import gate -as gate | |||
| 
 | ||||
| miter -equiv -flatten -make_assert -make_outputs gold gate miter | ||||
| sat -verify -prove-asserts -show-ports miter | ||||
| 
 | ||||
| ########## | ||||
| 
 | ||||
| read_verilog <<EOT | ||||
| module wreduce_sub_test4(input [3:0] i, output [8:0] o); | ||||
|     assign o = 5'b00010 - i; | ||||
| endmodule | ||||
| EOT | ||||
| 
 | ||||
| hierarchy -auto-top | ||||
| proc | ||||
| design -save gold | ||||
| 
 | ||||
| prep # calls wreduce | ||||
| 
 | ||||
| select -assert-count 1 t:$sub r:A_WIDTH=2 r:B_WIDTH=4 r:Y_WIDTH=5 %i %i %i | ||||
| 
 | ||||
| design -stash gate | ||||
| 
 | ||||
| design -import gold -as gold | ||||
| design -import gate -as gate | ||||
| 
 | ||||
| miter -equiv -flatten -make_assert -make_outputs gold gate miter | ||||
| sat -verify -prove-asserts -show-ports miter | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue