今天给大侠带来FPGA设计中,对SPI进行参数化结构设计,话不多说,上货。
为了避免每次SPI驱动重写,直接参数化,尽量一劳永逸。SPI master有啥用呢,你发现各种外围芯片的配置一般都是通过SPI配置的,只不过有三线和四线。SPI slave有什么用呢,当外部主机(cpu)要读取FPGA内部寄存器值,那就很有用了,FPGA寄存器就相当于RAM,cpu通过SPI寻址读写数据。代码仅供参考,勿做商业用途。
SPI salve
SPI salve支持功能:
-
支持三线SPI或者四线SPI。通过define切换。
-
支持指令长度、帧长自定义。
-
工作时钟可自定义,大于SPI clk的2倍。