Lecture 8 Flashcards

1
Q

VHDL data types: BOOLEAN

A

Returned by comparisons and used in conditional statements

True and false

Y <= d1 when (s=‘1st) else d0;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

VHDL data types: INTEGER

A

Represents both positive and negative integers

-2^31 to (2^31)-1

Y <= a(3) and a(2) and a(1) and a(0);

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

CONV_INTEGER

A

Converts from STD_LOGIC_VECTOR to INTEGER for positive (unsigned) values

Defined in library IEEE.STD_LOGIC_UNSIGNED

Y <= d(CONV_INTEGER(s));

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

VHDL is strict about out port being exclusively for output

A

Has a buffer port type that solves this

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Buffer port

A

Signals behave as outputs but may alone be used within the module

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Enumeration

A

An abstract way of representing information without assigning specific binary encodings

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Structural modeling

A

Describes a module in terms of how it is composed of simpler modules

Prevents errors caused by changing the entity but not the instance

Allows multiple architectures (implementations) for the same entity

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

VHDL process statements

A

Used to describe sequential circuits because they remember the old state when no new state prescribed

Can be used to describe combinatorial logic

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Process statements can be used to describe combinatorial logic if:

A

The sensitivity list is written to respond to changes in all of the inputs

The body prescribes the output value for every possible input combination

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Process statement: <=

A

Non-blocking assignment

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Non-blocking assignment

A

Evaluated concurrently before any of the signals on left side are updates

Made to outputs and to signals

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Process statements: :=

A

Blocking assignment

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Blocking assignment

A

Evaluated in order that they appear in the code

Made to variables

Best for intermediate variables in combinatorial logic (must be variable not signal)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Case statements

A

Checks the value of data

Must appear within always statement

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

(Non-)Blocking Assignment Guidelines

A
  1. Use process (clk) and nonblocking assignments to model synchronous sequential logic
  2. Use concurrent assignments outside process statements to model simple combinatorial logic
  3. Use process (in1,in2,…) and blocking assignments to model more complicated combinatorial logic
  4. Do not make assignments to the same signal in more than one process statement or concurrent assignment statement
How well did you know this?
1
Not at all
2
3
4
5
Perfectly