Package com.cburch.logisim.instance

Examples of com.cburch.logisim.instance.Port


                } else {
                    end0 = Location.create(x, -30);
                    end1 = Location.create(x, -10);
                }
            }
            ps[0] = new Port(end0.getX(), end0.getY(), Port.OUTPUT, 1);
            ps[1] = new Port(end1.getX(), end1.getY(), Port.OUTPUT, 1);
        } else {
            int dx;
            int ddx;
            int dy;
            int ddy;
            if (facing == Direction.NORTH || facing == Direction.SOUTH) {
                dy = facing == Direction.NORTH ? -20 : 20;
                ddy = 0;
                dx = selectLoc == Plexers.SELECT_TOP_RIGHT ? -10 * outputs : 0;
                ddx = 10;
            } else {
                dx = facing == Direction.WEST ? -20 : 20;
                ddx = 0;
                dy = selectLoc == Plexers.SELECT_TOP_RIGHT ? 0 : -10 * outputs;
                ddy = 10;
            }
            for (int i = 0; i < outputs; i++) {
                ps[i] = new Port(dx, dy, Port.OUTPUT, 1);
                dx += ddx;
                dy += ddy;
            }
        }
        Location en = Location.create(0, 0).translate(facing, -10);
        ps[outputs] = new Port(0, 0, Port.INPUT, select.getWidth());
        if (enable) {
            ps[outputs + 1] = new Port(en.getX(), en.getY(), Port.INPUT, BitWidth.ONE);
        }
        for (int i = 0; i < outputs; i++) {
            ps[i].setToolTip(getFromLocale("decoderOutTip", "" + i));
        }
        ps[outputs].setToolTip(getFromLocale("decoderSelectTip"));
View Full Code Here


        Object size = instance.getAttributeValue(ATTR_SIZE);
        Direction facing = instance.getAttributeValue(StdAttr.FACING);
        int dx = size == SIZE_NARROW ? -20 : -30;

        Port[] ports = new Port[2];
        ports[0] = new Port(0, 0, Port.OUTPUT, StdAttr.WIDTH);
        Location out = Location.create(0, 0).translate(facing, dx);
        ports[1] = new Port(out.getX(), out.getY(), Port.INPUT, StdAttr.WIDTH);
        instance.setPorts(ports);
    }
View Full Code Here

                    GateAttributes.OUTPUT_01, "", StdAttr.DEFAULT_LABEL_FONT });
        setIcon(Icons.getIcon("bufferGate.svg"));
        setFacingAttribute(StdAttr.FACING);
        setKeyConfigurator(new BitWidthConfigurator(StdAttr.WIDTH));
        setPorts(new Port[] {
                new Port(0, 0, Port.OUTPUT, StdAttr.WIDTH),
                new Port(0, -20, Port.INPUT, StdAttr.WIDTH),
        });
    }
View Full Code Here

    private void configurePorts(Instance instance) {
        Direction facing = instance.getAttributeValue(StdAttr.FACING);

        Port[] ports = new Port[2];
        ports[0] = new Port(0, 0, Port.OUTPUT, StdAttr.WIDTH);
        Location out = Location.create(0, 0).translate(facing, -20);
        ports[1] = new Port(out.getX(), out.getY(), Port.INPUT, StdAttr.WIDTH);
        instance.setPorts(ports);
    }
View Full Code Here

    protected void configureNewInstance(Instance instance) {
        configurePorts(instance);
    }

    void configureStandardPorts(Instance instance, Port[] ps) {
        ps[DATA] = new Port(   00, Port.INOUT, DATA_ATTR);
        ps[ADDR] = new Port(-1400, Port.INPUT, ADDR_ATTR);
        ps[CS]   = new Port( -90, 40, Port.INPUT, 1);
        ps[DATA].setToolTip(getFromLocale("memDataTip"));
        ps[ADDR].setToolTip(getFromLocale("memAddrTip"));
        ps[CS].setToolTip(getFromLocale("memCSTip"));
    }
