SPI_Test/tb/testbench/rtl/spi_slave.v

71 lines
2.2 KiB
Coq
Raw Normal View History

2024-06-25 16:41:01 +08:00
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