public override IEnumerable <TAVerb> DoNothing() { yield return(Verb(ETVMode.Locked, _brAltFlagP.Drive(SignalSource.Create <StdLogicVector>("0")), _brAltFlagN.Drive(SignalSource.Create <StdLogicVector>("1")), GetNilDriver())); }
public IEnumerable <TAVerb> StelemFixA(ISignalSource <StdLogicVector> addr, ISignalSource <StdLogicVector> data) { Contract.Requires(NeedWriteAccess); yield return(Verb(ETVMode.Locked, _wrEnI.Stick(StdLogic._1), _addrI.Drive(addr), _dataInI.Drive(data))); }
public IEnumerable <TAVerb> LdelemFixA(ISignalSource <StdLogicVector> addr, ISignalSink <StdLogicVector> data) { if (_wrEnI != null) { // Memory used as RAM yield return(Verb(ETVMode.Locked, _wrEnI.Stick(StdLogic._0), _addrI.Drive(addr), _dataInI.Stick(StdLogicVector._0s(_dataBits)))); } else { // Memory used as ROM yield return(Verb(ETVMode.Locked, _addrI.Drive(addr))); } yield return(Verb(ETVMode.Shared, data.Comb.Connect(_dataOutI.AsSignalSource <StdLogicVector>()))); }
public IEnumerable <TAVerb> Write(ISignalSource <StdLogicVector> data) { var fref = _literal as FieldRef; if (fref != null) { if (!fref.FieldDesc.IsWrittenInCurrentContext(Host.Context)) { throw new InvalidOperationException("Field is marked as not being written"); } } yield return(Verb(ETVMode.Locked, _wrEnI.Stick(StdLogic._1), _dataInI.Drive(data))); }