naichewa
987015a2a7
Fix SPI Delay1 behavior
2024-11-07 12:14:23 -08:00
naichewa
7964358651
Fix erroneous implicit sckcs and cssck phase delays
2024-11-07 10:47:51 -08:00
naichewa
7637f3e33b
Fix erroneous implicit sckcs and cssck phase delays
2024-11-07 10:19:55 -08:00
naichewa
927398a017
Fix SPI state skipping sck-cs delay when at end of transmission
2024-11-07 10:17:22 -08:00
Jacob Pease
507c1dad1c
Removed impossible condition in receive register logic.
2024-11-04 16:15:42 -06:00
Jacob Pease
120b21d7d5
More SPI optimizations.
2024-11-04 15:38:12 -06:00
Jacob Pease
a9e6962cd4
Removed unused signals and renamed other signals. Removed a bunch of delay counters and simply reuse one counter for all delay types. Tested on FPGA and it also passes regression.
2024-11-03 00:35:40 -05:00
Jacob Pease
674d008f23
Added headers to files.
2024-11-02 14:31:05 -05:00
Jacob Pease
c197d4a3c6
Cleaned up some code. Still more work to do there.
2024-11-01 17:35:55 -05:00
Jacob Pease
e881bd3120
Changed the condition for TransmitStart fsm to avoid edge condition.
2024-11-01 17:04:07 -05:00
Jacob Pease
eddae8e1a6
Fixed ShiftEdge and SampleEdge to not always include PhaseOneOffset. Before, it worked in simulation, but not on the FPGA.
2024-11-01 13:02:17 -05:00
Jacob Pease
56a6ad3376
Fixed lint issues.
2024-10-31 15:56:16 -05:00
Jacob Pease
3ee5fffe02
Fixing latches.
2024-10-31 13:54:56 -05:00
Jacob Pease
72a854eb07
Refactored SPI passes regression save for hardware interlock tests.
2024-10-31 13:01:25 -05:00
Jacob Pease
419030bc33
Fixed FSM to continue transmitting after delay.
2024-10-31 10:41:38 -05:00
Jacob Pease
35c9fe7648
Added changed SPI controller module. New signal TransmitStartD that starts the FSM based on SCLKenable. TransmitStart is responsible for resetting SCLKenable and loading the Transmit Shift Register.
2024-10-30 18:45:54 -05:00
Jacob Pease
4e7e311b26
Fixed issues relating to SCLKenable and TransmitStart. Works at multiple dividers now, instead of just SckDiv = 0.
2024-10-30 18:39:04 -05:00
Jacob Pease
4f0723f236
Fixed enabling of TransmitFIFOReadIncrement and ReceiveFIFOWriteIncrement
2024-10-30 16:19:46 -05:00
Jacob Pease
b667581ffa
Refactored SPI peripheral based on SPI controller module. Works in tests/custom/spitest.
2024-10-29 17:50:36 -05:00
Jacob Pease
784630b945
Added wally header to spi_controller.
2024-10-29 10:53:33 -05:00
Jacob Pease
37d2f3220e
Added a new spi controller design. Designed as a proof of concept to see if timing issues can be fixed. I intend to work it into existing SPI peripheral.
2024-10-29 10:30:08 -05:00
David Harris
1c1acc467e
Tweaked SPI to avoid breaking VCS, but the SCLK divider still doesn't produce the right frequency and SCLKenableEarly looks like it wouldn't work for SckDiv = 0
2024-10-26 02:01:09 -07:00
Rose Thompson
a4cda877ef
Fixed bit position of SPI fifo receive and transmit flags.
2024-10-21 14:52:40 -05:00
Rose Thompson
32624bc6ee
Relocated a logic in a file to avoid a future merge conflict.
2024-09-05 12:50:09 -07:00
Rose Thompson
005ea52b72
Added missing signal declaration for SPI.
2024-09-05 12:20:06 -07:00
Rose Thompson
ac047a04fa
Fixed bug in SPI with the help of Naiche and Jacob. Have yet to test
...
if SPI will now run correctly with div=0 (SYSTEMCLOCK/2), but the SPI
flash card now correctly loads into the Linux OS and mount and is
reading and writting without error.
2024-09-04 17:51:48 -07:00
naichewa
3b7661dfd5
SckDiv Zero bug fixes
2024-09-03 14:58:46 -07:00
Jacob Pease
938879c5a4
Update PREADY signal to not stall during transmission on reads to read only registers.
2024-08-21 12:39:01 -05:00
Jacob Pease
b7edffdfd4
Removed now inaccurate comments.
2024-08-20 16:38:15 -05:00
Jacob Pease
d8b75440b6
With Naiche's help, we fixed the SPI controllers clock polarity and phase settings. Added conditions to the SPI regression tests.
2024-08-20 16:24:37 -05:00
Jacob Pease
43b17b5058
Update SPI peripheral to accept writes to FIFO always. Worked on this together with Naiche and Rose.
2024-08-20 14:40:50 -05:00
Jacob Pease
11a057b0b3
Updated wally source files for zsbl testing.
2024-08-02 15:33:57 -05:00
Jacob Pease
336a413f31
Added ability to split boot.memfile into boot.mem and data.mem.
2024-07-25 11:19:15 -05:00
Jacob Pease
f1cc7dd5a3
Fixed verilog bugs.
2024-07-23 17:26:39 -05:00
Jacob Pease
a506d76149
Removed the old SDC. Added a second SPI peripheral that now will be used to control the SD card. SPI peripheral now outputs SPICLK. Removed references to the now non-existent external SDC in uncore. Removed all of the AXI Xilinx IP.
2024-07-22 12:36:39 -05:00
Ross Thompson
7f0ba87231
Updated comments in uart.
2024-06-19 13:51:30 -07:00
David Harris
cb563e8018
Clean up unused signals
2024-06-18 08:07:14 -07:00
David Harris
c1fd7a9589
Removed unused signals
2024-06-18 07:28:52 -07:00
David Harris
3fa37b0233
Lint cleanup
2024-06-18 06:15:17 -07:00
David Harris
7509e856df
Removed asynchronous reset causing lint issue in peripherals
2024-06-18 05:49:12 -07:00
David Harris
4a4bbdfc43
More code cleanup
2024-06-14 09:50:07 -07:00
David Harris
53477b2c85
Code cleanup
2024-06-14 07:08:17 -07:00
David Harris
8f09240e6c
Simplified outdated documentation pointers
2024-06-14 03:42:15 -07:00
David Harris
3f195884e9
Defined bit sizes more precisely to help VCS lint and conform to coding style
2024-04-21 08:40:11 -07:00
David Harris
0419b5484a
parameterized register names in peripherals
2024-04-21 07:43:01 -07:00
slmnemo
39ae26a897
Added documentation for known Verilator hierarchy bug
2024-04-15 15:58:09 -07:00
slmnemo
4b80457f3e
Fixed issue with Verilator hierarchical referencing by changing module names, moved run-imperas-linux to correct directory
2024-04-12 21:58:20 -07:00
David Harris
79cccfca82
Progress toward run_vcs
2024-04-03 14:05:07 -07:00
Kunlin Han
22b59138f0
Remove all #delay from non-testbench.
2024-03-16 11:20:32 -07:00
Kunlin Han
8c67a76912
Remove all #delay from non-testbench.
2024-03-13 10:31:40 -07:00