--- author: Oldrich Pecak --- # Sequential circuits --- ## Automata basics - sequential circuits are finite state automata - requires some memory to remember state - can be formalized: - set of states - initial state - transition function - output function - two types: - Mealy - Moore - we will focus on synchronized automata --- ## Mealy and Moore automata - Mealy: - output derived from current state and input - output can change without change in state - can result in simpler automata - Moore: - output derived from current state --- ## Encoding states - we work with 1 bit memory cells (flip flops) - minimalize number of cells: - encoding values - more complex transition function - possibly slower - simple solution: - 1 in N encoding - possibly faster - simple to work with --- ## Transition function - describes the behaviour of the automata - multiple representations - transition matrix - set of pairs - text description - state graph - time diagram --- ## Output function - combinational circuit - can be very simple (depends on encoding and type) - usually multiple outputs --- ## Constructing automata - flip-flop/latch selection matters - transition function must be transfered into driving functions - my tip: - use 1 in N encoding - use D flip-flops - do not forget reset/initialization inputs --- ## Some notes on automata - very similar to regular finite automata - some algorithms for minimalization work on both - not fully interchangeable! --- ## Let's build something II - pulse length counter - if input pulse is shorter than 2 cycles, output a single cycle 1 after it ends --- ## Let's build something - time-exclusive XOR - works like XOR, but also looks 1 cycle into the past