public IXILMapping TryAllocate(Component host, XILInstr instr, TypeDescriptor[] operandTypes, TypeDescriptor[] resultTypes, IProject targetProject) { if (instr.Name != InstructionCodes.Abs) { return(null); } var operandFormat = operandTypes[0].GetFixFormat(); if (operandFormat == null) { return(null); } var resultFormat = resultTypes[0].GetFixFormat(); if (resultFormat == null) { return(null); } if (operandFormat.FracWidth != resultFormat.FracWidth) { return(null); } var fu = new FixedAbs( operandFormat.TotalWidth, resultFormat.TotalWidth, ComputeLatency(operandFormat.TotalWidth, resultFormat.TotalWidth)); return(new AbsMapping(fu)); }
public TASiteImpl(FixedAbs host) : base(host) { _host = host; }
public IXILMapping TryAllocate(Component host, XILInstr instr, TypeDescriptor[] operandTypes, TypeDescriptor[] resultTypes, IProject targetProject) { if (instr.Name != InstructionCodes.Abs) return null; var operandFormat = operandTypes[0].GetFixFormat(); if (operandFormat == null) return null; var resultFormat = resultTypes[0].GetFixFormat(); if (resultFormat == null) return null; if (operandFormat.FracWidth != resultFormat.FracWidth) return null; var fu = new FixedAbs( operandFormat.TotalWidth, resultFormat.TotalWidth, ComputeLatency(operandFormat.TotalWidth, resultFormat.TotalWidth)); return new AbsMapping(fu); }
public AbsMapping(FixedAbs fu) { _fu = fu; }