public IEnumerable <TAVerb> StelemFixAFixI(ISignalSource <StdLogicVector> data, long[] indices) { Contract.Requires(NeedWriteAccess); yield return(Verb(ETVMode.Locked, _wrEnI.Stick(StdLogic._1), _addrI.Stick(StdLogicVector.FromULong((ulong)indices[0], _addrBits)), _dataInI.Drive(data))); }
public IEnumerable <TAVerb> LdelemFixAFixI(ISignalSink <StdLogicVector> data, long[] indices) { if (_wrEnI != null) { // Memory used as RAM yield return(Verb(ETVMode.Locked, _wrEnI.Stick(StdLogic._0), _addrI.Stick(StdLogicVector.FromULong((ulong)indices[0], _addrBits)), _dataInI.Stick(StdLogicVector._0s(_dataBits)))); } else { // Memory used as ROM yield return(Verb(ETVMode.Locked, _addrI.Stick(StdLogicVector.FromULong((ulong)indices[0], _addrBits)))); } yield return(Verb(ETVMode.Shared, data.Comb.Connect(_dataOutI.AsSignalSource <StdLogicVector>()))); }