Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/andrejchoo/fpga_wav_player
A simple project for playing wav files on FPGA or CPLD
https://github.com/andrejchoo/fpga_wav_player
fpga spi-flash verilog wav
Last synced: 6 days ago
JSON representation
A simple project for playing wav files on FPGA or CPLD
- Host: GitHub
- URL: https://github.com/andrejchoo/fpga_wav_player
- Owner: AndrejChoo
- License: gpl-3.0
- Created: 2025-01-03T06:48:26.000Z (7 days ago)
- Default Branch: main
- Last Pushed: 2025-01-03T07:28:12.000Z (7 days ago)
- Last Synced: 2025-01-03T07:35:55.402Z (7 days ago)
- Topics: fpga, spi-flash, verilog, wav
- Language: Verilog
- Homepage:
- Size: 0 Bytes
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# FPGA_WAV_Player
Простой проект, позволяющий воспроизводить wav файлы на FPGA или даже CPLD. В качестве носителя информации используется spi flash 25-й серии, на которую записывается wav файл формата PCM, 8-bit, U8, mono (можно сконвертировать с помощью online конвертера). Частота дискретизации любая, при которой файл поместится на флешку. Для настройки необходимой частоты в проекте есть параметр "wav_freq".
Проект не использует никаких специфичеких модулей (типа PLL, BRAM и т.п.), поэтому его можно без проблем перенести практичеки на любые FPGA, CPLD с достаточным количеством LUT. К примеру, скомпилированный проект в Quartus II для FPGA Cyclone IV занимает 175 ячеек.
Сам проект состоит из счётчика-делителя частоты (дискретизации), счётчика адреса памяти, который тактируется от счётчика делителя, конечного автомата SPI и конечного автомата, который управляет автоматом SPI, счётчика ШИМ (8 bit), который используется вместо ЦАП для вывода звука. Всё это расположено внутри одного модуля. В тексте проекта есть много коментариев, поэтому разобраться будет не сложно.