Ch05 Functional Decomposition
Ch05 Functional Decomposition
2
Now we are interested in translating the selected concept into
a solution (design) so that the requirements can be satisfied.
It means that now we are going to design the system.
In system design phase, there are two steps:
◦ System structure
◦ System behavior
3
Team of engineers who build a system need:
An abstraction ( )التجريدof the system
An unambiguous (without any doubt)
communication medium
A way to describe the subsystems
◦ Inputs
◦ Outputs
◦ Behavior
Functional Decomposition
◦ Function – transformation from inputs to outputs
◦ Decomposition – to divide or breakdown one piece
into many pieces… OR….generating PARTS from
the WHOLE
◦ In other words, divide the main function of your
system into many subfunctions.
4
Functional decomposition is a recursive process (a recursive
process is the one which repeats again and again) that describes
the functionality of all system components.
5
Bottom-Up Design Approach:
◦ In this case the designer starts with basic components and combine them to
create the final system.
◦ For example , consider the case of making a car. In the bottom-up approach, you
have pieces of the car, such as the tires, motor, axle, transmission, alternator, and
they are combined together to make a car.
◦ The final system depends upon the available parts. In other words, the parts are
given, and from them a complete system is created.
◦ In other words, you have the PARTS, and you are making a WHOLE.
◦ Another example: LEGO (for kids)
6
Pros and Cons of Top Down:
◦ It might appear that the top-down is better, since it starts with the overall goal
and from that goal, a solution is developed.
◦ However, a top-down design may result in vertical thinking
◦ The designer cannot create a top-down design in a vacuum without bottom-up
knowledge of existing technology.
◦ To summarize, it looks simple but it is an IDEAL approach.
Pros and cons of Bottom-up:
◦ It allows the designer to take different technologies and from them create
something new
◦ It is applicable when there are constraints on the components that can be used.
◦ To summarize, it is good when you know what components you will use. But it is
complex as you the detailed knowledge of components from the very beginning. It
is practical but more time consuming as compared to TOP DOWN approach.
In reality, most problems require a combination of both:
◦ Completely top-down approach is not feasible (practical) because the designer
must have an understanding of the bottom level technology.
◦ Likewise, the completely bottom-up is generally not feasible, particularly as the
system complexity grows. For simple systems, it may work but for larger systems,
which contains a huge number of components, it is going to be more and more
difficult.
7
Functional decomposition has a strong top-
down flavor, due to the fact that the highest-
level functionality is defined and then further
refined into sub-functions.
(1) “The functional decomposition
process is repeated until some base
level functionality is reached (achieved)
(2) A base level functionality is a level
where the modules can be realized
(implemented) with physical
components.”
8
It starts with a definition of the highest level
(Level 0) of system functionality.
Level 0 is followed by definition of the next level
of the hierarchy that is needed to achieve the
design objective . This is called Level 1 Design.
9
Care must be taken at each design level to
ensure that it satisfies the requirements of
the higher level.
The process is repeated for all the levels of
the design and stops when the detailed
design level is reached (The last level where
you achieve the base level functionality).
Detailed design is where the problem can be
decomposed no further and the identification
of elements such as circuit components, logic
gates, or software code takes place.
The number of levels in the design depends
upon the complexity of the problem.
10
Recursively (repeatedly in a loop) divide and
conquer
– Split a module into several submodules
– Define the input, output, and behavior
– Stop when you reach realizable components
No
N=N+1
11
The system must
Accept an audio input signal source with a
speaker.
Be powered by a standard 120V 60Hz AC
outlet.
12
Module Audio Power Amplifier
Inputs (1) Audio input signal: 0.5V peak.
(2) Power: 120 volts AC rms, 60Hz.
(3) User volume control: variable control.
Outputs Audio output signal: ?V peak value. (50 W)
Functionality (1) Amplify the audio input signal to produce a 50W
maximum output signal.
(2) The amplification should have variable user control. The
output volume should be variable between no volume
and a maximum volume level.
13
Audio Amplifier Design
voltage
buffered
amplified
audio input input audio output
Buffer Amplifier High Gain Amplifier signal Power Output Stage
signal signal
DC voltages
Power Supply
14
Module Buffer Amplifier
Inputs - Audio input signal: 0.5V peak.
- Power: 25V DC.
Outputs - Audio signal: 0.5V peak.
Functionality Buffer the input signal and provide unity voltage
gain. It should have an input resistance >1M
and an output resistance <100.
15
Module High Gain Amplifier
Inputs - Audio input signal: 0.5V peak.
- User volume control: variable control.
- Power: 25V DC
16
Module Power Output stage
Inputs - Audio signal: 20V peak
- Power: 15V DC
17
Module Power Supply
Inputs - Power: 120V AC
18
Electronics Design
Digital Design
Software Design
See the book or more in-depth examples3
19
The system must
Measure temperature between 0 and 200C.
Have an accuracy of 0.4% of full scale.
Display the temperature digitally, including one
digit beyond the decimal point.
Be powered by a standard 120V 60Hz AC outlet.
Use an RTD (thermal resistive device) that has an
accuracy of 0.55C over the range. The resistance
of the RTD varies linearly with temperature from
100Ω at 0C to 178Ω at 200C.
20
Ambient
Temperature Digital
Digital Thermometer Temperature
Power, Display
120 VAC
21
Module Digital Thermometer
22
BCD0
b0
Ambient b1 BCD1
Temperature VT Analog to Digital . Binary Coded
Temperature 7-Segment LED
Conversion Unit Converter . Decimal (BCD) BCD2
Driver
. Conversion Unit
bN-1 BCD3
+/- x V DC
Power,
120 VAC Power Supply
23
Module Temperature Conversion Unit
24
A/D Converter
Module
25
How would you determine the
unknown details in the previous 2
slides?
26
Example of Coupling:
◦ If there are two modules, then at least one connection is required
◦ Similarly, for 3 modules, the maximum number of possible connections
are 3. For 4 modules, the maximum number of possible connections are
6 and so on.
General formula : Connections (max) = n(n-1)/2
More the number of connections, more will be the coupling and
vice versa.
In other words, the modules will be more coupled, if more data
is exchanged between them.
Phenomena of highly coupled systems
◦ A failure in 1 module propagates
◦ Difficult to redesign 1 module
Phenomena of low coupled systems
◦ Discourages reutilization of a module
27
Coupling can be reduced by maximizing the
cohesion
What is cohesion?
28
Design Level 0
◦ Present a single module block diagram with inputs and outputs
identified.
◦ Present the functional requirements: inputs, outputs, and
functionality.
Design Level 1
◦ Present the Level 1 diagram (system architecture) with all
modules and interconnections shown.
◦ Describe the theory of operation. This should explain how the
modules work together to achieve the functional objectives.
◦ Present the functional requirements for each module at this
level.
Design Level N (for N>1)
◦ Repeat the process from design Level 1 as necessary.
Design Alternatives
◦ Describe the different alternatives that were considered, the
tradeoffs, and the rationale for the choices made. This should
be based upon concept evaluation methods in Chapter 4.
29