Professional Documents
Culture Documents
Chapter 4 - Concurent Signal Assignments of VHDL
Chapter 4 - Concurent Signal Assignments of VHDL
DIGITAL IC DESIGN
USING HDL
CHAPTER 4:
CONCURRENT SIGNAL
ASSIGNMENTS OF
VHDL
NGUYEN THANH NGHIA
9/27/2021 22
NGUYEN THANH NGHIA
Outline
1. Combinational versus sequential
circuits.
2. Simple signal assignment statement.
3. Conditional signal assignment
statement.
4. Selected signal assignment statement.
5. Conditional signal assignment
statement versus selected signal
assignment statement.
NGUYEN THANH NGHIA 3
Chapter 4: Concurrent Signal Assignments of VHDL
Concurrent signal assignment statements
are simple, yet powerful VHDL statements.
Mapping between the assignment statement
and hardware components is clearly.
We can easily visualize the conceptual
diagram of the VHDL description.
This helps us to develop a more efficient
design.
Conceptual implementation
Syntax:
Signal_name <= projected_waveform;
The projected_waveform clause consists of
two kinds of specifications.
• The expression of a new value for the signal
• The time when the new value takes place
NGUYEN THANH NGHIA 9
Chapter 4: Concurrent Signal Assignments of VHDL
2. Simple signal assignment statement
SYNTAX AND EXAMPLES
Examples:
y <= a + b + 1 after 20ns;
expression time
The time aspect of projected_waveform
normally corresponds to the internal
propagation delay to complete the
computation of the expression.
NGUYEN THANH NGHIA 10
Chapter 4: Concurrent Signal Assignments of VHDL
2. Simple signal assignment statement
CONCEPTUAL IMPLEMENTATION
arith_out <= a + b + c - 1;
Conceptual implementation
Detailed implementation
examples
Syntax:
Signal_name <= Value_expr_1 when Boolean_expr_1 else
Value_expr_2 when boo1ean_expr_2 else
Value_expr_3 when Boolean_expr_3 else
…
Value_expr_n;
The Boolean_expr_i (i= 1, 2, 3, …, n) term is
a Boolean expression that returns true or
false.
NGUYEN THANH NGHIA 16
Chapter 4: Concurrent Signal Assignments of VHDL
3. Conditional signal assignment statement
SYNTAX AND EXAMPLES
2
s x 4
entity simple_alu is
Port ( ctrl: in std_logic_vector (2 downto 0);
src0, srcl: in std_logic_vector (7 downto 0);
result: out std_logic_vector (7 downto 0) );
end simple_alu;
Sel Sel
NGUYEN THANH NGHIA 34
Chapter 4: Concurrent Signal Assignments of VHDL
3. Conditional signal assignment statement
CONCEPTUAL IMPLEMENTATION
Let us first consider a simple conditional signal
assignment statement that has only one when clause:
Sig <= Value_expr_1 when Boolean_expr_1 else
Value_expr_2;
The conceptual realization of this statement is shown:
Conceptual implementation
Detailed implementation
examples
2
s x 4
Simple ALU
8
scr0
8 result 2
scr1
3
ctrl
The end!