@@ -1004,12 +1004,12 @@ def __init__(self, m, name, clk, rst, datawidth=32, addrwidth=32,
10041004 self .outstanding_wcount = self .m .TmpReg (self .outstanding_wcount_width , initval = 0 ,
10051005 prefix = 'outstanding_wcount' )
10061006
1007- self .seq .If (vtypes .Ands (self .wdata . wvalid , self .wdata . wready ),
1007+ self .seq .If (vtypes .Ands (self .waddr . awvalid , self .waddr . awready ),
10081008 vtypes .Not (vtypes .Ands (self .wresp .bvalid , self .wresp .bready )),
1009- self .outstanding_wcount < ( 2 ** self .outstanding_wcount_width - 1 ) )(
1009+ self .outstanding_wcount < 2 ** self .outstanding_wcount_width - 1 )(
10101010 self .outstanding_wcount .inc ()
10111011 )
1012- self .seq .If (vtypes .Not (vtypes .Ands (self .wdata . wvalid , self .wdata . wready )),
1012+ self .seq .If (vtypes .Not (vtypes .Ands (self .waddr . awvalid , self .waddr . awready )),
10131013 vtypes .Ands (self .wresp .bvalid , self .wresp .bready ),
10141014 self .outstanding_wcount > 0 )(
10151015 self .outstanding_wcount .dec ()
@@ -1043,6 +1043,10 @@ def disable_read(self):
10431043
10441044 self ._read_disabled = True
10451045
1046+ def write_acceptable (self ):
1047+ """ AXI-Lite Master must not issue any request until the previous request is completed."""
1048+ return self .outstanding_wcount == 0
1049+
10461050 def write_request (self , addr , length = 1 , cond = None ):
10471051 """
10481052 @return ack
@@ -1086,8 +1090,7 @@ def write_data(self, data, cond=None):
10861090 if cond is not None :
10871091 self .seq .If (cond )
10881092
1089- ack = vtypes .Ands (self .write_acceptable (),
1090- vtypes .Ors (self .wdata .wready , vtypes .Not (self .wdata .wvalid )))
1093+ ack = vtypes .Ors (self .wdata .wready , vtypes .Not (self .wdata .wvalid ))
10911094
10921095 self .seq .If (ack )(
10931096 self .wdata .wdata (data ),
0 commit comments