Subversion Repositories pentevo

Rev

Rev 228 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

  1. // (c) NedoPC 2010
  2. //
  3. // wait generator for Z80
  4.  
  5. module zwait(
  6.  
  7.         input  wire rst_n,
  8.  
  9.         input  wire wait_start_gluclock,
  10.  
  11.         input  wire wait_end,
  12.  
  13.  
  14.         output reg  [6:0] waits,
  15.  
  16.         output wire wait_n,
  17.         output wire spiint_n
  18. );
  19.  
  20.  
  21.         wire wait_off_n;
  22.         assign wait_off_n = (~wait_end) & rst_n;
  23.  
  24.         always @(posedge wait_start_gluclock, negedge wait_off_n)
  25.         begin
  26.                 if( !wait_off_n )
  27.                         waits[0] <= 1'b0;
  28.                 else if( wait_start_gluclock )
  29.                         waits[0] <= 1'b1;
  30.         end
  31.  
  32.         always @(posedge wait_end) // just dummy for future extensions
  33.         begin
  34.                 waits[6:1] <= 6'd0;
  35.         end
  36.  
  37.  
  38.  
  39.         assign spiint_n = ~|waits;
  40.         assign wait_n = spiint_n ? 1'bZ : 1'b0;
  41.  
  42. endmodule
  43.  
  44.