chapter 1
chapter 1
(EEE-344)
Week 1
Instructor:
Wajeeha Khan
Lecturer
[email protected]
Electrical and Computer Engineering Department,
CUI
Lahore Campus
Office:
Block-B, Room No. B14
Timings:
0900-1630 (Preferable: E-mail me)
1
About the Course
Topics to Be Covered:
2
Course learning Outcomes:
3
About the Course
• Rules of Engagement
• Attendance does matter, be aware!
• Protection of your copy is YOUR responsibility! All
matching Assignments/quiz/lab work will lose marks
EQUALLY.
• ONLY email or meeting in office hours
• Slides will be given after the lecture via CU-Online tool or
via CR ONLY
• NO EMAILS for personal requests before/during/after
exams.
• Its all interactive.
4
Digital System Design
Chapter 1: Introduction
2
which moves digital
the magnet,
signal
microphone
analog
signal Possible values:
which creates
current in the nearby wire 0, 1, 2, 3, or 4.
Possible values: That’s it.
1.00, 1.01, 2.0000009, 4
value
value
... infinite possibilities 3
2
1
0
time time
7
Digital Signals with Only Two
Values: Binary
• Binary digital signal -- only two possible values
• Typically represented as 0 and 1
value
• One binary digit is a bit
• We’ll only consider binary digital signals 1
• Binary is popular because 0
• Transistors, the basic digital electric component, operate time
using two voltages (more in Ch. 2)
• Storing/transmitting one of two values is easier than three
or more (e.g., loud beep or quiet beep, reflection or no
reflection)
8
Example of Digitization Benefit
• Analog signal (e.g., audio) may
lengthy transmission
Volts
lengthy transmission
rate, save sample using bit a2d
3
3 V: “11” but higher sampling
rate and more bits per 2
encoding brings closer. 1
0 time 9
Digitized Audio: Compression
Benefit
• Digitized audio can be Example compression scheme:
compressed 00 --> 0000000000
• e.g., MP3s 01 --> 1111111111
• A CD can hold about 20 songs 1X --> X
uncompressed, but about 200
compressed
0000000000 0000000000 0000001111 1111111111
• Compression also done on
digitized pictures (jpeg), 00 00 10000001111 01
movies (mpeg), and more
• Digitization has many other
benefits too
10
How Do We Encode Data as Binary for
Our Digital System?
a
analog button
digital
• e.g., multi-button input: encode
data red=001, blue=010, ... 0 0 1
air 33
D2A • As done in earlier slide -- sample
degrees
electric and encode with bits
signal temperature
actuators and sensor
other outputs
0 0 1 0 0 0 0 1
11
How to Encode Text: ASCII,
• ASCII: 7- (or 8-) bit encoding Unicode
of each Symbol Encoding Symbol Encoding
letter, number, or symbol R 1010010 r 1110010
S 1010011 s 1110011
• Unicode: Increasingly popular 16- T 1010100 t 1110100
bit bit encoding L 1001100 l 1101100
• Encodes characters from various N 1001110 n 1101110
world languages E 1000101 e 1100101
0 0110000 9 0111001
. 0101110 ! 0100001
<tab> 0001001 <space> 0100000
Question:
What does this ASCII bit sequence represent?
1010010 1000101 1010011 1010100
REST
12
How to Encode Numbers: Binary
Numbers
• Each position represents a quantity;
symbol in position means how many of
that quantity
• Base ten (decimal)
• Ten symbols: 0, 1, 2, ..., 8, and 9 5 2 3
• More than 9 -- next position
• So each position power of 10 104 103 102 101 100
• Nothing special about base 10 -- used because
we have 10 fingers
• Base two (binary)
• Two symbols: 0 and 1
• More than 1 -- next position
• So each position power of 2
1 0 1 Q: How much?
24 23 22 21 20 + =
a
4+ 1= 5
13
How to Encode Numbers: Binary
Numbers
• Working with binary numbers
• In base ten, helps to know powers of 10
• one, ten, hundred, thousand, ten thousand, ...
29 28 27 26 25 24 23 22 21 20
• In base two, helps to know powers of 2
• one, two, four, eight, sixteen, thirty two, sixty
four, one hundred twenty eight 512 256 128 64 32 16 8 4 2 1
• (Note: unlike base ten, we don’t have common
names, like “thousand,” for each position in base
ten -- so we use the base ten name)
• Q: count up by powers of two
14
Converting from Decimal to Binary
Numbers: Subtraction Method (Easy
for Humans)
• Goal
• Get the binary weights to add up to the
Desired decimal number: 12
decimal quantity
• Work from left to right 32 16 8 4 2 1
• (Right to left – may fill in 1s that shouldn’t have
1 =32
been there – try it). too much
32 16 8 4 2 1
0 1 =16
32 16 8 4 2 1 too much
a
0 0 1 =8
32 16 8 4 2 1 ok, keep going
0 0 1 1 =8+4=12
32 16 8 4 2 1 DONE
0 0 1 1 0 0 answer
32 16 8 4 2 1
15
Converting from Decimal to Binary
Numbers: Subtraction Method (Easy
for Humans)
• Subtraction method
• To make the job easier (especially for big
Remaining quantity: 12
numbers), we can just subtract a selected
binary weight from the (remaining) quantity 32 16 8 4 2 1
• Then, we have a new remaining quantity, and
we start again (from the present binary position)
1 32 is
too much
32 16 8 4 2 1
• Stop when remaining quantity is 0
0 1 16 is
too much
32 16 8 4 2 1
a
0 0 1 12 – 8 = 4
32 16 8 4 2 1
0 0 1 1 4-4=0
32 16 8 4 2 1 DONE
0 0 1 1 0 0 answer
32 16 8 4 2 1
16
Converting from Decimal to Binary
Numbers:
Subtraction Method Example
• Q: Convert the number “23” from decimal to binary
A: Remaining quantity Binary Number
23 0 0 0 0 0 0
32 16 8 4 2 1
23 0 1 0 0 0 0
-16 32 16 8 4 2 1
a
7
7 0 1 0 1 0 0
-4 32 16 8 4 2 1
3 8 is more than 7, can’t use
4 0 1 0 1 1 0
-2 32 16 8 4 2 1
1
1 0 1 0 1 1 1
-1 32 16 8 4 2 1
0
Done! 23 in decimal is 10111 in binary.
17
Converting from Decimal to Binary
Numbers: Division Method (Good for
Computers)
• Divide decimal number by 2 and insert remainder into new binary number.
• Continue dividing quotient by 2 until the quotient is 0.
• Example: Convert decimal number 12 to binary
19
Base Sixteen: Another Base
Sometimes Used by Digital
8
Designers
• Nice because each position represents four
A F
20
Implementing Digital Systems: 1.3
Programming Microprocessors Vs. Designing
Digital Circuits
Programmed Custom designed •
Desired motion-at-night detector Microprocessors a
microprocessor digital circuit common choice to
implement a digital
system
• Easy to program
• Cheap (as low as $1)
• Available now
M I0 P0 void main() 1
rr I1
op P1 { a
o
c I2 P2 while (1) {
0
1
I3 P3 P0 = I0 && !I1; b
I4 P4 0
// F = a and !b,
I5 P5 1
I6 P6 } F
0
I7 P7 }
6:00 7:057:06 9:009:01 time
21
Digital Design: When Microprocessors
Aren’t Good Enough
• With microprocessors so easy, Q: How long for each
cheap, and available, why design a Image Sensor Micro-
implementation option?
digital circuit? processor
22
Chapter Summary
23