OpenCores
URL https://opencores.org/ocsvn/sudoku/sudoku/trunk

Subversion Repositories sudoku

[/] [sudoku/] [branches/] [zynq/] [rtl/] [wrap_search.v] - Blame information for rev 6

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 6 dsheffie
module wrap_search(/*AUTOARG*/
2
   // Outputs
3
   dout, done, error,
4
   // Inputs
5
   clk, rst, start, addr, wr, din
6
   );
7
   input clk;
8
   input rst;
9
   input start;
10
   input [6:0] addr;
11
   input       wr;
12
   input [8:0] din;
13
   output [8:0] dout;
14
 
15
   output       done;
16
   output       error;
17
 
18
 
19
   wire [728:0]  outGrid;
20
   wire [728:0]  inGrid;
21
 
22
   wire [8:0]     outGrid2d [80:0];
23
 
24
   reg [8:0]      ram [127:0];
25
 
26
   assign dout = ram[addr];
27
 
28
   genvar        ii;
29
   generate
30
      for(ii=0;ii<81;ii=ii+1)
31
        begin: unflatten
32
           assign outGrid2d[ii] = outGrid[(9*(ii+1))-1:9*ii];
33
           assign inGrid[(9*(ii+1)-1):(9*ii)] = ram[ii];
34
        end
35
   endgenerate
36
 
37
 
38
   integer       i;
39
   always@(posedge clk)
40
     begin
41
        if(wr)
42
          begin
43
             ram[addr] <= din;
44
          end
45
        else if(done|error)
46
          begin
47
             for(i = 0; i < 81; i=i+1)
48
               begin
49
                  ram[i] <= outGrid2d[i];
50
               end
51
          end
52
     end
53
 
54
 
55
   sudoku_search solver0
56
     (             // Outputs
57
                   .outGrid             (outGrid[728:0]),
58
                   .done                (done),
59
                   .error            (error),
60
                   // Inuts
61
                   .clk                 (clk),
62
                   .rst                 (rst),
63
                   .start               (start),
64
                   .inGrid              (inGrid[728:0])
65
                   );
66
 
67
 
68
endmodule // wrap_sudoku

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.