On 5/12/2021 at 11:12 AM, Ed Minchau said:
That doesn't make much sense to me; if the data is already on VERA and destined for VERA, why route it through a CPU only 1/3 as fast instead of keeping it on the FPGA?
The FPGA isn't a microcontroller, it's implementing hardware. It's not like the FPGA is emulating an SPI port and so it "has" the data and then "puts it out" ... it is a programmed circuit that IS an SPI port. The SPI port is just a shift register with a carry line that puts out the serial bit from one side of the register onto the MOSI line and latches the serial bit to the other side of the register from the MISO line, shifting across one bit for every clock pulse, all at the correct clock phases to work with the SD-card SPI mode. It makes the contents of the SPI available on the data lines when the "data register" is selected, and when the "control register" is selected, it offers select and speed control and a "ready" bit to find out when 8 clock pulses have completed.
An SPI circuit won't be using much of the FPGA logic resources ... it's such a simple circuit it can be implemented on a fairly small CPLD. That's why SD cards HAVE an SPI mode ... because from the start they were intended for popping into things that didn't necessarily have a full fledged modern computer inside, then popping them out and putting them into a reader connected to a PC to access the pictures or sound files or whatever.
Since the SPI circuit doesn't use the RAM bundled into the FPGA, the data never touches that RAM unless the CPU puts it there.
If you want things timed according to the actual CX16 timing, you need to use data in the SD filesystem.
_________________
On 5/12/2021 at 4:55 PM, Scott Robison said:
I've read some posts that indicated that the existing functionality pretty much maxes out the current FPGA when someone suggested more video RAM, and that the next size up would increase the cost.
The reality is that there is always something more than could be done with an FPGA if you just had more logic blocks or more IO pins or more interconnects or whatever, but those increase the cost, and this is already costing more than I believe was originally desired (though they can likely bring the price down in the future, I believe is the plan).
Oh my goodness yes! Replicating what the CPU does to get data off of the SD card would require a co-processor on the FPGA, which would be many multiples of the logic slices as what is required to implement a simple single-byte, single-mode, two clock speed SPI port.