Verilog HDL: Key Concepts, Modeling Styles, and Testbenches

0.0(0)
studied byStudied by 0 people
GameKnowt Play
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Card Sorting

1/32

flashcard set

Earn XP

Description and Tags

A set of Question-and-Answer flashcards covering Verilog HDL basics, design abstractions, modules, ports, signal declarations, common operators, modeling styles, and testbenches from the lecture notes.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

33 Terms

1
New cards

What is Verilog HDL?

A hardware description language used to model electronic systems; describes how a digital system should behave and how it is constructed, supporting parallelism, timing, and concurrency.

2
New cards

List the key uses of Verilog.

Digital circuit design (combinational and sequential); simulation of system behavior; hardware synthesis for FPGA/ASIC.

3
New cards

When was Verilog developed and when did IEEE standardize it?

Developed in 1984 by Gateway Design Automation; IEEE Standard 1364 in 1995.

4
New cards

What is the Verilog design flow?

Specification → HDL Modeling → Functional Simulation → Synthesis → Implementation → Testing.

5
New cards

Name the four Verilog abstraction levels.

Behavioral, Dataflow, Structural, and Switch-Level Modeling.

6
New cards

Explain Behavioral modeling in Verilog.

Describes what the circuit does using control flow (if, case); high-level; not always synthesizable.

7
New cards

Explain Dataflow modeling in Verilog.

Focuses on data movement using continuous assignments; ideal for combinational logic; synthesizable.

8
New cards

Explain Structural modeling in Verilog.

Describes the system as interconnection of components/modules; gate-level; synthesizable.

9
New cards

Explain Switch-Level modeling in Verilog.

Describes circuits using switches (nmos, pmos); lowest level; not commonly used in modern RTL.

10
New cards

What is a Verilog module?

The basic building block; defines a hardware block such as a gate, flip-flop, ALU, or processor.

11
New cards

What is a Verilog port?

Interface through which data enters or exits a module; port types: input, output, inout.

12
New cards

What are the basic Verilog signal data types for signals?

wire for combinational logic; reg for storage inside always blocks.

13
New cards

What is a vector in Verilog?

Multi-bit signals declared as [MSB:LSB], e.g., [3:0].

14
New cards

Example: 4-bit adder output width and declaration.

Output SUM is [4:0] to account for carry; module adder4 ( input [3:0] A, input [3:0] B, output [4:0] SUM ); assign SUM = A + B; endmodule

15
New cards

What is a Verilog testbench?

A module used to simulate and verify a design by applying inputs and observing outputs; used for testing; not synthesized.

16
New cards

What does DUT stand for in testbenches?

DUT = Design Under Test; the unit being tested.

17
New cards

In a testbench, which data type drives inputs?

reg (to be assigned in procedural blocks).

18
New cards

In a testbench, which data type is used for outputs from the DUT?

wire (driven by the DUT or by continuous assignments).

19
New cards

What is the purpose of $display in a testbench?

Prints values/messages once at execution.

20
New cards

What is the purpose of $monitor in a testbench?

Watches for changes and prints values automatically whenever any specified signal changes.

21
New cards

What does #delay do in a testbench?

Pauses execution for a specified simulation time unit before continuing.

22
New cards

What does $finish do in a testbench?

Ends the simulation.

23
New cards

What are $dumpfile and $dumpvars used for?

Create waveform dump files for GTKWave and dump variables for waveform viewing.

24
New cards

What does the concatenation operator do in Verilog?

Uses {} to join signals into a wider vector, e.g., out = {a, b}.

25
New cards

What does the replication operator do in Verilog?

Uses {n{signal}} to repeat a signal n times.

26
New cards

What is the Verilog ternary operator?

Inline conditional: assign out = sel ? a : b.

27
New cards

Explain operator precedence in Verilog (high to low).

Highest: !, ~; then *, /, %; then +, -; then <

28
New cards

Name the arithmetic operators in Verilog with a sample.

+, -, *, /, %; example: assign sum = a + b;

29
New cards

Name the relational operators in Verilog.

==, !=, >,

30
New cards

Name the logical operators in Verilog.

&&, ||, !

31
New cards

Name the bitwise operators in Verilog.

&, |, ~, ^, ~^, ^~

32
New cards

What are the reduction operators in Verilog?

Apply a bitwise operation across all bits of a vector: &, |, ^; e.g., ~&A, ~|A, ~^A.

33
New cards

What are the shift operators in Verilog?

<