示例#1
0
        public IXILMapping TryAllocate(Component host, XILInstr instr, TypeDescriptor[] operandTypes, TypeDescriptor[] resultTypes, IProject proj)
        {
            if (!instr.Name.Equals(InstructionCodes.RdPort))
            {
                return(null);
            }

            var tgPort = (ISignalOrPortDescriptor)instr.Operand;

            if (!tgPort.Owner.Equals(host.Descriptor))
            {
                return(null);
            }

            var ts = new DirectPortReadTransactionSite(host, tgPort);

            return(TryMap(ts, instr, operandTypes, resultTypes).SingleOrDefault());
        }
示例#2
0
 public ConvProcessBuilder(DirectPortReadTransactionSite taSite)
 {
     _taSite = taSite;
 }
示例#3
0
 /// <summary>
 /// Constructs a new instance.
 /// </summary>
 /// <param name="host">hosting component</param>
 /// <param name="taSite">implementing transaction site</param>
 public DirectPortReadXILMapping(Component host, DirectPortReadTransactionSite taSite)
 {
     _host   = host;
     _taSite = taSite;
 }