WiredX

model WiredX "Wired node with multiple input and one output"
    extends D.Interfaces.MISO;

protected
    D.Interfaces.Logic auxiliary[n](each start = L.'Z', each fixed = true);
equation
    for i in 1:n - 1 loop
        auxiliary[i + 1] = D.Tables.ResolutionTable[auxiliary[i],x[i + 1]];
    end for;
    y = pre(auxiliary[n]);
    auxiliary[1] = x[1];

    annotation (
        Documentation(
            info = "<html>\n<p>\nWires n input signals in one output signal, without delay.\n</p>\n<p>Resolution table is given by http://www.cs.sfu.ca/~ggbaker/reference/std_logic/src/std_logic_misc.vhd</p>\n</html>",
            revisions = "<html>\n<ul>\n<li><em>January 22, 2010</em> created by Ulrich Donath<br>\n       </li>\n</ul>\n</html>"),
        Icon(
            coordinateSystem(
                preserveAspectRatio = true,
                extent = {
                    {-100, -100}, 
                    {100, 100}}),
            graphics = {
                Text(
                    extent = {
                        {-50, 40}, 
                        {50, 80}},
                    textString = "Wire"), 
                Text(
                    extent = {
                        {152, -160}, 
                        {-148, -100}},
                    lineColor = {0, 0, 255},
                    textString = "%name")}));
end WiredX;