Exemplo n.º 1
0
            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)));
            }
Exemplo n.º 2
0
            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>())));
            }