All checks were successful
ci/woodpecker/push/test-workflow Pipeline was successful
These were realy headaches but the testbenches are passing. We need to take a look at the audio_buffer testbench for sure, it is way wrong and needs reworked to use the interface. Should do a pass through every module probably.
1.3 KiB
1.3 KiB
Bugs I Found
Audio Buffer
- Forgot to assign to a delay counter
Debouncer
- Logic was fundamentally wrong
- Found multiple logic bugs with testbench and then assertions
Display Converter
- Found a typo in a single digit
Low Freq Clock Gen
- Was initially trying to do modulo at max clock speed, failing timing
sd_rom
- ROM was getting totally optimized out and was doing nothing in simulation, and didn't show up in synthesized design
- Timing issues, ROM was one cycle slower than expected, latching takes an extra cycle too, had to rework state machines, there are a bonus 2 delay states when starting and ending writes
PWM
- major design problems
- clocked too slow
- initial goal of 16-bit audio isn't feasible because 100MHz isn't fast enough to pwm based on a 16-bit counter, would give a sample rate of 1.5khz
command_sender
- output ready signal was delay a cycle because it was set by sequential logic, detected in testing, changed it to a combinational output for 1 cycle speedup
read_command
- response_type was not getting correctly stored/set, breaking the module entirely. Detected in testbench
- off-by-one error detected in the counter
read_data
- audio buffer address to write to was never changing, caught in simulation
- some off-by-one errors in the byte shifting were found and corrected