Cheatsheet
Cheatsheet
out = {fA, muxPC, 2'bxx, destMAR, noLoad, noLoad, noLoad}; only on its current input but also on the past
out = {fAplus1, muxPC, 2'bxx, destPC, noLoad, memRD, noLoad}; sequence of inputs that have been applied to it.
out = {fA, muxMDR, 2'bxx, destReg, loadCC, noLoad, noLoad};
add Combinational logic: the same input values
out = {fAplusB,muxReg,muxReg,destReg,loadCC,noLoad,noLoad}; always produce the same out value independent
out = {fAminB,muxReg,muxReg,destReg,loadCC,noLoad,noLoad}; of the history of input values.
ldr
out = {fB, 2'bxx,muxReg,destMAR,noLoad,noLoad,noLoad}; ISA: an interface/contract between programmer
out = {4'bxxxx, 2'bxx,2'bxx,destNone,noLoad,memRD,noLoad}; and hardware designers. An attribute of a system
out = {fA, muxMDR,2'bxx,destReg,loadCC,noLoad,noLoad}; as seen by the programmer.
bra
out = {fA, muxPC,2'bxx,destMAR,noLoad,noLoad,noLoad}; Prime Implicant: an implicant that cannot be
out = {4'bxxxx, 2'bxx,2'bxx,destNone,noLoad,memRD,noLoad}; covered by a more general implicant.
out = {fA, muxMDR,2'bxx,destPC,noLoad,noLoad,noLoad};
cmi Essential Implicant: are prime implicants that
out = {fA, muxPC, 2'bxx, destMAR, noLoad, noLoad, noLoad}; cover an output of the function that no
out = {fAplus1, muxPC, 2'bxx, destPC, noLoad, memRD, noLoad}; combination of other prime implicants is able to
out = {fAminB, muxReg, muxMDR, destNone, loadCC, noLoad, noLoad}; cover.
cmr
out = {fAminB,muxReg,muxReg,destNone,loadCC,noLoad,noLoad};
lshl
out = {fAshl,muxReg,2'bxx,destReg,loadCC,noLoad,noLoad};
out = {fAlshr,muxReg,2'bxx,destReg,loadCC,noLoad,noLoad};
lda
out = {fA, muxPC, 2'bxx, destMAR, noLoad, noLoad, noLoad};
out = {fAplus1, muxPC, 2'bxx, destPC, noLoad, memRD, noLoad};
out = {fA, muxMDR, 2'bxx, destMAR, noLoad, noLoad, noLoad};
out = {4'bxxxx, 2'bxx, 2'bxx, destNone, noLoad, memRD, noLoad};
out = {fA, muxMDR, 2'bxx, destReg, loadCC, noLoad, noLoad};
sta
out = {fA, muxPC, 2'bxx, destMAR, noLoad, noLoad, noLoad};
out = {fAplus1, muxPC, 2'bxx, destPC, noLoad, memRD, noLoad};
out = {fA, muxMDR, 2'bxx, destMAR, noLoad, noLoad, noLoad};
out = {fB, 2'bxx, muxReg, destMDR, noLoad, noLoad, noLoad};
out = {4'bxxxx, 2'bxx, 2'bxx, destNone, noLoad, noLoad, memWR};
str
out = {fA, muxReg,2'bxx,destMAR,noLoad,noLoad,noLoad};
out = {fB, 2'bxx,muxReg,destMDR,noLoad,noLoad,noLoad};
out = {4'bxxxx, 2'bxx,2'bxx,destNone,noLoad,noLoad,memWR};
jsr
out = {fAmin1, muxSP,2'bxx,destSP,noLoad,noLoad,noLoad};
out = {fA, muxSP,2'bxx,destMAR,noLoad,noLoad,noLoad};
out = {fAplus1, muxPC,2'bxx,destMDR,noLoad,noLoad,noLoad};
out = {fA, muxPC, 2'bxx, destMAR,noLoad,noLoad,memWR};
out = {4'bxxxx, 2'bxx,2'bxx,destNone,noLoad,memRD,noLoad};
out = {fA, muxMDR,2'bxx,destPC,noLoad,noLoad,noLoad};
ldsf
out = {fA, muxPC, 2'bxx, destMAR, noLoad, noLoad, noLoad};
out = {fAplus1, muxPC, 2'bxx, destPC, noLoad, memRD, noLoad};
out = {fAplusB, muxMDR, muxSP, destMAR, noLoad, noLoad, noLoad};
out = {4'bxxxx, 2'bxx,2'bxx,destNone, noLoad, memRD, noLoad};
out = {fA, muxMDR, 2'bxx, destReg, noLoad, noLoad, noLoad};
pop
out = {fA, muxSP, 2'bxx, destMAR, noLoad, noLoad, noLoad};
out = {fAplus1, muxSP, 2'bxx, destSP, noLoad, memRD, noLoad};
out = {fA, muxMDR, 2'bxx, destReg, noLoad, noLoad, noLoad};
push
out = {fAmin1, muxSP, 2'bxx, destMAR, noLoad, noLoad, noLoad};
out = {fA, muxReg, 2'bxx, destMDR, noLoad, noLoad, noLoad};
out = {fAmin1, muxSP, 2'bxx, destSP, noLoad, noLoad, memWR};
rtn
out = {fA, muxSP, 2'bxx, destMAR, noLoad, noLoad, noLoad};
out = {fAplus1, muxSP, 2'bxx, destSP, noLoad, memRD, noLoad};
out = {fA, muxMDR, 2'bxx, destPC, noLoad, noLoad, noLoad};
stsf
out = {fA, muxPC, 2'bxx, destMAR, noLoad, noLoad, noLoad};
out = {fAplus1, muxPC, 2'bxx, destPC, noLoad, memRD, noLoad};
out = {fAplusB, muxMDR, muxSP, destMAR, noLoad, noLoad, noLoad};
out = {fA, muxReg, 2'bxx, destMDR, noLoad, noLoad, noLoad};
out = {4'bxxxx, 2'bxx, 2'bxx, destNone, noLoad, noLoad, memWR};
addsp
out = {fA, muxPC, 2'bxx, destMAR, noLoad, noLoad, noLoad};
out = {fAplus1, muxPC, 2'bxx, destPC, noLoad, memRD, noLoad};
out = {fAplusB, muxMDR, muxSP, destSP, noLoad, noLoad, noLoad};
stsp
out = {fA, muxSP, 2'bxx, destReg, noLoad, noLoad, noLoad};
neg
out = {fAnot, muxReg, 2'bxx, destReg, noLoad, noLoad, noLoad};
out = {fAplus1, muxReg, 2'bxx, destReg, noLoad, noLoad, noLoad};
module fsm1(x, clk, rst, y, state); Mealy Machine: Output on transition
input x, clk, rst;
output reg y; Moore Machine: Output on state
// (increase bitwidth if you need more than eight states) 1947 by Nace
output reg [2:0] state; // This is to become the synchronously