package spi;
+ import AXI4_Lite_Types :: *;
+ import AXI4_Lite_Fabric :: *;
+ import GetPut::*;
import qspi::*;
+ `include "instance_defines.bsv"
+
(*always_ready, always_enabled*)
interface SPI_out;
interface Get#(Bit#(1)) clk_o;
- interface Get#(Bit#(1)) io_out;
method Bit#(9) io0_sdio_ctrl;
method Bit#(9) io1_sdio_ctrl;
// index 0 is MOSI, index 1 is MISO.
+ interface Get#(Bit#(2)) io_out;
interface Get#(Bit#(2)) io_out_en;
interface Put#(Bit#(2)) io_in;
interface Get#(Bit#(1)) ncs_o;
Ifc_qspi qspi <- mkqspi();
- interface SPI_out out;
+ interface out = interface SPI_out
method Bit#(9) io0_sdio_ctrl;
return qspi.out.io0_sdio_ctrl;
endmethod
endinterface;
interface io_in = interface Put
method Action put(Bit#(2) in);
- Bit(#4) temp = { 0, 0, in[1], in[0] };
+ Bit#(4) temp;
+ temp[3] = 0;
+ temp[2] = 0;
+ temp[1] = in[1];
+ temp[0] = in[0];
qspi.out.io_in(temp);
endmethod
endinterface;
interface clk_o = qspi.out.clk_o;
- interface io_out = qspi.out.io_out;
- interface io_out_en = qspi.out.io_out_en;
- interface io_in = qspi.out.io_in;
interface ncs_o = qspi.ncs_o;
- endinterface
+ endinterface;
interface slave = qspi.slave;
return qspi.interripts;
endmethod
+ endmodule
endpackage