public override void Establish(IAutoBinder binder) { if (_realized) { return; } _inSignals = _argWidths.Select((w, i) => (SLVSignal)binder.GetSignal(EPortUsage.Default, "concat" + i, null, StdLogicVector.Us(w))).ToArray(); int total = _argWidths.Sum(); _outSignal = (SLVSignal)binder.GetSignal(EPortUsage.Default, "concout", null, StdLogicVector.Us(total)); var pb = new ConcatProcessBuilder(this); var alg = pb.GetAlgorithm(); alg.Name = "concatenize"; binder.CreateProcess(Process.EProcessKind.Triggered, alg, _inSignals.Select(s => s.Descriptor).ToArray()); _realized = true; }
public override void Establish(IAutoBinder binder) { if (_realized) return; _inSignals = _argWidths.Select((w, i) => (SLVSignal)binder.GetSignal(EPortUsage.Default, "concat" + i, null, StdLogicVector.Us(w))).ToArray(); int total = _argWidths.Sum(); _outSignal = (SLVSignal)binder.GetSignal(EPortUsage.Default, "concout", null, StdLogicVector.Us(total)); var pb = new ConcatProcessBuilder(this); var alg = pb.GetAlgorithm(); alg.Name = "concatenize"; binder.CreateProcess(Process.EProcessKind.Triggered, alg, _inSignals.Select(s => s.Descriptor).ToArray()); _realized = true; }