I understand how to make state diagram and make combinational logic (gates) to get a boolean equation for the next state bits and the output bit,

but what is the function of ROM here ?

enter image description here


2 Answers 2


Rom(=Read only memory) is a brute force (=absolutely non-minimized) way to implement a combinatoric circuit. Current state bits and inputs together are address, the data stored into that address contains the next state and possible output bits which both can depend on current state and input bits.

When one builds a state machine using standard parts, he probably appreciates a construction where all logic gates in the state transition & output logic are replaced by a single easily programmable IC.

I would add buffer latches to input and output bits to keep sure that inputs are read and outputs are updated in sync, the output bits should in the rom should be surely settled before they are used.

  • \$\begingroup\$ +1 for solid answer. That latched output was called a "Pipeline". Back in the 1980's we would program 4 eproms so we had 32 bits of control lines in the pipeline. It controls ALU, memory and device IO, conditional jumps, etc. \$\endgroup\$
    – user105652
    Commented Oct 4, 2018 at 2:11

This look like a general representation of sequential logic. It could be Read Only Memory: Any boolean function or logic gates combination can be implemented as a look-up table, and look-up tables are equivalent to pages of read-only memory where the inputs are the address and the outputs are the content of the memory.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.