Professional Documents
Culture Documents
Definitions
It is any device that includes a
programmable computer but is not itself
intended to be a general purpose
computer. Wayne Wolf
Definitions
Introduction
Embedded System:
A digital system with at least one processor that
implements a hardware function that is a part or all of the
digital system
Facilitates designer to use a C or C++ program for
description and design of complex hardware functions
HLL programs replaces the writing of synthesizable HDL
code for detailed design of hardware
Embedded Processors: Processor(s) of an embedded
system
4
Introduction
Embedded Systems vs Micro-controllers:
Offer more flexibility and design customization
Offer the methodologies that include the use of hardware
and software in the same integrated design environment
Offer higher level design methods for integrating hardware
components with embedded processor
2.
Look at this
sunflower, a
natures gift
How does the
nature embed its
software? The
flower rotates its
face continuously
towards the Sun.
9
10
Micro Processors
Micro Controllers
Embedded Processors
DSPs
Media Processors
11
- 68HCxxx
- 80x86
- i860
-SPARC
-Power PC 601, 604
- Nios
CISC
CISC
CISC & RISC
RISC
RISC
RISC
12
13
- 29050
- i960
- ARM 7, ARM 9
RISC
RISC
RISC
14
Selection of a Processor
15
16
17
18
19
10
11
12
25
13
27
28
14
30
15
31
16
33
Flip-Flops
34
17
Flip-Flops Control
The initial value of a flip-flop output depends on its
internal gate delays, and in most cases is
unpredictable. To force an initial state into a flip-flop,
set and reset control inputs can be used should be
used.
A Set or Preset control input forces a flip-flop into its 1 state, and a Reset or Clear input forces it to 0.
35
The structure formed by a group of flipflops with a common clock signal and
common control signals is called a
register.
An 8-bit Register
36
18
19
39
20
41
42
21
State Assignment
43
44
22
23
47
48
24
49
25
51
52
26
54
27
55
28
57
29
Mode
m1
m0
Operation
Counter is reset to 0
Counter counts up
30
Memories:
Memories are twodimensional arrays of
flip-flops,
or
onedimensional arrays of
registers.
A 2n m-bit Memory
61
Behavioral Description:
Eg. 1-bit comparator: Use basic logic gates, which include not, and, or,
and xor cells, to implement the circuit with logic expression
eq = i0 . i1 + i0 . i1 (SOP form)
l i b r a r y ieee;
use ieee.std-logic-ll64.all;
e n t i t y eq1 i s
p o r t ( i 0 , il: in std-logic;
eq: out std-logic) ;
end eql;
a r c h i t e c t u r e sop-arch of eql i s
s i g n a l p0, p 1 : std-logic;
begin
eq <= p0 or pl;
p0 <= ( not i0) and ( not i1);
pl <= i 0 and il;
end sop-arch ;
62
31
63
64
32
The uut block is the unit under test, the test vector generator block generates
testing input patterns, and the monitor block examines the output responses.
65
66
33
68
34
69
70
35
71
72
36
73
74
37
76
38
Sequential Statements:
IF AND CASE STATEMENTS: If and case statements are two other
commonly used sequential statements. Conceptually, they can be used to
describe routing structures.
If statement: Syntax
if boolean-expr_1
then
sequential_statements;
elsif boolean_expr-2 then
sequential_statements;
elsif boolean_expr-3 then
sequential_statements ;
...
else
sequential_statements ;
end i f ;
77
Sequential Statements:
Case statement: Case statement uses the sel signal to select a
set of sequential statements for execution. Conceptually, case
statement infers a similar multiplexing structure during synthesis.
Syntax :
case sel is
when choice_1 =>
sequential statements;
when choice_2 =>
sequential statements ;
when others =>
sequential statements;
end case ;
78
39
Sequential Statements:
Comparison to concurrent statements
The simple if and case statements are equivalent to the
conditional and selected signal assignment statements.
However, an if or case statement allows any number and any
type of sequential statements in their branches and thus is
more flexible and versatile.
79
Syntax:
constant const-name : data_type := value_expression;
For example, we can declare two constants as
constant DATA_BIT: integer := 8;
constant DATA-RANGE: integer : = 2**DATA_BIT - 1;
80
40
Syntax:
entity entity-name is
generic (
generic-name : data-type : = default-values ;
generic-name : data-type : = default-values ;
generic-name : data-type : = default-values
);
port (
port-name : mode data-type ;
);
end entity-name;
82
41
83
42