示例#1
0
        public IXILMapping TryAllocate(Component host, XILInstr instr, TypeDescriptor[] operandTypes, TypeDescriptor[] resultTypes, IProject proj)
        {
            StdLogicVector constSLV;

            if (!TryGetConstSLV(instr, resultTypes[0], out constSLV))
            {
                return(null);
            }

            var clts = new ConstLoadingTransactionSite(host, constSLV, CreateSignalsForConstants);

            return(new ConstLoadingXILMapping(clts));
        }
示例#2
0
        public IEnumerable <IXILMapping> TryMap(ITransactionSite taSite, XILInstr instr, TypeDescriptor[] operandTypes, TypeDescriptor[] resultTypes)
        {
            StdLogicVector constSLV;

            if (!TryGetConstSLV(instr, resultTypes[0], out constSLV))
            {
                yield break;
            }

            var fu = taSite.Host;
            ConstLoadingTransactionSite clts = new ConstLoadingTransactionSite(fu, constSLV, CreateSignalsForConstants);

            yield return(new ConstLoadingXILMapping(clts));
        }
示例#3
0
 /// <summary>
 /// Constructs a new instance.
 /// </summary>
 /// <param name="site">transaction site</param>
 public ConstLoadingXILMapping(ConstLoadingTransactionSite site)
 {
     _site = site;
 }
示例#4
0
        public IXILMapping TryAllocate(Component host, XILInstr instr, TypeDescriptor[] operandTypes, TypeDescriptor[] resultTypes, IProject proj)
        {
            StdLogicVector constSLV;
            if (!TryGetConstSLV(instr, resultTypes[0], out constSLV))
                return null;

            var clts = new ConstLoadingTransactionSite(host, constSLV, CreateSignalsForConstants);
            return new ConstLoadingXILMapping(clts);
        }
示例#5
0
        public IEnumerable<IXILMapping> TryMap(ITransactionSite taSite, XILInstr instr, TypeDescriptor[] operandTypes, TypeDescriptor[] resultTypes)
        {
            StdLogicVector constSLV;
            if (!TryGetConstSLV(instr, resultTypes[0], out constSLV))
                yield break;

            var fu = taSite.Host;
            ConstLoadingTransactionSite clts = new ConstLoadingTransactionSite(fu, constSLV, CreateSignalsForConstants);
            yield return new ConstLoadingXILMapping(clts);
        }
示例#6
0
 /// <summary>
 /// Constructs a new instance.
 /// </summary>
 /// <param name="site">transaction site</param>
 public ConstLoadingXILMapping(ConstLoadingTransactionSite site)
 {
     _site = site;
 }