Presentation is loading. Please wait.

Presentation is loading. Please wait.

Flip-flops, Latches and State Prof. Sirer COMP 303 Koç University.

Similar presentations


Presentation on theme: "Flip-flops, Latches and State Prof. Sirer COMP 303 Koç University."— Presentation transcript:

1 Flip-flops, Latches and State Prof. Sirer COMP 303 Koç University

2 Early Transistors The first transistor, on a workbench at AT&T Bell Laboratories in 1947

3 Logic Gates One can buy gates separately ex. 74xxx series of integrated circuits cost ~$1 per chip, mostly for packaging and testing Cumbersome, but possible to build devices using gates put together manually

4 Integrated Circuits Or one can manufacture a complete design using a custom mask An Intel Pentium has approximately 125 million transistors

5 Special-Purpose Transistors A photo-sensitive transistor can be used to detect the presence of light Photo-sensitive material triggers the gate

6 Recap We have enough tools in our arsenal to start build interesting devices Let’s build a Scantron device Background: A vote is recorded on a piece of paper, by punching out a hole, there are at most 7 choices we will not worry about “hanging chads” or “invalids” For now, let’s just display the numerical identifier to the ballot supervisor we won’t do counting yet, just decoding we can use four photo-sensitive transistors to find out which hole is punched out

7 Ballot Reading All we want to do is go from a paper with a hole in it to a number the ballot supervisor can record Ballots The super-duper COMP303 vote decoding machine

8 Demultiplexors/Encoders N sensors in a row We want to distinguish which sensor of the N sensors has fired Want to represent the firing sensor number in compact form N might be large, I want to sell this device to Italy Only one wire is on at any time Silly to route N wires everywhere, better to encode in log N wires a b o0o0 1 c d 2 3 4 o1o1 A 3-bit (7-to-3) encoder (4 inputs shown) o2o2

9 Number Representations Decimal numbers are written in base 10 3 x 10 1 + 7 x 10 0 = 37 Can just as easily use other bases Base 2 - “Binary” Base 8 - “Octal” Base 16 – “Hexadecimal” Base conversion via repetitive division Divide by base, write remainder, move left with quotient Sanity check with 37 and 10 37 10 1 10 0

10 Binary Representation 0100101 2 6 2 5 2 4 2 3 2 2 2 1 2 0 37 = 32 + 4 + 1 64 32 16 8 4 2 1

11 Hexadecimal Representation 37 decimal = (25) 16 Convention Base 16 is written with a leading 0x 37 = 0x25 Need extra digits! 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F Binary to hexadecimal is easy Divide into groups of 4, translate groupwise into hex digits 25 16 1 16 0

12 Encoder Truth Table a b 1 c d 2 3 4 o1o1 A 3-bit encoder with 4 inputs for simplicity abcdo2o1o0 0000000 1000001 0100010 0010011 0001100 o0o0 o1o1 o2o2 o2 = abcd o1 = abcd + abcd o0 = abcd + abcd

13 Ballot Reading Ok, we built first half of the machine Need to display the result Ballots The super-duper COMP303 vote decoding machine

14 7-Segment LED Decoder 4 inputs encoded in binary 8 outputs, each driving an independent, rectangular LED Can display numbers Just a simple logic circuit Write the truth table

15 7-Segment LED Decoder 4 inputs encoded in binary 8 outputs, each driving an independent, rectangular LED Can display numbers 0 1 0 0

16 7-Segment LED Decoder 4 inputs encoded in binary 8 outputs, each driving an independent, rectangular LED Can display numbers 0 1 1 0

17 7-Segment Decoder Truth Table i3i3 i2i2 i1i1 i0i0 o0o0 o1o1 o2o2 o3o3 o4o4 o5o5 o6o6 00001110111 00011000001 00101101110 00111101011 01001011001 01010111011 01100011111 01111100000 10001111111 10011111011 o0o0 o1o1 o2o2 o3o3 o4o4 o5o5 o6o6 Exercise: find the error(s) in this truth table

18 7-Segment Decoder Truth Table i3i3 i2i2 i1i1 i0i0 o0o0 o1o1 o2o2 o3o3 o4o4 o5o5 o6o6 00001110111 00011000001 00101101110 00111101011 01001011001 01010111011 01100011111 01111100001 10001111111 10011111011 o0o0 o1o1 o2o2 o3o3 o4o4 o5o5 o6o6

19 Ballot Reading Done! Off to the patent office! Ballots The super-duper COMP303 vote decoding machine

20 Keyboard Let’s build a keyboard Lots of mechanical switches Need to convert to a compact form (binary) We’ll use a special mechanical switch that, when pressed, connects two wires simultaneously

21 Keyboard When a key is pressed, a 7-bit key identifier is computed + 3-bit encoder (4 to 3) 4-bit encoder (16 to 4) not all 16 wires are shown

22 Stateful Components Everything we did until now is combinatorial logic Output is computed when inputs are present The system has no internal state Nothing computed in the present can depend on what happened in the past! Need a way to record data Need a way to build stateful circuits Need a state-holding device

23 Bistable Devices In stable state, A = B How do we change the state? A B A B 1 A B 1 0 0 A Simple Device

24 SR Latch Set-Reset (S-R) Latch Q: Stored value and its complement S=1 and R=1 ? S R Q Q SRQQ 00QQ 0101 1010 11??

25 D Latch Data Latch Easier to use than an SR latch No possibility of entering an undefined state When D changes, Q changes  … immediately Need to control when the output changes S R Q Q D

26 Clocks Clocks help with modifying the contents of state-holding elements A free running signal Generated by an oscillating crystal Clock signal has a fixed cycle time (aka cycle period) Clock frequency = 1/cycle time clock period clock high clock low 1 0 falling edge rising edge

27 Edge-triggering Can design circuits to change on the rising or falling edge Trigger on rising edge = positive edge-triggered Trigger on falling edge = negative edge-triggered Inputs must be stable just before the triggering edge input clock

28 First Attempt How does the output behave? S R D clk D Q Q Q Q DQ Q

29 First Attempt How does the output behave? S R D clk Q Q D Q

30 First Attempt How does the output behave? Changes in D that occur when the clock is low are deferred until clock high Changes when clock is high are registered immediately S R D clk D Q Q Q Q DQ Q

31 Master-Slave Flip-Flop Outputs change only on falling edges Data is captured on rising edges 1/2 cycle delay but works out perfectly – data for the next stage is ready 1/2 cycle ahead of time DQ Q DQ Q clk D X Q X

32 Keyboard When a key is pressed, a 7-bit key identifier is computed Let’s store this keycode The computer may not be ready to read it right away + 3-bit encoder (4 to 3) 4-bit encoder (16 to 4) not all 16 wires are shown

33 Registers A register is simply a set of master-slave flip-flops in parallel with a shared clock DQDQ DQDQ DQDQ DQDQ clk D0 D3 D1 D2 4 4 4-bit reg

34 One-Shot A simple device that, when triggered, produces a pulse of the specified width in one shot X ms out in out X ms

35 Keyboard with Last Key Display + 3-bit encoder (4 to 3) 4-bit encoder (16 to 4) not all 16 wires are shown 4-bit reg 7 seg deco 7 seg deco 4-bit reg one-shot 1ms

36 Summary We can now build interesting devices with sensors Using combinatorial logic We can also store data values In state-holding elements Coupled with clocks


Download ppt "Flip-flops, Latches and State Prof. Sirer COMP 303 Koç University."

Similar presentations


Ads by Google