Commit graph

103 commits

Author SHA1 Message Date
Aadi Desai 5bf1833a03
Fix BUILD_DIR var in demo Makefile 2023-06-08 11:22:25 +01:00
Aadi Desai 8be509cd90
Update main.cpp to use audio header and helpers 2023-06-08 01:37:59 +01:00
Aadi Desai f1dc882f93
Remove float from audio headers and helper files 2023-06-08 01:26:23 +01:00
Aadi Desai cfa699fe84
Revert genWave to 24bit int, floats fail to compile 2023-06-08 01:19:36 +01:00
Aadi Desai 17bb4ae5cd
Swap note header and helper functions for audio 2023-06-08 00:40:48 +01:00
Aadi Desai 9d5b77be87
Update make.py to use TestWave from TestSaw 2023-06-07 23:02:11 +01:00
Aadi Desai 4c4d287c63
Update genWave to use 24.4 bit fixed point
Improve frequency target accuracy from 1Hz to 0.0625Hz
2023-06-07 23:01:20 +01:00
Aadi Desai c19b7e625f
Add testWave.py LiteX wrapper 2023-06-07 22:55:08 +01:00
Aadi Desai 54654bd5f8
Add genWave.sv
Supports 64 oscillators
Merges waveforms with volume reduced to range 0.5-1 of single wave
Heavily optimised to reduce area / MUL requirements
2023-06-07 22:53:04 +01:00
Aadi Desai c9e9f9b483
Clean up main.py 2023-06-07 22:49:25 +01:00
Aadi Desai fd53e3c579
Move sine bit inversion from genSaw to saw2sin 2023-06-06 18:51:36 +01:00
Aadi Desai 964d0b0c5e
Add propegation test and results waveform 2023-06-05 18:28:22 +01:00
Aadi Desai b9ea99a601
Clean up build + make scripts, add links to readme 2023-06-05 16:35:17 +01:00
Aadi Desai a8748bb424
Update demo C++ readme with instructions 2023-06-05 13:53:29 +01:00
Aadi Desai 47574015e4
Remove unused files 2023-06-05 13:52:59 +01:00
Aadi Desai aac2ad4c62
Add always_ff in saw2sin to fix glitches 2023-06-04 14:14:05 +01:00
Aadi Desai 6d670dc903
Add function to play audio from CAN frames, no polyphony 2023-06-04 13:45:17 +01:00
Aadi Desai 8e534f9858
Extend defined notes in note header 2023-06-04 13:11:45 +01:00
Aadi Desai 392374b8dc
Add functions to demo to test CAN block / helpers
Get / Set can filter ID & mask
Read last CAN frame
Read CAN frames in a loop
2023-06-04 12:58:14 +01:00
Aadi Desai 6cf6d0a643
Create CAN helper functions
Get / Set CAN filter ID
Get / Set CAN filter mask
Get latest valid CAN frame in `can_frame` struct
2023-06-04 12:42:03 +01:00
Aadi Desai a000c35f46
Add CAN receiver / pin definitions to make.py 2023-06-04 12:40:54 +01:00
Aadi Desai ac92cebbae
Create CAN wrapper module
`CSRStorage` for setting CAN filter ID and Mask
`CSRStatus` for received message ID and 8 data bytes
2023-06-04 12:39:51 +01:00
Aadi Desai 743c9fdb64
Create CAN RX block, ACKs frames, no TX 2023-06-04 12:38:39 +01:00
Aadi Desai 4b57bdfa80
Update cordic.sv and saw2sin.sv for better accuracy, genSaw.sv to fix polarity of tri/sin 2023-06-04 12:07:28 +01:00
Aadi Desai 59ec852558
Add links for CAN Implementation to readme.md 2023-06-04 12:03:22 +01:00
Aadi Desai 07edec0fb7
Update build.sh dfu-util to wait for device if not present 2023-06-04 12:01:56 +01:00
Aadi Desai d784f6d251
Add sine wave generator using cordic 2023-05-28 16:07:23 +01:00
Aadi Desai 6601b6f3af
Add quarter wave cordic block 2023-05-28 16:06:49 +01:00
Aadi Desai 032bb59dea
Remove volume module for now as it stops boot 2023-05-27 12:08:03 +01:00
Aadi Desai 4b58db7921
Update Sin polynomial approx image 2023-05-26 16:54:10 +01:00
Aadi Desai 2f40fb3bb5
Rename ledchaser module to line up with ifdefs 2023-05-24 12:42:34 +01:00
Aadi Desai 48b8e17ff2
Add ZipCPU article link 2023-05-24 12:39:11 +01:00
Aadi Desai c5f69a4d0e
Update .gitignore 2023-05-24 12:38:20 +01:00
Aadi Desai a6168e85e8
Add missing LEDs CSR ifdef 2023-05-24 12:36:34 +01:00
Aadi Desai bb94e58a53
Completed dacVolume.sv, issues remain
If dacVolume and testSaw are instantiated in the same design, the design fails to run
2023-05-22 13:28:14 +01:00
Aadi Desai 4c831539a8
Add ifdefs for CSR in note header and source 2023-05-22 13:26:37 +01:00
Aadi Desai 6c54b80d80
Add volume control to main.cpp 2023-05-21 01:23:08 +01:00
Aadi Desai 275a74013c
Create volume control module, not functional 2023-05-21 01:22:39 +01:00
Aadi Desai 40a969e30d
Notes for saw -> sine conversion 2023-05-21 01:21:41 +01:00
Aadi Desai 8dbcd18269
Auto calc safe max depth for Litescope Analyzer
Avoids failed compilations and manually hunting for usable, valid depth
2023-05-18 16:21:45 +01:00
Aadi Desai c4469cd6f6
Flip MSB of square wave, avoid DAC automute 2023-05-18 16:19:53 +01:00
Aadi Desai 79ab8cd538
Add waveform selection to demo software
Available waveforms: Sawtooth, Square, Triangle, Sine (To be completed)
2023-05-18 12:52:17 +01:00
Aadi Desai 6381cb53a8
Optimise triangle wave gen and add comments 2023-05-18 12:42:09 +01:00
Aadi Desai a17429c105
Support selecting waveform in genSaw 2023-05-18 12:35:39 +01:00
Aadi Desai 166e6c913c
Clean up .svlint.toml 2023-05-18 12:34:03 +01:00
Aadi Desai 81cf1ebc5c
Replace assign with always_comb in rtl/
Update to better match IEEE1800-2017
2023-05-18 12:01:56 +01:00
Aadi Desai afcf1093be
Update note.cpp and main.cpp for new CSRStorage layout 2023-05-18 11:38:39 +01:00
Aadi Desai b2573b5f95
Add docs link for MigenAsyncFIFO to readme 2023-05-16 22:22:19 +01:00
Aadi Desai 5b80f2538f
Update litescope for new TestSaw module
Also increase scope download baudrate
2023-05-16 22:14:09 +01:00
Aadi Desai 3190265343
Update testSaw to match updated genSaw / dacDriver 2023-05-16 22:13:24 +01:00