mirror of
				https://github.com/YosysHQ/yosys
				synced 2025-10-31 03:32:29 +00:00 
			
		
		
		
	tests: add opt_expr tests
This commit is contained in:
		
							parent
							
								
									e7058593f4
								
							
						
					
					
						commit
						b84415094c
					
				
					 5 changed files with 365 additions and 0 deletions
				
			
		|  | @ -50,3 +50,92 @@ assign z = a~^1'b1; | |||
| endmodule | ||||
| EOT | ||||
| equiv_opt opt_expr | ||||
| 
 | ||||
| 
 | ||||
| # Single-bit $xor | ||||
| design -reset | ||||
| read_verilog -noopt <<EOT | ||||
| module gold(input i, output o); | ||||
| assign o = 1'bx ^ i; | ||||
| endmodule | ||||
| EOT | ||||
| select -assert-count 1 t:$xor | ||||
| copy gold coarse | ||||
| copy gold fine | ||||
| copy gold coarse_keepdc | ||||
| copy gold fine_keepdc | ||||
| 
 | ||||
| cd coarse | ||||
| opt_expr | ||||
| select -assert-none c:* | ||||
| 
 | ||||
| cd fine | ||||
| simplemap | ||||
| opt_expr | ||||
| select -assert-none c:* | ||||
| 
 | ||||
| cd | ||||
| miter -equiv -flatten -make_assert -make_outputs -ignore_gold_x gold coarse miter | ||||
| sat -verify -prove-asserts -show-ports -enable_undef miter | ||||
| miter -equiv -flatten -make_assert -make_outputs coarse fine miter2 | ||||
| sat -verify -prove-asserts -show-ports -enable_undef miter2 | ||||
| 
 | ||||
| cd coarse_keepdc | ||||
| opt_expr -keepdc | ||||
| select -assert-count 1 c:* | ||||
| 
 | ||||
| cd fine_keepdc | ||||
| simplemap | ||||
| opt_expr -keepdc | ||||
| select -assert-count 1 c:* | ||||
| 
 | ||||
| cd | ||||
| miter -equiv -flatten -make_assert -make_outputs gold coarse_keepdc miter3 | ||||
| sat -verify -prove-asserts -show-ports -enable_undef miter3 | ||||
| miter -equiv -flatten -make_assert -make_outputs coarse_keepdc fine_keepdc miter4 | ||||
| sat -verify -prove-asserts -show-ports -enable_undef miter4 | ||||
| 
 | ||||
| 
 | ||||
| # Multi-bit $xor | ||||
| design -reset | ||||
| read_verilog -noopt <<EOT | ||||
| module gold(input i, output [6:0] o); | ||||
| assign o = {1'bx, 1'b0, 1'b0, 1'b1, 1'bx, 1'b1, i} ^ {7{i}}; | ||||
| endmodule | ||||
| EOT | ||||
| select -assert-count 1 t:$xor | ||||
| copy gold coarse | ||||
| copy gold fine | ||||
| copy gold coarse_keepdc | ||||
| copy gold fine_keepdc | ||||
| 
 | ||||
| cd coarse | ||||
| opt_expr -fine | ||||
| select -assert-count 1 t:$xor # FIXME: Should be zero | ||||
| 
 | ||||
| cd fine | ||||
| simplemap | ||||
| opt_expr | ||||
| select -assert-none t:$_XOR_ | ||||
| 
 | ||||
| cd | ||||
| miter -equiv -flatten -make_assert -make_outputs -ignore_gold_x gold coarse miter | ||||
| sat -verify -prove-asserts -show-ports -enable_undef miter | ||||
| miter -equiv -flatten -make_assert -make_outputs coarse fine miter2 | ||||
| sat -verify -prove-asserts -show-ports -enable_undef miter2 | ||||
| 
 | ||||
| cd coarse_keepdc | ||||
| opt_expr -keepdc -fine | ||||
| dump | ||||
| select -assert-count 2 t:$xor $ FIXME: Should be one | ||||
| 
 | ||||
| cd fine_keepdc | ||||
| simplemap | ||||
| opt_expr -keepdc | ||||
| select -assert-count t c:$_XOR_ | ||||
| 
 | ||||
| cd | ||||
| miter -equiv -flatten -make_assert -make_outputs gold coarse_keepdc miter3 | ||||
| sat -verify -prove-asserts -show-ports -enable_undef -set-def in_i miter3 | ||||
| miter -equiv -flatten -make_assert -make_outputs coarse_keepdc fine_keepdc miter4 | ||||
| sat -verify -prove-asserts -show-ports -enable_undef miter4 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue