AXI总线专题-AXI转SPI(接口)
目录
简介
接口设计
详细设计
简介
上一篇文件介绍完了AXI总线专SPI的读写驱动,这篇将是AXI转SPI的完结篇,讲述接口。
总体方案复习

接口设计
接口分为两部分设计,一部分是SPI硬件接口,一部分是内部接口
SPI接口设计如下
// spi
output reg sck,
output reg sen,
output reg sdi,
output reg sdi_t,
input sdo
内部接口设计如下
internal interface
input [T_WIDTH-1:0] din_tdata,
input din_tvalid,
output reg din_tready,
output [T_WIDTH-1:0] dout_tdata,
output reg dout_tvalid,
input dout_tready,
详细设计
状态机设计
localparam state_rst = 5'b00001,
state_idle = 5'b00010,
state_cmd_proc = 5'b00100,
state_data_proc = 5'b01000,
state_dout = 5'b10000;
分别为,复位,空闲,命令,数据,数据读出
然后再设计相应状态机的寄存器输出状态
case (curr_state)
state_rst: begin
sen_reg sdi_reg din_reg is_rd stp_cnt dout_tvalid din_tready
end
最后是SDO的部分代码
always @ (posedge clk) begin
if (rst || (stp_cnt == 0)) begin
sdo_valid sdo_reg
end
else begin
if (div_cnt == SDO_DLY) begin
sdo_reg sdo_valid
end
else begin
end
end
end
