Guest User

GC Readcommands (Veritak conversion)

a guest
Jul 1st, 2012
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. always @ (dihstrb or didir or dirstb or cover_s or io_read or cmd  )
  2.     begin
  3.    
  4.     if (dirstb == 1'b0) begin
  5.         cmd[0] <= 8'h00;
  6.         readcommands__i <= 0;
  7.     end
  8.     else if (dihstrb == 1'b1) begin
  9.         if(didir == 1'b0) begin
  10.             cmd[readcommands__i] <= did;    // Grab the GC command byte into the array.
  11.             if(readcommands__i < 12) readcommands__i <= readcommands__i + 1'b1;
  12.         end
  13.         else
  14.             readcommands__i <= 0;
  15.         end
  16.  
  17.         if (dirstb == 1'b0) begin
  18.             lba_offset <= {(31-0+1- 0){1'b0}};
  19.             readcommands__latch = 1'b0;
  20.         end
  21.  
  22.         else if (({{{cmd[0],cmd[1]},cmd[2]},cmd[3]} == 32'hAABBCCDD))
  23.        
  24.         if (((didir == 1'b1) & (readcommands__latch == 1'b0))) begin
  25.             lba_offset <= {{{cmd[8],cmd[9]},cmd[10]},cmd[11]};
  26.             readcommands__latch = 1'b1;
  27.         end
  28.  
  29.         if ((didir == 1'b1))
  30.            
  31.             if ((cover_s == 1'b0))
  32.                 dierrb <= 1'b1;
  33.             else begin
  34.            
  35.             if ((cmd[0] == 8'hE0))
  36.                 dierrb <= 1'b1;
  37.             else
  38.                 dierrb <= 1'b0;
  39.             end
  40.             else
  41.                dierrb <= 1'b1;
  42.                
  43.         if (((didir == 1'b0) & (readcommands__i < 10)))
  44.             didstrb <= 1'b0;
  45.         else
  46.             didstrb <= io_read;
  47. end // end always
Advertisement
Add Comment
Please, Sign In to add comment