commit
841a83a1ff
35
CHANGES.md
35
CHANGES.md
|
@ -7,19 +7,30 @@
|
|||
* Added VHDL and Verilog for the RAM component with line-enables
|
||||
* fixed clasic appearance shift-register bug
|
||||
* Added automatic custom Logisim library loading at startup.
|
||||
* Created unit tests for loading custom Logisim libraries at startup.
|
||||
* Updated documentation for the automatic loading of custom Logisim libraries.
|
||||
* New take on project export/import a zip-file is generated which can include a user provided "README.md".
|
||||
* Added Telnet component
|
||||
* Fixed TTY appearance bug while changing various zoom levels.
|
||||
* Added Metal graphics acceleration
|
||||
* Created unit tests for loading custom Logisim libraries at startup.
|
||||
* Updated documentation for the automatic loading of custom Logisim libraries.
|
||||
* New take on project export/import. A zip-file is generated which can include a user provided "README.md".
|
||||
* Added Telnet component.
|
||||
* Added Metal graphics acceleration option.
|
||||
* Added option to hide/show toolbar
|
||||
* Corrected appearance of NOT gates in TikZ/SVG image export
|
||||
* Corrected disjoint corners in arrow-style Pins
|
||||
* Improved output of rectangles with rounded corners in TikZ image export
|
||||
* Redesigned simulation engine to fix synchronization issues and increase speed
|
||||
* Subcircuits with clock input(s) are now drawn with a clock symbol
|
||||
* Added TTL 74194: 4-bit bidirectional universal shift register
|
||||
* Improved drawing appearance.
|
||||
* Fixed TTY appearance bug while changing various zoom levels.
|
||||
* Corrected appearance of NOT gates in TikZ/SVG image export.
|
||||
* Corrected disjoint corners in arrow-style Pins.
|
||||
* Improved output of rectangles with rounded corners in TikZ image export.
|
||||
* Fixed Undo/Redo issues.
|
||||
* Fixed Power-on-Reset propagation issue.
|
||||
* Redesigned simulation engine to fix synchronization issues and increase speed.
|
||||
* Fixed synchronization and efficiency issues in wires and propagation.
|
||||
* Fixed synchronization and efficiency issues in propagation listeners.
|
||||
* Limited redraws to about 20 frames per second to reduce overhead.
|
||||
* Allows users to choose a simulation queue, which changes the efficiency of the simulator depending on circuit design.
|
||||
* Simplified Type and Behavior attributes of Pins.
|
||||
* This change will break circuits with input pins that need to pull floating values to 0 but do not
|
||||
have the Pull Down setting. To fix it, set the Behavior attribute to Pull Down.
|
||||
* Updated Pin documentation.
|
||||
* Subcircuits with clock input(s) are now drawn with a clock symbol.
|
||||
* Added TTL 74194: 4-bit bidirectional universal shift register.
|
||||
|
||||
* v3.9.0 (2024-08-15)
|
||||
* Updated Java requirement to Java 21.
|
||||
|
|
|
@ -203,7 +203,7 @@ public class Analyze {
|
|||
v[b] = value ? Value.TRUE : Value.FALSE;
|
||||
}
|
||||
final var pinState = circuitState.getInstanceState(pin);
|
||||
Pin.FACTORY.setValue(pinState, Value.create(v));
|
||||
Pin.FACTORY.driveInputPin(pinState, Value.create(v));
|
||||
}
|
||||
|
||||
final var prop = circuitState.getPropagator();
|
||||
|
|
|
@ -472,7 +472,7 @@ public class Circuit {
|
|||
for (var i = 0; i < pin.length; ++i) {
|
||||
if (Pin.FACTORY.isInputPin(pin[i])) {
|
||||
final var pinState = state.getInstanceState(pin[i]);
|
||||
Pin.FACTORY.setValue(pinState, val[i]);
|
||||
Pin.FACTORY.driveInputPin(pinState, val[i]);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -702,7 +702,7 @@ public class CircuitState implements InstanceData {
|
|||
final var vOld = pin.getValue(state);
|
||||
final var vNew = ticks % 2 == 0 ? Value.FALSE : Value.TRUE;
|
||||
if (!vNew.equals(vOld)) {
|
||||
pin.setValue(state, vNew);
|
||||
pin.driveInputPin(state, vNew);
|
||||
markComponentAsDirty(temporaryClock);
|
||||
// If simulator is in single step mode, we want to hilight the
|
||||
// invalidated components (which are likely Pins, Buttons, or other
|
||||
|
|
|
@ -397,7 +397,7 @@ public class SubcircuitFactory extends InstanceFactory {
|
|||
final var newVal = stateInContext.getPortValue(i);
|
||||
final var oldVal = Pin.FACTORY.getValue(pinState);
|
||||
if (!newVal.equals(oldVal)) {
|
||||
Pin.FACTORY.setValue(pinState, newVal);
|
||||
Pin.FACTORY.driveInputPin(pinState, newVal);
|
||||
Pin.FACTORY.propagate(pinState);
|
||||
}
|
||||
} else { // it is output-only
|
||||
|
|
|
@ -40,7 +40,7 @@ public class DefaultCustomAppearance {
|
|||
Direction pinEdge;
|
||||
final var label = new Text(0, 0, pin.getAttributeValue(StdAttr.LABEL));
|
||||
final var labelWidth = label.getText().length() * DrawAttr.FIXED_FONT_CHAR_WIDTH;
|
||||
if (pin.getAttributeValue(Pin.ATTR_TYPE)) {
|
||||
if (pin.getAttributeValue(Pin.ATTR_TYPE) == Pin.OUTPUT) {
|
||||
pinEdge = Direction.EAST;
|
||||
if (labelWidth > maxRightLabelLength) maxRightLabelLength = labelWidth;
|
||||
} else {
|
||||
|
|
|
@ -49,7 +49,7 @@ public class DefaultEvolutionAppearance {
|
|||
Direction pinEdge;
|
||||
final var label = new Text(0, 0, pin.getAttributeValue(StdAttr.LABEL));
|
||||
final var labelWidth = label.getText().length() * DrawAttr.FIXED_FONT_CHAR_WIDTH;
|
||||
if (pin.getAttributeValue(Pin.ATTR_TYPE)) {
|
||||
if (pin.getAttributeValue(Pin.ATTR_TYPE) == Pin.OUTPUT) {
|
||||
pinEdge = Direction.EAST;
|
||||
if (labelWidth > maxRightLabelLength) maxRightLabelLength = labelWidth;
|
||||
} else {
|
||||
|
|
|
@ -122,7 +122,7 @@ public class DefaultHolyCrossAppearance {
|
|||
Direction pinEdge;
|
||||
final var labelString = pin.getAttributeValue(StdAttr.LABEL);
|
||||
final var labelWidth = textWidth(labelString);
|
||||
if (pin.getAttributeValue(Pin.ATTR_TYPE)) {
|
||||
if (pin.getAttributeValue(Pin.ATTR_TYPE) == Pin.OUTPUT) {
|
||||
pinEdge = Direction.EAST;
|
||||
if (labelWidth > maxRightLabelLength) {
|
||||
maxRightLabelLength = labelWidth;
|
||||
|
|
|
@ -175,6 +175,10 @@ public final class Value {
|
|||
return 10;
|
||||
}
|
||||
|
||||
public static Value repeat(Value base, BitWidth width) {
|
||||
return repeat(base, width.getWidth());
|
||||
}
|
||||
|
||||
public static Value repeat(Value base, int bits) {
|
||||
if (base.getWidth() != 1) {
|
||||
throw new IllegalArgumentException("first parameter must be one bit");
|
||||
|
|
|
@ -1032,6 +1032,71 @@ class XmlReader {
|
|||
repairForWiringLibrary(doc, root);
|
||||
repairForLegacyLibrary(doc, root);
|
||||
}
|
||||
|
||||
// Before version 4.0.0, Pin components had attributes:
|
||||
// output=true|false
|
||||
// tristate=true|false
|
||||
// pull=up|down (or missing)
|
||||
// These are now consolidated into two attributes:
|
||||
// type=input|output
|
||||
// behavior=simple|tristate|pullup|pulldown
|
||||
String wiringLibName = findLibNameByDesc(root, "#Wiring");
|
||||
for (final Element compElt : XmlIterator.forDescendantElements(root, "comp")) {
|
||||
convertObsoletePinAttributes(doc, compElt, wiringLibName);
|
||||
}
|
||||
for (final Element toolElt : XmlIterator.forDescendantElements(root, "tool")) {
|
||||
convertObsoletePinAttributes(doc, toolElt, wiringLibName);
|
||||
}
|
||||
}
|
||||
|
||||
private void convertObsoletePinAttributes(Document doc, Element elt, String wiringLibName) {
|
||||
final var lib = elt.getAttribute("lib");
|
||||
final var name = elt.getAttribute("name");
|
||||
if (name == null || lib == null || !name.equals("Pin") || !lib.equals(wiringLibName)) {
|
||||
return;
|
||||
}
|
||||
String output = null, tristate = null, pull = null, type = null, behavior = null;
|
||||
final var bad = new ArrayList<Element>();
|
||||
for (final var attrElt : XmlIterator.forChildElements(elt, "a")) {
|
||||
final var aname = attrElt.getAttribute("name");
|
||||
final var aval = attrElt.getAttribute("val");
|
||||
if ("output".equalsIgnoreCase(aname)) {
|
||||
output = aval;
|
||||
bad.add(attrElt);
|
||||
} else if ("tristate".equalsIgnoreCase(aname)) {
|
||||
tristate = aval;
|
||||
bad.add(attrElt);
|
||||
} else if ("pull".equalsIgnoreCase(aname)) {
|
||||
pull = aval;
|
||||
bad.add(attrElt);
|
||||
} else if ("type".equalsIgnoreCase(aname)) {
|
||||
type = aval;
|
||||
} else if ("behavior".equalsIgnoreCase(aname)) {
|
||||
behavior = aval;
|
||||
}
|
||||
}
|
||||
for (final var badElement : bad) {
|
||||
elt.removeChild(badElement);
|
||||
}
|
||||
if (type == null && output != null) {
|
||||
appendChildAttribute(doc, elt, "type", output.equalsIgnoreCase("true") ? "output" : "input");
|
||||
}
|
||||
if (behavior == null) {
|
||||
if ("up".equalsIgnoreCase(pull)) {
|
||||
appendChildAttribute(doc, elt, "behavior", "pullup");
|
||||
} else if ("down".equalsIgnoreCase(pull)) {
|
||||
appendChildAttribute(doc, elt, "behavior", "pulldown");
|
||||
} else if ("true".equalsIgnoreCase(tristate)) {
|
||||
appendChildAttribute(doc, elt, "behavior", "tristate");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private static void appendChildAttribute(Document doc, Element elt, String name, String val) {
|
||||
final var attr = doc.createElement("a");
|
||||
attr.setAttribute("name", name);
|
||||
attr.setAttribute("val", val);
|
||||
elt.appendChild(attr);
|
||||
}
|
||||
|
||||
private Document loadXmlFrom(InputStream is) throws SAXException, IOException {
|
||||
|
@ -1239,4 +1304,14 @@ class XmlReader {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
private static String findLibNameByDesc(Element root, String libdesc) {
|
||||
for (final var libElt : XmlIterator.forChildElements(root, "lib")) {
|
||||
final var desc = libElt.getAttribute("desc");
|
||||
final var name = libElt.getAttribute("name");
|
||||
if (name != null && desc != null && desc.equals(libdesc))
|
||||
return name;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -419,7 +419,7 @@ public class TtyInterface {
|
|||
v[b] = value ? Value.TRUE : Value.FALSE;
|
||||
}
|
||||
final var pinState = circuitState.getInstanceState(pin);
|
||||
Pin.FACTORY.setValue(pinState, Value.create(v));
|
||||
Pin.FACTORY.driveInputPin(pinState, Value.create(v));
|
||||
valueMap.put(pin, Value.create(v));
|
||||
}
|
||||
|
||||
|
|
|
@ -707,8 +707,8 @@ public class CircuitBuilder {
|
|||
final var factory = Pin.FACTORY;
|
||||
final var attrs = factory.createAttributeSet();
|
||||
attrs.setValue(StdAttr.FACING, Direction.EAST);
|
||||
attrs.setValue(Pin.ATTR_TYPE, Boolean.FALSE);
|
||||
attrs.setValue(Pin.ATTR_TRISTATE, Boolean.FALSE);
|
||||
attrs.setValue(Pin.ATTR_TYPE, Pin.INPUT);
|
||||
attrs.setValue(Pin.ATTR_BEHAVIOR, Pin.SIMPLE);
|
||||
attrs.setValue(StdAttr.LABEL, name);
|
||||
attrs.setValue(ProbeAttributes.PROBEAPPEARANCE, ProbeAttributes.getDefaultProbeAppearance());
|
||||
attrs.setValue(StdAttr.WIDTH, BitWidth.create(nrOfBits));
|
||||
|
@ -816,7 +816,8 @@ public class CircuitBuilder {
|
|||
final var factory = Pin.FACTORY;
|
||||
final var attrs = factory.createAttributeSet();
|
||||
attrs.setValue(StdAttr.FACING, Direction.WEST);
|
||||
attrs.setValue(Pin.ATTR_TYPE, Boolean.TRUE);
|
||||
attrs.setValue(Pin.ATTR_TYPE, Pin.OUTPUT);
|
||||
attrs.setValue(Pin.ATTR_BEHAVIOR, Pin.SIMPLE);
|
||||
attrs.setValue(ProbeAttributes.PROBEAPPEARANCE, ProbeAttributes.getDefaultProbeAppearance());
|
||||
attrs.setValue(StdAttr.LABEL, name);
|
||||
attrs.setValue(StdAttr.WIDTH, BitWidth.create(nrOfBits));
|
||||
|
|
|
@ -18,7 +18,6 @@ import com.cburch.logisim.LogisimVersion;
|
|||
import com.cburch.logisim.circuit.CircuitState;
|
||||
import com.cburch.logisim.circuit.RadixOption;
|
||||
import com.cburch.logisim.circuit.Wire;
|
||||
import com.cburch.logisim.comp.EndData;
|
||||
import com.cburch.logisim.data.Attribute;
|
||||
import com.cburch.logisim.data.AttributeOption;
|
||||
import com.cburch.logisim.data.AttributeSet;
|
||||
|
@ -104,7 +103,7 @@ public class Pin extends InstanceFactory {
|
|||
Value value = pinState.intendedValue;
|
||||
bitWidth = value.getWidth();
|
||||
PinAttributes attrs = (PinAttributes) state.getAttributeSet();
|
||||
tristate = (attrs.threeState && attrs.pull == PULL_NONE);
|
||||
tristate = attrs.behavior == TRISTATE;
|
||||
|
||||
setTitle(S.get("PinEnterDecimal"));
|
||||
GridBagConstraints gbc = new GridBagConstraints();
|
||||
|
@ -256,7 +255,7 @@ public class Pin extends InstanceFactory {
|
|||
final var value = pinState.intendedValue;
|
||||
bitWidth = value.getWidth();
|
||||
final var attrs = (PinAttributes) state.getAttributeSet();
|
||||
tristate = (attrs.threeState && attrs.pull == PULL_NONE);
|
||||
tristate = attrs.behavior == TRISTATE;
|
||||
|
||||
setTitle(S.get("PinEnterFloat"));
|
||||
final var gbc = new GridBagConstraints();
|
||||
|
@ -391,8 +390,7 @@ public class Pin extends InstanceFactory {
|
|||
PinAttributes attrs = (PinAttributes) state.getAttributeSet();
|
||||
String ret = attrs.label;
|
||||
if (ret == null || ret.equals("")) {
|
||||
String type =
|
||||
attrs.type == EndData.INPUT_ONLY ? S.get("pinInputName") : S.get("pinOutputName");
|
||||
String type = attrs.type == INPUT ? S.get("pinInputName") : S.get("pinOutputName");
|
||||
return type + state.getInstance().getLocation();
|
||||
} else {
|
||||
return ret;
|
||||
|
@ -413,7 +411,7 @@ public class Pin extends InstanceFactory {
|
|||
@Override
|
||||
public boolean isInput(InstanceState state, Object option) {
|
||||
PinAttributes attrs = (PinAttributes) state.getAttributeSet();
|
||||
return attrs.type == EndData.INPUT_ONLY;
|
||||
return attrs.type == INPUT;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -511,8 +509,18 @@ public class Pin extends InstanceFactory {
|
|||
int r = (radix == RadixOption.RADIX_16 ? 4 : (radix == RadixOption.RADIX_8 ? 3 : 1));
|
||||
if (bit + r > width.getWidth()) r = width.getWidth() - bit;
|
||||
Value[] val = pinState.intendedValue.getAll();
|
||||
boolean tristate = (attrs.threeState && attrs.pull == PULL_NONE);
|
||||
if (ch == 0) {
|
||||
boolean tristate = (attrs.behavior == TRISTATE);
|
||||
// if this was just converted from substate to root state, normalize val
|
||||
if (tristate) { // convert E bits to x
|
||||
for (int b = 0; b < val.length; b++)
|
||||
if (val[b] != Value.TRUE && val[b] != Value.FALSE && val[b] != Value.UNKNOWN)
|
||||
val[b] = Value.UNKNOWN;
|
||||
} else { // convert E and X bits to 1
|
||||
for (int b = 0; b < val.length; b++)
|
||||
if (val[b] != Value.TRUE && val[b] != Value.FALSE)
|
||||
val[b] = Value.TRUE;
|
||||
}
|
||||
if (ch == 0) { // toggle
|
||||
boolean ones = true, defined = true;
|
||||
for (int b = bit; b < bit + r; b++) {
|
||||
if (val[b] == Value.FALSE) ones = false;
|
||||
|
@ -545,8 +553,7 @@ public class Pin extends InstanceFactory {
|
|||
for (int i = 0; i < r; i++)
|
||||
val[bit + i] = (((d & (1 << i)) != 0) ? Value.TRUE : Value.FALSE);
|
||||
}
|
||||
for (int b = bit; b < bit + r; b++)
|
||||
pinState.intendedValue = pinState.intendedValue.set(b, val[b]);
|
||||
pinState.intendedValue = Value.create(val);
|
||||
state.fireInvalidated();
|
||||
return true;
|
||||
}
|
||||
|
@ -658,14 +665,8 @@ public class Pin extends InstanceFactory {
|
|||
}
|
||||
|
||||
private static class PinState implements InstanceData, Cloneable {
|
||||
|
||||
Value intendedValue;
|
||||
Value foundValue;
|
||||
|
||||
public PinState(Value sending, Value receiving) {
|
||||
this.intendedValue = sending;
|
||||
this.foundValue = receiving;
|
||||
}
|
||||
Value foundValue; // for color - received value from wire connected to this pin
|
||||
Value intendedValue; // for display - output: received value; input: UI or parent value
|
||||
|
||||
@Override
|
||||
public Object clone() {
|
||||
|
@ -683,16 +684,15 @@ public class Pin extends InstanceFactory {
|
|||
var ret = (PinState) state.getData();
|
||||
if (ret == null) {
|
||||
var initialValue = attrs.getValue(ATTR_INITIAL);
|
||||
final var newValue = attrs.threeState
|
||||
? Value.createUnknown(width)
|
||||
: Value.createKnown(width.getWidth(), initialValue);
|
||||
ret = new PinState(newValue, newValue);
|
||||
final var newValue = attrs.behavior == TRISTATE
|
||||
? Value.createUnknown(width)
|
||||
: Value.createKnown(width.getWidth(), initialValue);
|
||||
ret = new PinState();
|
||||
ret.foundValue = ret.intendedValue = newValue;
|
||||
state.setData(ret);
|
||||
}
|
||||
if (ret.intendedValue.getWidth() != width.getWidth()) {
|
||||
ret.intendedValue =
|
||||
ret.intendedValue.extendWidth(
|
||||
width.getWidth(), attrs.threeState ? Value.UNKNOWN : Value.FALSE);
|
||||
ret.intendedValue = ret.intendedValue.extendWidth(width.getWidth(), attrs.defaultBitValue());
|
||||
}
|
||||
if (ret.foundValue.getWidth() != width.getWidth()) {
|
||||
ret.foundValue = ret.foundValue.extendWidth(width.getWidth(), Value.UNKNOWN);
|
||||
|
@ -700,30 +700,27 @@ public class Pin extends InstanceFactory {
|
|||
return ret;
|
||||
}
|
||||
|
||||
private static Value pull2(Value mod, BitWidth expectedWidth, Value pullTo) {
|
||||
if (mod.getWidth() == expectedWidth.getWidth()) {
|
||||
return mod.pullEachBitTowards(pullTo);
|
||||
} else {
|
||||
return Value.createKnown(expectedWidth, 0);
|
||||
}
|
||||
}
|
||||
public static final AttributeOption INPUT = new AttributeOption("input",
|
||||
S.getter("pinInputOption"));
|
||||
public static final AttributeOption OUTPUT = new AttributeOption("output",
|
||||
S.getter("pinOutputOption"));
|
||||
public static final Attribute<AttributeOption> ATTR_TYPE =
|
||||
Attributes.forOption("type", S.getter("pinTypeAttr"),
|
||||
new AttributeOption[] { INPUT, OUTPUT });
|
||||
|
||||
public static final Attribute<Boolean> ATTR_TRISTATE =
|
||||
Attributes.forBoolean("tristate", S.getter("pinThreeStateAttr"));
|
||||
public static final Attribute<Boolean> ATTR_TYPE =
|
||||
Attributes.forBoolean("output", S.getter("pinOutputAttr"));
|
||||
public static final AttributeOption PULL_NONE =
|
||||
new AttributeOption("none", S.getter("pinPullNoneOption"));
|
||||
public static final AttributeOption PULL_UP =
|
||||
new AttributeOption("up", S.getter("pinPullUpOption"));
|
||||
public static final AttributeOption PULL_DOWN =
|
||||
new AttributeOption("down", S.getter("pinPullDownOption"));
|
||||
public static final AttributeOption SIMPLE = new AttributeOption("simple",
|
||||
S.getter("pinSimpleOption"));
|
||||
public static final AttributeOption TRISTATE = new AttributeOption("tristate",
|
||||
S.getter("pinTristateOption"));
|
||||
public static final AttributeOption PULL_DOWN = new AttributeOption("pulldown",
|
||||
S.getter("pinPullDownOption"));
|
||||
public static final AttributeOption PULL_UP = new AttributeOption("pullup",
|
||||
S.getter("pinPullUpOption"));
|
||||
public static final Attribute<AttributeOption> ATTR_BEHAVIOR =
|
||||
Attributes.forOption("behavior", S.getter("pinBehaviorAttr"),
|
||||
new AttributeOption[] { SIMPLE, TRISTATE, PULL_DOWN, PULL_UP });
|
||||
public static final Attribute<Long> ATTR_INITIAL =
|
||||
Attributes.forHexLong("initial", S.getter("pinResetValue"));
|
||||
|
||||
public static final Attribute<AttributeOption> ATTR_PULL =
|
||||
Attributes.forOption(
|
||||
"pull", S.getter("pinPullAttr"), new AttributeOption[] {PULL_NONE, PULL_UP, PULL_DOWN});
|
||||
Attributes.forHexLong("initial", S.getter("pinResetValue"));;
|
||||
|
||||
public static final Pin FACTORY = new Pin();
|
||||
private static final Font ICON_WIDTH_FONT = new Font("SansSerif", Font.BOLD, 9);
|
||||
|
@ -749,9 +746,6 @@ public class Pin extends InstanceFactory {
|
|||
else return Direction.NORTH;
|
||||
}
|
||||
|
||||
//
|
||||
// methods for instances
|
||||
//
|
||||
@Override
|
||||
protected void configureNewInstance(Instance instance) {
|
||||
PinAttributes attrs = (PinAttributes) instance.getAttributeSet();
|
||||
|
@ -796,21 +790,10 @@ public class Pin extends InstanceFactory {
|
|||
facing, width, attrs.getValue(RadixOption.ATTRIBUTE), NewLayout, true);
|
||||
}
|
||||
|
||||
public int getType(Instance instance) {
|
||||
PinAttributes attrs = (PinAttributes) instance.getAttributeSet();
|
||||
return attrs.type;
|
||||
}
|
||||
|
||||
//
|
||||
// state information methods
|
||||
//
|
||||
public Value getValue(InstanceState state) {
|
||||
return getState(state).intendedValue;
|
||||
}
|
||||
|
||||
//
|
||||
// basic information methods
|
||||
//
|
||||
public BitWidth getWidth(Instance instance) {
|
||||
PinAttributes attrs = (PinAttributes) instance.getAttributeSet();
|
||||
return attrs.width;
|
||||
|
@ -818,10 +801,7 @@ public class Pin extends InstanceFactory {
|
|||
|
||||
@Override
|
||||
public boolean hasThreeStateDrivers(AttributeSet attrs) {
|
||||
/*
|
||||
* We ignore for the moment the three-state property of the pin, as it
|
||||
* is not an active component, just wiring
|
||||
*/
|
||||
// For purposes of HDL, Pin never generates floating values, regardless of attributes.
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -841,14 +821,14 @@ public class Pin extends InstanceFactory {
|
|||
instance.recomputeBounds();
|
||||
PinAttributes attrs = (PinAttributes) instance.getAttributeSet();
|
||||
instance.computeLabelTextField(Instance.AVOID_LEFT, pinLabelLoc(attrs.facing));
|
||||
} else if (attr == Pin.ATTR_TRISTATE || attr == Pin.ATTR_PULL) {
|
||||
} else if (attr == Pin.ATTR_BEHAVIOR) {
|
||||
instance.fireInvalidated();
|
||||
}
|
||||
}
|
||||
|
||||
public boolean isInputPin(Instance instance) {
|
||||
PinAttributes attrs = (PinAttributes) instance.getAttributeSet();
|
||||
return attrs.type != EndData.OUTPUT_ONLY;
|
||||
return attrs.type == INPUT;
|
||||
}
|
||||
|
||||
public boolean isClockPin(Instance instance) {
|
||||
|
@ -1123,9 +1103,6 @@ public class Pin extends InstanceFactory {
|
|||
}
|
||||
}
|
||||
|
||||
//
|
||||
// graphics methods
|
||||
//
|
||||
@Override
|
||||
public void paintIcon(InstancePainter painter) {
|
||||
PinAttributes attrs = (PinAttributes) painter.getAttributeSet();
|
||||
|
@ -1205,7 +1182,7 @@ public class Pin extends InstanceFactory {
|
|||
PinAttributes attrs = (PinAttributes) painter.getAttributeSet();
|
||||
Graphics g = painter.getGraphics();
|
||||
Bounds bds = painter.getInstance().getBounds(); // intentionally with no graphics object - we don't want label included
|
||||
boolean IsOutput = attrs.type == EndData.OUTPUT_ONLY;
|
||||
boolean IsOutput = attrs.type == OUTPUT;
|
||||
PinState state = getState(painter);
|
||||
Value found = state.foundValue;
|
||||
int x = bds.getX();
|
||||
|
@ -1228,35 +1205,15 @@ public class Pin extends InstanceFactory {
|
|||
PinAttributes attrs = (PinAttributes) state.getAttributeSet();
|
||||
|
||||
PinState q = getState(state);
|
||||
if (attrs.type == EndData.OUTPUT_ONLY) {
|
||||
Value found = state.getPortValue(0);
|
||||
q.intendedValue = found;
|
||||
q.foundValue = found;
|
||||
//state.setPort(0, Value.createUnknown(attrs.width), 1);
|
||||
Value found = state.getPortValue(0);
|
||||
if (attrs.type == OUTPUT) {
|
||||
q.foundValue = found; // for color
|
||||
q.intendedValue = found; // for display
|
||||
} else {
|
||||
Value found = state.getPortValue(0);
|
||||
Value toSend = q.intendedValue;
|
||||
|
||||
Object pull = attrs.pull;
|
||||
Value pullTo = null;
|
||||
if (pull == PULL_DOWN) {
|
||||
pullTo = Value.FALSE;
|
||||
} else if (pull == PULL_UP) {
|
||||
pullTo = Value.TRUE;
|
||||
} else if (!attrs.threeState && !state.isCircuitRoot()) {
|
||||
pullTo = Value.FALSE;
|
||||
}
|
||||
if (pullTo != null) {
|
||||
toSend = pull2(toSend, attrs.width, pullTo);
|
||||
if (state.isCircuitRoot()) {
|
||||
q.intendedValue = toSend;
|
||||
}
|
||||
}
|
||||
|
||||
q.foundValue = found;
|
||||
if (!toSend.equals(found)) { // ignore if no change
|
||||
state.setPort(0, toSend, 1);
|
||||
}
|
||||
q.foundValue = found; // for color
|
||||
Value drive = pull(attrs, q.intendedValue);
|
||||
if (!drive.equals(found))
|
||||
state.setPort(0, drive, 1);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1265,31 +1222,52 @@ public class Pin extends InstanceFactory {
|
|||
return true;
|
||||
}
|
||||
|
||||
public void setValue(InstanceState state, Value value) {
|
||||
PinAttributes attrs = (PinAttributes) state.getAttributeSet();
|
||||
Object pull = attrs.pull;
|
||||
// Version 4.0.0: Simplified new behavior:
|
||||
// Output pin [behavior option hidden, has no effect]
|
||||
// Depending on value of connected bus, UI displays 0, 1, E, or X, and
|
||||
// subcircuit passes whatever is displayed up to parent. Color matches
|
||||
// both the connected bus and the value passed up to parent. This is the
|
||||
// simplest option, and it is the only option for output pins.
|
||||
// Input pin in simple mode: [Behavior=simple]
|
||||
// User can choose 0 or 1. Parent circuit can send 0, 1, E, or X. UI
|
||||
// displays whatever user chose (or parent sent). Sends whatever is
|
||||
// displayed to connected bus. Color matches whatever appears on
|
||||
// connected bus (which may be different from what is displayed). Note:
|
||||
// This mode never generates floating values, it only passes them along
|
||||
// from a parent circuit.
|
||||
// Input pin in tristate mode: [Behavior=tristate]
|
||||
// Same circuit behavior as simple, but different UI behavior.
|
||||
// User can choose 0, 1, or X. Parent circuit can send 0, 1, E, or X. UI
|
||||
// displays whatever user chose (or parent sent). Sends whatever is
|
||||
// displayed to connected bus. Color matches whatever appears on
|
||||
// connected bus (which may be different from what is displayed). Note:
|
||||
// This mode can generate X values from the UI, but for purposes of
|
||||
// HDL-generation, this mode never generates floating values, it only
|
||||
// passes them along from a parent circuit.
|
||||
// Input pin with pull-up (or pull-down): [Behavior=pullup/pulldown]
|
||||
// Same UI behavior as simple, but different circuit behavior.
|
||||
// User can choose 0 or 1. Parent circuit can send 0, 1, or E, but if it
|
||||
// tries to send X it gets converted to and displayed as 1 (or 0). Sends
|
||||
// whatever is displayed to connected bus. Color matches whatever appears
|
||||
// on connected bus. [or we could show blue in case of pull, or half
|
||||
// blue]
|
||||
|
||||
public void driveInputPin(InstanceState state, Value value) {
|
||||
PinAttributes attrs = (PinAttributes) state.getAttributeSet();
|
||||
PinState myState = getState(state);
|
||||
if (value == Value.NIL) {
|
||||
myState.intendedValue = Value.createUnknown(attrs.width);
|
||||
} else {
|
||||
Value sendValue;
|
||||
if (pull == PULL_NONE || pull == null || value.isFullyDefined()) {
|
||||
sendValue = value;
|
||||
} else {
|
||||
Value[] bits = value.getAll();
|
||||
if (pull == PULL_UP) {
|
||||
for (int i = 0; i < bits.length; i++) {
|
||||
if (bits[i] != Value.FALSE) bits[i] = Value.TRUE;
|
||||
}
|
||||
} else if (pull == PULL_DOWN) {
|
||||
for (int i = 0; i < bits.length; i++) {
|
||||
if (bits[i] != Value.TRUE) bits[i] = Value.FALSE;
|
||||
}
|
||||
}
|
||||
sendValue = Value.create(bits);
|
||||
}
|
||||
myState.intendedValue = sendValue;
|
||||
}
|
||||
// don't pull here -- instead, pull when displaying and propagating
|
||||
myState.intendedValue = value; // pull(attrs, value);
|
||||
}
|
||||
|
||||
private Value pull(PinAttributes attrs, Value value) {
|
||||
if (value == Value.NIL)
|
||||
return Value.createUnknown(attrs.width);
|
||||
else if (attrs.behavior == PULL_UP)
|
||||
return value.pullEachBitTowards(Value.TRUE);
|
||||
else if (attrs.behavior == PULL_DOWN)
|
||||
return value.pullEachBitTowards(Value.FALSE);
|
||||
else
|
||||
return value;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -10,96 +10,66 @@
|
|||
package com.cburch.logisim.std.wiring;
|
||||
|
||||
import com.cburch.logisim.circuit.RadixOption;
|
||||
import com.cburch.logisim.comp.EndData;
|
||||
import com.cburch.logisim.data.Attribute;
|
||||
import com.cburch.logisim.data.AttributeOption;
|
||||
import com.cburch.logisim.data.BitWidth;
|
||||
import com.cburch.logisim.data.Value;
|
||||
import com.cburch.logisim.instance.StdAttr;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
class PinAttributes extends ProbeAttributes {
|
||||
/* I introduced the dummy attribute to be backward compatible with files generated by
|
||||
* the holycross branch of logisim (v4.0 up)
|
||||
*/
|
||||
private static class DummyAttr extends Attribute<String> {
|
||||
public DummyAttr(String name) {
|
||||
super(name, null);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String parse(String value) {
|
||||
return value;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isHidden() {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
public static final Attribute<String> ATTR_DUMMY = new DummyAttr("type");
|
||||
public static PinAttributes instance = new PinAttributes();
|
||||
|
||||
private List<Attribute<?>> myAttributes;
|
||||
private static final List<Attribute<?>> INPIN_ATTRIBUTES = Arrays.asList(StdAttr.FACING, Pin.ATTR_TYPE,
|
||||
StdAttr.WIDTH, Pin.ATTR_BEHAVIOR, StdAttr.LABEL, StdAttr.LABEL_LOC, StdAttr.LABEL_FONT,
|
||||
RadixOption.ATTRIBUTE, PROBEAPPEARANCE, Pin.ATTR_INITIAL);
|
||||
private static final List<Attribute<?>> TRISTATE_ATTRIBUTES = Arrays.asList(StdAttr.FACING, Pin.ATTR_TYPE,
|
||||
StdAttr.WIDTH, Pin.ATTR_BEHAVIOR, StdAttr.LABEL, StdAttr.LABEL_LOC, StdAttr.LABEL_FONT,
|
||||
RadixOption.ATTRIBUTE, PROBEAPPEARANCE /*, Pin.ATTR_INITIAL */);
|
||||
private static final List<Attribute<?>> OUTPIN_ATTRIBUTES = Arrays.asList(StdAttr.FACING, Pin.ATTR_TYPE,
|
||||
StdAttr.WIDTH, /*Pin.ATTR_BEHAVIOR, */ StdAttr.LABEL, StdAttr.LABEL_LOC, StdAttr.LABEL_FONT,
|
||||
RadixOption.ATTRIBUTE, PROBEAPPEARANCE /*, Pin.ATTR_INITIAL */);
|
||||
|
||||
BitWidth width = BitWidth.ONE;
|
||||
boolean threeState = false; // true;
|
||||
int type = EndData.INPUT_ONLY;
|
||||
Object pull = Pin.PULL_NONE;
|
||||
AttributeOption type = Pin.INPUT;
|
||||
AttributeOption behavior = Pin.SIMPLE;
|
||||
Long initialValue = 0L;
|
||||
|
||||
public PinAttributes() {
|
||||
updateAttributes();
|
||||
}
|
||||
|
||||
private void updateAttributes() {
|
||||
myAttributes = new ArrayList<Attribute<?>>();
|
||||
myAttributes.add(StdAttr.FACING);
|
||||
myAttributes.add(Pin.ATTR_TYPE);
|
||||
myAttributes.add(StdAttr.WIDTH);
|
||||
myAttributes.add(Pin.ATTR_TRISTATE);
|
||||
myAttributes.add(Pin.ATTR_PULL);
|
||||
myAttributes.add(StdAttr.LABEL);
|
||||
myAttributes.add(StdAttr.LABEL_FONT);
|
||||
myAttributes.add(RadixOption.ATTRIBUTE);
|
||||
if ((type == EndData.INPUT_ONLY) && !threeState) {
|
||||
myAttributes.add(Pin.ATTR_INITIAL);
|
||||
}
|
||||
myAttributes.add(PROBEAPPEARANCE);
|
||||
myAttributes.add(ATTR_DUMMY);
|
||||
}
|
||||
public PinAttributes() { }
|
||||
|
||||
@Override
|
||||
public List<Attribute<?>> getAttributes() {
|
||||
return myAttributes;
|
||||
return type == Pin.INPUT ? (behavior == Pin.TRISTATE ? TRISTATE_ATTRIBUTES : INPIN_ATTRIBUTES)
|
||||
: OUTPIN_ATTRIBUTES;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isToSave(Attribute<?> attr) {
|
||||
return attr.isToSave() && attr != ATTR_DUMMY;
|
||||
return attr.isToSave();
|
||||
}
|
||||
|
||||
@Override
|
||||
@SuppressWarnings("unchecked")
|
||||
public <V> V getValue(Attribute<V> attr) {
|
||||
if (attr == StdAttr.WIDTH) return (V) width;
|
||||
if (attr == Pin.ATTR_TRISTATE) return (V) Boolean.valueOf(threeState);
|
||||
if (attr == Pin.ATTR_TYPE) return (V) Boolean.valueOf(type == EndData.OUTPUT_ONLY);
|
||||
if (attr == Pin.ATTR_PULL) return (V) pull;
|
||||
if (attr == Pin.ATTR_TYPE) return (V) type;
|
||||
if (attr == Pin.ATTR_BEHAVIOR) return (V) behavior;
|
||||
if (attr == PROBEAPPEARANCE) return (V) appearance;
|
||||
if (attr == ATTR_DUMMY) return (V) "nochange";
|
||||
if (attr == Pin.ATTR_INITIAL) return (V) initialValue;
|
||||
return super.getValue(attr);
|
||||
}
|
||||
|
||||
boolean isInput() {
|
||||
return type != EndData.OUTPUT_ONLY;
|
||||
return type == Pin.INPUT;
|
||||
}
|
||||
|
||||
boolean isOutput() {
|
||||
return type != EndData.INPUT_ONLY;
|
||||
return type == Pin.OUTPUT;
|
||||
}
|
||||
|
||||
Value defaultBitValue() {
|
||||
return isOutput() ? Value.UNKNOWN : behavior == Pin.PULL_UP ? Value.TRUE : Value.FALSE;
|
||||
}
|
||||
|
||||
boolean isClock() {
|
||||
|
@ -114,36 +84,21 @@ class PinAttributes extends ProbeAttributes {
|
|||
@SuppressWarnings("unchecked")
|
||||
@Override
|
||||
public <V> void setValue(Attribute<V> attr, V value) {
|
||||
if (attr == ATTR_DUMMY) {
|
||||
if (value.equals("output")) {
|
||||
if (type != EndData.OUTPUT_ONLY) {
|
||||
type = EndData.OUTPUT_ONLY;
|
||||
fireAttributeValueChanged(
|
||||
(Attribute<V>) Pin.ATTR_TYPE, (V) Boolean.valueOf(type == EndData.OUTPUT_ONLY), null);
|
||||
return;
|
||||
}
|
||||
}
|
||||
} else if (attr == StdAttr.WIDTH) {
|
||||
if (attr == StdAttr.WIDTH) {
|
||||
BitWidth NewWidth = (BitWidth) value;
|
||||
if (width == NewWidth) return;
|
||||
width = (BitWidth) value;
|
||||
if (width.getWidth() > 8 && appearance == ProbeAttributes.APPEAR_EVOLUTION_NEW)
|
||||
super.setValue(RadixOption.ATTRIBUTE, RadixOption.RADIX_16);
|
||||
} else if (attr == Pin.ATTR_TRISTATE) {
|
||||
boolean NewThree = (Boolean) value;
|
||||
if (threeState == NewThree) return;
|
||||
threeState = NewThree;
|
||||
updateAttributes();
|
||||
fireAttributeListChanged();
|
||||
} else if (attr == Pin.ATTR_TYPE) {
|
||||
int Newtype = (Boolean) value ? EndData.OUTPUT_ONLY : EndData.INPUT_ONLY;
|
||||
if (type == Newtype) return;
|
||||
type = Newtype;
|
||||
updateAttributes();
|
||||
if (type.equals(value)) return;
|
||||
type = (AttributeOption) value;
|
||||
fireAttributeListChanged();
|
||||
} else if (attr == Pin.ATTR_PULL) {
|
||||
if (pull.equals(value)) return;
|
||||
pull = value;
|
||||
} else if (attr == Pin.ATTR_BEHAVIOR) {
|
||||
if (behavior.equals(value)) return;
|
||||
final var attrListChanged = behavior == Pin.TRISTATE || value == Pin.TRISTATE;
|
||||
behavior = (AttributeOption) value;
|
||||
if (attrListChanged) fireAttributeListChanged();
|
||||
} else if (attr == PROBEAPPEARANCE) {
|
||||
final var newAppearance = (AttributeOption) value;
|
||||
if (appearance.equals(newAppearance)) return;
|
||||
|
|
|
@ -198,7 +198,7 @@ public class Probe extends InstanceFactory {
|
|||
g.setFont(Pin.DEFAULT_FONT);
|
||||
boolean IsOutput =
|
||||
(painter.getAttributeSet().containsAttribute(Pin.ATTR_TYPE))
|
||||
? painter.getAttributeValue(Pin.ATTR_TYPE)
|
||||
? painter.getAttributeValue(Pin.ATTR_TYPE) == Pin.OUTPUT
|
||||
: false;
|
||||
if (painter.getAttributeValue(ProbeAttributes.PROBEAPPEARANCE)
|
||||
!= ProbeAttributes.APPEAR_EVOLUTION_NEW) {
|
||||
|
|
|
@ -287,8 +287,8 @@ public class VhdlEntity extends InstanceFactory implements HdlModelListener {
|
|||
for (final var port : content.getPorts()) {
|
||||
final var attr = Pin.FACTORY.createAttributeSet();
|
||||
attr.setValue(StdAttr.LABEL, port.getName());
|
||||
attr.setValue(Pin.ATTR_TYPE, !port.getType().equals(Port.INPUT));
|
||||
attr.setValue(StdAttr.FACING, !port.getType().equals(Port.INPUT) ? Direction.WEST : Direction.EAST);
|
||||
attr.setValue(Pin.ATTR_TYPE, port.getType() == Port.INPUT ? Pin.INPUT : Pin.OUTPUT);
|
||||
attr.setValue(StdAttr.FACING, port.getType() == Port.INPUT ? Direction.EAST : Direction.WEST);
|
||||
attr.setValue(StdAttr.WIDTH, port.getWidth());
|
||||
final var component = (InstanceComponent) Pin.FACTORY.createComponent(Location.create(100, yPos, true), attr);
|
||||
pins.add(component.getInstance());
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
<body>
|
||||
<div class="maindiv">
|
||||
<h1>
|
||||
<img class="iconlibs" src="../../../../icons/6464/pininput.png" alt="#########" width="32" height="32">
|
||||
<img class="iconlibs" src="../../../../icons/6464/pininput.png" alt="#########" width="32" height="32">
|
||||
<img class="iconlibs" src="../../../../icons/6464/pinoutput.png" alt="#########" width="32" height="32"> <em>Pin</em>
|
||||
</h1>
|
||||
<table>
|
||||
|
@ -48,7 +48,7 @@
|
|||
Verhalten
|
||||
</h2>
|
||||
<p>
|
||||
A pin is an output or an input to a circuit, depending on the value of its Output? attribute. In drawing a pin, Logisim represents output pins using a circle or rounded rectangle, and input pins are represented using squares or rectangles. In either case, the individual bits of the value being sent or received is displayed within the component (except within printer view, when the component only says how many bits wide the pin is).
|
||||
A pin is an output or an input to a circuit, depending on the value of its Type attribute. In drawing a pin, Logisim represents output pins using a circle or rounded rectangle, and input pins are represented using squares or rectangles. In either case, the individual bits of the value being sent or received is displayed within the component (except within printer view, when the component only says how many bits wide the pin is).
|
||||
</p>
|
||||
<p>
|
||||
A pin is a convenient component for interacting with a circuit, and beginning Logisim users need not use them in any other way. But a user building a circuit using several subcircuits (as described in the `<a href="../../guide/subcirc/index.html">Subcircuits</a>' section of the <em>User's Guide</em>) will use pins also to specify the interface between a circuit and a subcircuit. In particular, a circuit layout's pin components define the pins that appear on the subcircuit component when the layout is used within another circuit. In such a circuit, the values sent and received to those locations on the subcircuit component are tied to the pins within the subcircuit layout.
|
||||
|
@ -73,7 +73,7 @@
|
|||
The side of the component where its input/output pin should be.
|
||||
</dd>
|
||||
<dt>
|
||||
Output?
|
||||
Type
|
||||
</dt>
|
||||
<dd>
|
||||
Specifies whether the component is an output pin or an input pin. (Note that if the pin component is an input pin, then the pin that acts as its interface within the circuit will be an output, and vice versa.)
|
||||
|
@ -85,16 +85,12 @@
|
|||
The number of bits for the value that the pin handles.
|
||||
</dd>
|
||||
<dt>
|
||||
Three-state?
|
||||
Behavior
|
||||
</dt>
|
||||
<dd>
|
||||
For an input pin, this configures whether the user can instruct the pin to emit unspecified (i.e., floating) values. The attribute deals with the user interface only; it does not have any effect on how the pin behaves when the circuit layout is used as a subcircuit. For an output pin, the attribute has no effect.
|
||||
</dd>
|
||||
<dt>
|
||||
Pull Behavior
|
||||
</dt>
|
||||
<dd>
|
||||
For an input pin, the attribute specifies how floating values should be treated when received as an input, perhaps from a circuit using the layout as a subcircuit. With "unchanged," the floating values are sent into the layout as floating values; with "pull up," they are converted into 1 values before being sent into the circuit layout; and with "pull down," they are converted into 0 values before being sent into the circuit layout.
|
||||
The <b class="propertie">Behavior</b> attribute is only available for an input pin. The attribute specifies how unknown (floating), <b class="uvalue">U</b>, values should be treated. If the <b class="propertie">Behavior</b> is Simple or Tri-state, the <b class="uvalue">U</b> values are sent into the layout as <b class="uvalue">U</b> values. Pull Up converts <b class="uvalue">U</b> values to <b class="unov">1</b> before being sent into the circuit layout. Pull Down converts <b class="uvalue">U</b> values to <b class="zerov">0</b> before being sent into the circuit layout.
|
||||
<br><br>
|
||||
The <b class="propertie">Behavior</b> attribute also specifies what values may be entered into the pin when it is not receiving a value from a parent circuit. Tri-state allows you to enter <b class="uvalue">U</b> values. The other settings do not allow you to enter <b class="uvalue">U</b> values.
|
||||
</dd>
|
||||
<dt>
|
||||
Label
|
||||
|
@ -114,6 +110,34 @@
|
|||
<dd>
|
||||
The font with which to render the label.
|
||||
</dd>
|
||||
<dt>
|
||||
Radix
|
||||
</dt>
|
||||
<dd>
|
||||
Allows you to define the base in which the values will be represented.<br>
|
||||
Example for 1010 in binary<br>
|
||||
 Binary : <b>1010<sub>b</sub></b><br>
|
||||
 Octal : <b>12<sub>o</sub></b><br>
|
||||
 Signed decimal : <b>-6<sub>s</sub></b><br>
|
||||
 Unsigned decimal : <b>10<sub>u</sub></b><br>
|
||||
 Hexadecimal : <b>A<sub>h</sub></b><br>
|
||||
 Float : <b>6.0E-07<sub>f</sub> </b> if bit width is 16<br>
|
||||
 Float : <b>1.4E-44<sub>f</sub> </b> if bit width is 32<br>
|
||||
 Float : <b>4.9E-323<sub>f</sub> </b> if bit width is 64<br>
|
||||
 Float : <b>NaN<sub>f</sub> </b> if bit width is not 16, 32 or 64
|
||||
</dd>
|
||||
<dt>
|
||||
Appearance
|
||||
</dt>
|
||||
<dd>
|
||||
There are two types of appearance, Classic Logisim and Arrow Shapes. See the examples at the top of the page
|
||||
</dd>
|
||||
<dt>
|
||||
Reset Value
|
||||
</dt>
|
||||
<dd>
|
||||
An input pin may be given a reset value if it does not have the Tri-state Behavior. The reset value is given as a hexadecimal value. It is loaded into the pin on a simulator reset. If the input pin has Tri-state Behavior, it is loaded with all unknown (floating), <b class="uvalue">U</b>, bits on a reset.
|
||||
</dd>
|
||||
</dl>
|
||||
<h2>
|
||||
Verhalten des Schaltwerkzeugs
|
||||
|
|
|
@ -1,207 +1,212 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="created" content="2018-10-23T06:18:10.521000000">
|
||||
<meta name="changed" content="2021-07-18T10:59:00.000000000">
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
<meta http-equiv="Content-Language" content="en">
|
||||
<title>
|
||||
Pin
|
||||
</title>
|
||||
<link rel="stylesheet" type="text/css" href="../../style.css">
|
||||
</head>
|
||||
<body>
|
||||
<div class="maindiv">
|
||||
<h1>
|
||||
<img class="iconlibs" src="../../../../icons/6464/pininput.png" alt="#########" width="32" height="32">
|
||||
<img class="iconlibs" src="../../../../icons/6464/pinoutput.png" alt="#########" width="32" height="32"> <em>Pin</em>
|
||||
</h1>
|
||||
<table>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<strong>Library:</strong>
|
||||
</td>
|
||||
<td>
|
||||
<a href="index.html">Wiring</a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<strong>Introduced:</strong>
|
||||
</td>
|
||||
<td>
|
||||
2.0 Beta 1 (in Base library, moved to Wiring in 2.7.0)
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td valign="top">
|
||||
<strong>Appearance:</strong>
|
||||
</td>
|
||||
<td valign="top">
|
||||
<table>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th></th>
|
||||
<th colspan=2>
|
||||
Arrow
|
||||
</th>
|
||||
<th colspan=2>
|
||||
Classic
|
||||
</th>
|
||||
<th >
|
||||
</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th valign="middle" align="left">
|
||||
Pin in:
|
||||
</th>
|
||||
<td>
|
||||
<img class="appearancelibs" src="../../../../img-libs/pinin1.png" alt="#########" width="64" height="64">
|
||||
</td>
|
||||
<td>
|
||||
<img class="appearancelibs" src="../../../../img-libs/pinin3.png" alt="#########" width="64" height="64">
|
||||
</td>
|
||||
<td>
|
||||
<img class="appearancelibs" src="../../../../img-libs/lpinin1.png" alt="#########" width="64" height="64">
|
||||
</td>
|
||||
<td>
|
||||
<img class="appearancelibs" src="../../../../img-libs/lpinin3.png" alt="#########" width="64" height="64">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th valign="middle" align="left">
|
||||
Pin out:
|
||||
</th>
|
||||
<td>
|
||||
<img class="appearancelibs" src="../../../../img-libs/pinout1.png" alt="#########" width="64" height="64">
|
||||
</td>
|
||||
<td>
|
||||
<img class="appearancelibs" src="../../../../img-libs/pinout3.png" alt="#########" width="64" height="64">
|
||||
</td>
|
||||
<td>
|
||||
<img class="appearancelibs" src="../../../../img-libs/lpinout1.png" alt="#########" width="64" height="64">
|
||||
</td>
|
||||
<td>
|
||||
<img class="appearancelibs" src="../../../../img-libs/lpinout3.png" alt="#########" width="64" height="64">
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h2>
|
||||
Behavior
|
||||
</h2>
|
||||
<p>
|
||||
A pin is an output or an input to a circuit, depending on the value of its <b class="propertie">Output?</b> attribute. You can observe above how Logisim represents input and or output pins according to its <b class="propertie">Appearance</b> attribute.<br>
|
||||
In the "arrow" mode the inputs will have the connection on the pointed side and the outputs on the rectangular side. In the "classic" appearance the outputs are represented by a circle or rounded rectangle, and the input pins are represented using squares or rectangles.<br> In all case, the individual bits of the value being sent or received is displayed within the component (except within printer view, when the component only says how many bits wide the pin is
|
||||
</p>
|
||||
<p>
|
||||
A pin is a convenient component for interacting with a circuit, and beginning Logisim users need not use them in any other way. But a user building a circuit using several subcircuits (as described in the <a class="refguide" href="../../guide/subcirc/index.html">Subcircuits</a>' section of the section of the <a href="../index.html">User guide</a>. will use pins also to specify the interface between a circuit and a subcircuit. In particular, a circuit layout's pin components define the pins that appear on the subcircuit component when the layout is used within another circuit. In such a circuit, the values sent and received to those locations on the subcircuit component are tied to the pins within the subcircuit layout.
|
||||
</p>
|
||||
<h2>
|
||||
Pins
|
||||
</h2>
|
||||
<p>
|
||||
A pin component has only one pin, which will be an input to the component if the pin is an output pin, and it will be an output to the component if the pin is an input pin. In either case, its bit width matches the Data Bits attribute, and its location is specified by the Facing attribute.
|
||||
</p>
|
||||
<h2>
|
||||
Attributes
|
||||
</h2>
|
||||
<p>
|
||||
When the component is selected or being added, <b class="tkeybd">Alt-0</b> through <b class="tkeybd">Alt-9</b> alter its <b class="propertie">Data Bits</b> attribute. Quick use of the keys allows the entry of larger values for example <b class="tkeybd">ALT-1 ALT-2</b> gives 12. The arrow keys alter its <b class="propertie">Facing</b> attribute.
|
||||
</p>
|
||||
<div class="attliste">
|
||||
<dl>
|
||||
<dt>
|
||||
<b class="propertie">Facing</b>
|
||||
</dt>
|
||||
<dd>
|
||||
The side of the component where its input/output pin should be.
|
||||
</dd>
|
||||
<dt>
|
||||
<b class="propertie">Output?</b>
|
||||
</dt>
|
||||
<dd>
|
||||
Specifies whether the component is an output pin or an input pin. <b class="note">Note :</b> If the pin component is an input pin, then the pin that acts as its interface within the circuit will be an output, and vice versa.)
|
||||
</dd>
|
||||
<dt>
|
||||
<b class="propertie">Data Bits</b>
|
||||
</dt>
|
||||
<dd>
|
||||
The number of bits for the value that the pin handles.
|
||||
</dd>
|
||||
<dt>
|
||||
<b class="propertie">Three-state?</b>
|
||||
</dt>
|
||||
<dd>
|
||||
For an input pin, this configures whether the user can instruct the pin to emit unspecified (i.e., floating) values. The attribute deals with the user interface only; it does not have any effect on how the pin behaves when the circuit layout is used as a subcircuit. For an output pin, the attribute has no effect.
|
||||
</dd>
|
||||
<dt>
|
||||
<b class="propertie">Pull Behavior</b>
|
||||
</dt>
|
||||
<dd>
|
||||
For an input pin, the attribute specifies how floating values should be treated when received as an input, perhaps from a circuit using the layout as a subcircuit. With "unchanged," the floating values are sent into the layout as floating values; with "pull up," they are converted into 1 values before being sent into the circuit layout; and with "pull down," they are converted into 0 values before being sent into the circuit layout.
|
||||
</dd>
|
||||
<dt>
|
||||
<b class="propertie">Label</b>
|
||||
</dt>
|
||||
<dd>
|
||||
The text within the label associated with the component.
|
||||
</dd>
|
||||
<dt>
|
||||
<b class="propertie">Label Font</b>
|
||||
</dt>
|
||||
<dd>
|
||||
The font with which to render the label.
|
||||
</dd>
|
||||
<dt>
|
||||
<b class="propertie">Radix</b>
|
||||
</dt>
|
||||
<dd>
|
||||
Allows you to define the base in which the values will be represented.<br>
|
||||
Example for 1010 in binary<br>
|
||||
 Binary : <b>1010<sub>b</sub></b><br>
|
||||
 Octal : <b>12<sub>o</sub></b><br>
|
||||
 Signed decimal : <b>-6<sub>s</sub></b><br>
|
||||
 Unsigned deciaml : <b>10<sub>u</sub></b><br>
|
||||
 Hexadecimal : <b>A<sub>h</sub></b><br>
|
||||
 Float : <b>1.4E-44<sub>f</sub> </b> Only in 32 or 64 bits 1 or 0. If not present the value <b>NaN<sub>f</sub></b> <br>
|
||||
</dd>
|
||||
<dt>
|
||||
<b class="propertie"> Appearence</b>
|
||||
</dt>
|
||||
<dd>
|
||||
There are two types of appearance, CLassic Logisim and Arrow Shapes. See the examples at the top of the page
|
||||
</dd>
|
||||
</dl>
|
||||
</div>
|
||||
<h2>
|
||||
Poke Tool Behavior
|
||||
</h2>
|
||||
<p>
|
||||
Clicking an output pin has no effect, although the pin's attributes will be displayed.
|
||||
</p>
|
||||
<p>
|
||||
Clicking an input pin will toggle the bit that is clicked. If it is a three-state pin, then the corresponding bit will rotate between the three states.<br>
|
||||
If the base is FLoat a small input screen will be displayed.
|
||||
</p>
|
||||
<p>
|
||||
If, however, the user is viewing the state of a subcircuit as described in the `<a href="../../guide/subcirc/sub-debug.html">Debugging Subcircuits</a>' of the <em>User's Guide</em>, then the pin's value is pinned to whatever value the subcircuit is receiving from the containing circuit. The user cannot change the value without breaking this link between the subcircuit's state and the containing circuit's state, and Logisim will prompt the user to verify that breaking this link is actually desired.
|
||||
</p>
|
||||
<h2>
|
||||
Text Tool Behavior
|
||||
</h2>
|
||||
<p>
|
||||
Allows the label associated with the component to be edited.
|
||||
</p>
|
||||
<p>
|
||||
<b>Back to</b> <a href="../index.html">Library Reference</a>
|
||||
</p>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="created" content="2018-10-23T06:18:10.521000000">
|
||||
<meta name="changed" content="2025-05-21T10:59:00.000000000">
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
<meta http-equiv="Content-Language" content="en">
|
||||
<title>
|
||||
Pin
|
||||
</title>
|
||||
<link rel="stylesheet" type="text/css" href="../../style.css">
|
||||
</head>
|
||||
<body>
|
||||
<div class="maindiv">
|
||||
<h1>
|
||||
<img class="iconlibs" src="../../../../icons/6464/pininput.png" alt="#########" width="32" height="32">
|
||||
<img class="iconlibs" src="../../../../icons/6464/pinoutput.png" alt="#########" width="32" height="32"> <em>Pin</em>
|
||||
</h1>
|
||||
<table>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<strong>Library:</strong>
|
||||
</td>
|
||||
<td>
|
||||
<a href="index.html">Wiring</a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<strong>Introduced:</strong>
|
||||
</td>
|
||||
<td>
|
||||
2.0 Beta 1 (in Base library, moved to Wiring in 2.7.0)
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td valign="top">
|
||||
<strong>Appearance:</strong>
|
||||
</td>
|
||||
<td valign="top">
|
||||
<table>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th></th>
|
||||
<th colspan=2>
|
||||
Arrow
|
||||
</th>
|
||||
<th colspan=2>
|
||||
Classic
|
||||
</th>
|
||||
<th >
|
||||
</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th valign="middle" align="left">
|
||||
Pin in:
|
||||
</th>
|
||||
<td>
|
||||
<img class="appearancelibs" src="../../../../img-libs/pinin1.png" alt="#########" width="64" height="64">
|
||||
</td>
|
||||
<td>
|
||||
<img class="appearancelibs" src="../../../../img-libs/pinin3.png" alt="#########" width="64" height="64">
|
||||
</td>
|
||||
<td>
|
||||
<img class="appearancelibs" src="../../../../img-libs/lpinin1.png" alt="#########" width="64" height="64">
|
||||
</td>
|
||||
<td>
|
||||
<img class="appearancelibs" src="../../../../img-libs/lpinin3.png" alt="#########" width="64" height="64">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th valign="middle" align="left">
|
||||
Pin out:
|
||||
</th>
|
||||
<td>
|
||||
<img class="appearancelibs" src="../../../../img-libs/pinout1.png" alt="#########" width="64" height="64">
|
||||
</td>
|
||||
<td>
|
||||
<img class="appearancelibs" src="../../../../img-libs/pinout3.png" alt="#########" width="64" height="64">
|
||||
</td>
|
||||
<td>
|
||||
<img class="appearancelibs" src="../../../../img-libs/lpinout1.png" alt="#########" width="64" height="64">
|
||||
</td>
|
||||
<td>
|
||||
<img class="appearancelibs" src="../../../../img-libs/lpinout3.png" alt="#########" width="64" height="64">
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h2>
|
||||
Behavior
|
||||
</h2>
|
||||
<p>
|
||||
A pin is an output or an input to a circuit, depending on the value of its <b class="propertie">Type</b> attribute. You can observe above how Logisim represents input and or output pins according to its <b class="propertie">Appearance</b> attribute.<br>
|
||||
In the "arrow" mode the inputs will have the connection on the pointed side and the outputs on the rectangular side. In the "classic" appearance the outputs are represented by a circle or rounded rectangle, and the input pins are represented using squares or rectangles.<br> In all case, the individual bits of the value being sent or received is displayed within the component (except within printer view, when the component only says how many bits wide the pin is).
|
||||
</p>
|
||||
<p>
|
||||
A pin is a convenient component for interacting with a circuit, and beginning Logisim users need not use them in any other way. But a user building a circuit using several subcircuits (as described in the <a class="refguide" href="../../guide/subcirc/index.html">Subcircuits</a>' section of the section of the <a href="../index.html">User guide</a> will also use pins to specify the interface between a circuit and a subcircuit. In particular, a circuit layout's pin components define the pins that appear on the subcircuit component when the layout is used within another circuit. In such a circuit, the values sent and received to those locations on the subcircuit component are tied to the pins within the subcircuit layout.
|
||||
</p>
|
||||
<h2>
|
||||
Pins
|
||||
</h2>
|
||||
<p>
|
||||
A pin component has only one pin, which will be an input to the component if the pin is an output pin, and it will be an output to the component if the pin is an input pin. In either case, its bit width matches the Data Bits attribute, and its location is specified by the Facing attribute.
|
||||
</p>
|
||||
<h2>
|
||||
Attributes
|
||||
</h2>
|
||||
<p>
|
||||
When the component is selected or being added, <b class="tkeybd">Alt-0</b> through <b class="tkeybd">Alt-9</b> alter its <b class="propertie">Data Bits</b> attribute. Quick use of the keys allows the entry of larger values for example <b class="tkeybd">ALT-1 ALT-2</b> gives 12. The arrow keys alter its <b class="propertie">Facing</b> attribute.
|
||||
</p>
|
||||
<div class="attliste">
|
||||
<dl>
|
||||
<dt>
|
||||
<b class="propertie">Facing</b>
|
||||
</dt>
|
||||
<dd>
|
||||
The side of the component where its input/output pin should be.
|
||||
</dd>
|
||||
<dt>
|
||||
<b class="propertie">Type</b>
|
||||
</dt>
|
||||
<dd>
|
||||
Specifies whether the component is an Output pin or an Input pin. <b class="note">Note :</b> If the pin component is an input pin, then the pin that acts as its interface within the parent circuit will be an output, and vice versa.
|
||||
</dd>
|
||||
<dt>
|
||||
<b class="propertie">Data Bits</b>
|
||||
</dt>
|
||||
<dd>
|
||||
The number of bits for the value that the pin handles.
|
||||
</dd>
|
||||
<dt>
|
||||
<b class="propertie">Behavior</b>
|
||||
</dt>
|
||||
<dd>
|
||||
The <b class="propertie">Behavior</b> attribute is only available for an input pin. The attribute specifies how unknown (floating), <b class="uvalue">U</b>, values should be treated. If the <b class="propertie">Behavior</b> is Simple or Tri-state, the <b class="uvalue">U</b> values are sent into the layout as <b class="uvalue">U</b> values. Pull Up converts <b class="uvalue">U</b> values to <b class="unov">1</b> before being sent into the circuit layout. Pull Down converts <b class="uvalue">U</b> values to <b class="zerov">0</b> before being sent into the circuit layout.
|
||||
<br><br>
|
||||
The <b class="propertie">Behavior</b> attribute also specifies what values may be entered into the pin when it is not receiving a value from a parent circuit. Tri-state allows you to enter <b class="uvalue">U</b> values. The other settings do not allow you to enter <b class="uvalue">U</b> values.
|
||||
</dd>
|
||||
<dt>
|
||||
<b class="propertie">Label</b>
|
||||
</dt>
|
||||
<dd>
|
||||
The text within the label associated with the component.
|
||||
</dd>
|
||||
<dt>
|
||||
<b class="propertie">Label Font</b>
|
||||
</dt>
|
||||
<dd>
|
||||
The font with which to render the label.
|
||||
</dd>
|
||||
<dt>
|
||||
<b class="propertie">Radix</b>
|
||||
</dt>
|
||||
<dd>
|
||||
Allows you to define the base in which the values will be represented.<br>
|
||||
Example for 1010 in binary<br>
|
||||
 Binary : <b>1010<sub>b</sub></b><br>
|
||||
 Octal : <b>12<sub>o</sub></b><br>
|
||||
 Signed decimal : <b>-6<sub>s</sub></b><br>
|
||||
 Unsigned decimal : <b>10<sub>u</sub></b><br>
|
||||
 Hexadecimal : <b>A<sub>h</sub></b><br>
|
||||
 Float : <b>6.0E-07<sub>f</sub> </b> if bit width is 16<br>
|
||||
 Float : <b>1.4E-44<sub>f</sub> </b> if bit width is 32<br>
|
||||
 Float : <b>4.9E-323<sub>f</sub> </b> if bit width is 64<br>
|
||||
 Float : <b>NaN<sub>f</sub> </b> if bit width is not 16, 32 or 64
|
||||
</dd>
|
||||
<dt>
|
||||
<b class="propertie"> Appearance</b>
|
||||
</dt>
|
||||
<dd>
|
||||
There are two types of appearance, Classic Logisim and Arrow Shapes. See the examples at the top of the page
|
||||
</dd>
|
||||
<dt>
|
||||
<b class="propertie"> Reset Value</b>
|
||||
</dt>
|
||||
<dd>
|
||||
An input pin may be given a reset value if it does not have the Tri-state Behavior. The reset value is given as a hexadecimal value. It is loaded into the pin on a simulator reset. If the input pin has Tri-state Behavior, it is loaded with all unknown (floating), <b class="uvalue">U</b>, bits on a reset.
|
||||
</dd>
|
||||
</dl>
|
||||
</div>
|
||||
<h2>
|
||||
Poke Tool Behavior
|
||||
</h2>
|
||||
<p>
|
||||
Clicking an output pin has no effect, although the pin's attributes will be displayed.
|
||||
</p>
|
||||
<p>
|
||||
Clicking an input pin will toggle the bit that is clicked. If it is a three-state pin, then the corresponding bit will rotate between the three states.<br>
|
||||
If the base is Float a small input screen will be displayed.
|
||||
</p>
|
||||
<p>
|
||||
If, however, the user is viewing the state of a subcircuit as described in the `<a href="../../guide/subcirc/sub-debug.html">Debugging Subcircuits</a>' of the <em>User's Guide</em>, then the pin's value is pinned to whatever value the subcircuit is receiving from the containing circuit. The user cannot change the value without breaking this link between the subcircuit's state and the containing circuit's state, and Logisim will prompt the user to verify that breaking this link is actually desired.
|
||||
</p>
|
||||
<h2>
|
||||
Text Tool Behavior
|
||||
</h2>
|
||||
<p>
|
||||
Allows the label associated with the component to be edited.
|
||||
</p>
|
||||
<p>
|
||||
<b>Back to</b> <a href="../index.html">Library Reference</a>
|
||||
</p>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
<body>
|
||||
<div class="maindiv">
|
||||
<h1>
|
||||
<img class="iconlibs" src="../../../../icons/6464/pinInput.png" alt="#########" height="32" width="32">
|
||||
<img class="iconlibs" src="../../../../icons/6464/pinInput.png" alt="#########" height="32" width="32">
|
||||
<img class="iconlibs" src="../../../../icons/6464/pinOutput.png" alt="#########" height="32" width="32">
|
||||
<em>Broche</em>
|
||||
</h1>
|
||||
|
@ -98,8 +98,8 @@
|
|||
Comportement
|
||||
</h2>
|
||||
<p>
|
||||
Le composant "Broche" est une sortie ou une entrée d’un circuit, en fonction de la valeur de son attribut <b class="propertie">sortie?</b>. Vous pouvez observer ci-dessus la manière dont Logisim représente les broches d'entrées et ou de sorties selon sont attribut <b class="propertie">Apparence</b>.<br>
|
||||
Dans le mode "flèche" les entrées auront le branchement du coté pointu et les sorties du coté rectangulaire. Dans l'apparence "classique" les sorties sont reprsentée par un cercle ou d'un rectangle arrondi, et les broches d'entrée sont représentées à l'aide de carrés ou de rectangles. Dans tous les cas, la valeur des bits individuels de la valeur envoyée ou reçue sont affichés dans le composant (sauf dans la vue de'impression, lorsque le composant indique uniquement sa largeur en bit).
|
||||
Le composant "Broche" est une sortie ou une entrée d’un circuit, en fonction de la valeur de son attribut <b class="propertie">Type</b>. Vous pouvez observer ci-dessus la manière dont Logisim représente les broches d'entrées et ou de sorties selon sont attribut <b class="propertie">Apparence</b>.<br>
|
||||
Dans le mode "flèche" les entrées auront le branchement du coté pointu et les sorties du coté rectangulaire. Dans l'apparence "classique" les sorties sont reprsentée par un cercle ou d'un rectangle arrondi, et les broches d'entrée sont représentées à l'aide de carrés ou de rectangles. Dans tous les cas, la valeur des bits individuels de la valeur envoyée ou reçue sont affichés dans le composant (sauf dans la vue de'impression, lorsque le composant indique uniquement sa largeur en bit).
|
||||
</p>
|
||||
<p>
|
||||
Une "broche" est un composant pratique pour interagir avec un circuit en mode simulation (en cliquant dessus), et les utilisateurs débutants de Logisim n'ont pas besoin de les utiliser d'une autre manière. Mais quand la complexité augmente on construit un circuit en utilisant plusieurs sous-circuits (comme décrit dans la section <a class=refguide href="../../guide/subcirc/index.html">Design hiérarchique</a> du <a href="../index.html">Guide de l'utilisateur</a> et on utilisera également des broches pour spécifier les interconnexions entre un circuit et un sous-circuit. En particulier, les composants "Broche" du schéma d'un circuit définissent les contactes qui apparaissent sur le symbole du sous-circuit lorsque qu'il est utilisé dans un autre circuit. Dans une telle construction, les valeurs envoyées et reçues à ces emplacements sur le symbole du sous-circuit sont liées aux broches dans le schéma du sous-circuit.
|
||||
|
@ -125,7 +125,7 @@
|
|||
Le côté du composant dessiné où doit se trouver sa pin d'entrée / sortie.
|
||||
</dd>
|
||||
<dt>
|
||||
<b class="propertie">Sortie ?</b>
|
||||
<b class="propertie">Type</b>
|
||||
</dt>
|
||||
<dd>
|
||||
Spécifie si le composant est une connexion de sortie ou une connexion d’entrée. <b class=note>Note</b>: Si le composant broche est une entrée, la connexion qui agit comme interface dans un circuit de hyerachie supérieur sera une sortie, et inversement.
|
||||
|
@ -137,16 +137,12 @@
|
|||
Le nombre de bits correspondant à la largeur en bit prise en charge par la pin.
|
||||
</dd>
|
||||
<dt>
|
||||
<b class="propertie">Trois états?</b>
|
||||
<b class="propertie">Behavior</b>
|
||||
</dt>
|
||||
<dd>
|
||||
Pour une broche d’entrée, cette option détermine si l’utilisateur peut demander à la pin d’émettre des valeurs flottantes (Non spécifiée). L'attribut n'est utile que dans l'interface utilisateur pour la simulation. cela n'a aucun effet sur le comportement de la broche lorsque la disposition du circuit est utilisée comme sous-circuit. Pour une broche de sortie, l'attribut n'a aucun effet.
|
||||
</dd>
|
||||
<dt>
|
||||
<b class="propertie">Pull Comportement</b>
|
||||
</dt>
|
||||
<dd>
|
||||
Pour une broche d'entrée, l'attribut spécifie comment les valeurs flottantes doivent être traitées dans la simulation lorsqu'elles sont reçues en entrée depuis un circuit de hyérachie supérieur. Avec "inchangé", les valeurs flottantes sont reprise dans le schéma sous forme de valeurs flottantes; avec "pull up", ils sont convertis en 1 et avec "pull down", ils sont convertis en valeurs 0.
|
||||
The <b class="propertie">Behavior</b> attribute is only available for an input pin. The attribute specifies how unknown (floating), <b class="uvalue">U</b>, values should be treated. If the <b class="propertie">Behavior</b> is Simple or Tri-state, the <b class="uvalue">U</b> values are sent into the layout as <b class="uvalue">U</b> values. Pull Up converts <b class="uvalue">U</b> values to <b class="unov">1</b> before being sent into the circuit layout. Pull Down converts <b class="uvalue">U</b> values to <b class="zerov">0</b> before being sent into the circuit layout.
|
||||
<br><br>
|
||||
The <b class="propertie">Behavior</b> attribute also specifies what values may be entered into the pin when it is not receiving a value from a parent circuit. Tri-state allows you to enter <b class="uvalue">U</b> values. The other settings do not allow you to enter <b class="uvalue">U</b> values.
|
||||
</dd>
|
||||
<dt>
|
||||
<b class="propertie">Label</b>
|
||||
|
@ -171,7 +167,10 @@
|
|||
 Décimal signé : <b>-6<sub>s</sub></b><br>
|
||||
 Décimal non signé : <b>10<sub>u</sub></b><br>
|
||||
 Hexadecimal : <b>A<sub>h</sub></b><br>
|
||||
 flottant : <b>1.4E-44<sub>f</sub> </b> Seulement en 32 ou 64 bits de 1 ou de 0. Si non présente la valeur <b>NaN<sub>f</sub></b> <br>
|
||||
 flottant : <b>6.0E-07<sub>f</sub> </b> if bit width is 16<br>
|
||||
 flottant : <b>1.4E-44<sub>f</sub> </b> if bit width is 32<br>
|
||||
 flottant : <b>4.9E-323<sub>f</sub> </b> if bit width is 64<br>
|
||||
 flottant : <b>NaN<sub>f</sub> </b> if bit width is not 16, 32 or 64
|
||||
</dd>
|
||||
<dt>
|
||||
<b class="propertie"> Appearence</b>
|
||||
|
@ -179,9 +178,15 @@
|
|||
<dd>
|
||||
Il existe deux types d'apparence, la Logisim CLassic et les Formes de flèches. Voir les exemples en haut de la page.
|
||||
</dd>
|
||||
<dt>
|
||||
<b class="propertie"> Reset Value</b>
|
||||
</dt>
|
||||
<dd>
|
||||
An input pin may be given a reset value if it does not have the Tri-state Behavior. The reset value is given as a hexadecimal value. It is loaded into the pin on a simulator reset. If the input pin has Tri-state Behavior, it is loaded with all unknown (floating), <b class="uvalue">U</b>, bits on a reset.
|
||||
</dd>
|
||||
</dl>
|
||||
<h2>
|
||||
Comportement de l'outil pousser
|
||||
Comportement de l'outil pousser
|
||||
</h2>
|
||||
<p>
|
||||
Cliquer sur une broche de sortie n’a aucun effet, bien que les attributs de la broche soient affichés.
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
<div class="maindiv">
|
||||
<h1>
|
||||
<h1>
|
||||
<img class="iconlibs" src="../../../../icons/6464/pininput.png" alt="#########" width="32" height="32">
|
||||
<img class="iconlibs" src="../../../../icons/6464/pininput.png" alt="#########" width="32" height="32">
|
||||
<img class="iconlibs" src="../../../../icons/6464/pinoutput.png" alt="#########" width="32" height="32">
|
||||
<em>Pino</em>
|
||||
</h1>
|
||||
|
@ -99,7 +99,7 @@
|
|||
Comportamento
|
||||
</h2>
|
||||
<p>
|
||||
Um pino pode ser uma saída ou uma entrada para um circuito, dependendo do valor de seu atributo Saída?. Ao desenhar um pino, o Logisim representará as saídas por círculos ou retângulos com bordas arredondadas, e as entradas serão representadas por quadrados ou retângulos. Em ambos os casos, os bits individuais do valor que for recebido ou enviado será mostrada pelo componente (exceto quando for prévia de uma impressão, quando o componente apenas informará quantos bits poderá comportar).
|
||||
Um pino pode ser uma saída ou uma entrada para um circuito, dependendo do valor de seu atributo Type. Ao desenhar um pino, o Logisim representará as saídas por círculos ou retângulos com bordas arredondadas, e as entradas serão representadas por quadrados ou retângulos. Em ambos os casos, os bits individuais do valor que for recebido ou enviado será mostrada pelo componente (exceto quando for prévia de uma impressão, quando o componente apenas informará quantos bits poderá comportar).
|
||||
</p>
|
||||
<p>
|
||||
Um pino é conveniente para se interagir com um circuito, e os usuários iniciantes do Logisim não precisarão usá-los necessariamente. Mas um usuário que estiver construindo um circuito que use vários subcircuitos (como descrito na seção '<a href="../../guide/subcirc/index.html">Subcircuitos</a>' do <em>Guia do Usuário</em>) poderá usar pinos para especificar a interface entre um circuito e um subcircuito. Em particular, o pino de um <i>layout</i> de circuito define como ele aparecerá quando for tomado por subcircuito e seu <i>layout</i> estiver sendo usado por outro. Em tal circuito, os valores enviados ou recebidos por essas posições no subcircuito serão vinculados aos pinos internos de seu <i>layout</i>.
|
||||
|
@ -124,7 +124,7 @@
|
|||
A face do componente onde sua entrada/saída deverá estar.
|
||||
</dd>
|
||||
<dt>
|
||||
Saída?
|
||||
Type
|
||||
</dt>
|
||||
<dd>
|
||||
Serve para especificar se o componente irá funcionar com entrada ou saída. (Observar que se for um pino de entrada, então o pino irá funcionar como se sua interface dentro do circuito fosse uma saída, e vice-versa.)
|
||||
|
@ -136,16 +136,12 @@
|
|||
O número de bits para o valor que o pino pode tratar.
|
||||
</dd>
|
||||
<dt>
|
||||
Tri-state?
|
||||
<b class="propertie">Behavior</b>
|
||||
</dt>
|
||||
<dd>
|
||||
Para um pino de entrada, serve para configurar se o usuário poderá indicar que o pino poderá emitir valores indefinidos (ou seja, flutuantes). Esse atributo lida apenas com a interface com o usuário; ele não terá qualquer efeito sobre como o pino se comportará quanto o <i>layout</i> do circuito for usado como um subcircuito. Para um pino de saída, o atributo não terá efeito algum.
|
||||
</dd>
|
||||
<dt>
|
||||
Comportamento para Ajuste
|
||||
</dt>
|
||||
<dd>
|
||||
Para um pino de entrada, o atributo especificará como um valor flutuante deverá ser tratado quando recebido por uma entrada, talvez de um circuito que esteja usando o <i>layout</i>, como no caso de um subcircuito. Se "imutável", os valores flutuantes serão enviados como tal; se "<i>pull-up</i>", eles serão convertidos para 1 antes de serem submetidos; e se "<i>pull-down</i>", eles serão convertidos para 0 antes de serem entregues.
|
||||
The <b class="propertie">Behavior</b> attribute is only available for an input pin. The attribute specifies how unknown (floating), <b class="uvalue">U</b>, values should be treated. If the <b class="propertie">Behavior</b> is Simple or Tri-state, the <b class="uvalue">U</b> values are sent into the layout as <b class="uvalue">U</b> values. Pull Up converts <b class="uvalue">U</b> values to <b class="unov">1</b> before being sent into the circuit layout. Pull Down converts <b class="uvalue">U</b> values to <b class="zerov">0</b> before being sent into the circuit layout.
|
||||
<br><br>
|
||||
The <b class="propertie">Behavior</b> attribute also specifies what values may be entered into the pin when it is not receiving a value from a parent circuit. Tri-state allows you to enter <b class="uvalue">U</b> values. The other settings do not allow you to enter <b class="uvalue">U</b> values.
|
||||
</dd>
|
||||
<dt>
|
||||
Rótulo
|
||||
|
@ -176,7 +172,10 @@
|
|||
 Decimal con sinal : <b>-6</b><br>
|
||||
 Decimal sen sinal : <b>10</b><br>
|
||||
 Hexadecimal : <b>A</b><br>
|
||||
 Float : <b> </b><br>
|
||||
 Float : <b>6.0E-07<sub>f</sub> </b> if bit width is 16<br>
|
||||
 Float : <b>1.4E-44<sub>f</sub> </b> if bit width is 32<br>
|
||||
 Float : <b>4.9E-323<sub>f</sub> </b> if bit width is 64<br>
|
||||
 Float : <b>NaN<sub>f</sub> </b> if bit width is not 16, 32 or 64
|
||||
</dd>
|
||||
<dt>
|
||||
<b class="propertie"> Aparência</b>
|
||||
|
@ -184,6 +183,12 @@
|
|||
<dd>
|
||||
Existem dois tipos de aparência, Logisim Clássica e Formas de Flecha. Ver os exemplos no topo da página.
|
||||
</dd>
|
||||
<dt>
|
||||
<b class="propertie"> Reset Value</b>
|
||||
</dt>
|
||||
<dd>
|
||||
An input pin may be given a reset value if it does not have the Tri-state Behavior. The reset value is given as a hexadecimal value. It is loaded into the pin on a simulator reset. If the input pin has Tri-state Behavior, it is loaded with all unknown (floating), <b class="uvalue">U</b>, bits on a reset.
|
||||
</dd>
|
||||
</dl>
|
||||
<h2>
|
||||
Comportamento da ferramenta Testar
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
<body>
|
||||
<div class="maindiv">
|
||||
<h1>
|
||||
<img class="iconlibs" src="../../../../icons/6464/pininput.png" alt="#########" width="32" height="32">
|
||||
<img class="iconlibs" src="../../../../icons/6464/pininput.png" alt="#########" width="32" height="32">
|
||||
<img class="iconlibs" src="../../../../icons/6464/pinoutput.png" alt="#########" width="32" height="32"> <em>Контакт</em>
|
||||
</h1>
|
||||
<table>
|
||||
|
@ -97,7 +97,7 @@
|
|||
Поведение
|
||||
</h2>
|
||||
<p>
|
||||
Контакт - это выход или вход схемы, в зависимости от значения атрибута Выход? . При отрисовке контакта Logisim представляет выходные контакты как кружки или скруглённые прямоугольники, а входные контакты как квадраты или прямоугольники. В обоих случаях отдельные биты значения, которое оправляется или принимается, отображаются внутри данного компонента (кроме Вида для печати, когда компонент говорит только какова разрядность контакта).
|
||||
Контакт - это выход или вход схемы, в зависимости от значения атрибута Type. При отрисовке контакта Logisim представляет выходные контакты как кружки или скруглённые прямоугольники, а входные контакты как квадраты или прямоугольники. В обоих случаях отдельные биты значения, которое оправляется или принимается, отображаются внутри данного компонента (кроме Вида для печати, когда компонент говорит только какова разрядность контакта).
|
||||
</p>
|
||||
<p>
|
||||
Контакт - удобный компонент для взаимодействия со схемой, и начинающим пользователям Logisim не нужно использовать их каким-либо другим образом. Но пользователь, строящий схему с использованием нескольких подсхем (как описано в разделе <a class=refguide href="../../guide/subcirc/index.html">Подсхемы</a> <em>Руководства пользователя</em> ) будет использовать контакты также чтобы определить интерфейс между схемой и подсхемой. В частности, компоненты Контакт чертежа схемы определяют контакты, которые отображаются на компоненте Подсхема, когда чертёж используется внутри другой схемы. В такой схеме значения, переданные и принятые в этих точках компонента Подсхема, связаны с контактами внутри чертежа подсхемы.
|
||||
|
@ -122,7 +122,7 @@
|
|||
Сторона компонента, где должен быть его входной/выходной контакт.
|
||||
</dd>
|
||||
<dt>
|
||||
Выход?
|
||||
Type
|
||||
</dt>
|
||||
<dd>
|
||||
Определяет, будет компонент выходным контактом или входным. (Заметьте, что если компонент Контакт - входной контакт, то контакт, который выступает в качестве интерфейса в схеме, будет выходом, и наоборот.)
|
||||
|
@ -134,16 +134,12 @@
|
|||
Количество битов значения, с которым имеет дело контакт.
|
||||
</dd>
|
||||
<dt>
|
||||
Три состояния?
|
||||
<b class="propertie">Behavior</b>
|
||||
</dt>
|
||||
<dd>
|
||||
Для входного контакта этот атрибут определяет, может ли пользователь заставить контакт подать на выход неопределённые (например плавающие) значения. Этот атрибут имеет дело только с интерфейсом пользователя; он никак не влияет на поведение контакта, когда чертёж схемы использован как подсхема. Для выходного контакта атрибут не влияет ни на что.
|
||||
</dd>
|
||||
<dt>
|
||||
Обращение с плавающими
|
||||
</dt>
|
||||
<dd>
|
||||
Для входного контакта атрибут определяет, каким образом следует рассматривать плавающие значения, когда они приняты на входе, возможно с использованием чертежа как подсхемы. При значении "Не менять" плавающие значения передаются в чертёж как плавающие значения; при значении "Повышать" они преобразуются в 1 до того, как передаются в чертёж схемы; и при значении "Понижать" они преобразуются в 0 до того, как передаются в чертёж схемы.
|
||||
The <b class="propertie">Behavior</b> attribute is only available for an input pin. The attribute specifies how unknown (floating), <b class="uvalue">U</b>, values should be treated. If the <b class="propertie">Behavior</b> is Simple or Tri-state, the <b class="uvalue">U</b> values are sent into the layout as <b class="uvalue">U</b> values. Pull Up converts <b class="uvalue">U</b> values to <b class="unov">1</b> before being sent into the circuit layout. Pull Down converts <b class="uvalue">U</b> values to <b class="zerov">0</b> before being sent into the circuit layout.
|
||||
<br><br>
|
||||
The <b class="propertie">Behavior</b> attribute also specifies what values may be entered into the pin when it is not receiving a value from a parent circuit. Tri-state allows you to enter <b class="uvalue">U</b> values. The other settings do not allow you to enter <b class="uvalue">U</b> values.
|
||||
</dd>
|
||||
<dt>
|
||||
Метка
|
||||
|
@ -163,6 +159,12 @@
|
|||
<dd>
|
||||
Шрифт, которым отрисовывается метка.
|
||||
</dd>
|
||||
<dt>
|
||||
<b class="propertie"> Reset Value</b>
|
||||
</dt>
|
||||
<dd>
|
||||
An input pin may be given a reset value if it does not have the Tri-state Behavior. The reset value is given as a hexadecimal value. It is loaded into the pin on a simulator reset. If the input pin has Tri-state Behavior, it is loaded with all unknown (floating), <b class="uvalue">U</b>, bits on a reset.
|
||||
</dd>
|
||||
</dl>
|
||||
<h2>
|
||||
Поведение Инструмента Нажатие
|
||||
|
|
|
@ -120,10 +120,10 @@
|
|||
行为
|
||||
</h2>
|
||||
<p>
|
||||
<!-- A pin is an output or an input to a circuit, depending on the value of its <b class="propertie">Output?</b> attribute. You can observe above how Logisim represents input and or output pins according to its <b class="propertie">Appearance</b> attribute.<br> In the "arrow" mode the inputs will have the connection on the pointed side and the outputs on the rectangular side. In the "classic" appearance the outputs are represented by a circle or rounded rectangle, and the input pins are represented using squares or rectangles.<br> In all case, the individual bits of the value being sent or received is displayed within the component (except within printer view, when the component only says how many bits wide the pin is -->
|
||||
<!-- A pin is an output or an input to a circuit, depending on the value of its <b class="propertie">Type</b> attribute. You can observe above how Logisim represents input and or output pins according to its <b class="propertie">Appearance</b> attribute.<br> In the "arrow" mode the inputs will have the connection on the pointed side and the outputs on the rectangular side. In the "classic" appearance the outputs are represented by a circle or rounded rectangle, and the input pins are represented using squares or rectangles.<br> In all case, the individual bits of the value being sent or received is displayed within the component (except within printer view, when the component only says how many bits wide the pin is -->
|
||||
引脚是电路的输出还是输入,具体取决于其
|
||||
<b class="propertie">
|
||||
输出?
|
||||
Type
|
||||
</b>
|
||||
属性的值。 您可以在上面观察 Logisim-evolution 如何根据其
|
||||
<b class="propertie">
|
||||
|
@ -192,9 +192,9 @@
|
|||
元件输入/输出引脚所在的一侧。
|
||||
</dd>
|
||||
<dt>
|
||||
<!-- <b class="propertie">Output?</b> -->
|
||||
<!-- <b class="propertie">Type</b> -->
|
||||
<b class="propertie">
|
||||
输出?
|
||||
Type
|
||||
</b>
|
||||
</dt>
|
||||
<dd>
|
||||
|
@ -216,23 +216,12 @@
|
|||
引脚处理的值的位数。
|
||||
</dd>
|
||||
<dt>
|
||||
<!-- <b class="propertie">Three-state?</b> -->
|
||||
<b class="propertie">
|
||||
三态?
|
||||
</b>
|
||||
<b class="propertie">Behavior</b>
|
||||
</dt>
|
||||
<dd>
|
||||
<!-- For an input pin, this configures whether the user can instruct the pin to emit unspecified (i.e., floating) values. The attribute deals with the user interface only; it does not have any effect on how the pin behaves when the circuit layout is used as a subcircuit. For an output pin, the attribute has no effect. -->
|
||||
对于输入引脚,该属性会让输入值由0、1二种变为0、1、U三种。 该属性仅处理用户界面; 当电路布局用作子电路时,它对引脚的行为没有任何影响。 对于输出引脚,该属性没有影响。
|
||||
</dd>
|
||||
<dt>
|
||||
<b class="propertie">
|
||||
Pull Behavior
|
||||
</b>
|
||||
</dt>
|
||||
<dd>
|
||||
<!-- For an input pin, the attribute specifies how floating values should be treated when received as an input, perhaps from a circuit using the layout as a subcircuit. With "unchanged," the floating values are sent into the layout as floating values; with "pull up," they are converted into 1 values before being sent into the circuit layout; and with "pull down," they are converted into 0 values before being sent into the circuit layout. -->
|
||||
对于输入引脚,该属性指定当作为输入接收时(可能来自使用布局作为子电路的电路)应如何处理浮动值。 使用“unchanged”时,浮动值将作为浮动值发送到布局中; 当是“上拉”时,它们在发送到电路布局之前被转换为 1 值; 当是“下拉”,它们在发送到电路布局之前会被转换为 0 值。
|
||||
The <b class="propertie">Behavior</b> attribute is only available for an input pin. The attribute specifies how unknown (floating), <b class="uvalue">U</b>, values should be treated. If the <b class="propertie">Behavior</b> is Simple or Tri-state, the <b class="uvalue">U</b> values are sent into the layout as <b class="uvalue">U</b> values. Pull Up converts <b class="uvalue">U</b> values to <b class="unov">1</b> before being sent into the circuit layout. Pull Down converts <b class="uvalue">U</b> values to <b class="zerov">0</b> before being sent into the circuit layout.
|
||||
<br><br>
|
||||
The <b class="propertie">Behavior</b> attribute also specifies what values may be entered into the pin when it is not receiving a value from a parent circuit. Tri-state allows you to enter <b class="uvalue">U</b> values. The other settings do not allow you to enter <b class="uvalue">U</b> values.
|
||||
</dd>
|
||||
<dt>
|
||||
<!-- <b class="propertie">Label</b> -->
|
||||
|
@ -291,7 +280,7 @@
|
|||
</sub>
|
||||
</b>
|
||||
<br/>
|
||||
Unsigned deciaml :
|
||||
Unsigned decimal :
|
||||
<b>
|
||||
10
|
||||
<sub>
|
||||
|
@ -307,22 +296,10 @@
|
|||
</sub>
|
||||
</b>
|
||||
<br/>
|
||||
<!--  Float : <b>1.4E-44<sub>f</sub> </b> Only in 32 or 64 bits 1 or 0. If not present the value <b>NaN<sub>f</sub></b> <br> -->
|
||||
Float :
|
||||
<b>
|
||||
1.4E-44
|
||||
<sub>
|
||||
f
|
||||
</sub>
|
||||
</b>
|
||||
仅在 32 或 64 位中有值
|
||||
<b>
|
||||
NaN
|
||||
<sub>
|
||||
f
|
||||
</sub>
|
||||
</b>
|
||||
<br/>
|
||||
Float : <b>6.0E-07<sub>f</sub> </b> if bit width is 16<br>
|
||||
Float : <b>1.4E-44<sub>f</sub> </b> if bit width is 32<br>
|
||||
Float : <b>4.9E-323<sub>f</sub> </b> if bit width is 64<br>
|
||||
Float : <b>NaN<sub>f</sub> </b> if bit width is not 16, 32 or 64
|
||||
</dd>
|
||||
<dt>
|
||||
<!-- <b class="propertie"> Appearence</b> -->
|
||||
|
@ -334,6 +311,12 @@
|
|||
<!-- There are two types of appearance, CLassic Logisim and Arrow Shapes. See the examples at the top of the page -->
|
||||
有两种外观类型:经典 Logisim 和箭头形状。 请参阅页面顶部的示例
|
||||
</dd>
|
||||
<dt>
|
||||
<b class="propertie"> Reset Value</b>
|
||||
</dt>
|
||||
<dd>
|
||||
An input pin may be given a reset value if it does not have the Tri-state Behavior. The reset value is given as a hexadecimal value. It is loaded into the pin on a simulator reset. If the input pin has Tri-state Behavior, it is loaded with all unknown (floating), <b class="uvalue">U</b>, bits on a reset.
|
||||
</dd>
|
||||
</dl>
|
||||
</div>
|
||||
<h2>
|
||||
|
|
|
@ -260,7 +260,7 @@ plaAddRowButton = Add Row
|
|||
plaCommentsLabel = comments
|
||||
plaInputLabel = input
|
||||
plaOutputLabel = output
|
||||
plaFileIoException = PLA file contained no data.
|
||||
plaFileIoException = PLA file contained no data.
|
||||
plaInvalideInputBitError= PLA row %s contains invalid input bit %s.
|
||||
plaInvalideOutputBitError = PLA row %s contains invalid output bit %s.
|
||||
plaRowExactOutBitError = PLA row %s must have exactly %s output bits.
|
||||
|
@ -804,7 +804,6 @@ TTL7414 = 7414: hex inverter (schmitt-trigger)
|
|||
TTL74161 = 74161: 4-bit sync counter with async clear
|
||||
TTL74163 = 74163: 4-bit sync counter with sync clear
|
||||
TTL74164 = 74164: 8-bit serial-to-parallel shift register
|
||||
TTL74165 = 74165: 8-bit parallel-to-serial shift register with asynchronous load
|
||||
TTL74165 = 74165: 8-bit parallel-to-serial shift register
|
||||
TTL74166 = 74166: 8-bit parallel-to-serial shift register with asynchronous clear
|
||||
TTL74175 = 74175: quad D-flipflop, asynchronous reset
|
||||
|
@ -889,6 +888,7 @@ PORDurationValue = %s Secs
|
|||
#
|
||||
# wiring/Pin.java
|
||||
#
|
||||
pinBehaviorAttr = Behavior
|
||||
PinCancel = Cancel
|
||||
pinComponent = Pin
|
||||
PinEnterDecimal = Enter Decimal
|
||||
|
@ -896,17 +896,18 @@ PinEnterFloat = Enter Float
|
|||
pinFrozenQuestion = The pin is tied to the super circuit's state. Create a new circuit state?
|
||||
pinFrozenTitle = Pin Attached To Super circuit.
|
||||
pinInputName = Input
|
||||
pinInputOption = Input
|
||||
pinInputToolTip = Add an input pin
|
||||
PinOkay = OK
|
||||
pinOutputAttr = Output?
|
||||
pinOutputName = Output
|
||||
pinOutputOption = Output
|
||||
pinOutputToolTip = Add an output pin
|
||||
pinPullAttr = Pull Behavior
|
||||
pinPullDownOption = Pull Down
|
||||
pinPullNoneOption = Unchanged
|
||||
pinPullUpOption = Pull Up
|
||||
pinResetValue = Reset value:
|
||||
pinThreeStateAttr = Three-state?
|
||||
pinSimpleOption = Simple
|
||||
pinTristateOption = Tri-state
|
||||
pinTypeAttr = Type
|
||||
#
|
||||
# wiring/PowerOnReset.java
|
||||
#
|
||||
|
@ -914,8 +915,8 @@ PowerOnResetComponent = POR
|
|||
porLongName = Power-On Reset
|
||||
porHighAttr = POR-time
|
||||
PorSize = Draw size
|
||||
porSizeMedium = Medium
|
||||
porSizeNarrow = Narrow
|
||||
porSizeMedium = Medium
|
||||
porSizeNarrow = Narrow
|
||||
porSizeWide = Wide
|
||||
porTransition = Port transition
|
||||
porHighToLow = High to Low
|
||||
|
@ -971,4 +972,3 @@ transistorComponent = Transistor
|
|||
transmissionGateComponent = Transmission Gate
|
||||
wiringLibrary = Wiring
|
||||
input.output.extra = Input/Output Extra
|
||||
|
||||
|
|
|
@ -805,7 +805,6 @@ TTL74161 = 74161: synchroner 4-bit-Zähler mit Clear
|
|||
TTL74163 = 74163: synchroner 4-bit-Zähler mit synchronem Clear
|
||||
TTL74164 = 74164: 8-Bit Serielles zu Parallel Schieberegister
|
||||
# ==> TTL74165 =
|
||||
# ==> TTL74165 =
|
||||
# ==> TTL74166 =
|
||||
TTL74175 = 74175: Vierfach D-Flipflop, asynchroner Clear
|
||||
TTL7418 = 7418: Zweifach 4-Eingangs-NAND-Gatter (Schmitt-Trigger)
|
||||
|
@ -889,6 +888,7 @@ PORDurationValue = %s Sek
|
|||
#
|
||||
# wiring/Pin.java
|
||||
#
|
||||
pinBehaviorAttr = Verhalten
|
||||
PinCancel = Abbrechen
|
||||
pinComponent = Pin
|
||||
PinEnterDecimal = Dezimalzahl eingeben
|
||||
|
@ -896,17 +896,18 @@ PinEnterFloat = Gleitkommazahl eingeben
|
|||
pinFrozenQuestion = Der Pin ist mit dem Zustand der höheren Ebene verknüpft. Einen neuen Schaltungszustand erstellen?
|
||||
pinFrozenTitle = Der Pin ist in der höheren Ebene zugeordnet.
|
||||
pinInputName = Eingang
|
||||
pinInputOption = Eingang
|
||||
pinInputToolTip = Eingangspin hinzufügen
|
||||
PinOkay = OK
|
||||
pinOutputAttr = Ausgang?
|
||||
pinOutputName = Ausgang
|
||||
pinOutputOption = Ausgang
|
||||
pinOutputToolTip = Ausgangspin hinzufügen
|
||||
pinPullAttr = Pull-Verhalten
|
||||
pinPullDownOption = Pull-Down
|
||||
pinPullNoneOption = Unverändert
|
||||
pinPullUpOption = Pull-Up
|
||||
pinResetValue = Startwert:
|
||||
pinThreeStateAttr = Threestate?
|
||||
pinSimpleOption = Einfach
|
||||
pinTristateOption = Tri-State
|
||||
pinTypeAttr = Typ
|
||||
#
|
||||
# wiring/PowerOnReset.java
|
||||
#
|
||||
|
|
|
@ -805,7 +805,6 @@ TTL74153 = Διπλός πολυπλέκτης 4-προς-1
|
|||
# ==> TTL74163 =
|
||||
# ==> TTL74164 =
|
||||
# ==> TTL74165 =
|
||||
# ==> TTL74165 =
|
||||
# ==> TTL74166 =
|
||||
# ==> TTL74175 =
|
||||
# ==> TTL7418 =
|
||||
|
@ -889,6 +888,7 @@ freqInvalidMessage = Η τιμή δεν είναι έγκυρος ακέραιο
|
|||
#
|
||||
# wiring/Pin.java
|
||||
#
|
||||
# ==> pinBehaviorAttr =
|
||||
# ==> PinCancel =
|
||||
pinComponent = Ακροδέκτης
|
||||
# ==> PinEnterDecimal =
|
||||
|
@ -896,17 +896,18 @@ pinComponent = Ακροδέκτης
|
|||
pinFrozenQuestion = Ο ακροδέκτης είναι διασυνδεδεμένος στην κατάσταση του κυκλώματος. Δημιουργία μιας νέας κατάστασης του κυκλώματος?
|
||||
pinFrozenTitle = Ακροδέτης συνδεδεμένος στο Κύκλωμα.
|
||||
pinInputName = Είσοδος
|
||||
# ==> pinInputOption =
|
||||
pinInputToolTip = Προσθήκη ενός ακροδέκτη εισόδου
|
||||
# ==> PinOkay =
|
||||
pinOutputAttr = Έξοδος?
|
||||
pinOutputName = Έξοδος
|
||||
# ==> pinOutputOption =
|
||||
pinOutputToolTip = Προσθήκη ενός ακροδέκτη εξόδου
|
||||
pinPullAttr = Συμπεριφορά Οδήγησης
|
||||
pinPullDownOption = Οδήγηση Κάτω
|
||||
pinPullNoneOption = Αμετάβλητο
|
||||
pinPullUpOption = Οδήγηση Πάνω
|
||||
# ==> pinResetValue =
|
||||
pinThreeStateAttr = Τριών-Καταστάσεων?
|
||||
# ==> pinSimpleOption =
|
||||
# ==> pinTristateOption =
|
||||
# ==> pinTypeAttr =
|
||||
#
|
||||
# wiring/PowerOnReset.java
|
||||
#
|
||||
|
|
|
@ -468,11 +468,11 @@ Segment_G = Segmento G
|
|||
# ==> telnetModeAttr =
|
||||
# ==> telnetPortAttr =
|
||||
# ==> telnetInTip =
|
||||
# ==> telnetOutTip =
|
||||
# ==> telnetClkTip =
|
||||
# ==> telnetWriteTip =
|
||||
# ==> telnetReadTip =
|
||||
# ==> telnetAvailableTip =
|
||||
# ==> telnetOutTip =
|
||||
# ==> telnetClkTip =
|
||||
# ==> telnetWriteTip =
|
||||
# ==> telnetReadTip =
|
||||
# ==> telnetAvailableTip =
|
||||
#
|
||||
# io/Tty.java
|
||||
#
|
||||
|
@ -805,7 +805,6 @@ TTL74161 = 74161: 4-bit sync counter with clear
|
|||
# ==> TTL74163 =
|
||||
# ==> TTL74164 =
|
||||
# ==> TTL74165 =
|
||||
# ==> TTL74165 =
|
||||
# ==> TTL74166 =
|
||||
TTL74175 = 74175: Quad D-flipflop, reset asíncrono
|
||||
TTL7418 = 7418: doble puerta NAND de 4 entradas (schmitt-trigger)
|
||||
|
@ -889,6 +888,7 @@ PORDurationValue = %s segundos
|
|||
#
|
||||
# wiring/Pin.java
|
||||
#
|
||||
# ==> pinBehaviorAttr =
|
||||
PinCancel = Cancelar
|
||||
pinComponent = Pin
|
||||
PinEnterDecimal = Introducir decimal
|
||||
|
@ -896,17 +896,18 @@ PinEnterDecimal = Introducir decimal
|
|||
pinFrozenQuestion = El pin está asociado al estado del circuito superior. ¿Crear un nuevo estado del circuito?
|
||||
pinFrozenTitle = Pin asociado al circuito superior.
|
||||
pinInputName = Entrada
|
||||
# ==> pinInputOption =
|
||||
pinInputToolTip = Añadir pin de entrada
|
||||
PinOkay = OK
|
||||
pinOutputAttr = ¿Salida?
|
||||
pinOutputName = Salida
|
||||
# ==> pinOutputOption =
|
||||
pinOutputToolTip = Añadir pin de salida
|
||||
pinPullAttr = Comportamiento de pull
|
||||
pinPullDownOption = Adoptar nivel bajo
|
||||
pinPullNoneOption = Sin cambios
|
||||
pinPullUpOption = Adoptar nivel alto
|
||||
# ==> pinResetValue =
|
||||
pinThreeStateAttr = ¿Tres estados?
|
||||
# ==> pinSimpleOption =
|
||||
# ==> pinTristateOption =
|
||||
# ==> pinTypeAttr =
|
||||
#
|
||||
# wiring/PowerOnReset.java
|
||||
#
|
||||
|
|
|
@ -468,11 +468,11 @@ telnetComponent = Telnet
|
|||
telnetModeAttr = Utiliser protocole Telnet
|
||||
telnetPortAttr = Port
|
||||
# ==> telnetInTip =
|
||||
# ==> telnetOutTip =
|
||||
# ==> telnetClkTip =
|
||||
# ==> telnetWriteTip =
|
||||
# ==> telnetReadTip =
|
||||
# ==> telnetAvailableTip =
|
||||
# ==> telnetOutTip =
|
||||
# ==> telnetClkTip =
|
||||
# ==> telnetWriteTip =
|
||||
# ==> telnetReadTip =
|
||||
# ==> telnetAvailableTip =
|
||||
#
|
||||
# io/Tty.java
|
||||
#
|
||||
|
@ -805,7 +805,6 @@ TTL74161 = 74161: compteur binaire 4 bits à comptage synchrone réinitialisable
|
|||
TTL74163 = 74163: compteur binaire 4 bits synchrone, prépositionnable,réinitialisable
|
||||
TTL74164 = 74164: registre à décalage 8 bits à sorties parallèles, réinitialisation asynchrone
|
||||
TTL74165 = 74165: registre à décalage parallèle-à-série 8 bits
|
||||
TTL74165 = 74165: registre à décalage parallèle-à-série 8 bits
|
||||
TTL74166 = 74166: registre à décalage 8 bits à préchargement parallèle synchrone,réinitialisation asynchrone
|
||||
TTL74175 = 74175: quadruple bascule D, remise à zéro asynchrone
|
||||
TTL7418 = 7418: double porte NON_ET (NAND) à 4 entrées (schmitt-trigger)
|
||||
|
@ -889,6 +888,7 @@ PORDurationValue = %s secs
|
|||
#
|
||||
# wiring/Pin.java
|
||||
#
|
||||
# ==> pinBehaviorAttr =
|
||||
PinCancel = Annuler
|
||||
pinComponent = Broche
|
||||
PinEnterDecimal = Saisie d'un décimal
|
||||
|
@ -896,17 +896,18 @@ PinEnterFloat = Saisie d'un flottant
|
|||
pinFrozenQuestion = La broche est lié à l'état du supercircuit. Créer un nouvel état pour le circuit ?
|
||||
pinFrozenTitle = Broche attachée au super-circuit.
|
||||
pinInputName = Entrée
|
||||
pinInputOption = Entrée
|
||||
pinInputToolTip = Ajouter une broche d'entrée
|
||||
PinOkay = OK
|
||||
pinOutputAttr = Sortie ?
|
||||
pinOutputName = Sortie
|
||||
pinOutputOption = Sortie
|
||||
pinOutputToolTip = Ajouter une broche de sortie
|
||||
pinPullAttr = Comportement
|
||||
pinPullDownOption = Rappel (pull-down)
|
||||
pinPullNoneOption = Inchangé
|
||||
pinPullUpOption = Tirage (pull-up)
|
||||
pinResetValue = Valeur initiale:
|
||||
pinThreeStateAttr = Trois états ?
|
||||
pinSimpleOption = Simple
|
||||
pinTristateOption = Trois états
|
||||
pinTypeAttr = Type
|
||||
#
|
||||
# wiring/PowerOnReset.java
|
||||
#
|
||||
|
|
|
@ -468,11 +468,11 @@ Segment_G = Segmento G
|
|||
# ==> telnetModeAttr =
|
||||
# ==> telnetPortAttr =
|
||||
# ==> telnetInTip =
|
||||
# ==> telnetOutTip =
|
||||
# ==> telnetClkTip =
|
||||
# ==> telnetWriteTip =
|
||||
# ==> telnetReadTip =
|
||||
# ==> telnetAvailableTip =
|
||||
# ==> telnetOutTip =
|
||||
# ==> telnetClkTip =
|
||||
# ==> telnetWriteTip =
|
||||
# ==> telnetReadTip =
|
||||
# ==> telnetAvailableTip =
|
||||
#
|
||||
# io/Tty.java
|
||||
#
|
||||
|
@ -805,7 +805,6 @@ TTL7414 = 7414: inverter esagonale (schmitt-trigger)
|
|||
# ==> TTL74163 =
|
||||
# ==> TTL74164 =
|
||||
TTL74165 = 74165: registro di spostamento da parallelo a seriale a 8 bit
|
||||
TTL74165 = 74165: registro di spostamento da parallelo a seriale a 8 bit
|
||||
# ==> TTL74166 =
|
||||
TTL74175 = 74175: quadruplo D-flipflop, reset asincrono
|
||||
TTL7418 = 7418: doppio cancello NAND a 4 ingressi (schmitt-trigger)
|
||||
|
@ -889,6 +888,7 @@ PORDurationValue = %s Secs
|
|||
#
|
||||
# wiring/Pin.java
|
||||
#
|
||||
# ==> pinBehaviorAttr =
|
||||
PinCancel = Annulla
|
||||
pinComponent = Pin
|
||||
PinEnterDecimal = Inserisci decimale
|
||||
|
@ -896,17 +896,18 @@ PinEnterDecimal = Inserisci decimale
|
|||
pinFrozenQuestion = Pin collegato allo stato del circuito superiore. Creare un nuovo stato del circuito?
|
||||
pinFrozenTitle = Pin Collegato Al Circuito Superiore.
|
||||
pinInputName = Input
|
||||
# ==> pinInputOption =
|
||||
pinInputToolTip = Aggiungi un pin di entrata
|
||||
PinOkay = OK
|
||||
pinOutputAttr = Output?
|
||||
pinOutputName = Output
|
||||
# ==> pinOutputOption =
|
||||
pinOutputToolTip = Aggiungi un pin di uscita
|
||||
pinPullAttr = Funzionamento alla Pressione
|
||||
pinPullDownOption = Spinta Giù
|
||||
pinPullNoneOption = Senza Cambiamenti
|
||||
pinPullUpOption = Spinta Su
|
||||
# ==> pinResetValue =
|
||||
pinThreeStateAttr = Three-state?
|
||||
# ==> pinSimpleOption =
|
||||
# ==> pinTristateOption =
|
||||
# ==> pinTypeAttr =
|
||||
#
|
||||
# wiring/PowerOnReset.java
|
||||
#
|
||||
|
|
|
@ -468,11 +468,11 @@ SevenSegDP = 小数点の保持:
|
|||
# ==> telnetModeAttr =
|
||||
# ==> telnetPortAttr =
|
||||
# ==> telnetInTip =
|
||||
# ==> telnetOutTip =
|
||||
# ==> telnetClkTip =
|
||||
# ==> telnetWriteTip =
|
||||
# ==> telnetReadTip =
|
||||
# ==> telnetAvailableTip =
|
||||
# ==> telnetOutTip =
|
||||
# ==> telnetClkTip =
|
||||
# ==> telnetWriteTip =
|
||||
# ==> telnetReadTip =
|
||||
# ==> telnetAvailableTip =
|
||||
#
|
||||
# io/Tty.java
|
||||
#
|
||||
|
@ -805,7 +805,6 @@ TTL74161 = 74161: 4-bit sync counter with clear
|
|||
# ==> TTL74163 =
|
||||
# ==> TTL74164 =
|
||||
# ==> TTL74165 =
|
||||
# ==> TTL74165 =
|
||||
# ==> TTL74166 =
|
||||
TTL74175 = 74175: quad D-flipflop, asynchronous reset
|
||||
TTL7418 = 7418: dual 4-入力 NAND 回路(シュミットトリガー)
|
||||
|
@ -889,6 +888,7 @@ PORDurationValue = %s秒
|
|||
#
|
||||
# wiring/Pin.java
|
||||
#
|
||||
# ==> pinBehaviorAttr =
|
||||
PinCancel = Cancel
|
||||
pinComponent = ピン
|
||||
PinEnterDecimal = Enter Decimal
|
||||
|
@ -896,17 +896,18 @@ PinEnterDecimal = Enter Decimal
|
|||
pinFrozenQuestion = ピンはスーパー回路の状態に紐付けられています。新しい回路の状態を作成しますか?
|
||||
pinFrozenTitle = スーパー回路とピンの添付
|
||||
pinInputName = 入力
|
||||
# ==> pinInputOption =
|
||||
pinInputToolTip = 入力ピンの追加
|
||||
PinOkay = OK
|
||||
pinOutputAttr = Output?
|
||||
pinOutputName = 出力
|
||||
# ==> pinOutputOption =
|
||||
pinOutputToolTip = 出力ピンの追加
|
||||
pinPullAttr = プル動作
|
||||
pinPullDownOption = プルダウン
|
||||
pinPullNoneOption = なし
|
||||
pinPullUpOption = プルダウン
|
||||
# ==> pinResetValue =
|
||||
pinThreeStateAttr = Three-state?
|
||||
# ==> pinSimpleOption =
|
||||
# ==> pinTristateOption =
|
||||
# ==> pinTypeAttr =
|
||||
#
|
||||
# wiring/PowerOnReset.java
|
||||
#
|
||||
|
|
|
@ -468,11 +468,11 @@ SevenSegDP = Heeft decimale punt:
|
|||
# ==> telnetModeAttr =
|
||||
# ==> telnetPortAttr =
|
||||
# ==> telnetInTip =
|
||||
# ==> telnetOutTip =
|
||||
# ==> telnetClkTip =
|
||||
# ==> telnetWriteTip =
|
||||
# ==> telnetReadTip =
|
||||
# ==> telnetAvailableTip =
|
||||
# ==> telnetOutTip =
|
||||
# ==> telnetClkTip =
|
||||
# ==> telnetWriteTip =
|
||||
# ==> telnetReadTip =
|
||||
# ==> telnetAvailableTip =
|
||||
#
|
||||
# io/Tty.java
|
||||
#
|
||||
|
@ -805,7 +805,6 @@ TTL74161 = 74161: synchrone 4-bits binaire teller met asynchrone clear
|
|||
TTL74163 = 74163: synchrone 4-bits binaire teller met synchrone clear
|
||||
# ==> TTL74164 =
|
||||
# ==> TTL74165 =
|
||||
# ==> TTL74165 =
|
||||
# ==> TTL74166 =
|
||||
TTL74175 = 74175: 4-voudige D-flipflop met asynchrone reset
|
||||
TTL7418 = 7418: 2-voudige NAND-poort, 2 x 4 ingangen (schmitt-trigger)
|
||||
|
@ -889,6 +888,7 @@ PORDurationValue = %s Seconden
|
|||
#
|
||||
# wiring/Pin.java
|
||||
#
|
||||
# ==> pinBehaviorAttr =
|
||||
PinCancel = Annuleren
|
||||
pinComponent = speld
|
||||
PinEnterDecimal = Voer Decimaal
|
||||
|
@ -896,17 +896,18 @@ PinEnterDecimal = Voer Decimaal
|
|||
pinFrozenQuestion = De pen is verbonden met de toestand van het supercircuit. Een nieuwe schakeltoestand creëren?
|
||||
pinFrozenTitle = Pin bevestigd aan Super circuit.
|
||||
pinInputName = Invoer
|
||||
# ==> pinInputOption =
|
||||
pinInputToolTip = Een invoerpin toevoegen
|
||||
PinOkay = GOED
|
||||
pinOutputAttr = Output?
|
||||
pinOutputName = Output
|
||||
# ==> pinOutputOption =
|
||||
pinOutputToolTip = Een uitgangsspeld toevoegen
|
||||
pinPullAttr = Trekgedrag
|
||||
pinPullDownOption = Naar beneden trekken
|
||||
pinPullNoneOption = Ongewijzigd
|
||||
pinPullUpOption = Trek omhoog
|
||||
pinResetValue = Opstartwaarde:
|
||||
pinThreeStateAttr = Drie staten?
|
||||
# ==> pinSimpleOption =
|
||||
# ==> pinTristateOption =
|
||||
# ==> pinTypeAttr =
|
||||
#
|
||||
# wiring/PowerOnReset.java
|
||||
#
|
||||
|
|
|
@ -468,11 +468,11 @@ SevenSegDP = Kropka dziesiętna:
|
|||
# ==> telnetModeAttr =
|
||||
# ==> telnetPortAttr =
|
||||
# ==> telnetInTip =
|
||||
# ==> telnetOutTip =
|
||||
# ==> telnetClkTip =
|
||||
# ==> telnetWriteTip =
|
||||
# ==> telnetReadTip =
|
||||
# ==> telnetAvailableTip =
|
||||
# ==> telnetOutTip =
|
||||
# ==> telnetClkTip =
|
||||
# ==> telnetWriteTip =
|
||||
# ==> telnetReadTip =
|
||||
# ==> telnetAvailableTip =
|
||||
#
|
||||
# io/Tty.java
|
||||
#
|
||||
|
@ -805,7 +805,6 @@ TTL7414 = 7414: falownik sześciokątny (schmitt-trigger)
|
|||
# ==> TTL74163 =
|
||||
# ==> TTL74164 =
|
||||
# ==> TTL74165 =
|
||||
# ==> TTL74165 =
|
||||
TTL74166 = 74166: 8-bitowy rejestr przesunięcia równoległego do szeregowego z kasowaniem asynchronicznym
|
||||
TTL74175 = 74175: quad D-flipflop, reset asynchroniczny
|
||||
TTL7418 = 7418: podwójna 4-wejściowa bramka NAND (schmitt-trigger)
|
||||
|
@ -889,6 +888,7 @@ PORDurationValue = %s sekund
|
|||
#
|
||||
# wiring/Pin.java
|
||||
#
|
||||
# ==> pinBehaviorAttr =
|
||||
PinCancel = Anuluj
|
||||
pinComponent = Pin
|
||||
PinEnterDecimal = Wprowadź wartości dziesiętne
|
||||
|
@ -896,17 +896,18 @@ PinEnterFloat = Wprowadz wartości zmiennoprzecinkowe
|
|||
pinFrozenQuestion = Pin jest przypisany do stanu superobwodu. Czy stworzyć nowy stan obwodu?
|
||||
pinFrozenTitle = Pin przypisany do super obwodu.
|
||||
pinInputName = Wejście
|
||||
# ==> pinInputOption =
|
||||
pinInputToolTip = Dodaj pin wejściowy
|
||||
PinOkay = OK
|
||||
pinOutputAttr = Wyjście?
|
||||
pinOutputName = Wyjście
|
||||
# ==> pinOutputOption =
|
||||
pinOutputToolTip = Dodaj pin wyjściowy
|
||||
pinPullAttr = Rodzaj ściągania
|
||||
pinPullDownOption = Ściągnij w dół
|
||||
pinPullNoneOption = Bez zmian
|
||||
pinPullUpOption = Podciągnij do góry
|
||||
# ==> pinResetValue =
|
||||
pinThreeStateAttr = Trzystanowe?
|
||||
# ==> pinSimpleOption =
|
||||
# ==> pinTristateOption =
|
||||
# ==> pinTypeAttr =
|
||||
#
|
||||
# wiring/PowerOnReset.java
|
||||
#
|
||||
|
|
|
@ -468,11 +468,11 @@ Segment_G = Segmento G
|
|||
# ==> telnetModeAttr =
|
||||
# ==> telnetPortAttr =
|
||||
# ==> telnetInTip =
|
||||
# ==> telnetOutTip =
|
||||
# ==> telnetClkTip =
|
||||
# ==> telnetWriteTip =
|
||||
# ==> telnetReadTip =
|
||||
# ==> telnetAvailableTip =
|
||||
# ==> telnetOutTip =
|
||||
# ==> telnetClkTip =
|
||||
# ==> telnetWriteTip =
|
||||
# ==> telnetReadTip =
|
||||
# ==> telnetAvailableTip =
|
||||
#
|
||||
# io/Tty.java
|
||||
#
|
||||
|
@ -805,7 +805,6 @@ TTL74161 = 74161: 4-bit sync counter with clear
|
|||
# ==> TTL74163 =
|
||||
# ==> TTL74164 =
|
||||
# ==> TTL74165 =
|
||||
# ==> TTL74165 =
|
||||
# ==> TTL74166 =
|
||||
TTL74175 = 74175: quad D-flipflop, reset assíncrono
|
||||
TTL7418 = 7418: dual 4-input NAND gate(schmitt-trigger)
|
||||
|
@ -889,6 +888,7 @@ PORDurationValue = %s Secs
|
|||
#
|
||||
# wiring/Pin.java
|
||||
#
|
||||
# ==> pinBehaviorAttr =
|
||||
PinCancel = Cancelar
|
||||
pinComponent = Pino
|
||||
PinEnterDecimal = Entrar decimal
|
||||
|
@ -896,17 +896,18 @@ PinEnterDecimal = Entrar decimal
|
|||
pinFrozenQuestion = Pino vinculado ao estado do supercircuito. Criar um novo estado do circuito?
|
||||
pinFrozenTitle = Pino associado ao supercircuito.
|
||||
pinInputName = Entrada
|
||||
# ==> pinInputOption =
|
||||
pinInputToolTip = Acrescentar um pino de entrada
|
||||
PinOkay = ESTÁ BEM.
|
||||
pinOutputAttr = Saída?
|
||||
pinOutputName = Saída
|
||||
# ==> pinOutputOption =
|
||||
pinOutputToolTip = Acrescentar um pino de saída
|
||||
pinPullAttr = Comportamento para ajuste
|
||||
pinPullDownOption = Ajustar para baixo
|
||||
pinPullNoneOption = Sem alterações
|
||||
pinPullUpOption = Ajustar para cima
|
||||
# ==> pinResetValue =
|
||||
pinThreeStateAttr = Tri-state?
|
||||
# ==> pinSimpleOption =
|
||||
# ==> pinTristateOption =
|
||||
# ==> pinTypeAttr =
|
||||
#
|
||||
# wiring/PowerOnReset.java
|
||||
#
|
||||
|
|
|
@ -468,11 +468,11 @@ Segment_G = Сегмент G
|
|||
# ==> telnetModeAttr =
|
||||
# ==> telnetPortAttr =
|
||||
# ==> telnetInTip =
|
||||
# ==> telnetOutTip =
|
||||
# ==> telnetClkTip =
|
||||
# ==> telnetWriteTip =
|
||||
# ==> telnetReadTip =
|
||||
# ==> telnetAvailableTip =
|
||||
# ==> telnetOutTip =
|
||||
# ==> telnetClkTip =
|
||||
# ==> telnetWriteTip =
|
||||
# ==> telnetReadTip =
|
||||
# ==> telnetAvailableTip =
|
||||
#
|
||||
# io/Tty.java
|
||||
#
|
||||
|
@ -805,7 +805,6 @@ TTL74161 = 74161: 4-bit sync counter with clear
|
|||
# ==> TTL74163 =
|
||||
# ==> TTL74164 =
|
||||
# ==> TTL74165 =
|
||||
# ==> TTL74165 =
|
||||
# ==> TTL74166 =
|
||||
TTL74175 = 74175: четырехпозиционный D-flipflop, асинхронный сброс
|
||||
TTL7418 = 7418: двойные 4-входные ворота NAND (шмитт-триггер)
|
||||
|
@ -889,6 +888,7 @@ PORDurationValue = секунды
|
|||
#
|
||||
# wiring/Pin.java
|
||||
#
|
||||
# ==> pinBehaviorAttr =
|
||||
PinCancel = Отмена
|
||||
pinComponent = Контакт
|
||||
PinEnterDecimal = Введите десятичную дробь
|
||||
|
@ -896,17 +896,18 @@ PinEnterDecimal = Введите десятичную дробь
|
|||
pinFrozenQuestion = Значение на контакте привязано к состоянию надсхемы. Создать новое состояние схемы?
|
||||
pinFrozenTitle = Контакт подключен к надсхеме.
|
||||
pinInputName = Вход
|
||||
# ==> pinInputOption =
|
||||
pinInputToolTip = Добавить входной контакт
|
||||
PinOkay = ХОРОШО
|
||||
pinOutputAttr = Выход?
|
||||
pinOutputName = Выход
|
||||
# ==> pinOutputOption =
|
||||
pinOutputToolTip = Добавить выходной контакт
|
||||
pinPullAttr = Обращение с плавающими
|
||||
pinPullDownOption = Понижать
|
||||
pinPullNoneOption = Не менять
|
||||
pinPullUpOption = Повышать
|
||||
# ==> pinResetValue =
|
||||
pinThreeStateAttr = Три состояния?
|
||||
# ==> pinSimpleOption =
|
||||
# ==> pinTristateOption =
|
||||
# ==> pinTypeAttr =
|
||||
#
|
||||
# wiring/PowerOnReset.java
|
||||
#
|
||||
|
|
|
@ -468,11 +468,11 @@ SevenSegDP = 有小数点:
|
|||
# ==> telnetModeAttr =
|
||||
# ==> telnetPortAttr =
|
||||
# ==> telnetInTip =
|
||||
# ==> telnetOutTip =
|
||||
# ==> telnetClkTip =
|
||||
# ==> telnetWriteTip =
|
||||
# ==> telnetReadTip =
|
||||
# ==> telnetAvailableTip =
|
||||
# ==> telnetOutTip =
|
||||
# ==> telnetClkTip =
|
||||
# ==> telnetWriteTip =
|
||||
# ==> telnetReadTip =
|
||||
# ==> telnetAvailableTip =
|
||||
#
|
||||
# io/Tty.java
|
||||
#
|
||||
|
@ -847,7 +847,6 @@ TTL7474 = 7474:具有预置和清除功能的双路 D 触发器
|
|||
TTL7485 = 7485:4 位数值比较器
|
||||
TTL7486 = 7486:四路 2-输入异或门
|
||||
TTL7487 = 7487:对 4 位输入不进行操作,或取反/置高/置低
|
||||
# ==> TTL7487 =
|
||||
VccGndPorts = 仿真 VCC 和 GND 端口
|
||||
#
|
||||
# wiring/BitExtender.java
|
||||
|
@ -889,6 +888,7 @@ PORDurationValue = %s 秒
|
|||
#
|
||||
# wiring/Pin.java
|
||||
#
|
||||
# ==> pinBehaviorAttr =
|
||||
PinCancel = 取消
|
||||
pinComponent = 引脚
|
||||
PinEnterDecimal = 输入十进制
|
||||
|
@ -896,17 +896,18 @@ PinEnterFloat = 输入浮点数
|
|||
pinFrozenQuestion = 引脚目前与父级电路的状态绑定。是否创建新的电路状态?
|
||||
pinFrozenTitle = 连接到父级电路的引脚。
|
||||
pinInputName = 输入
|
||||
# ==> pinInputOption =
|
||||
pinInputToolTip = 添加输入端号
|
||||
PinOkay = 好的
|
||||
pinOutputAttr = 输出?
|
||||
pinOutputName = 输出
|
||||
# ==> pinOutputOption =
|
||||
pinOutputToolTip = 添加输出端号
|
||||
pinPullAttr = 拉动行为
|
||||
pinPullDownOption = 下拉
|
||||
pinPullNoneOption = 不变
|
||||
pinPullUpOption = 向上拉起
|
||||
pinResetValue = 复位值:
|
||||
pinThreeStateAttr = 三态?
|
||||
# ==> pinSimpleOption =
|
||||
# ==> pinTristateOption =
|
||||
# ==> pinTypeAttr =
|
||||
#
|
||||
# wiring/PowerOnReset.java
|
||||
#
|
||||
|
|
Loading…
Reference in New Issue