📄 simulatoredgedlatch.java
字号:
/* * SimulatorEdgeDLatch.java * * Created on 17 July 2003, 13:47 */package jaga.pj.circuits.fpgaft;/** * * @author mmg20 */public class SimulatorEdgeDLatch extends SimulatorFaultyDelayLE { // Constants /** Index of Clock in inputs array */ public static final int C = 0; /** Index of Data in inputs array */ public static final int D = 1; // Working vars protected boolean prevC = true; // Start un-triggered protected boolean prevD = false; /** Creates a new instance of SimulatorEdgeDLatch */ public SimulatorEdgeDLatch( int delay ) { super( delay ); } public final void sampleInputs() { boolean evValue = evaluateNow(); boolean changing = currentOutput ^ nextOutput; if( ( changing && ( evValue != nextOutput ) ) || ( !changing && ( evValue != currentOutput ) ) ) { nextOutput = evValue; delayLeft = delay; changing = true; } } protected final boolean evaluateNow() { boolean rv; boolean currC = inputs[ C ].getNow(); boolean risingEdge = !prevC && currC; if( risingEdge ) { rv = prevD; }else { rv = nextOutput; } prevC = currC; prevD = inputs[ D ].getNow(); // could do only when triggered (IE currC = 0) return rv; } public String toString() { String rv = "Edge Triggered D-Latch"; return rv; } }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -