VHDL Questions and Answers Part-10

1. Which function is used to create a single value for multiple driver signals?
a) Resolution function
b) Package
c) Concurrent assignments
d) Sequential assignments

Answer: a
Explanation: The values of all the drivers are resolved together to create a single value for the signal. The method of resolving all the drivers is through a resolution function which is a designer writer function. That function is called whenever any one of the driver changes its value.

2. Refer to the VHDL code given below, which of the following signal is driven by multiple drivers?
USE IEEE.std_logic_1164.all;
ENTITY function IS
PORT (b, c : IN BIT;
a, d : OUT BIT);
END function;
ARCHITECTURE behavior OF my_func IS
a <= b;
a <= c;
d <= b;
END behavior;
a) d
b) c
c) b
d) a

Answer: d
Explanation: A signal is called multiply driven signals if it is driven by more than one signals or the value of signal changes with respect to more than one signal. Here, the value of changes when the value of b or value of c changes. Therefore, a is driven by two drivers named as b and c. Each concurrent statement creates a driver for left operand.

3. A signal is driven by two signals b and c. How the value of b and c will be resolved to calculate the value of a?
a) By short circuiting both driver
b) By open circuiting one driver
c) By AND operation between two drivers
d) By NOT operation of both drivers

Answer: a
Explanation: The value of multiple driver signal is found by using resolution function. The default resolution function short circuits all the drivers and performs OR operation which means any change in any driver will cause change in output signal. The value of delays is also taken into consideration

4. Which of the following is default delay in VHDL?
a) Inertial delay
b) Transport delay
c) Delta delay
d) Wire delay

Answer: a
Explanation:In VHDL, inertial delay is the default delay in VHDL. If no delay type is specified then it will be used as inertial delay. The reason behind taking, inertial delay as default is that in most case it behaves similarly to the actual device to be designed.

5. What must be overcome by the output signal to change the value in case of inertial delay?
a) Time
b) Error
c) Inertia
d) Pulse

Answer: c
Explanation: In case of inertial delay model, the output signal has some inertia which must be overcome for the signal to change its value. If a signal value is maintained for a time longer than the delay through the device, the output signal value changes to a new state.

6. The inertia value in inertial delay model is equal to _________
a) Initial value
b) Delay
c) Input value at a specific time
d) Output value at a specific time

Answer: b
Explanation: The inertia value in inertial delay model is equal to the delay through the device. This value must be overcome first to change the signal state. If there is any impulsive change in between then the state of signal will not change after the specified delay

7. Transport delay is a kind of __________
a) Synthesis delay
b) Simulation delay
c) Inertial delay
d) Wire delay

Answer: d
Explanation: Transport delay represents a wire delay in which any pulse is propagated to the output signal delayed by a specified delay value. Therefore, Transport delay is useful in modeling the delay line devices and path delays in ASICs.

8. In inertial delay, if the signal value is maintained for the time period less than delay tiem, then the signal value does not change.
a) True
b) False

Answer: a
Explanation: If there are any spikes or pulses in between the delay period then the output value doesn’t change accordingly. Because any pulse in between the delay period will be swallowed in case of inertial delay and the output state will not change.

9. A buffer with single input A and single output B has a delay of 20 nanosecond. If the value of input A changes after 10 ns from 0 to 1 and it changes again from 1 to 0 at 20 ns. At what time, the value of output B will be 1, if the inertial delay model is used?
a) 30 ns
b) 40 ns
c) 20 ns
d) Output will remain zero

Answer: d
Explanation: Inertial delay model swallows the pulses or spikes in between the delay time period. The buffer is executed at 0 ns for the delay of 20 ns and then the value of A changes at 10 ns, which again execute buffer and schedule the output to be 1 at 30 ns. But at 20 ns, the value of A again changes which executes the buffer again and schedule the output to be zero at 40 ns. Therefore, the output will not change. Inertial model doesn’t order events it will take into consideration only the last event.

10. The keyword TRANSPORT in any assignment statement specifies _______
a) Transport delay
b) Transfer the right operand immediately to left operand
c) Transporting the value of left operand to right operand
d) Inertial delay

Answer: a
Explanation: TRANSPORT is a keyword used for specifying the use of transport delay. The mechanism followed by the EDA tool will be the transport delay mechanism instead of the default delay type called inertial delay