module spi_slave ( //system port input clk // System Main Clock ,input rstn // Spi Reset active low //spi port ,input sclk // Spi Clock ,input csn // Spi Chip Select active low ,input mosi // Spi Mosi ,output miso // Spi Miso ,output miso_oen // Spi Miso output enable //awg read and write signals ,output error_check ); wire [31 :0] wrdata ; wire wren ; wire [24 :0] rwaddr ; wire rden ; wire [31 :0] rddata ; ////////////////////////////////////////////////////////////////////////// //spi_interface inst ////////////////////////////////////////////////////////////////////////// spi_to_sram spi_to_sram_inst ( //system port .clk ( clk ) ,.spi_rstn ( rstn ) //spi port ,.sclk ( sclk ) ,.csn ( csn ) ,.mosi ( mosi ) ,.miso ( miso ) ,.miso_oen ( miso_oen ) ,.error_check ( error_check ) //data & cmd port //output ,.addr ( rwaddr ) ,.wren ( wren ) ,.wrdata ( wrdata ) ,.rden ( rden ) ,.rddata ( rddata ) ); ////////////////////////////////////////////////////////////////////////// //sram ////////////////////////////////////////////////////////////////////////// spram_model #( .width(32), .depth(33554432)//2^25 )spram_model_inst( .clka(clk) ,.ena(wren) ,.dina(wrdata) ,.addra(rwaddr) ,.clkb(clk) ,.enb(rden) ,.doutb(rddata) ,.addrb(rwaddr) ); endmodule