我有一个FPGA板,其中包含许多有关片上存储器(RAM)的信息。因为我想在计算机上获取这些数据,所以我正在VHDL中制作一个SPI从设备。 我的计算机将通过SPI将以下格式的字节发送到FPGA(首先是MSB):
如果该字节是写指令,则第二个字节紧随第一个字节,表示要存储的数据。
如果该字节是一条读指令,我不知道如何使用SPI实现高速,因为仅在一个SCLK周期中,我需要根据发送的地址获取RAM中的数据。而且我已经有来自同步器的延迟(以防止SPI时钟和FPGA时钟之间的亚稳定性问题)。
假设我处于SPI模式0。在最后一个上升沿,我对从主机接收的第8位进行采样。在接下来的下降沿,我必须将内存值的第一位放在MISO上。同步器涉及2 fpga时钟周期等待时间,并访问存储器1 fpga时钟周期。 如果我的FPGA时钟为50 MHz,我想不可能使用50 /(2 * 3)= 8.3 MHz的SPI时钟读取数据。我对么 ?有什么解决方案可以在+15 MHz的频率上运行吗?