## Planned Modules

- SD Card Reader

- VGA Controller
  - Not sure if the framebuffer is here or in RAM?
  - Each pixel is 12-bits
  - Probably fit into 16-bit words in RAM?
  - Plan on 640x480
  - Should we do double buffering?

- Audio Controller
  - Again, not sure how the buffer will work. Might just take in 1KiB as a
    verilog array?

- Control logic
  - Play
  - Pause
  - Volume up/down
  - Fast forward
    - Maybe start at 2x, then go to 4x then 8x with more presses?
  - Rewind, maybe, it's real hard though

- DRAM/SRAM controller
  - We might need this for buffering frames? Not sure if we implicitly can use
    SRAM with verilog arrays
  - The SRAM interface is easier but slower
  - Hopefully we don't need this but who knows

- 8 segment display driver
  - Takes in a play time in seconds and displays it in hour:minute:second
  - Maybe could take in seconds, minutes, and hours separately?
    - This would save us from having to do modulo
    - It'd be easy to check if seconds == 60 and then increment minutes

