280 likes | 514 Views
EE121 John Wakerly Lecture #10. Some shift-register stuff Sequential-circuit analysis. Serial data systems (e.g., TPC). Serial data in the phone system (E-1). 2.048 Mb/s links between phone switches and subscribers partitioned into 32 64 Kb/s channels
E N D
EE121 John Wakerly Lecture #10 Some shift-register stuff Sequential-circuit analysis
Serial data in the phone system (E-1) • 2.048 Mb/s links between phone switches and subscribers • partitioned into 32 64 Kb/s channels • Each channel gets a timeslot in a “frame” where it can send 8 bits every 125 sec. • 8000 frames/sec
count = 255 Timeslot details
256 LSBs are bit number Assert shift-registerLOAD input during bit 7 Timeslot number canbe decoded and usedto select source ofparallel data count = 255 Serial data todestination Parallel-to-serial conversion
Synchronize destination’s counter to source’s Detect that acomplete bytehas beenreceived Note: loads 0…0 Holding registerfor completebyte Shift in serial data Serial-to-parallel conversion
Grab complete byte when available Holding-register outputs Serial-in, parallel-outshift register outputs Destination timing
Serial communication on ONE wire • Serial communication requires three signals: CLOCK, SYNC, and DATA. Yet only one “wire” is used. How? • One solution: Manchester code. • Or use a phase-locked loop (analog circuit)to extract clock from the data:
Still a couple of problems • Framing -- SYNC signal • Solution: Use a unique data pattern for SYNC • PLL clock recovery -- what if too many zeroes are transmitted? PLL can’t stay in sync. • Solution: Use a code that guarantees a minimum number of ones • Phone system: Map 00000000 --> 00000010 (creating slight voice distortion) • Gigabit Ethernet: Uses 8B10B code, solving both problems • Map each byte into 8 bits • Use only a “good” subset of 210 code words • Use another code word for synchronization
Shift-register counters • Ring counter
Johnson counter • “Twisted ring” counter
Clocked synchronous seq. circuits • A.k.a. “state machines” • Use edge-triggered flip-flops • All flip-flops are triggered from the same master clock signal, and therefore all change state together • Feedback sequential circuits • No explicit flip-flops; state stored in feedback loops • Example: edge-triggered D flip-flop itself (4 states) • Sections 7.9, 7.10 (advanced courses)
output depends onstate and input typically edge-triggered D flip-flops State-machine structure (Mealy)
output dependson state only typically edge-triggered D flip-flops State-machine structure (Moore)
State-machine structure (pipelined) • Often used in PLD-based state machines. • Outputs taken directly from flip-flops, valid sooner after clock edge. • But the “output logic” must determine output value one clock tick sooner (“pipelined”).
Notation, characteristic equations • Q means “the next value of Q.” • “Excitation” is the input applied to a device that determines the next state. • “Characteristic equation” specifies the next state of a device as a function of its excitation. • S-R latch: Q = S + R´ · Q • Edge-triggered D flip-flop: Q = D
State-machine analysis steps • Assumption: Starting point is a logic diagram. 1. Determine next-state function F and output function G. 2a. Construct state table • For each state/input combination, determine the excitation value. • Using the characteristic equation, determine the corresponding next-state values (trivial with D f-f’s). 2b. Construct output table • For each state/input combination, determine the output value. (Can be combined with state table.) 3. (Optional) Draw state diagram
Transition equations • Excitation equations • Characteristic equations • Substitute excitation equations into characteristic equations
(output equation) state/outputtable state table transitiontable another name for this function? Transition and state tables (transitionequations)
State diagram • Circles for states • Arrows for transitions (note output info)
Modified state machine • Moore machine MAXS MAXS = Q0 Q1
Timing diagram for state machine • Not a complete description of machine behavior
Set of registered outputs GOTO or IF Output combinations Can be nested ABEL state diagrams
module SMexample title ’Simple ABEL state_diagram example’ EN pin; Q1, Q0 pin istype ’reg’; MAX, MAXS pin istype ’com’; S = [Q1,Q0]; A = [ 0, 0]; B = [ 0, 1]; C = [ 1, 0]; D = [ 1, 1]; state_diagram S state A: if EN then B else A; state B: if EN then C else B; state C: if EN then D else C; state D: if EN then A else D; equations MAX = (S==D) & EN; MAXS = (S==D); end SMexample ABEL state diagram for example machine
Next time • State-machine design and synthesis