Chap. |
What's important and relevant. |
1 |
Introduction:
The chapter is OK -
how ever must you be aware that the actual
design-flow set by the XiLinx ISE 11.1
|
2 |
Code structure:
Library
- Entity
- Architecture
- All
VHDL designs consist of modules / components - the
Entity
defines the connections between the
Architecture
inside the module and "the world".
If you need internal
connections (Signal)
must they be defined before the begin keyword in the
Architecture
- (Temp signal at page 21
The examples describes how combinatorial logic and
sequential elements (Latches and Flip/Flops) can be
created with VHDL.
|
3 |
Data types:
Don't spend that much time
with this chapter - the content correct but:
XiLinx ISE and the Simulator prefer the type
Std_Logic
and Std_Logic_Vector
for Entities. For internal signals could the type
Integer
however be useful.
The book claims at page 37 that
Std_Logic_Vector
not useful for arithmetic operations - this not
true.
The conversion functions -
Conv_Integer( xxx)
and
Conv_Std_Logic_Vector(
yyy,n) will enable you to switch between the two
types.
Arrays could be useful if you want to define a
storage like a RAM or ROM. Too bad will ISE tool
properly not give you the best solution this way and
you should instead use the IP coregenerator.
Enumerated types will be
introduced together with State Machines.
|
4 |
Operators and
Attributes:
Lots of information in this
chapter, however will generic VHDL components not be
the major part of this course. The most important
facts mention below.
The difference between signals and variables can be
seen by the assignments: <= for signals
and := for variables.
Instead of a fixed vector assignment like
x <= "00000000" can x <= (others =>'0')
be used.
The concatenation operator & very useful when it
comes to combine vectors and signal to new
combinations.
Page 52 - Clk'event and Clk='1'
and Rising_edge( Clk) will the most important
attributes.
|
5 |
Concurrent Code:
Digital logic is divided in
two groups: Combinatorial logic and Sequential
logic.
The same is true for VHDL where statements could
either be Concurrent or Sequential. Most of the
examples in this chapter could be applied to the
NEXYS kit as well
All code written inside the
Architecture will be Concurrent (no matter which
order you write them will the always be executed in
the correct order). Note that a process can be seen
as one Concurrent statement - but what's happens
inside a process not Concurrent
|
6 |
Sequential Code:
The code inside a Process
is executed in a sequential manner - just like a C++
or Java program. If you decide to use Variables
instead of signals will you be able to write
"normal" computer programs. How ever will there
still be some "deep pitfalls".
Sequential Code comes
natural when you what's to describe Digital system
which involves F/F
|
7 |
Signals and
Variables:
One of the key-stones about
VHDL will be to understand the difference between
Signals and Variables.
|
8 |
State Machines:
All Digital Systems of
importance based are based at the principles of
State Machines.
|
9 |
Additional Circuit
Design:
The chapter is OK -
however will not examples be used
|
10 |
System Design -
Packages and Components:
The chapter is OK -
however will not examples be used
|
11 |
System Design -
Functions and Procedures:
The chapter is OK -
however will not examples be used
|
12 |
Additional System
Design:
The chapter is OK -
however will not examples be used
|
|
|