1. 功能理解
本设计实现一套面向 Winbond W25Q128JV 的 FPGA QSPI Flash 控制器,在 50 MHz 系统时钟下,通过标准 SPI/QSPI 时序完成 Flash 的读、写、擦除操作。
本次优化重点如下:
| 读操作去除多余 WIP 轮询 | 降低读延迟,读事务完成后直接回到空闲 |
| 复位采用异步断言、同步释放 | 降低复位释放亚稳态风险 |
| sclk_en 高扇出信号加寄存器复制属性 | 改善综合布局布线后的高扇出时序 |
| WIP 采样改为逐 bit 串行移位 | 更符合 SPI 状态寄存器协议 |
| flash_ctrl 增加 WIP 超时计数器 | 防止 Flash 异常忙导致系统死锁 |
系统采用三层结构:
用户逻辑
|
| ctrl_valid / ctrl_ready / ctrl_op / ctrl





