Search in sources :

Example 11 with ShapeFactory

use of de.neemann.digital.draw.shapes.ShapeFactory in project Digital by hneemann.

the class CircuitBuilderTest method testBuilderSequentialJK.

public void testBuilderSequentialJK() throws Exception {
    Variable y0 = new Variable("Y_0");
    Variable y1 = new Variable("Y_1");
    // counter
    Expression y0s = not(y0);
    Expression y1s = or(not(y0), not(y1));
    ElementLibrary library = new ElementLibrary();
    Circuit circuit = new CircuitBuilder(new ShapeFactory(library), true).addSequential("Y_0", y0s).addSequential("Y_1", y1s).createCircuit();
    ModelCreator m = new ModelCreator(circuit, library);
    TestExecuter te = new TestExecuter(m.createModel(false)).setUp(m);
    te.check(0, 0);
    te.checkC(1, 1);
    te.checkC(0, 0);
    te.checkC(1, 1);
    te.checkC(0, 0);
}
Also used : ElementLibrary(de.neemann.digital.draw.library.ElementLibrary) Variable(de.neemann.digital.analyse.expression.Variable) Expression(de.neemann.digital.analyse.expression.Expression) ShapeFactory(de.neemann.digital.draw.shapes.ShapeFactory) Circuit(de.neemann.digital.draw.elements.Circuit) TestExecuter(de.neemann.digital.TestExecuter) ModelCreator(de.neemann.digital.draw.model.ModelCreator)

Example 12 with ShapeFactory

use of de.neemann.digital.draw.shapes.ShapeFactory in project Digital by hneemann.

the class CircuitTest method test64Bit.

public void test64Bit() throws IOException {
    Circuit c = createCircuit();
    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    c.save(baos);
    // check ROM
    c = Circuit.loadCircuit(new ByteArrayInputStream(baos.toByteArray()), new ShapeFactory(new ElementLibrary()));
    VisualElement rom = c.getElements().get(0);
    DataField d = rom.getElementAttributes().get(Keys.DATA);
    assertEquals(0xffff0000ffff0000L, d.getDataWord(0));
    assertEquals(0x8fff0000ffff0000L, d.getDataWord(1));
    // check input
    VisualElement in = c.getElements().get(1);
    assertEquals(0x8fff0000ffff0000L, in.getElementAttributes().get(Keys.INPUT_DEFAULT).getValue());
}
Also used : ElementLibrary(de.neemann.digital.draw.library.ElementLibrary) DataField(de.neemann.digital.core.memory.DataField) ShapeFactory(de.neemann.digital.draw.shapes.ShapeFactory)

Example 13 with ShapeFactory

use of de.neemann.digital.draw.shapes.ShapeFactory in project Digital by hneemann.

the class FragmentVisualElementTest method testBox.

public void testBox() throws Exception {
    ShapeFactory shapeFactory = new ShapeFactory(new ElementLibrary());
    FragmentVisualElement ve = new FragmentVisualElement(FlipflopJK.DESCRIPTION, shapeFactory);
    ve.setPos(new Vector(0, 0));
    Box box = ve.doLayout();
    assertEquals(SIZE * 3, box.getHeight());
    assertEquals(SIZE * 3, box.getWidth());
}
Also used : ElementLibrary(de.neemann.digital.draw.library.ElementLibrary) ShapeFactory(de.neemann.digital.draw.shapes.ShapeFactory) Vector(de.neemann.digital.draw.graphics.Vector)

Aggregations

ShapeFactory (de.neemann.digital.draw.shapes.ShapeFactory)13 ElementLibrary (de.neemann.digital.draw.library.ElementLibrary)12 Circuit (de.neemann.digital.draw.elements.Circuit)8 ModelCreator (de.neemann.digital.draw.model.ModelCreator)8 TestExecuter (de.neemann.digital.TestExecuter)5 Expression (de.neemann.digital.analyse.expression.Expression)5 Variable (de.neemann.digital.analyse.expression.Variable)4 File (java.io.File)4 Model (de.neemann.digital.core.Model)2 Vector (de.neemann.digital.draw.graphics.Vector)2 AnalyseException (de.neemann.digital.analyse.AnalyseException)1 ModelAnalyser (de.neemann.digital.analyse.ModelAnalyser)1 TruthTable (de.neemann.digital.analyse.TruthTable)1 FormatToExpression (de.neemann.digital.analyse.expression.format.FormatToExpression)1 Parser (de.neemann.digital.analyse.parser.Parser)1 CircuitBuilder (de.neemann.digital.builder.circuit.CircuitBuilder)1 de.neemann.digital.core (de.neemann.digital.core)1 Node (de.neemann.digital.core.Node)1 ElementAttributes (de.neemann.digital.core.element.ElementAttributes)1 Keys (de.neemann.digital.core.element.Keys)1