IN THIS SECTION 
Design Competition 
Background 
Details 
Benchmarks 
Design Submission 
Contact Us 
Back to... 
FPT'09 Home 
QUICK LINKS 
Based on this objective function, a design that can solve puzzles with high orders in a short period of time will have a much higher chance of winning than designs that are only able to solve puzzles of small orders. Therefore, you are encouraged to design an FPGA solver that is able to deal with puzzles with as high an order as possible. As a reference, most existing software Sudoku solvers are able to solve puzzles with orders up to N=7 within minutes.
0xA5  0x3C  0x5A  0xC3  N*N  d[0,0]  d[0,1]  ...  d[N*N, N*N]  checksum 
Subsequently, the values of each cell of the puzzle will be transmitted in a rowmajor fashion, starting from the topleft, going down to bottomright. A cell value of 0 indicates that a cell is empty. Otherwise, the given value of a cell is transmitted.
For example, the first puzzle shown in the Background page would be transmitted as:
0xA5  0x3C  0x5A  0xC3  9  0  1  4  5  2  0  0  0  9  ...  checksum 
The RS232 connection should be set to a baud rate of 115200 bps, 8bit data, no parity bit and 1 stop bit (115200 8N1).
For example, the solution to the puzzle shown above will be transmitted as:
0xA5  0x3C  0x5A  0xC3  checksum  9  6  1  4  5  2  7  3  8  9  ... 
In other words, the value of the checksum is the sum of the values of all the cells with r + c added to an even number, minus the sum of the values of all the cells with r + c added to an odd number. Another way to look at it is that the sign of the first cell of a row is always the opposite of the first cell of the previous row. All subsequent cells in the same row will then be added to the checksum with alternating signs.
Only the lower 8 bits of the checksum are transmitted.
For example, the checksums for the sample puzzles shown in the Background page can be calculated as:
Puzzle  checksum 

 1 + 4  5 + 2 + 9  3  9  4 + 5  1 + 5 + 8  6 + 7 + 3  7 + 6  2  5 + 1  3 + 4 + 4  3 + 6 + 2  8 + 2  7  4  5 + 1 + 5  2 + 8  4 = 3 

29 
The following is the list of currently approved systems:
Note that in order to facilitate our evaluation process, you need to submit together with your design the result of solving benchmark puzzles posted in this website using your solver. See Design Submission for details.
The time to solve a puzzle is defined as the time commencing with the transmission of the checksum byte at the end of the data input transmission and finishing with the receipt of the checksum byte at the start of the data output transmission. Therefore, the delay of the serial connection will not affect the timing significantly.
Sample puzzles and controlling software that will run on the host PC, will be posted in the Benchmarks page as soon as they are ready.