1 package net.mograsim.logic.model.modeladapter.componentadapters;
5 import net.mograsim.logic.core.components.CoreTriStateBuffer;
6 import net.mograsim.logic.core.timeline.Timeline;
7 import net.mograsim.logic.core.wires.CoreWire;
8 import net.mograsim.logic.core.wires.CoreWire.ReadEnd;
9 import net.mograsim.logic.core.wires.CoreWire.ReadWriteEnd;
10 import net.mograsim.logic.model.model.components.atomic.ModelTriStateBuffer;
11 import net.mograsim.logic.model.model.wires.Pin;
12 import net.mograsim.logic.model.modeladapter.CoreModelParameters;
14 public class TriStateBufferAdapter implements ComponentAdapter<ModelTriStateBuffer>
17 public Class<ModelTriStateBuffer> getSupportedClass()
19 return ModelTriStateBuffer.class;
22 @SuppressWarnings("unused")
24 public void createAndLinkComponent(Timeline timeline, CoreModelParameters params, ModelTriStateBuffer modelTsb,
25 Map<Pin, CoreWire> logicWiresPerPin)
27 ReadEnd in = logicWiresPerPin.get(modelTsb.getPin("IN")).createReadOnlyEnd();
28 ReadEnd enable = logicWiresPerPin.get(modelTsb.getPin("EN")).createReadOnlyEnd();
29 ReadWriteEnd out = logicWiresPerPin.get(modelTsb.getPin("OUT")).createReadWriteEnd();
30 new CoreTriStateBuffer(timeline, params.gateProcessTime, in, out, enable);