VHDL

0.0(0)
Studied by 0 people
call kaiCall Kai
Locked
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
GameKnowt Play
Card Sorting

1/56

encourage image

There's no tags or description

Looks like no tags are added yet.

Last updated 1:11 PM on 4/28/26
Name
Mastery
Learn
Test
Matching
Spaced
Call with Kai
Chat

No analytics yet

Send a link to your students to track their progress

57 Terms

1
New cards

What items can appear in the declaration region of a VHDL architecture?

Signal declarations, component declarations, and configuration specifications.

2
New cards

Why can’t certain words be used as VHDL entity names?

They are reserved VHDL keywords and cannot be reused as identifiers.

3
New cards

Which VHDL statements are sequential?

if, while, and case statements.

4
New cards

What does an XDC file specify?

FPGA constraints such as pin mappings and timing constraints.

5
New cards

Difference between arrays and records in VHDL?

Arrays contain elements of the same type; records may contain elements of different types.

6
New cards

Give two std_logic metalogical values and meanings.

'Z' means high-impedance; 'X' means unknown.

7
New cards

What does it mean that VHDL is strongly typed?

Types must match exactly and explicit conversions are required.

8
New cards

Range of a 10-bit signed signal?

–512 to +511.

9
New cards

Range of a 10-bit unsigned signal?

0 to 1023.

10
New cards

What does numeric_std provide?

Arithmetic on signed/unsigned types, conversions, and resizing.

11
New cards

What is sign extension?

Extending a signed number by replicating the sign bit to preserve its value.

12
New cards

Sign-extend 10101 and 00001 to 6 bits and add them.

10101→110101, 00001→000001, sum=110110.

13
New cards

When does a process with a sensitivity list execute?

At time zero and whenever any signal in the list changes.

14
New cards

Sensitivity list for a synchronous counter?

Only the clock signal.

15
New cards

Sensitivity list for a combinational multiplexer?

All input signals that affect the output.

16
New cards

Sensitivity list for a D-FF with asynchronous reset?

Clock and reset.

17
New cards

What happens if an if-statement in combinational logic has no else?

A latch is inferred.

18
New cards

What happens if a case statement omits a default branch?

Latches or undefined behaviour may result.

19
New cards

What is component instantiation?

Creating an instance of a component/entity and connecting its ports.

20
New cards

Why instantiate a component in a testbench?

To create the DUT so stimuli can be applied and outputs observed.

21
New cards

Difference between named and positional association?

Positional relies on port order; named explicitly maps each port.

22
New cards

How do you specify which architecture an instance should use?

Use direct entity instantiation with the architecture name.

23
New cards

Are generate statements sequential or concurrent?

Concurrent.

24
New cards

Where can generate statements appear?

In the architecture body.

25
New cards

Can generate bounds depend on signal values?

No, they must be static.

26
New cards

Why use generate statements?

They reduce repetition and improve scalability.

27
New cards

How do you compute the break-even point between ASIC and FPGA?

Solve ASIC_NRE + ASIC_unit_cost×N = FPGA_unit_cost×N.

28
New cards

When is an FPGA more cost-effective?

At low production volumes.

29
New cards

When is an ASIC more cost-effective?

At high production volumes.

30
New cards

Non-cost factors influencing FPGA vs ASIC choice?

Time-to-market, power, performance, flexibility, reliability.

31
New cards

Suitable type for a counter that goes up to 80?

integer range 0 to 80 or unsigned(6 downto 0).

32
New cards

How to convert an integer to two 7-segment digits?

Compute tens=count/10 and units=count mod 10, then map digits to 7-segment patterns.

33
New cards

Signals needed in a car-park counter entity?

clk, rst, car_in, car_out, manual_load, manual_value, tens_seg, units_seg, full_sign, spaces_sign.

34
New cards

Why separate clock generation from other stimuli in a testbench?

It keeps the testbench clean and avoids timing conflicts.

35
New cards

What must a testbench contain?

DUT instantiation, clock process, stimulus process, internal signals.

36
New cards

How to write a 10 ns clock process?

Toggle the clock every 5 ns inside a loop.

37
New cards

How do you count IOBs for an FPGA design?

Count all top-level inputs and outputs.

38
New cards

Example: entity with clk + two 9-bit inputs + two 9-bit outputs → IOB count?

37 IOBs.

39
New cards

How do you assign a specific bit pattern to a signed vector?

Use to_signed(value, width).

40
New cards

How do you retrieve the 5th element of an enumerated type?

Use 'val(4).

41
New cards

Purpose of internal signals in structural VHDL?

To connect component instances inside the architecture.

42
New cards

What is the purpose of a testbench?

To verify design behaviour by applying stimuli and observing outputs.

43
New cards

Why is FPGA preferred when time-to-market is critical?

It requires no fabrication and can be reprogrammed quickly.

44
New cards

What happens if generate statements are replaced with manual instantiation?

Code becomes longer, less scalable, and more error-prone.

45
New cards

What does a configuration specification do?

Selects which architecture a component instance uses.

46
New cards

What causes latch inference in VHDL?

Missing else branches or incomplete case statements in combinational logic.

47
New cards

What is the role of internal carry signals in multi-bit adders/subtractors?

They connect the Cout of one stage to the Cin of the next.

48
New cards

Why must sensitivity lists be complete in combinational logic?

To avoid unintended memory elements.

49
New cards

What is the purpose of the numeric_std resize function?

To change vector width while preserving numeric meaning.

50
New cards

Why is positional association error-prone?

It breaks if the port order changes.

51
New cards

What is the advantage of named association?

It is clearer and safer because each port is explicitly mapped.

52
New cards

What is the purpose of a constraints file?

To map logical ports to physical FPGA pins and define timing constraints.

53
New cards

Why is an FPGA unsuitable for extremely high-volume products?

Its per-unit cost is higher than ASICs.

54
New cards

Why is an ASIC unsuitable for low-volume products?

High NRE costs make it uneconomical.

55
New cards

What is a DUT in a testbench?

The Device Under Test, instantiated inside the testbench.

56
New cards

What is the purpose of a clock enable signal?

It allows a register to update only when enabled.

57
New cards

What is the purpose of an asynchronous reset?

It resets the register immediately, independent of the clock.