View Full Code Here

        setIconName("register.svg");
        setInstancePoker(RegisterPoker.class);
        setInstanceLogger(RegisterLogger.class);

        Port[] ps = new Port[5];
        ps[OUT] = new Port00, Port.OUTPUT, StdAttr.WIDTH);
        ps[IN= new Port(-300, Port.INPUT, StdAttr.WIDTH);
        ps[CK= new Port(-20, 20, Port.INPUT, 1);
        ps[CLR] = new Port(-10, 20, Port.INPUT, 1);
        ps[EN= new Port(-30, 10, Port.INPUT, 1);
        ps[OUT].setToolTip(getFromLocale("registerQTip"));
        ps[IN].setToolTip(getFromLocale("registerDTip"));
        ps[CK].setToolTip(getFromLocale("registerClkTip"));
        ps[CLR].setToolTip(getFromLocale("registerClrTip"));
        ps[EN].setToolTip(getFromLocale("registerEnableTip"));
View Full Code Here

        }

        Port[] ps = new Port[portCount];

        configureStandardPorts(instance, ps);
        ps[OE= new Port(-50, 40, Port.INPUT, 1);
        ps[OE].setToolTip(getFromLocale("ramOETip"));
        ps[CLR] = new Port(-30, 40, Port.INPUT, 1);
        ps[CLR].setToolTip(getFromLocale("ramClrTip"));
        if (!asynch) {
            ps[CLK] = new Port(-70, 40, Port.INPUT, 1);
            ps[CLK].setToolTip(getFromLocale("ramClkTip"));
        }
        if (separate) {
            ps[WE] = new Port(-110, 40, Port.INPUT, 1);
            ps[WE].setToolTip(getFromLocale("ramWETip"));
            ps[DIN] = new Port(-140, 20, Port.INPUT, DATA_ATTR);
            ps[DIN].setToolTip(getFromLocale("ramInTip"));
        } else {
            ps[DATA].setToolTip(getFromLocale("ramBusTip"));
        }
        instance.setPorts(ps);
View Full Code Here

        setInstancePoker(Poker.class);
        setInstanceLogger(Logger.class);

        Port[] ps = new Port[numInputs + STD_PORTS];
        if (numInputs == 1) {
            ps[0] = new Port(-40, 20, Port.INPUT, 1);
            ps[1] = new Port(-400, Port.INPUT, 1);
        } else if (numInputs == 2) {
            ps[0] = new Port(-400, Port.INPUT, 1);
            ps[1] = new Port(-40, 20, Port.INPUT, 1);
            ps[2] = new Port(-40, 10, Port.INPUT, 1);
        } else {
            throw new RuntimeException("flip-flop input > 2");
        }
        ps[numInputs + 1] = new Port00, Port.OUTPUT, 1);
        ps[numInputs + 2] = new Port0, 20, Port.OUTPUT, 1);
        ps[numInputs + 3] = new Port(-10, 30, Port.INPUT,  1);
        ps[numInputs + 4] = new Port(-30, 30, Port.INPUT,  1);
        ps[numInputs + 5] = new Port(-20, 30, Port.INPUT,  1);
        ps[numInputs].setToolTip(getFromLocale("flipFlopClockTip"));
        ps[numInputs + 1].setToolTip(getFromLocale("flipFlopQTip"));
        ps[numInputs + 2].setToolTip(getFromLocale("flipFlopNotQTip"));
        ps[numInputs + 3].setToolTip(getFromLocale("flipFlopResetTip"));
        ps[numInputs + 4].setToolTip(getFromLocale("flipFlopPresetTip"));
View Full Code Here

        setIconName("ground.svg");
        setAttributes(new Attribute[] { StdAttr.FACING, StdAttr.WIDTH },
                new Object[] { Direction.SOUTH, BitWidth.ONE });
        setFacingAttribute(StdAttr.FACING);
        setKeyConfigurator(new BitWidthConfigurator(StdAttr.WIDTH));
        setPorts(new Port[] { new Port(0, 0, Port.OUTPUT, StdAttr.WIDTH) });
    }
View Full Code Here

            i++;
            Location loc = portLoc.getKey();
            Instance pin = portLoc.getValue();
            String type = Pin.FACTORY.isInputPin(pin) ? Port.INPUT : Port.OUTPUT;
            BitWidth width = pin.getAttributeValue(StdAttr.WIDTH);
            ports[i] = new Port(loc.getX(), loc.getY(), type, width);
            pins[i] = pin;

            String label = pin.getAttributeValue(StdAttr.LABEL);
            if (label != null && label.length() > 0) {
                ports[i].setToolTip(StringUtil.constantGetter(label));
View Full Code Here

TOP

Related Classes of com.cburch.logisim.instance.Port

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.