@@ -55,23 +55,23 @@ def elaborate(self, platform):
5555 - ctrl_bus is the original 32-bit control register
5656 - data_bus is a bus peripheral that directly maps the 16MB of read-only flash memory.
5757 """
58- def __init__ (self , * , name , flash ):
59- self .flash = flash
58+ def __init__ (self , flash ):
6059 self .size = 2 ** 24
6160 size_words = (self .size * 8 ) // 32
6261
6362 super ().__init__ ({
63+ "qspi" : Out (QSPIPins .Signature ()),
6464 "ctrl_bus" : In (csr .Signature (addr_width = exact_log2 (4 ), data_width = 8 )),
6565 "data_bus" : In (wishbone .Signature (addr_width = exact_log2 (size_words ), data_width = 32 ,
6666 granularity = 8 )),
6767 })
6868
6969 ctrl_memory_map = MemoryMap (addr_width = exact_log2 (4 ), data_width = 8 )
70- ctrl_memory_map .add_resource (name = ( name ,) , size = 4 , resource = self )
70+ ctrl_memory_map .add_resource (name = "spimemio" , size = 4 , resource = self )
7171 self .ctrl_bus .memory_map = ctrl_memory_map
7272
7373 data_memory_map = MemoryMap (addr_width = exact_log2 (self .size ), data_width = 8 )
74- data_memory_map .add_resource (name = ( name ,) , size = self .size , resource = self )
74+ data_memory_map .add_resource (name = "spimemio" , size = self .size , resource = self )
7575 self .data_bus .memory_map = data_memory_map
7676
7777 def elaborate (self , platform ):
@@ -90,17 +90,17 @@ def elaborate(self, platform):
9090 "o_ready" : spi_ready ,
9191 "i_addr" : Cat (Const (0 , 2 ), self .data_bus .adr ), # Hack to force a 1MB offset
9292 "o_rdata" : self .data_bus .dat_r ,
93- "o_flash_csb" : self .flash .csn .o ,
94- "o_flash_clk" : self .flash .clk .o ,
93+ "o_flash_csb" : self .qspi .csn .o ,
94+ "o_flash_clk" : self .qspi .clk .o ,
9595 "i_cfgreg_we" : ctrl_bridge .cfgreg_we ,
9696 "i_cfgreg_di" : ctrl_bridge .cfgreg_di ,
9797 "o_cfgreg_do" : ctrl_bridge .cfgreg_do ,
9898 } | {
99- f"o_flash_io{ n } _oe" : getattr (self .flash , f"d{ n } " ).oe for n in range (4 )
99+ f"o_flash_io{ n } _oe" : getattr (self .qspi , f"d{ n } " ).oe for n in range (4 )
100100 } | {
101- f"o_flash_io{ n } _o" : getattr (self .flash , f"d{ n } " ).o for n in range (4 )
101+ f"o_flash_io{ n } _o" : getattr (self .qspi , f"d{ n } " ).o for n in range (4 )
102102 } | {
103- f"o_flash_io{ n } _i" : getattr (self .flash , f"d{ n } " ).i for n in range (4 )
103+ f"o_flash_io{ n } _i" : getattr (self .qspi , f"d{ n } " ).i for n in range (4 )
104104 }
105105
106106 m .submodules .spimemio = Instance ("spimemio" , ** verilog_map )
0 commit comments