mirror of
				https://github.com/YosysHQ/yosys
				synced 2025-10-31 03:32:29 +00:00 
			
		
		
		
	Add tests for cmp2lut on LUT6
This commit is contained in:
		
							parent
							
								
									5939b5d636
								
							
						
					
					
						commit
						dd10d2b00d
					
				
					 2 changed files with 29 additions and 23 deletions
				
			
		|  | @ -1,29 +1,30 @@ | |||
| module top(...); | ||||
| 	input [3:0] a; | ||||
| 	parameter LUT_WIDTH = 4; // Multiples of 2 only | ||||
| 	input [LUT_WIDTH-1:0] a; | ||||
| 
 | ||||
| 	output o1_1 = 4'b1010 <= a; | ||||
| 	output o1_2 = 4'b1010 <  a; | ||||
| 	output o1_3 = 4'b1010 >= a; | ||||
| 	output o1_4 = 4'b1010 >  a; | ||||
| 	output o1_5 = 4'b1010 == a; | ||||
| 	output o1_6 = 4'b1010 != a; | ||||
| 	output o1_1 = {(LUT_WIDTH/2){2'b10}} <= a; | ||||
| 	output o1_2 = {(LUT_WIDTH/2){2'b10}} <  a; | ||||
| 	output o1_3 = {(LUT_WIDTH/2){2'b10}} >= a; | ||||
| 	output o1_4 = {(LUT_WIDTH/2){2'b10}} >  a; | ||||
| 	output o1_5 = {(LUT_WIDTH/2){2'b10}} == a; | ||||
| 	output o1_6 = {(LUT_WIDTH/2){2'b10}} != a; | ||||
| 
 | ||||
| 	output o2_1 = a <= 4'b1010; | ||||
| 	output o2_2 = a <  4'b1010; | ||||
| 	output o2_3 = a >= 4'b1010; | ||||
| 	output o2_4 = a >  4'b1010; | ||||
| 	output o2_5 = a == 4'b1010; | ||||
| 	output o2_6 = a != 4'b1010; | ||||
| 	output o2_1 = a <= {(LUT_WIDTH/2){2'b10}}; | ||||
| 	output o2_2 = a <  {(LUT_WIDTH/2){2'b10}}; | ||||
| 	output o2_3 = a >= {(LUT_WIDTH/2){2'b10}}; | ||||
| 	output o2_4 = a >  {(LUT_WIDTH/2){2'b10}}; | ||||
| 	output o2_5 = a == {(LUT_WIDTH/2){2'b10}}; | ||||
| 	output o2_6 = a != {(LUT_WIDTH/2){2'b10}}; | ||||
| 
 | ||||
| 	output o3_1 = 4'sb0101 <= $signed(a); | ||||
| 	output o3_2 = 4'sb0101 <  $signed(a); | ||||
| 	output o3_3 = 4'sb0101 >= $signed(a); | ||||
| 	output o3_4 = 4'sb0101 >  $signed(a); | ||||
| 	output o3_5 = 4'sb0101 == $signed(a); | ||||
| 	output o3_6 = 4'sb0101 != $signed(a); | ||||
| 	output o3_1 = {(LUT_WIDTH/2){2'sb01}} <= $signed(a); | ||||
| 	output o3_2 = {(LUT_WIDTH/2){2'sb01}} <  $signed(a); | ||||
| 	output o3_3 = {(LUT_WIDTH/2){2'sb01}} >= $signed(a); | ||||
| 	output o3_4 = {(LUT_WIDTH/2){2'sb01}} >  $signed(a); | ||||
| 	output o3_5 = {(LUT_WIDTH/2){2'sb01}} == $signed(a); | ||||
| 	output o3_6 = {(LUT_WIDTH/2){2'sb01}} != $signed(a); | ||||
| 
 | ||||
| 	output o4_1 = $signed(a) <= 4'sb0000; | ||||
| 	output o4_2 = $signed(a) <  4'sb0000; | ||||
| 	output o4_3 = $signed(a) >= 4'sb0000; | ||||
| 	output o4_4 = $signed(a) >  4'sb0000; | ||||
| 	output o4_1 = $signed(a) <= {LUT_WIDTH{1'sb0}}; | ||||
| 	output o4_2 = $signed(a) <  {LUT_WIDTH{1'sb0}}; | ||||
| 	output o4_3 = $signed(a) >= {LUT_WIDTH{1'sb0}}; | ||||
| 	output o4_4 = $signed(a) >  {LUT_WIDTH{1'sb0}}; | ||||
| endmodule | ||||
|  |  | |||
|  | @ -4,3 +4,8 @@ for x in *.v; do | |||
|   echo "Running $x.." | ||||
|   ../../yosys -q -s check_map.ys -l ${x%.v}.log $x | ||||
| done | ||||
| 
 | ||||
| for x in map_cmp.v; do | ||||
|   echo "Running $x.." | ||||
|   ../../yosys -q -s check_map_lut6.ys -l ${x%.v}_lut6.log $x | ||||
| done | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue