HDL Programming Fundamentals: VHDL and Verilog

Chapter 2: Data-Flow Descriptions

OVERVIEW

In This Chapter

  • Understand the concept of data-flow description in both VHDL and Verilog.

  • Understand events and concurrent statements.

  • Identify the basic statements and components of data-flow descriptions, such as logical operators, signal-assignment statements, the statement "assign," time delays, and vectors.

  • Review and understand the fundamentals of some digital logic systems, such as half adder, 2x1 multiplexer, 2x2 combinational array multiplier, 2-bit comparator, D-latch, ripple-carry adder, and carry-lookahead adder.

2.1 HIGHLIGHTS OF DATA-FLOW DESCRIPTION

Data flow is one type (style) of hardware description. Other types include behavioral, structural (gate level), switch level, mixed type, and mixed language. Listed below are some facts about data-flow descriptions:

Facts

  • Data-flow descriptions simulate the system by showing how the signal flows from system inputs to outputs. For example, the Boolean function of the output or the logical structure of the system shows such a signal flow.

  • Signal-assignment statements are concurrent. At any simulation time, all signal-assignment statements that have an event are executed concurrently.

2.2 STRUCTURE OF THE DATA-FLOW DESCRIPTION

Listing 2.1 shows HDL code describing a system using data-flow description. The entity (module) name is system. There are two inputs ( I1 and I2) and two outputs ( O1 and O2). Statements 1 and 2 are used to assign a value to the outputs O1 and O2. The signal assignment operator <= is used in VHDL, or the predefined word assign in Verilog, to assign a value to the left-hand side of...

UNLIMITED FREE
ACCESS
TO THE WORLD'S BEST IDEAS

SUBMIT
Already a GlobalSpec user? Log in.

This is embarrasing...

An error occurred while processing the form. Please try again in a few minutes.

Customize Your GlobalSpec Experience

Category: Flow Computers, Totalizers, and Indicators
Finish!
Privacy Policy

This is embarrasing...

An error occurred while processing the form. Please try again in a few minutes.