You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
This repo is archived. You can view files and clone it, but cannot push or open issues/pull-requests.

83 lines
2.6 KiB

  1. // Created by IP Generator (Version 2021.1-SP7 build 86875)
  2. //////////////////////////////////////////////////////////////////////////////
  3. //
  4. // Copyright (c) 2014 PANGO MICROSYSTEMS, INC
  5. // ALL RIGHTS REVERVED.
  6. //
  7. // THE SOURCE CODE CONTAINED HEREIN IS PROPRIETARY TO PANGO MICROSYSTEMS, INC.
  8. // IT SHALL NOT BE REPRODUCED OR DISCLOSED IN WHOLE OR IN PART OR USED BY
  9. // PARTIES WITHOUT WRITTEN AUTHORIZATION FROM THE OWNER.
  10. //
  11. //////////////////////////////////////////////////////////////////////////////
  12. //
  13. // Library:
  14. // Filename:ShiftRegister.v
  15. ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  16. `timescale 1 ns / 1 ps
  17. module ShiftRegister
  18. (
  19. din ,
  20. addr ,
  21. clk ,
  22. rst ,
  23. dout
  24. );
  25. localparam FIXED_DEPTH = 1024 ; // @IPC int 1,1024
  26. localparam VARIABLE_MAX_DEPTH = 1024 ; // @IPC int 1,1024
  27. localparam DATA_WIDTH = 1 ; // @IPC int 1,256
  28. localparam SHIFT_REG_TYPE = "dynamic_latency" ; // @IPC enum fixed_latency,dynamic_latency
  29. localparam SHIFT_REG_TYPE_BOOL = 1 ; // @IPC bool
  30. localparam RST_TYPE = "ASYNC" ; // @IPC enum ASYNC,SYNC
  31. localparam DEPTH = (SHIFT_REG_TYPE=="fixed_latency" ) ? FIXED_DEPTH :
  32. (SHIFT_REG_TYPE=="dynamic_latency") ? VARIABLE_MAX_DEPTH : 0;
  33. localparam ADDR_WIDTH = (DEPTH<=16) ? 4 :
  34. (DEPTH<=32) ? 5 :
  35. (DEPTH<=64) ? 6 :
  36. (DEPTH<=128) ? 7 :
  37. (DEPTH<=256) ? 8 :
  38. (DEPTH<=512) ? 9 : 10 ;
  39. input wire [DATA_WIDTH-1:0] din ;
  40. input wire [ADDR_WIDTH-1:0] addr ;
  41. input wire clk ;
  42. input wire rst ;
  43. output wire [DATA_WIDTH-1:0] dout ;
  44. ipm_distributed_shiftregister_v1_2_ShiftRegister
  45. #(
  46. .FIXED_DEPTH (FIXED_DEPTH ) ,
  47. .VARIABLE_MAX_DEPTH (VARIABLE_MAX_DEPTH ) ,
  48. .DATA_WIDTH (DATA_WIDTH ) ,
  49. .SHIFT_REG_TYPE (SHIFT_REG_TYPE ) ,
  50. .RST_TYPE (RST_TYPE )
  51. )u_ipm_distributed_shiftregister_ShiftRegister
  52. (
  53. .din (din ) ,
  54. .addr (addr ) ,
  55. .clk (clk ) ,
  56. .rst (rst ) ,
  57. .dout (dout )
  58. );
  59. endmodule