Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

gateware: reapply (#33, #36), fixing timing bug in ak4619 driver #41

Merged
merged 4 commits into from
Oct 6, 2023

Conversation

schnommus
Copy link
Member

Previously after #33 some of the examples stopped working in a way that was PnR dependent, so I reverted them. In the meantime I found a timing bug in those PRs in the ak4619vn driver where the clk_fs and internal clkdiv were not synchronized correctly. This PR includes those PRs which were reverted plus this timing fix which seems to stabilize all of the example cores.

schnommus and others added 4 commits October 6, 2023 17:29
* Change default sample rate from ~96khz to ~48kHz and BICK from 12MHz -> 6MHz which improves stability a bit with long cables from FPGA/PMOD. There is no audible difference and the noise performance is a bit better.
* Clean up clocking architecture so we can select any sample rate from 8kHz to 48kHz, removing fixed 12MHz assumptions everywhere.
* Rewrite AK4619 driver to collapse most of the logic into one posedge block on clk_256fs.
* Some other minor fixes so that this repository plays better with LiteX (splitting out the wavetable osc as its own module, bubbling up .hex config paths).
* Compress ECP5 bitstreams so they upload faster

TESTED on all supported platforms
@schnommus schnommus merged commit ec676d6 into master Oct 6, 2023
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant