Skip to content

future/fixed: update fixed-point implementation to match latest lib.fixed RFC #103

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

Merged
merged 41 commits into from
Apr 21, 2025

Conversation

vk2seb
Copy link
Member

@vk2seb vk2seb commented Apr 21, 2025

  • Modify Tiliqua codebase to use my latest implementation of the lib.fixed RFC.
    • Goal is to experiment with the ergonomics of lib.fixed and make sure it interacts with the rest of Amaranth and my existing DSP components without unexpected surprises.
  • lib.fixed is added out-of-tree under amaranth_future.fixed, so we can still point to upstream Amaranth releases.
    • This includes a large test suite of lib.fixed that is now run against amaranth_future.fixed.
  • Improvements along the way:
    • Remove all the signed/unsigned hacks that polluted tiliqua.dsp, now fixed by lib.fixed.
    • Remove Memory instances that were initialized by normal Value when they could be initialized by fixed.Value.
    • Rewrite the dsp.Boxcar implementation to use delay_line, and move it to delay.
    • Implement a DCBlock DSP component and use it in polysyn.
    • Increase RingMAC/MuxMAC multiplier result width, this is used for fraction saving and by DCBlock.
    • Increase accumulator widths in SVF/MatrixMix to reduce noise and DC bias.

vk2seb added 30 commits April 17, 2025 15:54
@vk2seb vk2seb merged commit 0bf8bcb into main Apr 21, 2025
16 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