Commit graph

98 commits

Author SHA1 Message Date
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
Aadi Desai 06fc184cc5
Working version of dac driver
Output limited to 16bit as the set bitclock rate is too low for 24bit
Main work was on timing issues and inconsistent output
2023-05-16 22:12:41 +01:00
Aadi Desai 0ce0835a45
Working version of sample generator 2023-05-16 22:11:17 +01:00
Aadi Desai cf504787e2
Create note control library for testing 2023-05-16 22:09:35 +01:00
Aadi Desai 2717f4e417
Update .gitignore 2023-05-15 17:55:41 +01:00
Aadi Desai bf9a03f9d2
Move small functions into main, rm hello worlds 2023-05-12 20:07:39 +01:00