Skip to content

28add11/tt07_qoa_decode

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

66 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Tiny Tapeout 07 QOA Decoder

What is it?

This is an implementation of a hardware decoder for the QOA audio format. It is being manufactured with the Tiny Tapeout project, and actual samples should be delivered in December!

What next?

This has mostly been a learning project for me, so I could dive deeper into the architecture of how the chips that power almost everything nowadays work. This chip itself is not terribly good, with some odd code choices and naive decisions preformace wise, which is something I want to improve in the future.

Going forward, I have a list of things I want to impove:

  • Improved SPI interface. Currently it is very janky, and is the part of the chip I am most concerned about for actual functionality.
  • More paralell execution. The SPI interface can read while the chip is executing, but I wish to improve the paralellism further by allowing the chip to execute multiple commands at once, such as sending a decoded sample at the same time as processing a new one.
  • More advanced decode logic. The current version of the chip decodes QOA files on a sample by sample basis, and cannot handle things like multi-channel audio by itself. This adds overhead to the controller chip, especially when it comes to RAM, which I hope to reduce.
  • Improved code quality. I am very new to verilog and digital design, so just a general improvement of my code would likely help greatly.

Tiny Tapeout resources

About

Decoder ASIC for the QOA audio format using TinyTapeout 07

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published