mirror of
				https://github.com/YosysHQ/yosys
				synced 2025-11-04 05:19:11 +00:00 
			
		
		
		
	Improved realmath test bench
This commit is contained in:
		
							parent
							
								
									7f57bc8385
								
							
						
					
					
						commit
						656685fa31
					
				
					 2 changed files with 13 additions and 5 deletions
				
			
		| 
						 | 
					@ -62,11 +62,19 @@ for idx in range(100):
 | 
				
			||||||
        print('task compare_ref_syn;')
 | 
					        print('task compare_ref_syn;')
 | 
				
			||||||
        print('  input [7:0] i;')
 | 
					        print('  input [7:0] i;')
 | 
				
			||||||
        print('  input [63:0] r, s;')
 | 
					        print('  input [63:0] r, s;')
 | 
				
			||||||
 | 
					        print('  reg [64*8-1:0] buffer;')
 | 
				
			||||||
 | 
					        print('  integer j;')
 | 
				
			||||||
        print('  begin')
 | 
					        print('  begin')
 | 
				
			||||||
        print('    if (-3 < $signed(r-s) && $signed(r-s) < +3)')
 | 
					        print('    if (-1 <= $signed(r-s) && $signed(r-s) <= +1) begin')
 | 
				
			||||||
        print('      $display("%d: %b %b", i, r, s);')
 | 
					        print('      // $display("%d: %b %b", i, r, s);')
 | 
				
			||||||
        print('    else')
 | 
					        print('    end else if (r === s) begin ')
 | 
				
			||||||
        print('      $display("%d: %b %b %s", i, r, s, r !== s ? "TRIG" : "");')
 | 
					        print('      // $display("%d: %b %b", i, r, s);')
 | 
				
			||||||
 | 
					        print('    end else begin ')
 | 
				
			||||||
 | 
					        print('      for (j = 0; j < 64; j = j+1)')
 | 
				
			||||||
 | 
					        print('        buffer[j*8 +: 8] = r[j] !== s[j] ? "^" : " ";')
 | 
				
			||||||
 | 
					        print('      $display("\\n%3d: %b %b", i, r, s);')
 | 
				
			||||||
 | 
					        print('      $display("     %s %s", buffer, buffer);')
 | 
				
			||||||
 | 
					        print('    end')
 | 
				
			||||||
        print('  end')
 | 
					        print('  end')
 | 
				
			||||||
        print('endtask')
 | 
					        print('endtask')
 | 
				
			||||||
        print('initial begin #1;')
 | 
					        print('initial begin #1;')
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -13,7 +13,7 @@ for ((i = 0; i < 100; i++)); do
 | 
				
			||||||
	idx=$( printf "%05d" $i )
 | 
						idx=$( printf "%05d" $i )
 | 
				
			||||||
	../../../yosys -q uut_${idx}.ys
 | 
						../../../yosys -q uut_${idx}.ys
 | 
				
			||||||
	iverilog -o uut_${idx}_tb uut_${idx}_tb.v uut_${idx}.v uut_${idx}_syn.v
 | 
						iverilog -o uut_${idx}_tb uut_${idx}_tb.v uut_${idx}.v uut_${idx}_syn.v
 | 
				
			||||||
	./uut_${idx}_tb > uut_${idx}.log
 | 
						./uut_${idx}_tb
 | 
				
			||||||
done
 | 
					done
 | 
				
			||||||
echo
 | 
					echo
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue