Download presentation
Presentation is loading. Please wait.
Published byDamon Francis Modified over 9 years ago
1
Important Components, Blocks and Methodologies
2
To remember 1.EXORS 2.Counters and Generalized Counters 3.State Machines (Moore, Mealy, Rabin-Scott) 4.Controllers (FSM for control + Data Path) 5.Iterative Circuits 6.Generalized Register 7.Pipelined 8.Cellular Automata 9.Oracle 10.Data Flow Graph 11.Butterfly 12.Ping-Pong Architecture 13.Trees 14.Sequence Generators (permutations, selections, tree-search strategies) 15. Sequence Detectors 16.Sequence Transformers
3
Useful tool for your creativity! Cellular Automaton Systolic Controller Ping-Pong Pipelined Combinational Hierarchical Iterative Circuit SorterXXXXX Fast Fourier Butterfly XXXXX Max of N numbers XXXX Matrix – Vector Multiplicatio n XXXXX Comparator of order XXXXXX Morphologica l Image Processing XXXXXX Other?? architecture Design problem
4
XORs and XNORs
5
XOR
6
XOR gates A 0 = A A 1 = A’ A A’ = 1 A + B = A B AB AB’ + A’B = AB’ A’B A B’ = A’ B = (A B)’
7
Cascading XOR gates
8
Parity Generation
9
74x280 9-bit odd/even parity generator
10
Tree and Iterative circuits
11
Fig.6.74. XORs in comparators Always two choices: Tree Linear array (iterative)
12
Big OR functions
13
Sequence Detectors
14
14 Sequence Detector One-input/one-output sequence detector: produces output value 1 every time sequence 0101 is detected, else 0 Example: 010101 -> 000101 State diagram and state table: Transition and output tables:
15
15 Sequence Detector (Contd.) Excitation and output maps: Logic diagram: z = xy 1 y 2 ’ y 1 = x’y 1 y 2 + xy 1 ’y 2 + xy 1 y 2 ’ y 2 = y 1 y 2 ’ + x’y 1 ’ + y 1 ’y 2 Clock in D type synchronized FF is not shown
16
Sequence Detector (Contd.) Another state assignment: z = xy 1 y 2 Y 1 = x’y 1 y 2 ’ + xy 2 Y 2 = x’ State assignment is really important for iterative circuits
17
Big Counters
18
18 Binary Counter One-input/one-output modulo-8 binary counter: produces output value 1 for every eighth input 1 value State diagram and state table: This is different type of graph of counter that we discussed before. Earlier the graph had no input and changes to new states corresponded to clock This graph assumes asynchronous FFs. Mealy table Stays in the same state
19
Binary Counter (Contd.) Transition and output tables: Excitation table for T flip-flops and logic diagram: T 1 = x T 2 = xy 1 T 3 = xy 1 y 2 z = xy 1 y 2 y 3 Realization with asynchronous FFs, no clock
20
Implementing the Counter with asynchronous SR Flip-flops Transition and output tables: Excitation table for SR flip-flops and logic diagram: Trivially extensible to modulo-16 counter S 1 = xy 1 ’ R 1 = xy 1 S 2 = xy 1 y 2 ’ R 2 = xy 1 y 2 S 3 = xy 1 y 2 y 3 ’ R 3 = z = xy 1 y 2 y 3 Asynchronous FFs, no clock
21
Counter Problems to think about: Design a counter modulo 2 k Design a counter modulo 12348 Design a counter in Gray Code. Design a counter in arbitrary code. Design a switchable counter in two codes with two capacities Design a reversible counter that can count up or down
22
Sequential Parity Generators
23
23 Parity-bit Generator Serial parity-bit generator: receives coded messages and adds a parity bit to every m-bit message Assume m = 3 and even parity State diagram and state table: J 1 = y 2 K 1 = y 2 ’ J 2 = y 1 ’ K 2 = y 1 J 3 = xy 1 ’ + xy 2 K 3 = x + y 2 ’ z = y 2 ’y 3
24
Controllers = (FSM+DataPath)
25
Sequential Circuit as a Control Element Control element: streamlines computation by providing appropriate control signals Example: digital system that computes the value of (4a + b) modulo 16 a, b: four-bit binary number X: register containing four flip-flops x: number stored in X Register can be loaded with: either b or a + x Addition performed by: a four-bit parallel adder K: modulo-4 binary counter, whose output L equals 1 whenever the count is 3 modulo 4
26
26 Example (Contd.) Sequential circuit M: Input u: initiates computation Input L: gives the count of K Outputs:,,, z When = 1: contents of b transferred to X When = 1: values of x and a added and transferred back to X When = 1: count of K increased by 1 z = 1: whenever final result available in X
27
Example (Contd.) Sequential circuit M: K, u, z: initially at 0 When u = 1: computation starts by setting = 1 –Causes b to be loaded into X To add a to x: set = 1 and = 1 to keep track of the number of times a has been added to x After four such additions: z = 1 and the computation is complete At this point: K = 0 to be ready for the next computation State diagram:
28
28 Example (Contd.) State assignment, transition table, maps and logic diagram: = y 1 ’y 2 = = y 1 y 2 z = y 1 y 2 ’ Y 1 = y 2 Y 2 = y 1 ’y 2 + uy 1 ’ + L’y 2 Sequential circuit
29
Every student has to know (from ECE 271) 1.Realization of a state table from a state graph 2.Encoding of a state table D 3.Realization of a state table with D FFs. JK 4.Realization of a state table with JK FFs. T 5.Realization of a state table with T FFs. Iterative CircuitRealization of a state table with Iterative Circuit Synchronous versus asynchronous FFs.
30
30 Arithmetic Circuits Arithmetic Circuits
31
31 Topics Adder circuits How to subtract –Why complemented representation works out so well Overflow
32
32 Iterative Circuit Functional blocks per bit
33
33 Adders Great example of this type of design Design 1-bit circuit, then expand Let’s look at –Half adder – 2-bit adder, no carry in Inputs are bits to be added Outputs: result and possible carry –Full adder – includes carry in, really a 3-bit adder
34
34 Half Adder S = X Y C = XY
35
35 Full Adder Three inputs. Third is Cin Two outputs: sum and carry
36
36 Two Half Adders (and an OR) From Truth Table at the left we get this
37
37 Ripple-Carry Adder Straightforward – connect full adders Carry-out to carry-in chain –C 0 in case this is part of larger chain, or just ‘0’
38
Iterative Circuits
39
39 Iterative Combinational Circuits Iterative network: cascade of identical cells Sequential: counter, shift register Combinational Every finite output sequence that can be produced sequentially by an FSM can also be produced spatially (or simultaneously) by a combinational iterative network Analogy between iterative networks and sequential machines: Cell inputs/outputs Input/output carries
40
Iterative combinational Circuits Another notation and names
41
Iterative Comparators
42
Iterative comparator of equality
43
74x682 8-bit comparator Faster circuit
44
44 Cell Table Cell table: analogous to state table Example: 0101 pattern detector Assuming the same assignment for states (A: 00, B: 01, C: 11, D: 10): each cell same as the combinational logic of the sequential circuit derived for the 0101 sequence detector earlier
45
45 Synthesis Example: synthesize an n-cell iterative network Each cell has one cell input x i and one cell output z i z i = 1: if and only if either one or two of the cell inputs x 1, x 2, …, x i have value 1 States A, B, C, D: 0, 1, 2, (3 or more) of the cell inputs to preceding cells have value 1 Cell table Cell Output-carries and cell-output table
46
Iterative comparator of orders and equality 1.Calculated last week 2.Starts from graph 3.Next table from graph 4.Realize circuit combining identical blocks 5.Last block different 6.Transition from combinational to sequential circuit 7.Main tradeoff of digital design – parallel versus serial
47
General Iterative Circuits
48
Structures of generalized iterative circuits
49
Structures
50
It seems to be a loop here, but there is no loop You cannot create a loop that would cause creation of a memory. Circuit can have a loop but no memory.
51
Students that do not understand iterative circuits will be severely penalized!
52
Slides from Wakerly Montek Singh
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.