Advertisement
Guest User

Untitled

a guest
Aug 15th, 2018
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. `timescale 1ns / 1ps
  2. //////////////////////////////////////////////////////////////////////////////////
  3. // Company:
  4. // Engineer:
  5. //
  6. // Create Date:    20:14:52 08/15/2018
  7. // Design Name:
  8. // Module Name:    delay
  9. // Project Name:
  10. // Target Devices:
  11. // Tool versions:
  12. // Description:
  13. //
  14. // Dependencies:
  15. //
  16. // Revision:
  17. // Revision 0.01 - File Created
  18. // Additional Comments:
  19. //
  20. //////////////////////////////////////////////////////////////////////////////////
  21. module delay(
  22.         input as,
  23.           input dtack,
  24.         output out
  25.         );
  26.    
  27. parameter DELAYS = 15;
  28.  
  29.    wire [DELAYS:0] dtack_int;
  30.    
  31.  
  32. genvar    c;
  33. generate
  34.    
  35.    for (c = 0; c < DELAYS; c = c + 1) begin: dtackint
  36.  
  37.       FDCP #(.INIT(1'b1))
  38.       DTTACK_FF (
  39.          .Q(dtack_int[c+1]), // Data output
  40.          .C(~dtack_int[c]), // Clock input
  41.          .CLR(1'b0), // Asynchronous clear input
  42.          .D(1'b0), // Data input
  43.          .PRE(as) // Asynchronous set input
  44.          );
  45.    end
  46.    
  47. endgenerate
  48.  
  49.    assign dtack_int[0] = dtack;
  50.    assign out = dtack_int[DELAYS];
  51.    
  52. endmodule
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement