boards.vh 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. /*
  2. * boards.vh
  3. *
  4. * vim: ts=4 sw=4 syntax=verilog
  5. *
  6. * Copyright (C) 2021 Sylvain Munaut <tnt@246tNt.com>
  7. * SPDX-License-Identifier: CERN-OHL-P-2.0
  8. */
  9. `ifdef BOARD_BITSY_V0
  10. // 1bitsquared iCEbreaker bitsy prototypes (v0.x)
  11. `define HAS_USB
  12. `elsif BOARD_BITSY_V1
  13. // 1bitsquared iCEbreaker bitsy prod (v1.x)
  14. `define HAS_USB
  15. `elsif BOARD_REDIP_SID
  16. // reDIP-SID
  17. `define HAS_USB
  18. `define PLL_CORE
  19. `define PLL_CUSTOM
  20. `define PLL_FILTER_RANGE 3'b010
  21. `define PLL_DIVR 4'b0000
  22. `define PLL_DIVF 7'b0010111
  23. `define PLL_DIVQ 3'b010
  24. `endif
  25. // Defaults
  26. // If no USB, use UART
  27. `ifndef HAS_USB
  28. `define HAS_UART
  29. `endif
  30. // PLL params
  31. `ifndef PLL_CUSTOM
  32. `define PLL_FILTER_RANGE 3'b001
  33. `define PLL_DIVR 4'b0000
  34. // 48
  35. // `define PLL_DIVF 7'b0111111
  36. // `define PLL_DIVQ 3'b100
  37. // `define SYS_FREQ 12e6
  38. // 96
  39. // `define PLL_DIVF 7'b0111111
  40. // `define PLL_DIVQ 3'b011
  41. // `define SYS_FREQ 24e6
  42. // 144
  43. // `define PLL_DIVF 7'b0101111
  44. // `define PLL_DIVQ 3'b010
  45. // `define SYS_FREQ 36e6
  46. // 147
  47. `define PLL_DIVF 7'b0110000
  48. `define PLL_DIVQ 3'b010
  49. `define SYS_FREQ 36.75e6
  50. // 180
  51. // `define PLL_DIVF 7'b0111011
  52. // `define PLL_DIVQ 3'b010
  53. // `define SYS_FREQ 45e6
  54. // 200
  55. // `define PLL_DIVF 7'b1000010
  56. // `define PLL_DIVQ 3'b010
  57. // `define SYS_FREQ 50e6
  58. `endif