Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

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

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), который используется вместо ЦАП для вывода звука. Всё это расположено внутри одного модуля. В тексте проекта есть много коментариев, поэтому разобраться будет не сложно.